Auditoría y CTFLinuxPentestingRabbit Hutch

Pentesting a la abeja (Parte II)

Buenas hackers! En este CTF vamos a hacer un pentesting a esta maquina de Vulnhub
Es una maquina muy completa que permite realizar un test de intrusión al servidor, además de hacer retos de pentesting web tal como SQLi, XSS, LFI etc…

----------------
bee-box - README
----------------

bee-box is a custom Linux VM pre-installed with bWAPP.

With bee-box you have the opportunity to explore all bWAPP vulnerabilities!
bee-box gives you several ways to hack and deface the bWAPP website.
It's even possible to hack the bee-box to get root access...

This project is part of the ITSEC GAMES project. ITSEC GAMES are a fun approach to IT security education. 
IT security, ethical hacking, training and fun... all mixed together.
You can find more about the ITSEC GAMES and bWAPP projects on our blog.

We offer a 2-day comprehensive web security course 'Attacking & Defending Web Apps with bWAPP'.
This course can be scheduled on demand, at your location!
More info: http://goo.gl/ASuPa1 (pdf)

Enjoy!

Cheers

Malik Mesellem
Twitter: @MME_IT

Atención Spoiler!!

Usaremos hydra para poder obtener la contraseña atacando el servicio VNC por el puerto especificado, pero puede ser usado para muchos servicios; rdp, ftp, smtp, imap o telnet entre otros.
El servicio VNC, básicamente tiene una estructura servidor-cliente el cual permite tomar el control del servidor remotamente a través de un host cliente con un software especifico. Este softwarte es también denominado escritorio remoto.
El diccionario que usaremos sera rockyou disponible en Kali Linux, con el parametro -P por el puerto 5901 y la ip dada.
Una vez encontrado la contraseña, por cierto muy sencilla y usando una politica de contraseñas muy debil en la cual en todo momento cualquier persona o administrador de un sistema tiene que evitar.
En kali linux la herramienta vncviewer esta instalada por defecto.

Es mas interesante desde vncviewer conectarnos a nosotros, es decir a mi host mediante el uso de netcat:
Creamos el socket para hacer de servidor y estar a la escucha de peticiones con el parametro -l y un puerto determinado.
Desde el vncviewer hacemos la conexión al puerto especificado y la IP determinada, con un interprete bash de linux.
Obtendremos la shell de root gracias a nc por el puerto especifico. Ahora se ejecuta una serie de comandos y mediante una sentencia en python obtenemos un entorno pseudo terminal importando el modulo pty indicando la ruta del interprete de bash.

Ejecutamos una serie de comandos desde root, el primero para encontrar archivos setuid.
Setuid: Son permisos de acceso que pueden asignarse a archivos o directorios en un sistema operativo basado en Unix.
Se utilizan principalmente para permitir a los usuarios del sistema ejecutar binarios con privilegios elevados temporalmente para realizar una tarea específica.
Esta propiedad es necesaria para que los usuarios normales puedan realizar tareas que requieran privilegios más altos que los que dispone un usuario común, por lo cual es muy interesante cuando tenemos acceso como usuario en un servidor y queremos ejecutar o modificar algun tipo de binario o archivo para poder escalar privilegios. En este caso no es necesario porque somos ya root, pero para otros vídeos de CTF que hice y haré, vereis de la importancia de localizarlos con:

find / -perm -4000 -o -perm -2000 -exec ls -ldb {} ;

También se verá John the Ripper para obtener en texto plano los hashes, del fichero /etc/shadow.

Un saludo Naivenom