Introducción
Meow es la primera de las máquinas que forman parte del conjunto de máquinas del Starting Point de HackTheBox. La metodología de estas máquinas consiste en ir dando respuesta a diferentes preguntas que tienen la función de guiar en la resolución de estas máquinas
Resolución
Conexión al VPN de HTB
Comenzamos estableciendo conexión por VPN con la plataforma HackTheBox. Una vez tengamos IP asignada de la VPN de HTB procedemos a ir a la web de Starting Point para iniciar la máquina. Puede trascurrir hasta 2 minutos en reconocer la web que estamos conectados por VPN, llegando en ocasiones a tener que refrescar la página F5
Nos asignan en este ejercicio la IP 10.10.15.74
Si tienes dudas sobre conectar con la VPN de HackTheBox te lo explico aquí
Iniciar la máquina
Iniciamos la máquina pulsando sobre el botón
Tras unos cuantos segundos (en ocasiones puede tardar más) se habrá iniciado correctamente la máquina y nos mostrará la dirección ip de la máquina víctima. En nuestro caso será 10.129.158.44
Settarget
Haciendo uso de la herramienta previamente establecida en la ZSH llamada ‘settarget’ dejaremos anotada la IP y nombre de la máquina víctima en la parte superior de la Polybar para tener así mayor eficacia. La sintaxis es: settarget (IP_VICTIMA) (NOMBRE_MAQUINA_VICTIMA)
1
settarget 10.129.158.44 Meow
Ping
Comprobamos que efectivamente tenemos visible la máquina víctima lanzando un ping
sobre ella. Con el parámetro -c 1
le indicamos que tan solo haga un ping. No es necesario más.
1
ping -c 1 10.129.158.44
Como resultado obtenemos lo siguiente de lo cual destacatemos el TTL y el número de paquetes enviados / recibidos:
TTL = 63
- Este valor (cercano a 64) indica que nos encontramos ante una máquina Linux
Por defecto valores de
TTL
en torno a 64 indica que la máquina es Linux mientras que valores de 128 indicaría que la máquina es Windows
1 packets transmitted, 1 received
- Indica que el paquete enviado ha sido recibido con éxito por lo tanto => La máquina víctima está encendida y tenemos conexión con ella
Tasks (1/2)
Estas Tasks hacen las funciones de mini-flags y ayudan guiando la resolución de la máquina
- What does the acronym VM stand for?
- Sencilla respuesta: Virtual Machine
- What tool do we use to interact with the operating system in order to issue commands via the command line, such as the one to start our VPN connection? It’s also known as a console or shell.
- La respuesta sería: Terminal
- What service do we use to form our VPN connection into HTB labs?
- Es OpenVPN
- What is the abbreviated name for a ‘tunnel interface’ in the output of your VPN boot-up sequence output?
- Esta puede requerir buscar en Google. La respuesta es: tun
- What tool do we use to test our connection to the target with an ICMP echo request?
- Si no se ha hecho antes, esta pregunta ya ‘incita’ a lanzar un comando ping
- What is the name of the most common tool for finding open ports on a target?
- Al igual que la anterior, esta respuesta tiene la intención de que trabajemos con este comando: nmap
Reconocimiento con NMAP (PortDiscovery)
NMAP es una herramienta ampliamente extendida en el reconocimiento de redes así como en el escaneo de puertos, hosts y servicios
Ejecutaremos la instrucción básica de reconocimiento con los parámetros que se explican a continuación:
1
nmap -p- -sS --min-rate 5000 -n -Pn -vvv --open 10.129.158.44 -oG allPorts
-p-
- Indicamos que queremos analizar el rango completo de puertos. Del 1 al 65535
-sS
- Especificación del tipo de escaneo. En este caso SYN Scan que es rápido a la vez que sigiloso ya que no termina de establecer la conexión y de tal manera puede pasar desapercibido en los logs de conexión
--min-rate 5000
- Acelera el proceso de escane ya que no tramita paquetes cuya velocidad sea inferior a 5000 paquetes por segundo. Esto puede hacer menos sigiloso el escaneo pero más rápido
-n
- Indica que no queremos aplicar resolución DNS. Más velocidad de escaneo
-Pn
- Escaneo de puertos incluso si el host no responde a los ping. Ignora si el host está o no online
-vvv
- Triple verbose para que los resultados que vaya obteniendo los vaya mostrando por pantalla sin necesidad de acabar el escaneo
--open
- Un puerto principalmente puede estar Abierto, Cerrado o Filtrado. En un principio nos centraremos en aquellos que están Abiertos
-oG allPorts
- Salida del resultado en un fichero llamado allPorts en formato ‘grepable’ lo cual aportará ventajas a la hora de tratarlo posteriormente
El resultado del comando ejecutado sería el siguiente:
Del cual destacamos que el puerto 23 se encuentra Abierto
Puerto 23 => Telnet
- El servicio Telnet es el que por defecto funciona sobre el puerto 23 (abierto en esta máquina). Dicho servicio sirve para la comunicación entre dispositivos de una red y la ejecución remota de comandos.
TELNET se trata de un servicio considerado inseguro porque la transmisión de la información, incluyendo nombres de usuario y contraseñas, viajan en texto plano. Se reemplaza por el servicio SSH
Puertos abiertos (versiones)
Sobre aquellos puertos abiertos en la máquina víctima lanzaremos un comando de NMAP enfocado al descubrimiento de versiones de los servicios que estén corriendo sobre los puertos abiertos
1
nmap -sCV -p23 10.129.158.44 -oN targeted
-sCV
(también se puede poner como-sC -sV
)- Realiza un escaneo en busca de versiones y comparando con una base de datos de servicios conocidos
-p23
- Indica que se analizará en esta caso únicamente el puerto 23
-oN targeted
- Salida del resultado en un fichero llamado targeted en formato normal de NMAP
El resultado del comando ejecutado sería el siguiente:
En este caso el escaneo de versiones no aporta información extra para la resolución de la máquina
Tasks (2/2)
Tras el inciso por la fase de reconocimiento realizada con NMAP, regresamos a contestar las preguntas para resolver la máquina:
- What service do we identify on port 23/tcp during our scans?
- Tras usar NMAP savemos que la respuesta es: Telnet
- What username is able to log into the target over telnet with a blank password?
- En caso de no conocer la respuesta podemos hacer uso de Google o de Chat-GPT para conocer la respuesta. En este caso se trata de
root
TELNET permite conectarse con el usuario
ROOT
sin proporcionar contraseña
Intrusión
Ejecutamos telnet 10.129.158.44
y a los pocos segundos nos pedirá un nombre de login
donde deberemos rellenar root
y ya estaríamos dentro:
Con un ls
sobre el directorio actual vemos el fichero flag.txt
que lo visualizamos con cat flag.txt