Auditando un servidor con Dabo (Parte I)

No hace mucho, hemos tenido la gran suerte de contar con uno de los grandes a nivel nacional en el área de la seguridad de servidores. Muchos que lean esto ya tendrán unos pocos nombres en la cabeza. Probablemente el suyo sea uno de ellos porque conozcan bien su trabajo, otros lo habrán leído en algún momento de su vida si se han tenido que pegar con servidores basados en Linux y los pocos que no lo conozcáis, ya estáis tardando en hacerlo. Me refiero a David Hernández o, como casi todo el mundo lo conoce, Dabo.

Dabo (David Hernandez)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)

Patxi Galan García
Acerca de
Investigador de S3lab
Expertise: Natural Language Processing, Android, Cyberbullying