¿Cómo encuentras y usas de forma segura un exploit público contra un objetivo?
Respuesta breve
Identifica el servicio y la versión exactos, busca en Exploit-DB o searchsploit un PoC que coincida, y luego lee el código línea por línea antes de ejecutarlo: corrige la IP objetivo, el puerto y la dirección del reverse shell, regenera cualquier shellcode y entiende qué hace para que no se vuelva en tu contra.
Una vez que la enumeración te da un nombre de software y una versión precisos, el paso de explotación suele consistir en «encontrar el PoC que coincida y hacerlo funcionar». La habilidad que se evalúa no es encontrar el exploit, sino leerlo y adaptarlo de forma responsable.
Encontrar el correcto
Usa searchsploit <producto> <versión> en local o navega por Exploit-DB. La precisión de la versión importa: un exploit de desbordamiento de búfer creado para la v1.2 normalmente fallará o hará caer el servicio en la v1.3 porque los offsets difieren. Si nada coincide exactamente, amplía a la CVE y examina los PoC de GitHub.
Lee antes de ejecutar
Nunca ejecutes a ciegas un exploit descargado. Léelo de principio a fin y confirma:
- Qué hace realmente: algunos «exploits» son trolls o backdoors que te atacan a ti, llamando a casa o borrando tu máquina.
- La carga útil: muchos PoC llevan shellcode codificado en duro para un connect-back que apunta a la antigua IP del autor, o un bind shell en un puerto fijo. Regenera el shellcode (p. ej. con
msfvenom) para tu listener. - Los valores codificados en duro: IP objetivo, puerto objetivo, IP/puerto del reverse shell, direcciones de retorno y offsets, todos deben coincidir con tu entorno.
Adapta y prueba
Para los exploits de corrupción de memoria, verifica la arquitectura, los bad characters y los offsets frente a la versión real del objetivo. Para los PoC web o de scripting, configura correctamente la URL y los parámetros. Levanta tu listener (nc -lvnp) antes de disparar.
Por qué tanto cuidado
Un exploit imprudente puede hacer caer el servicio (negándote el acceso a ti y a otros), ejecutar código controlado por el atacante en tu propia máquina, o simplemente malgastar tiempo de examen persiguiendo una carga útil que no se conecta a ninguna parte.
Qué buscan los entrevistadores
La frase que quieren oír es «leo el exploit antes de ejecutarlo». Mencionar la coincidencia de versión, sustituir el shellcode por el tuyo propio y corregir las IP codificadas en duro demuestra que tratas el código descargado como no confiable, que es exactamente la madurez que premia el OSCP.
Posibles preguntas de seguimiento
- ¿Qué señales de alarma harían que no ejecutaras un exploit descargado?
- ¿Cómo cambias el shellcode en un PoC de desbordamiento de búfer?