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.
Tr0ll 3 es una máquina en vulunhub. Para descargar visita:
Máquina Troll 3 – Vulunhub
A continuación se muestran los pasos para el tutorial Vulunhub – Tr0ll 3:
-
Encuentre host dentro de la red
Utilice el comando netdiscover -i (nombre de la interfaz) -r (dirección IP/16)
Ejemplo:
netdiscover -i eth0 -r 10.0.2.0/16
-
Escanear el objetivo con nmap
Tenemos la IP de destino. El siguiente paso es escanear el objetivo con nmap.
Ejemplo:nmap -p- -A -O -T 4 IP_address
Nmap muestra que solo el puerto 22 (SSH) está abierto.
Una vez que encendemos la máquina de destino, notamos que hay credenciales (inicio: aquí).
-
Inicio de sesión SSH
Use el comando ssh start@IP_address (presione enter e ingrese la contraseña)
Estamos dentro. Es hora de buscar algo útil. Use el comando ls para ver el contenido y encontramos dos archivos, redpill y bluepill, que no contienen información útil.
-
Encontrar los archivos a los que podemos acceder
Use el comando find / -type f -perm 777 2>/dev/null para encontrar los archivos con todos los permisos.
Use scp start@IP_address:file_path ./home/Kali/ para copiar archivos desde el host remoto a nuestra máquina. Aquí gold_star.txt contiene un montón de contraseñas y wytshadow.cap parece un paquete capturado por la red inalámbrica. wytshadow.cap se puede abrir a través de wireshark , pero no es útil si lo maneja de forma remota en otra PC. Por lo tanto, es mejor usar el comando tcpdump para analizar el paquete, lo que nos dice que es un paquete de desautenticación y que todos los paquetes tienen el protocolo. como «802.11» .
Nota: 802.11 es el protocolo utilizado para la transmisión del paquete entre dispositivos conectados de forma inalámbrica. -
Comando para extraer la Contraseña
Ahora, tenemos un archivo .cap y algunas strings incoherentes. Entonces, usamos una herramienta llamada aircrack-ng que podría ser útil para extraer la contraseña.
Ahora use wytshadow como user_id y la contraseña descifrada para acceder a otro usuario llamado wytshadow
Notamos que hay un archivo llamado oohfun que tiene un bit SUID. Vamos a ejecutarlo.
Nota: cualquier detalle del archivo se puede verificar usando el comando «file file_name»Ahora, intente verificar qué privilegios sudo tenemos aquí, usando sudo -l e ingrese la contraseña que hemos descifrado usando aircrack-ng , lo que nos muestra que podemos iniciar el servidor ngnix usando privilegios sudo. Ahora vaya a la ruta /etc/ngnix/sites-available donde encontramos un nombre de archivo predeterminado. Al abrirlo, se muestra que podemos manejarlo de forma remota usando el servicio lynx en el puerto 8080. Pero primero tenemos que iniciar el servidor ngnix en el puerto 8080 Inicie el servidor ngnix usando el comando sudo service nginx start y podemos verificar el estado usandonetstat-nalp | menos
- Ahora para escuchar en el tipo de puerto específico «lynx http://10.0.2.10:8080» en la terminal Kali.
¡Voila! Tenemos otra credencial. Pasemos al usuario genphlux usando las credenciales anteriores.
- Ahora use el comando ls y tenemos el archivo maleus y xlogin. Maleus parece ser interesante. Exploremos el archivo. Vemos que almacena una clave RSA y xlogin es un archivo de documento HTML simple Copie la clave privada y guárdela en cualquier archivo con el permiso 600 (llamé ssh-key)
Hay un archivo ejecutable ELF de 64 bits dont_even_bother que tiene permisos completos. Cuando ejecutamos el archivo requiere una contraseña que aún no tenemos.
Use ls -lah y obtendremos otro archivo interesante, «.viminfo» . Verificamos el archivo usando el comando cat y obtuvimos la credencial (B^slc8I$) .
Ahora use el comando sudo -l para ver el archivo de privilegios de root y podemos ejecutar el archivo don’t_even_bother como root como usuario maleus.
Primero eliminamos el contenido del archivo dont_even_bother y luego inyectamos nuestro código malicioso dentro de este archivo. - Ahora inyecte el siguiente script en el archivo dont_even_bother.c . Es el script que invocará un shell al ejecutarse.
int main(void) { setgid(0); setuid(0); execl("/bin/sh", "sh", 0); }
Aquí proporcionamos el valor group_id y user_id como 0 porque en Linux «0» significa usuario raíz, lo que nos ayudará a extender los privilegios actuales.
- Ahora tenemos que compilar el código C para que sea ejecutable
Compilamos el archivo usando el compilador gcc «gcc dont_even_bother.c -o dont_even_bother»
Ahora, como recordará, podemos ejecutar dont_even_bother como usuario sudo. - Ahora, escribe whoami para ver quién eres y ¡Genial! Obtuvimos con éxito el shell raíz y la raíz propia.
Ahora escriba cd /root y luego ls para ver el contenido
Genial!, tenemos la bandera como flag.txt
Publicación traducida automáticamente
Artículo escrito por ShubhamSingh86 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA