Actividad Resumen de los realizado en Curso de Hacking Ético.

Primeros Capítulos:

Tareas realizadas y publicadas en Blog.

Capitulo 1 Tarea 1

Curso de Hacking Ético Capitulo 1 Tarea 1

Capitulo 1 Tarea 2

Curso de Hacking Etico Capitulo 1 Tarea 2

Capitulo 1 Tarea 3

Curso de Hacking Etico Capitulo 1 Tarea 3

Capitulo 2 Tarea 1

Curso de Hacking Ético Capitulo 2 Tarea 1

Capitulo 2 Tarea 2

Curso de Hacking Ético Capitulo 2 Tarea 2

Capitulo 2 Tarea 3

Curso de Hacking Ético Capitulo 2 Tarea 3

Capitulo 2 Tarea 4

Curso de Hacking Ético Capitulo 2 Tarea 4

Enigma:

El enigma consistía en descargar un archivo llamado Enigma.txt.gpg que no es mas que un archivo de texto con un mensaje interior codificado con una llave simétrica, para poder desencriptarlo sólo fue necesario averiguar la llave.

Para descifrar la llave se daban 2 pistas.

1.- Acceder al sitio http://pruebas.euskalert.net/login.php

2.- El nombre de la tabla es «GuestBook»
Para encontrar la clave es necesario usar las técnicas de SQL Injection explicadas en el capitulo 2, No te dan ni el usuario ni clave para acceder al sitio pero son las mismas que se usaron en el ejercicio 2 de la tarea 2 user:admin Pass:password, aplicando los ejercicios enseñados sólo había que leer los datos de la tabla GuestBook aplicación la siguiente inyección de código.

%’ and 1=0 union select null, concat(comment_id,0x0a,comment,0x0a,name) from guestbook #

Antes había que leer el catalogo para obtener la tabla y las columnas, también con SQL injection pero no voy a entrar en detalles, con el código inyectado se obtenía la clave,

Captura_clave

«use the force», la que se uso para desencriptar el archivo..

Captura_desencripta

La clave funciona sin problemas…

Captura_desencripta_2

Al leer el archivo se consigue la clave para el Reto final

Captura_desencripta_3

Reto:

Entre todos los integrantes del curso que van descubriendo el Reto y que van solicitando acceder el grupo de Facebook logré incorporarme a un grupo el cual lo cerramos al completar 8 integrantes.

Los integrantes de mi grupo son:

José Luis Lucas Saorín
Jhonatan Ospina
Anderson Barrios
Anton Alberdi
Mooc Fran
Oscar Eduardo Navarrete Abarca
Jesus Pardo Delgado
Oscar Fernando Castillo

Y el grupo se autodenomino «Vaapad Security Team» y para poder coordinarnos creamos un grupo cerrado en facebook.

El servidor que se nos entrego tenia la IP 188.166.84.116, nos entregaron la clave del superusuario root.

Una de las primeras acciones que realizamos fue un escaneo del servidor para conocer datos de puertos abiertos y cerrados, servicios, software y sus versiones.

escaneodepuertos

luego de este escaneo comenzamos a analizar las entradas siendo la primera a analizar la entrada ftp, expuesta en el puerto 21.

Ahí notamos que había un archivo que se podía sacar libremente ya que el FTP estaba configurado para que cualquier usuario anónimo desde la red pudiera sacarlo sin mayores trabas, lo único que había que hacer era ejecutar desde cualquier browser el comando

ftp:\\188.166.84.116 y descargar el archivo. «mooc-hacking-team-0006-level-03.gpg»

Luego deducimos que los otros archivos a encontrar tendrían un nombre parecido pero iban a estar ubicados en distintas partes del servidor por lo cual ejecutamos el comando find desde la raiz para tratar de buscar los otros archivos… el resultado fue exitoso ya que encontramos los nombres y las rutas de los 3 archivos,

archivos

Conociendo los archivos a defender comenzamos a idear nuestra estrategia para superar la prueba. Nuestro grupo se dividió en 2 de 4 integrantes cada uno 4 tenia la misión prioritaria de defender el servidor y los otros 4 de atacar, aunque en la practica todos participamos de ambas actividades mi rol en el grupo se baso fundamentalmente en la defensa.

Se realizaron muchas pruebas y acciones para defender el servidor pero sólo voy a ir nombrando las más importantes:

  • Cambiamos la configuración del FTP para que no pudiera extraer el archivo en forma anónima.
  • Analizamos la versión del servicio de FTP (vsftpd 2.3.5) instalado para ver si era necesario parchar o actualizar debido a alguna vulnerabilidad conocida. En este punto no fue necesario realizar ninguna acción ya que la versión vulnerable es la anterior 2.3.4.
  • Revisamos las aplicaciones expuestas a través del puerto 80. encontrando 2 aplicaciones:
    • CACTI
    • gitlist
  • Cacti es una aplicación que se conecta a una BD Mysql buscamos los parametros de conexión en el archivo de configuración del cacti:
    Se obtiene de :
    cd /etc/cacti
    more debian.php

cacti

