Ir al contenido principal

MOOC Hacking Etico: Experiencias




Final Hacking Etico Mondragon Unibertsitatea


En este artículo voy a hacer un recorrido de la experiencia vivida en el Mooc de Hacking Ético que de forma gratuita nos ofreció Mondragon Unibertsitatea.

Desde el inicio me pareció un curso muy importante ya que se trataba de Seguridad Informática un tema que ha tomado y tomara muchísimo auge con el transcurrir del tiempo e ira de la mano con los avances de las tecnologías.

Las tareas establecidas (muy bien pensadas para principiantes como yo) daban instrucciones claras de cómo hacer los procedimientos, empezamos con herramientas básicas para obtener información de un host remoto, ver versiones de sistemas operativos, puertos abiertos, pruebas de conectividad entre otros. Vea de las tareas de la primera unidad http://itinford.blogspot.com/p/ackingetico.html


A medida de que pasaban las semanas no introducíamos más y más en el mundo del Hacking navegando por páginas webs y foros con valioso en la materia de seguridad informática y empezamos a conocer métodos de encriptación, a aprender sobre claves públicas y privadas y de la necesidad de tener nuestra información bien asegurada. Vea http://itinford.blogspot.com


Cada vez más estábamos más entusiasmados descifrar el enigma que el MOOC había propuesto. Consistía en encontrar la clave para des encriptar un archivo que dicho contenido nos abriría paso para solicitar al Consejo JEDI la entrada al grupo y así poder participar en el Reto final.

 Para llevar a cabo esto tuvimos que poner en práctica los conocimientos adquiridos, tales como: Inyección SQL y encriptar y des encriptar archivos firmados con claves privadas (obviamente con la clave pública). Hasta este punto el entusiasmo era grande en todos los integrantes del curso y siguió creciendo ya que estábamos camino al reto final.







Archivo del enigma encriptado















Archivo desencriptado


El Reto Final
Primera Fase (Defensa)

Una vez estando en el grupo del consejo JEDI en Facebook, empezamos a armar equipos de 8 miembros, a los cuales se les entregaría un servidor Virtual con aplicaciones preinstaladas, durante una semana el equipo debía dedicarse a asegurar su servidor y al mismo tiempo planificar los ataques que se les realizaría a los demás equipos.

Afortunadamente me compartí con un grupo de personas de diferentes países y con diferentes niveles de conocimientos en la materia, de los cuales aprendí bastante. Formamos el equipo OBI WAN, donde el represente es Cristian Menghi, utilizamos una plataforma de colaboración llamada SLACK.COM, donde cada uno de los integrantes compartía sus conocimientos y estrategias, además utilizamos Google Docs para compartir nuestros archivos de colaboración, todos los cambios que se realizaban el server era documentado y notificado vía correo cada 24 horas, esto con la finalidad de que todos estuviéramos en el  mismo canal.



















Grupo de coolaboracion ObiWan



Debo admitir que estuve un poco perdido al inicio del reto ya que el servidor que nos entregaron tenía una distribución de DEBIAN y yo jamás había utilizado este sistema. Pero luego de unos días de lectura pude aportar a la configuración de defensa del servidor y otras ideas de configuraciones de seguridad recomendadas, escaneos en bucas de puertos no seguros entre otros.

Configure una herramienta de seguridad llamada Fail2ban, la misma se usa para detectar intentos de accesos no autorizados ya sea por ssh, ftp, smtp, web entre otros. 

Comparto con ustedes la configuración realizada:



Archivos compartidos en google Docs


===========================================================================
MSOLERHERRERA

Se instaló el FW fail2ban:
sudo apt-get install fail2ban

Se crea una copia del archivo /etc/fail2ban/jail.conf  /etc/fail2ban/jail.local
Para no modificar el archivo jail.conf

Se hizo la configuración en el archivo jail.local

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1/8  ----------------------------------> Ips que seran ignoradas por fail2ban
bantime  = 7200
maxretry = 2
En esta parte podemos agregar nuestras ips para que no se nos bloquen por intentos fallidos.
Se configuró el jail para:

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3--------------------------------> Número de intentos máximo
findtime = 600 ---------------------------->  Tiempo entre intentos
bantime  = 86400 -------------------------> Tiempo en segundos que se bloquea la ip del host que intenta acceder si se quiere bloquear de forma definitiva colocar -1

# HTTP servers
[apache]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 5
bantime  = 600

[vsftpd]

enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = vsftpd
logpath  = /var/log/vsftpd.log
# or overwrite it in jails.local to be
# logpath = /var/log/auth.log
# if you want to rely on PAM failed login attempts
# vsftpd's failregex should match both of those formats
maxretry = 3
bantime  = 86400
findtime = 200

Para lanzar el servicio:
sudo service fail2ban start

$ sudo service fail2ban status
[ ok ] Status of authentication failure monitor:[....] fail2ban is running.

Además de estas herramientas conocí otras como: IPTABLES, MODsecurity, configuración segura para SSH, APACHE, como cambiar privilegios de usuarios, entre otras.

Todos los esfuerzos dedicados en defensa eran para proteger los archivos que el consejo puso en los servidores de cada equipo:
/usr/share/doc/base-files/mooc-hacking-team-0034-level-01.gpg
/srv/ftp/mooc-hacking-team-0034-level-02.gpg
/var/lib/mysql/mooc-hacking-team-0034-level-03.gpg

Segunda Fase (Ataque)

La segunda fase del Reto que era el ataque a los demás equipos  y de esa manera conseguir los archivos que estaban en cada servidor utilizando los métodos que ya conocíamos y aprovechando alguna vulnerabilidades de las app instaladas en los servidores.

Fuimos documentado cada servidor atacado, el método utilizado y si fue posible conseguir el objetivo.  Esto con la finalidad de no perder tiempo atacando el mismo server.
En este punto del reto utilizamos herramientas tales como:
·         Ping
·         Nmap
·         Sqlmap
·         Metasploit
·         SQLi

Aprovechamos las vulnerabilidades que tiene la versión 0.4.0 de gitlist para hacer inyección de código y sacar los archivos de los demás equipos. También aprovechamos los descuidos de otros que no deshabilitaron el usuario anonymous en sus FTPs, los cual nos ayudó a conseguir una gran cantidad de archivos. Estuvimos tratando de conseguir archivos por medio de una vulnerabilidad en Cacti.

En mi caso a través de la vulnerabilidad de gitlist y el comando wget pude conseguir gran número de ficheros de los demás equipos.























.



Archivos obtenidos de otros equipos


Toda estas actividades fueron llevadas a cabo, claro sin descuidar la defensa de nuestro servidor (pero como todos sabemos “No hay nada seguro”).



Para finalizar este artículo expresare unas líneas de agradecimiento:

En primer lugar agradezco a Mondragon Unibertsitatea quienes dedicaron tiempo esfuerzo y estoy seguro que mucho dinero para ofrecernos este MOOC de manera gratuita y permitirnos incursionar en este mundo tan amplio de la Seguridad Informática. Es el mejor curso gratuito que he tomado admiro la organización con la que han llevado a cabo la realización del mismo. Desde ya les digo que fue un éxito y sé que tanto a nosotros como a ustedes el auge de este supero nuestras expectativas, queda demostrado que si se puede dar algo gratis y de calidad. Les insto a que sigan ofreciendo este tipo de cursos porque les aseguro que todos los estudiantes desde diferentes partes del mundo se los vamos a agradecer.

Melvin Soler Herrera – Republica Dominicana




Comentarios

Entradas populares de este blog

SQL Injection

SQL INJECTION El mundo de la informática vemos que cada día avanza y avanza, pero hay que echarle un ojo a la seguridad de la información. A menudo las empresas utilizan páginas webs donde hay información para todo el público pero también sección privada protegida por usuario y contraseña para los administradores de las páginas. Dependiendo de la programación estas páginas pueden poner en riesgo información clasificada como confidencial y aun otras informaciones alojadas en el mismo motor de base de datos donde consulta la página web. Esto es posible ya que existe la Inyección SQL que consiste en inyectar código o consulta SQL en una página ya sea desde el mimo browser o usando algún tipo de herramienta que permita hacerlo. El origen de la vulnerabilidad radica en el incorrecto chequeo o filtrado de las variables utilizadas en un programa que contiene, o bien genera, código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en ...

Grupos y blogs de Hacking Etico

Continuación Etical Hacking Como ya les había comentado, inicie un curso de Hacking Ético en unas de las paginas que utilizan la modalidad MOOC, ya les había publicado lo aprendido en la primera tarea del curso(http://itinford.blogspot.com/p/ackingetico.html). En esta entrada les hablare de unas paginas de Hacking Ético que me parecen interesantes y voy a iniciar con http://www.batanga.com, en esta pagina encontré importante literatura acerca de como iniciarse en el mundo el hacking ético, aquí les dejo la liga completa http://www.batanga.com/tech/2007/04/09/hacking-etico-aprende-hackeando. Un hacker como tal debe tener conocimiento avanzado de por lo menos de tres sistemas operativos y saber programar en varios lenguajes de programación. La otra pagina de la que les quiero hablar es de http://hacking-etico.com: Esta pagina es muy completa ya que nos da tips de seguridad informática y en cuanto al hacking nos orienta sobre como testear las aplicacio...

Como levantar una maquina virtual partiendo de una imagen OVF en vMware 5.1

Levantar una maquina virtual de manera rapida y facil con una imagen OVF en vMware 5.1 En un post anterior Como crear un template OVF en vMware 5.1 ya les explique como crear una imagen OVF que no es mas que un template de una maquina virtual que se prepara con configuraciones generales, para partir de ahí al momento de levantar una nueva maquina virtual. Ahora veremos como utilizar ese template para crear o levantar nuevas maquinas virtuales y de esa manera disminuir el tiempo de respuesta ante solicitudes de nuevos servidores. Para ello utilizaremos una imagen OVF creada en el post anterior. Veamos: Abrimos el vSphere client, luego damos un click en nombre o la ip del Host das click en Files y seleccionas la opcion Deploy OVF Template. Luego seleccionamos la ubicacion deonde se encuentra el Template que creamos. Presionamos en en boto Next, para seguir al siguiente paso. El asistente nos da un detalle de la imagen ovf que hemos selecci...