Foro de elhacker.net

Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: Kaxperday en 4 Diciembre 2015, 10:49 am



Título: Ejecutar payload con sockets ¿es posible?
Publicado por: Kaxperday en 4 Diciembre 2015, 10:49 am
Actualmente para ejecutar ordenes en un terminal desde otro ordenador lo que utilizo es system("comando>temp.txt"); y que el ordenador que lo ejecuta me devuelva lo que contiene temp.txt, pero ¿esto no es posible hacerlo con exploits?.

Me refiero mandarle una cadena con el payload y que de alguna manera lo ejecute y tenga acceso a su terminal... no sé como iría ya por eso abro el tema.

Yo le mandaria el paquete con el payload y el lo ejecutaría, y obtendríamos una remote shell, ¿es posible? ¿necesito simular un cliente de metasploit?, ¿ideas?.

O mejor dicho ¿como crear una remote shell de A hacia B, sin usar comandos system("")?.

Saludos.


Título: Re: Ejecutar payload con sockets ¿es posible?
Publicado por: soez en 5 Diciembre 2015, 23:53 pm
Sí, es posible :) lee sobre buffer overflows y todo su entorno


Título: Re: Ejecutar payload con sockets ¿es posible?
Publicado por: kub0x en 12 Diciembre 2015, 19:30 pm
Si tienes control sobre el PC de la víctima y sólo quieres spawnear una Shell remota entonces no te ralles con payloads. Los payloads son integrados en exploits, una vez que explotas un servicio se carga el payload para darte acceso, pero si tienes acceso previo entonces no los necesitas, a no ser que en vez de spawnear una remote Shell quieras hacer X acción.

Me explico, podrías perfectamente enviar a la víctima una shellcode que mande una consulta HTTP, o una shellcode que te envíe un archivo o lo que sea, para algo están las shellcodes, pero si sólo es una shell simplemente codea una función que abra un cmd, mediante la PAPI (API de procesos) grabea su output y su input y gualá ya tienes la remote shell.

Para que la víctima ejecute tus shellcodes simplemente codea en ASM lo que quieras y pasa el code ASM a HEX en little-endian y se lo envías en puro char* ahora la víctima lo aloja en memoria con permisos de ejecucción y llama al char* como puntero a función. Esto ultimo es de lo que te habla el compañero soez.

Saludos!