Obtener un Shell Reverso con Laudanum
Laudanum es una colección de archivos inyectables, diseñados para ser utilizados en pruebas de penetración cuando se encuentran vulnerabilidades en la subida de archivos, interfaces administrativas, y fallas de inyección SQL. Estos archivos están escritos en diversos lenguajes para diferentes entornos. Proporcionan funcionalidades como una shell, consulta DNS, recuperación LDAP y otros escenarios
Se procede a descargar el archivo más reciente publicado por el proyecto, desde su repositorio ubicado en sourceforge.
Luego de realizada la descompresión y desempaquetado del archivo, se tiene una estructura de directorios ordenados por “extensiones” fácilmente identificables con los lenguajes de programación más utilizados en el entorno web. El único disímil en esta estructura, es el directorio de nombre wordpress.
Para la presente práctica se utilizará el archivo de nombre “php-reverse-shell.php” ubicado en el directorio de nombre “/php/". Como el nombre del archivo lo indica, cuando se solicite este archivo; el cual debe residir en el servidor web objetivo; este establecerá una conexión hacia nuestro sistema o el sistema del atacante. De allí el nombre de shell reverso o inverso.
El primer inconveniente a superar es almacenar este archivo en el servidor web del objetivo. Para propósito de la presente práctica se utilizará DVWA (Damn Vulnerable Web Application) incluida en OBWAP (OWASP Broken Web Applications Project).
Antes de intentar explotar una vulnerabilidad que permita copiar un archivo hacia servidor web objetivo, se requiere modificar algunos datos en el archivo. Esencialmente la dirección IP y el puerto del sistema hacia el cual se conectará el objetivo de evaluación.
Se utilizará la opción “Upload” incluida en DVWA, para explotar una vulnerabilidad que permite subir archivos de manera irrestricta hacia el servidor web objetivo.
Al hacer clic en el botón “Browse” se aperturará una nueva ventana donde se debe ubicar el archivo que se requiere subir. Para este caso puntual será el archivo de nombre “php-reverse-shell.php”, ubicado en el directorio de nombre “/php/” dentro del directorio “/laudanum/”.
Al seleccionar el archivo, su nombre será mostrado en la parte derecha del botón “Browse...”.
Luego de hacer clic en el botón “Upload” el archivo ha sido subido al servidor web objetivo. Inmediatamente después se expondrá un texto indicando la ruta donde se almacenó el archivo y el éxito del proceso de subida.
Antes de solicitar el archivo de nombre “php-reverse-shell.php” desde el servidor web objetivo, es necesario ejecutar la herramienta netcat para que atienda la conexión TCP entrante que establecerá el servidor web objetivo hacia nuestro sistema.
$ nc -n -vv -l 7777
Se procede a solicitar el archivo de nombre “php-reverse-shell.php” utilizando un navegador web como Firefox. Luego de realizada esta acción, se tiene acceso shell sobre el objetivo de evaluación con los privilegios del usuario pertinente, en este caso el usuario “www-data”.
Fuentes:
http://laudanum.professionallyevil.com/
http://sourceforge.net/projects/laudanum/
http://www.dvwa.co.uk/
https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project
https://www.owasp.org/index.php/Unrestricted_File_Upload
Sobre el Autor
Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
WhatsApp: https://wa.me/51949304030
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
Youtube: https://www.youtube.com/c/AlonsoCaballero
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/