HackTheBox — Lame Writeup No Metasploit
Después de un año de generar excusas para volver a enfrentar al OSCP, decidí aplicar lo que me transmitieron en jiujitsu, persistencia, perseverancia, práctica en el tatami, aplique lo mismo para el de el eCPPTV2 y lo obtuve, no hay una sola receta, el estudio y la practica son esenciales.
Siguiendo la lista que publicaron de las maquinas recomendadas para entrenar antes de rendir nuevamente el examen, comienzo con Lame
Lo primo es identificar todos los puertos abiertos:
# Nmap 7.80 scan initiated Sat Aug 1 14:48:02 2020 as: nmap -p- -T5 --open -oA lame.ports 10.10.10.3
Nmap scan report for 10.10.10.3
Host is up (0.22s latency).
Not shown: 65530 filtered ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3632/tcp open distccd
Ahora que se identificaron los puertos es necesario determinar la version de los servicios en cada uno de los puertos nmap -sV
- FTP : vsftpd 2.3.4
- SSH: OpenSSH 4.7p1
- SMB: Samba smbd 3.0.20
- Distccd: Distccd v1
En algunos casos cuando se encuentra habilitado acceso anonymous FTP se puede descargar información que permite seguir avanzando, en esta caso no fue asi.
Comencé por iniciar sesión ftp anonymous, no obtuve nada interesante:
Ahora turno de SAMBA, al comenzar a buscar, me encontre con un exploit de MSF, lo cual no era mi objetivo, luego encontré:
Lo descargue, y lo utilice
La función “exploit” del script básicamente iniciaba sesion smb enviando en el parámetro de usuario una ejecución de código, básicamente una shell reversa.
Al intentar conectar, se presentó el siguiente error:
Googleando un poco, encontre una recomendación de agregar estos dos parámetros al archivo /etc/samba/smb.conf
En otras palabras, no era necesario el script de python, pero no estuvo demás utilizarlo
Ahí se encuentran las flags tanto del usuario y el root
Segundo método
Distcc es una aplicación para distribuir tareas de compilación a través de una red a los hosts participantes. Este servicio en particular esta asociado a una vulnerabilidad CVE-2004–2687
En este caso se obtuvo acesso con una shell de menor privilegio
La escalada de privilegio fue utilizando un binario con el permiso S habilitado (SUID)
Conclusión
Identificar todos los puertos, servicios por cada puerto , enumerar, enumerar y enumerar.
Para la escalada de privilegio revisar los binarios que tienen activado el SUID, esto significa que el el usuario que lo ejecute (cualquiera sea) tendra los permisos de quien lo creo/instalo.
Iniciamos con el primer equipo de la lista, gracias a TJNull de Netsec Focus