Advertisement
Guest User

Untitled

a guest
Sep 24th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. format PE64 GUI 5.0
  2. entry start
  3.  
  4. include 'win64a.inc'
  5.  
  6. section '.data' data readable writeable
  7.  
  8. struct CLIENT_SHELL
  9.  
  10.   .ddsocket                dd ?
  11.   .ddport                  dd ?
  12.   .dbsync                  db ?
  13.  
  14. ends
  15.  
  16. struct SECURITY_ATTRIBUTES
  17.         nLength                dd ?
  18.         lpSecurityDescriptor   dq ?
  19.         bInheritHandle         dd ?
  20. ends
  21.  
  22. start:
  23. TOKEN_ADJUST_PRIVILEGES = 20h
  24. TOKEN_QUERY             = 8h
  25. SE_PRIVILEGE_ENABLED    = 2h
  26.  
  27.  
  28. struct LUID
  29.   lowPart  dd ?
  30.   HighPart dd ?
  31. ends
  32.  
  33. struct LUID_AND_ATTRIBUTES
  34.   pLuid       LUID
  35.   Attributes  dd ?
  36. ends
  37.  
  38. struct _TOKEN_PRIVILEGES
  39.   PrivilegeCount   dd ?
  40.   Privileges       LUID_AND_ATTRIBUTES
  41. ends
  42.  
  43. TTokenHd dd ?
  44.  
  45. udtLUID  LUID
  46. tkp     _TOKEN_PRIVILEGES
  47.  
  48. SE_SHUTDOWN_NAME db 'SeShutdownPrivilege',0
  49.  
  50. section '.code' code readable executable
  51.  
  52.     stdcall    GetCurrentProcess
  53.  
  54.  
  55.     stdcall    OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,TTokenHd
  56.     or        eax,eax
  57.     jz        loc_exit
  58.  
  59.  
  60.     stdcall    LookupPrivilegeValueA, NULL, SE_SHUTDOWN_NAME, udtLUID
  61.     or        eax,eax
  62.     jz        loc_exit
  63.  
  64.  
  65.     mov       [tkp.PrivilegeCount],1
  66.     mov       [tkp.Privileges.Attributes],SE_PRIVILEGE_ENABLED
  67.     mov       eax,[udtLUID.lowPart]
  68.     mov       [tkp.Privileges.pLuid.lowPart],eax
  69.     mov       eax,[udtLUID.HighPart]
  70.     mov       [tkp.Privileges.pLuid.HighPart],eax
  71.     stdcall    AdjustTokenPrivileges,[TTokenHd],0,tkp,0,0,0
  72.  
  73.     fastcall Shell,666d
  74.  
  75. loc_exit:
  76.     ret
  77.  
  78. proc Shell,dwsock:DWORD
  79.  
  80.  
  81.          ret
  82. endp
  83.  
  84. section '.idata' import data readable writeable
  85.  
  86.   library kernel,'KERNEL32.DLL',\
  87.           advapi32,'ADVAPI32.DLL'
  88.  
  89.   import kernel,\
  90.          GetCurrentProcess,'GetCurrentProcess',\
  91.          GetTickCount,'GetTickCount',\
  92.          ExitProcess,'ExitProcess'
  93.  
  94.   import advapi32,\
  95.          OpenProcessToken,'OpenProcessToken',\
  96.          LookupPrivilegeValueA,'LookupPrivilegeValueA',\
  97.          AdjustTokenPrivileges,'AdjustTokenPrivileges'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement