The post Dabo en el postgrado de seguridad appeared first on S3lab.
]]>Hace poco contamos la experiencia de un asistente en el módulo de David Hernandez a.k.a. Dabo (Parte I y Parte II), y ahora es Dabo el que cuenta su experiencia como profesor.
Desde aquí queremos dar las gracias a Dabo por sus palabras y sobre todo, por la auténtica lección que impartió el año pasado (y que este año tendremos ocasión de volver a disfrutar).
The post Dabo en el postgrado de seguridad appeared first on S3lab.
]]>The post Auditando un servidor con Dabo (Parte II) appeared first on S3lab.
]]>Pero claro, una vez que ya hemos obtenido cierta información sobre el sitio web y su servidor, es necesario determinar la gravedad de la vulnerabilidad. Dabo nos mostró el proyecto OWASP y que es una buena metodología la catalogación de las vulnerabilidades en base a este proyecto.Ya que habíamos visto algunas de las herramientas necesarias para hacer auditorías a servidores web y en base a que metodología mostrar los resultados, ahora tocaba la parte de pentesting. Vimos ataques en tiempo real contra sus servidores. Algo temerario, pero muy visual e instructivo. Empezamos con nmap y un parámetro que me gustó mucho debido a la información que nos brinda, -sC. Vimos que el servidor nos daba toda la información sobre los puertos, por lo que, como dijo Dabo, es como no tener firewall. Modifico la configuración del firewall y de los IDS-IPS para que al hacer otro nmap, la información fuera nula. Utilizamos la herramienta hydra para atacar mediante fuerza bruta su servidor mediante el puerto ssh y ftp. También la herramienta hulk para hacer una denegación de servicio. Ninguna de las dos funciono debido a que él tenía bienurado Apache para evitar ataques de fuerza bruta y DDoS. Todo ello, con una simple revisión a fondo de la configuración de Apache.
Todos estos ataques fueron registrados por los sistemas de logs con la IP, la hora y que se atacaba. Los logs, son otro de los grandes pilares de la seguridad en servidores. Los logs que nos enseñó Dabo abarcaban tanto los de tiempo real como los históricos. Esto mostraba una radiografía completa de todo lo que había sucedido con el servidor, algo muy importante para su optimización, para aprender nuevos ataques y para gestionarlo. Por otra parte, algunos ataques podían tumbar algunos servicios críticos como Apache o MySQL, pero la herramienta Monit, mitigaba ese problema volviendo a levantar el servicio. Para evitar muchos de los nuevos ataques o fallos de seguridad en el propio kernel vimos cómo funcionaba grsecurity y las comparativas con otros sistemas como SELinux o AppArmos. Estos ataques controlados nos dejaron una idea clara, un atacante hace lo posible para que no se le pueda detectar o al menos, hacerlo lo más difícil posible su detección. Para anonimizarse, los atacantes suelen utilizar la red TOR. Nosotros vimos Tails, un sistema operativo basado en Debian para navegar de manera anónima en el cual se pueden instalar todas las herramientas que hemos visto.
Para el último día nos reservó una sorpresita. Teníamos una máquina virtual con un Debian y apache montado. No enseño la herramienta maldetect que buscaba malware en páginas web. Instalamos la aplicación y, al poco tiempo de haberla ejecutado, diciéndola la ruta donde se alojaban las webs, nos encontró un elemento sospechoso. A primera vista era un archivo .htaccess, pero como la herramienta maldetect nos lo había marcado como malo, y el comando file nos decía que era un script php, la cambiamos la extensión a php y sin darnos cuenta, Dabo nos había metido un rootkit en nuestro servidor. Además, estaba codificado, lo que hacía un poco más difícil su detección. Al final, a lo tonto, aprendí bastante sobre los servidores, el poco tiempo que se les dedica para ponerlos en condiciones, lo sencillo que es configurarlos, los diferentes tipos de ataques que se realizan contra ellos y los potentes y necesarios que son los sistemas de logs. También aprendí bastante sobre las diferencias entre los tipos de servers, conceptos como escalabilidad o disponibilidad y laconfigimportancia tanto de elegir una buena base para el servidor en el proceso del desarrollo web, como la importancia de saber auditar no sólo de forma externa mediante herramientas Software, sino también configuraciones críticas del server.
Fue genial tener a Dabo compartiendo sus conocimientos y “engorilandose” contra sus propios servidores. Es una experiencia magnifica que te enseñen los mejores lo que hacen, como lo hacen y, que además lo hagan de manera práctica.
Un placer Dabo, esperamos verte pronto de nuevo.
Auditando un servidor con Dabo (Parte I)
The post Auditando un servidor con Dabo (Parte II) appeared first on S3lab.
]]>The post Auditando un servidor con Dabo (Parte I) appeared first on S3lab.
]]>El primer día comenzó explicando que tipos de servicios existían para servidores, cuáles eran los que mejor le parecían a él, cuales usaba y porque. Esas cosas para ir rompiendo el hielo. Una de las ideas que veo importante y que él comento fue que, en el mundo de la seguridad es tanto o más importante leer y estar al día que ser buenísimo haciendo configuraciones y levantando o tumbando servidores. Como ejemplo, nos mostró la metodología OSINT y su proceso. Como primera toma de contacto, la verdad es que estuvo bien. Conocimos un poco más a la persona que hay detrás de @Daboblog . Pero llegaron los siguientes días y comenzó el “entrar en harina”. Nos enseñó que la buena auditoria se va haciendo sin necesidad de herramientas muy potentes ni automatizadas, que eso de atacar con todo lo que se tiene no es buena metodología, que es mejor ir conociendo el sitio, navegar como un usuario normal y que la propia página, con las malas configuraciones que se dejan “por defecto”, te da la información necesaria para empezar a hacer “pupa”.
Comenzamos con la instalación de plugins para ayudarnos en esta tarea de “gardening”. A nivel de aplicación web, el plugin de Wappalyzer nos sorprendió a todos. Muestra demasiada información, por culpa de las configuraciones por defecto, sobre el software que publica la web mostrando las versiones. Esto puede parecer una tontería, pero es un elemento a tener en cuenta para evitar los ataques automatizados a versiones. A nivel de servidor y contenedor de aplicaciones, los plugins de Server Spy, SearchStatus y HackSearch también ayuda mucho en la tarea de recolectar información sobre el sitio. ServerSpy nos muestra la información sobre el contenedor de aplicaciones o el sistema operativo en el cual está montado y sus versiones. SearchStatus, herramienta de SEO, nos muestra el rango de otras aplicaciones web alojadas en la misma IP (mismo servidor), nos muestra el robots.txt y el sitemap.xml si los hubiera. Esto es muy interesante, ya que en el robots.xml el desarrollador pone lo que no quiere que los buscadores web indexen. Por último, HackSearch es un plugin para gestionar elementos que los buscadores web hayan indexado. Estos elementos normalmente suelen ser ficheros públicos que existen dentro de la web, pero otras muchas veces suelen ser configuraciones, backups o contraseñas. Sí, habéis leído bien, contraseñas, impresionante. Con estas herramientas, la simple navegación por la web ya es el primer paso del pentesting, recolectar información. Aunque hay sitios muy mal educados que nos intentan engañar con lo que realmente tienen, publicando cosas que no son. Hay que aprender a distinguirlo bien..
Con toda esta información que nos regalan las web que vamos visitando, lo único que consiguen es facilitar a los posibles atacantes que exploits concretos usar. Lo más gracioso vino después. Una vez que detectamos que el propio software del servidor web publicaba las versiones que utilizaba, nos comentó como taparlo. Fue nuestro “bautismo” en servidores con Dabo. Cambiamos una configuración “por defecto”, que está alojada en /etc/, para que esa información no fuera tan sensible. Lo más interesante fue que hacer este cambio es una trivialidad. Como todo en UNIX, fue cambiar 2 valores del archivo de configuración. El objetivo de cambiar este tipo de información que se muestra tan alegremente al resto del mundo es evitar ataques automatizados, es decir, seguridad por oscuridad. Además, esta metodología de trabajo, en muchas ocasiones, evita que nos molesten en nuestras vacaciones por ataques de 0 day, ya que como no mostramos nuestras versiones, es un poco más complicado que nadie se moleste en atacarnos sin saber si va a lograr algo.
Aun así, muchos de los servicios que se publican al mundo, aunque no sean visitados mediante la web y estos plugins no obtengan su identificador, se pueden utilizar herramientas “made in old school” como netcat. Al conectarnos por nc a una ip y puerto, normalmente nos devuelve su banner con más información de la que debería.
Auditando un servidor con Dabo (Parte II)
The post Auditando un servidor con Dabo (Parte I) appeared first on S3lab.
]]>