De esta manera obtuvimos los datos de conexión  a la BD Mysql, luego buscamos la tabla que contiene los usuarios de este sistema y encontramos al usuario «admin» con su password encriptada, probamos algunas password y logramos identificar que la password de este usuario es la misma del Mysql, grueso error!!! , modificamos ambas claves por claves diferentes.

  • Luego buscamos vulnerabilidades de la versión de gitlist y encontramos varias pero una da la posibilidad de agregar un archivo, usamos esa vulnerabilidad para ejecutar comandos vía prompt y así obtener el contenido del archivo  «mooc-hacking-team-0006-level-01.gpg», intentamos lo mismo con el otro archivo pero no nos resulto ya que el usuario que tiene los permisos necesarios para ver el contenido de ese archivo es el usuario mysql, de ahí deducimos que alguna debilidad que se ejecuta con mysql permitiría obtener el ultimo archivo y que esa vulnerabilidad se ejecutaría a través de la aplicación Cacti. La vulnerabilidad de Gitlist que nos permitió leer el archivo se explica con mayor detalle en la web https://www.exploit-db.com/exploits/33929/
  • gitlist
  • Actualizamos Gitlist a su versión mas reciente para asegurarnos de que no nos sacaran ningún archivo aprovechando las vulnerabilidades que ofrece la versión instalada.
  • Actualizamos Cacti a su versión mas reciente (actualizamos de la versión 0.8.8a a 0.8.8f) para asegurarnos de que no nos sacaran ningún archivo aprovechando las vulnerabilidades que ofrece la versión instalada.
  • Adicionalmente para proteger el servidor cambiamos algunas configuraciones en los archivos sysctl.conf e instalamos fail2ban para prevenir intrusos en nuestro server. Mas información en https://es.wikipedia.org/wiki/Fail2ban
  • También instalamos y configuramos DenyHost para evitar ataques por ssh mas información en https://en.wikipedia.org/wiki/DenyHosts
  • Modificamos la password del super usuario root.
  • Modificamos la configuración de Iptables para evitar escaneos con nmap y ataques DoS básicos modificando el archivo /sbin/iptables
  • Verificamos alguna vulnerabilidad de la versión de Mysql conocida por donde nos pudieran extraer el archivo que nos faltaba pero no encontramos considerando que no era necesario actualizar esta versión.
  • Modificamos nuestra página de inicio:

paginainicio

  • El último archivo que nos faltaba saber como obtener fue el más dificil y el que más tiempo nos tomó, seguimos investigando por mas tiempo incluso ya iniciada la batalla, hasta que encontramos una manera de leerlo mediante mysql explicado en el siguiente link http://marco-pivetta.com/php-exploit-mysql-backdoor-with-load-data-local-infile/ , ya conocíamos 2 cosas la primera como crear archivos dentro del servidor con  la vulnerabilidad de gitlist y ademas el archivo de configuración de Cacti en donde esta el usuario y la clave de la bd sin codificar, con estos antecedentes logramos crear una pagina en php que incluimos dentro de la aplicación Cacti, esta página se conectaba a la bd mysql creaba una tabla ya que contenía permisos para ello, esta tabla tenia sólo un campo de tipo texto, luego a través de la intrucción de mysql  «LOAD DATA LOCAL INFILE» y sabiendo la ubicación del archivo faltante cargábamos su contenido en la tabla y luego la leímos obteniendo lo que deseábamos, la página finalizaba borrando la tabla para no dejar rastros.

El Ataque

Aprovechando lo que conocíamos en esta semana de estudiar nuestro servidor obtuvimos un total de 101 archivos desde los otros servidores, pudimos haber obtenido mas archivos pero algunos servidores estaba abajo o tenían sus servicios abajo o la BD mysql con problemas.  No voy a ahondar en el tema del ataque ya que mi misión estaba mas bien enfocada a la defensa del servidor para ellos ingresaba a diario a revisar si alguien ajeno al grupo había ingresado a ejecutar comandos sospechosos revisando el historial «comando history» y revisando archivos creados recientemente que no fueran archivos de log, tambien revisando archivos de log de conexiones de ip’s que no fueran las de grupo, conexiones ftp exitosas e historial de cambios. No tengo certeza de si nos sacaron archivos ya que la labor de poder determinar si hubo o no intrusos es casi una labor forense pero no se encontraron indicios de ello.

Reflexiones

Creo que participar en este tipo de actividades en forma colaborativa aprovechando todas las herramientas que existen en la actualidad (grupos en facebook, documentos compartidos, whatsap, chat , etc) es muy enriquecera, sobre todo en grupos de personas con distintas formaciones e incluso con diferentes horarios y cultura. Agradezco a mis compañeros de grupo de los cuales aprendí muchísimo espero haber sido un aporte también para ellos. Entre muchas de las cosas que aprendí tuve que configurar un servidor virtual en S.O Debian y ahí practicar muchas de las cosas que desconocía ya que siempre he usado S.O Windows. Aprendi no sólo de técnicas que usan los Hackers y Cramers sino tambien de S.O, de redes, de programación y recordé varias cosas que tenia algo olvidadas.

Respecto al curso en si, es de suma importancia conocer las vulnerabilidades de los sistemas y los servidores para poder corregirlos de manera efectiva y oportuna, esa fue mi motivación para este curso, espero algún día poder trabajar en algún área de seguridad TI y contribuir a evitar que hackers sin ética se aprovechen de las vulnerabilidades para causar daño orabr información valiosa.

Agradezco este curso por haberme mostrado la entrada ya que yo seguiré por este camino…

No sé que medalla sacaré, lo que si sé es que los conocimientos que se adquieren son una valiosa herramienta para seguir creciendo en el ámbito profesional.

Acerca de ocastillo61

Informático, Padre de Familia, autodidacta y emprendedor...
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Deja un comentario