Auditoría y CTF

Auditando Maquinas Vulnerables – Kioptrix 4

Kioptix 4

 

Buenas H4x0rs!

Ha pasado un tiempo desde mi ultimo articulo kioptrix… pero creo que os venia bien descansar de mi ;P. Os traigo el final de la serie de articulos de las maquinas kioptrix en el que analizamos y resolvemos la maquina Kioptrix 4.

Primero de todo esa máquina hay que prepararla ya que no viene la maquina virtual montada como tal sino que viene su archivo de disco duro  para ello :

1º – Creamos una maquina virtual con la opción de “Instalar SO después”

2º- Elegimos cualquier sistema operativo (Cualquiera, no tiene más historia)

3º – Elegimos los hardware Settings (por defecto lso que vienen)

4º- Después de crearla vamos a Edit virtual machine Settings y añadimos un disco duro y ponemos como contenido el archivo que hemos descargado como Kioptrix 4

5º- A TRABAJAR!

 

Para empezar como no tengo localizada la Ip lanzo un PING SWEEP para ver que Ip se le ha asignado a la maquina objetivo.

La maquina Kioptix 4 es 192.168.122.153

Vamos a mirar también que sistema operativo tiene la maquina objetivo con NMAP.

Ejecuto un NMAP completo para ver qué tipos de servicios y puertos tiene abiertos.

He descubierto alguna opción extra en algunos manuales de NMAP y voy a probarlo. Una de las utilidades que he descubierto es un script que nos devuelve los usuarios del sistema que se está auditando. Esta información por el momento no es útil pero al reservo por si nos pudiera facilitar la entrada en un futuro.

Al ver que dispone de un servicio WEB APACHE abro el navegador e ingreso la ip de la máquina para ver qué tipo de sistema estamos intentando vulnerar.

Me encuentro con otro formulario de ingreso…. SQL INJECTION otra vez??

 

Visto que se trata de un sistema con un servicio web activo lanzo Nikto para ver posibles vulnerabilidades y métodos posibles de entrada.

 

 

«Amoooooo mireeee! Que en vez de ovejas esta vez tenemos una cabra! quiere que ponga musica a ver si baila y asi ganamos unos bitcoins de esos?»

A la vez que Nikto busco con wfuzz directorios  que no se encuentran a la vista aparte de los que me saque nikto.

Vamos a probar los usuarios que hemos encontrado en la página de LOGIN a ver si suena la flauta junto con el truco mágico de SQL injection: ‘or ‘1’=’1

«Amo apúntese el truco ‘or ‘1’=’1 eso es como la llave maestra…  con eso  si existe un sqli… podemos verlo»

Como se puede observar tenemos 2 login validos para el sistema… cosa bastante divertida, asi que decido abrir la Shell e intentar entrar a través de una sesión SSH :

Como podemos observar ambos usuarios están muy limitados con lo que no se si nos van a permitir hace mucho… por si acaso voy a investigar si existe alguna manera de ganar algún privilegio mas dentro de las sesiones.

Encuentro en varias páginas que hacen referencia a un método que permite sacar una sesión BASH con un comando concreto utilizando el comando ECHO:

echo os.system(‘/bin/bash’)

 Perfecto! Funciona, aunque son shells algo limitadas nos permite movernos algo más de lo que nos permitía antes. Vamos a sacar la versión de Kernel que estamos corriendo por si fuera vulnerable.

Buscando en Exploit Database encuentro este exploit, el cual busco como tengo que utilizarlo porque no tengo ni la menor idea.

Por lo que he encontrado este exploit hay que descargarlo y compilarlo y tras ello, descargarlo en la maquina atacada y ejecutarlo. Al hacerlo de esta manera ganaremos acceso a los permisos ROOT.

Lo descargo en mi maquina:

 

Cambiamos los permisos del archivo:

Arranco el servicio apache para poder subir el archivo:

Abro la Shell donde tengo abierta la sesión SSH de nombre John, me situo en la única carpeta en al que puedo descargar contenido sin ser ROOT que no es otra que tmp que es comun a todos los usuarios… y sabiendola utilizar nos da acceso a muchas cosas y lanzo el comando Wget para poder descargármelo:

 

No sé porque no funciona así que reinicio todo y lo intento 3 veces… al no dar señales de que funciona… y como se queda clavado… me da cierta idea de donde puede estar el problema. ¿Esta máquina de averno puede tener un firewall configurado en las IPTABLES que imite la conexión por HTTP?

«Uooooh! Amo! esto pasa ya de las malignidades a las que estamos acostumbrados! ahora ya nos bloquean hasta las peticiones! LO MATO LO MATO LO MATOOOO!»

 

Bingo! El puerto 80 se encuentra cerrado y no nos permite hacer nada con el apache…. Así que a buscar otras maneras de conectarse según hago la búsqueda… encuentro que existen scripts en python que nos permiten abrir servidores Web en la carpeta en la que nos encontremos en un puerto diferente al habitual. En concreto en este caso es el puerto 8000 que se encuentra libre .

 

«jijijii a grandes males del apache… enormes remedios pythonianos! AMoooooo illo! ya nos conectamos! Vamoh Mi arma!  «

 

Abro en mi maquina el paquete que he descargado para poder comprobar el funcionamiento y poder compilarlo antes de poder ejecutarlo en la maquina víctima.

 

El propio Exploit dentro de su código explica la manera de compilarlo dependiendo del sistema operativo que se esté atacando si es de x86 o de x64. En nuestro caso si lanzamos un UNAME –M nos dice que la versión es de 32 bits

Arrancamos el servidor Python que hemos comentado y descargamos el ejecutable en nuestra maquina atacada.

Una vez descargado le cambiamos los permisos y lo ejecutamos y el resultado es:

«Amo ponga ese casete de redoble de tambores que tiene por ahi! ¿?  que no consigue meterlo?  SERA TARUGO! QUe eso es mi unidad DVD!»

 

Ganando así ROOT!

 

Espero que esto sea de ayuda… ya que con esta maquina llegamos al final de los manuales de Kioptrix so horteros! Mil gracias por seguir leyendo mis desvarios y ya sabéis «NO SEAIS BUENOS jijijiji AMo! ve le subplanto» … sera cabrón este esbirro, lo dicho.

Mil gracias de nuevo a todos los que hacéis esto posible.