El problema CTF o Check the Flag está publicado en vulunhub.com. VulunHub es una plataforma que proporciona aplicaciones/máquinas vulnerables para obtener experiencia práctica en el campo de la seguridad de la información. Symfonos 2 es una máquina en vulunhub. Para descargar visite: https://www.vulnhub.com/entry/symfonos-2,331/
A continuación se muestran los pasos para el tutorial de Vulunhub Symfonos 2:
El primer paso que tenemos que hacer es llevar a cabo una recopilación de inteligencia. Eso incluye hosts Footprinting, servidores, etc.
Fase de descubrimiento:
Comencemos escaneando la red e identificando la dirección IP del host dentro de la misma red.
Ingrese el siguiente comando para el mismo:
netdiscover -i eth0 -r 10.0.2.0/16
Entonces parece que 10.0.2.25 es nuestra IP de destino. El siguiente paso es escanear el objetivo con la herramienta Nmap para verificar si hay puertos abiertos y sondear los servicios en ejecución en la máquina virtual.
Fase de escaneo:
Comenzará con un escaneo rápido de Nmap para buscar puertos abiertos.
Ingrese el siguiente comando para el mismo:
nmap -sV -sC -p- target_IP_address
Visite la hoja de trucos de Nmap para obtener más información sobre nmap.
Fase de reconocimiento
1. Reconocimiento web
¡Buena combinación de servicios interesantes encontrados durante el escaneo de Nmap! Primero visitemos el puerto 80, la página predeterminada de la máquina víctima.
Ingrese el siguiente comando para el mismo:
curl [website address]
Como puede ver, aquí no se encuentra nada sospechoso más que un archivo de imagen. Investigo la imagen a través del comando STRINGS pero nuevamente fallé.
2. Reconocimiento de PYMES
Enum4linux es una herramienta que se utiliza para enumerar recursos compartidos SMB en sistemas Windows y Linux . Es básicamente un contenedor de las herramientas del paquete Samba y facilita la extracción rápida de información del objetivo perteneciente a SMB.
Ingrese el siguiente comando para el mismo:
enum4linux -a [target_IP_address]
¡Se siente como Deja Vu! Hay un recurso compartido anónimo que tiene acceso de solo lectura. Es hora de ver qué hay dentro.
Pero primero, si desea obtener más información sobre los conmutadores de enum4linux, visite https://www.hackingarticles.in/a-little-guide-to-smb-enumeration/
Ingrese el siguiente comando para el mismo:
smbclient //[target_IP_address]/anonymous
Tenemos un directorio de copias de seguridad para explorarlo. (Inicialmente, solo veremos el archivo de copias de seguridad)
Tenemos un archivo .txt, copiémoslo en nuestro directorio de trabajo a través de get [file_name] .
Nota: – El comando ‘get ‘ se usa para obtener datos de los hosts remotos en nuestro directorio de trabajo actual.
Además, durante el reconocimiento de SMB también obtuvimos dos usuarios locales
Explorar el archivo log.txt revela algunos puntos interesantes que puedo determinar a partir de este archivo:
- Hay una copia de seguridad del archivo /etc/shadow en /var/backups/shadow.bak , por lo que este puede ser un objetivo futuro
- El recurso compartido SMB anónimo apunta a /home/aeolus/share , por lo que aeolus es un nombre de usuario válido
Reconocimiento FTP
Nota:- Hay dos formas de encontrar la contraseña para el usuario aeolus. Vamos a ver los dos.
Por SAMBA Compartir
1. Primero acceda al servicio FTP a través de
FTP [target_IP_address]
2. Luego simplemente copie el archivo /etc/shadow y /var/backups/shadow.bak en aeolus sharepoint.
3. Ahora, vuelva a conectarse a smbclient anónimo para ver si obtuvimos los archivos o no.
Aquí, obtendrá la contraseña como » sergioteamo» .
por HYDRA
1. Podemos recuperar la contraseña a través de hydra, también una herramienta integrada de kali para extraer las contraseñas en diferentes puertos.
Ingrese el siguiente comando para el mismo:
hydra -f -l [user_name] -P [password_file_path] [service_name]://[target_IP_address] -o [output_file]
¡ Obtenga más información sobre los interruptores hydra aquí!
Reconocimiento SSH
Ahora, tenemos un usuario aeolus y una contraseña sergioteamo . Intentemos iniciar sesión ssh a través del usuario aeolus.
Ahora probé varios comandos para ver si el usuario aeolus tiene algún permiso o no, pero no obtuve nada. El usuario aeolus no puede ejecutar el comando Sudo y no hay archivos que tengan el bit SUID . Entonces, tenemos que probar algo más para escalar nuestros privilegios.
Nota: Al buscar en la web, encontré un archivo de script .sh que se usa para enumerar la información del sistema operativo. ¡ Copia el código de aquí! en [nombre_archivo.sh] . Ahora, ejecute el archivo con el permiso chmod +x [file_name.sh] para evitar cualquier problema en los hosts remotos.
Admitiremos que hay mucha producción aquí. Pero hay algunas cosas que son interesantes:
- La versión del núcleo (4.9.0-9)
- Los otros usuarios en el sistema (Cronos)
Pero lo que más me llamó la atención son los otros puertos que están escuchando. Puedo ver que MySQL se está ejecutando en el puerto 3306 y que algo se está ejecutando en el puerto 8080 . También hay una configuración de apache que estaba en la salida de LinEnum.sh , así que voy a verificar eso primero.
Visite la ruta cd /etc/apache2/sites-enabled, y encontramos otro sitio que está habilitado como librenms.conf en el puerto 8080.
Salga de la sesión de inicio de sesión ssh actual e intente conectarse a través de la conexión VNC a través de SSH. Deberá ejecutar este comando en la terminal de su máquina Linux o UNIX:
ssh -L 8080:localhost:8080 aeolus@10.0.2.25.
¡ Obtenga más información sobre el inicio de sesión de VNC a través de SSH aquí! .
Ahora, acceda al puerto 8080 en Firefox a través de http://localhost:8080 y encontramos la página de inicio de sesión de LibreNMS. Intentemos iniciar sesión con el nombre de usuario aeolus y la contraseña sergioteamo .
Explotación con Metasploit
1. Lo primero que me viene a la mente es buscar en Google si hay un exploit disponible para LibreNMS y obtuve dos de ellos. También podemos hacer lo mismo en Metasploit que muestra el mismo resultado.
En verdad , hablando, he usado ambos exploits, pero de alguna manera collect_cmd_inject no funciona. Entonces, continué con addhost.
2. Configure las opciones como se muestra en el archivo de imagen a continuación y ejecute el comando de explotación para obtener la sesión deseada.
3. Ahora para interactuar con la sesión actual
session -i [session_id]
sudo mysql -e ‘\! /bin/sh’
Encontrar la bandera
1. Para obtener el shell interactivo, use el script python
python -c 'import pty; pty.spawn ("/bin/bash")' .
Una cosa a tener en cuenta es que nos conectamos a los hosts remotos a través del usuario Cronus, que es el usuario add-host. Ahora, verifique el permiso que el usuario de Cronus puede hacer como Sudo.
2. Como se indicó, el usuario puede ejecutar /usr/bin/mysql como si fuera sudo, pero estamos aumentando los privilegios. Por lo tanto, tenemos que usar un script de shell que se puede usar para salir de entornos restringidos al generar un shell de sistema interactivo.
Introduce el siguiente comando en la terminal
sudo mysql -e '\! /bin/sh'
3. Muévase al directorio raíz y use ls y allí está la prueba de pirateo.
Publicación traducida automáticamente
Artículo escrito por ShubhamSingh86 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA