Solución al reto De-ICE Level 1 (y II)

Bueno, en el artículo anterior conseguimos acceso a la máquina víctima con las credenciales del usuario bbanter. En este, veremos cómo podemos elevar privilegios hasta llegar a hacernos con la password de root y con la información confidencial que contiene la víctima. Vamos al lío.

Acabamos de entrar en el sistema, y lo primero es hacer algunas comprobaciones iniciales de nuestra situación. ¿Qué permisos tenemos?¿Podemos subirnos a root?¿Qué más usuarios hay en la máquina?¿Cuales son los más privilegiados?

Contenido de /etc/passwd

Contenido de /etc/passwd

Fijemonos en un par de cosas. En primer lugar, ese aviso en el usuario root, que indica algo acerca de la encriptación del ftp y el password de root. En segundo lugar, fijaos que el usuario aadams, tiene un gid de 10, y que si miramos en /etc/groups, pertenece al grupo wheel. El grupo wheel suele ser un grupo con privilegios de administración, así que si no podemos acceder directamente a root, igual deberíamos tratar de pasar por aadams.

Una de las cosas que podemos hacer, es tratar de encontrar los ficheros setuid que pertenezcan a root o a aadams, y tratar de localizar los scripts, ya que es difícil localizar binarios oficiales con fallos que nos permitan elevar privilegios y requiere mucho más tiempo del que tenemos.

¿Algún setuid interesante?

¿Algún setuid interesante?

Bueno, no ha habido suerte, pero mientras hacíamos esto, hemos dejado un ataque con brutessh contra el usuario aadams (igual que el que usamos contra bbanter). Y como eso tarda un rato, lanzamos un análisis con nikto por si hubiera algo interesante; no lo hay. Ojeamos por si hubiera algún exploit para el kernel, y aunque lo hay, la máquina no dispone de herramientas de compilación (punto a favor). Aunque he intentado compilarlo en una slax, no he tenido éxito (problemas de dependencias, librerías distintas…). Mientras exploramos algunas otras posibilidades el ataque por fuerza bruta ha tenido éxito, y hemos obtenido la password de aadams. Accedemos al sistema con el nuevo usuario, y comprobamos de nuevo el estado en que nos encontramos.

El hash del password de root es nuestro

El hash del password de root es nuestro

En primer lugar comprobamos que somos del grupo wheel, y tratamos de acceder al cofre del tesoro, pero no tenemos permisos suficientes. Bueno, tratamos de usar sudo con la esperanza de que perteneciendo a wheel podamos hacerlo y… bueno, no podemos subir a root, pero fijaos en el mensaje “not allowed to execute /bin/bash”, lo que quiere decir que existen algunos comandos que sí podemos ejecutar. Tras varias pruebas, encontramos que cat es uno de ellos, y como es obvio, echamos un ojo al fichero /etc/sudoers a ver qué más podemos hacer. Parece que poca cosa, pero suficiente para leer /etc/shadow y llevarnos el hash del password de root para crackearlo con calma. Además, podemos acceder al ftp, y descubrimos que lo que hay allí es un fichero cifrado con supuesta información acerca de sueldos.

Usamos john the ripper con dos diccionarios diferentes

Usamos john the ripper con dos diccionarios diferentes

Ha sido fácil, en apenas unos minutos, john nos ha encontrado la password de root. Podíamos haber utilizado rainbow tables e incluso haber buscado ese hash en google, pero esto no ha sido costoso. Con la password de root en mano, suponemos que nos servirá para descifrar el archivo de sueldos (el comentario en /etc/password sugería esto). Se nos plantea un problema, ¿qué algoritmo se ha utilizado para cifrar el fichero? Podríamos haber examinado el contenido del fichero cifrado (con un hexdump) y quizá habríamos localizado algo de información relevante, pero en realidad tampoco hay tantos tipos, y puesto que hemos llegado hasta aquí a base de fuerza bruta

Desciframos con openssl

Desciframos con openssl

Sí amigos, un script bastante simple que prueba todas las opciones de cifrado que da openssl y luego un file a todos los ficheros, a ver cual es el descifrado (el ASCII, obviamente). No nos queda más que ir al responsable de la empresa y presentar nuestro informe, un poco flojo, puesto que pese a haber conseguido acceso root y los datos confidenciales, se ha realizado todo con técnicas de fuerza bruta; aunque oye, la seguridad de las contraseñas es algo que se debe tener en cuenta.

El premio gordo

El premio gordo

Por supuesto, esta es mi solución al reto, seguro que hay muchas otras, y mejores que esta, pero funciona, ¿no? 😉 Esto ha sido todo por ahora, más adelante contaremos como resolver el siguiente nivel.

Anuncios
Tagged with: , , ,
Publicado en hacking, wargame
2 comments on “Solución al reto De-ICE Level 1 (y II)
  1. Jonás dice:

    La URL donde se muestra el grupo Wheel está mal, sobra el 1 del final 😉 Debería ser: https://securityetalii.files.wordpress.com/2010/01/id-sudo-passwd-wheel.png

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Archive
A %d blogueros les gusta esto: