Ahora que ya hemos aprendido el camino para desarrollar un exploit, veamos el camino más sencillo, el de encontrar código ya escrito que nos sea de utilidad y modificarlo de acuerdo a nuestras necesidades.
Esquema:
9- Trabajando con exploits:
9.1 Búsqueda de exploits
9.2 Customización
9.1 Búsqueda de exploits
En la entrada anterior creamos nuestro exploit para aprovecharnos de una vulnerabilidad en SLMail, comprobemos entonces si existe alguno ya creado. En kali, desde una consola podemos utilizar la herramienta searchsploit
searchsploit Nombre
Para poder ver y analizar el exploit que encontramos, corremos un locate con el nombre del archivo.
locate n°.extención
Nos aparecen dos archivos, pero el que nos interesa es el 638.py ya que es el que nos devolvió la busqueda en searchsploit
Ahora un cat para visualizarlo o un nano para visualizar y/o editar.
cat /usr/share/exploitdb/plataforms/windows/remote/638.py
Me gustaría que se tomen el trabajo de identificar las similitudes y diferencias respecto del exploit que hemos desarrollado en la entrada anterior.
Otra forma de identificar exploits es realizando la búsqueda en el sitio de offensive security exploit-db.com
También tenemos la opción de buscar exploits en Security Focus, donde podemos filtrar directamente por vendors y versiones
9.2 Customización
La mayoría de los exploits que podemos obtener de éstos repositorios, generalmente vienen con shellcodes que son para realizar la prueba de concepto.
Estas shellcodes posiblemente levanten un pop up, la calculadora o cosas por el estilo que no nos son de utilidad. Además, necesitamos setear la dirección ip y puerto al cual queremos que se conecte la shell. Por es muy importante, luego de identificar el exploit que vamos a utilizar, poder entender cómo está compuesto y en consecuencia realizar las modificaciones que necesitemos.
Si miramos el exploit que Muts desarrollo para SLMail, notamos que es bastante fácil de entender, de hecho si sólo modificamos la variable sc por el shellcode que utilizamos en el post anterior y la dirección IP de la víctima ya tenemos resuelto todo el desarrollo
Sin embargo, hay otros exploits que no están realizados en lenguajes interpretado como python y necesitan ser compilados para su ejecución.
Si miramos el exploit desarrollado por Ivan Ivanovic para SLMail, podemos notar que está desarrollado en C, por lo que además de modificarlo hay que compilarlo antes de utilizarlo.
Como siempre, cualquier duda o consulta, estamos por aquí.
Regards, @balderramaeric