GoLISMERO: Simplificando las auditorías web
Recientemente hemos liberado una nueva herramienta para facilitar la vida del auditor de seguridad web: GoLISMERO. Para aquellos que se lo pregunten: Sí, el nombre es el resultado de una mala noche de insomnio.
¿Qué es GoLISMERO?
GoLISMERO es un spider web capaz de detectar vulnerabilidades y formatear los resultados de forma muy útil cuando se afronta una auditoría web. Podéis descargalo desde aquí: https://code.google.com/p/golismero/
¿Para qué sirve?
GoLISMERO está pensado para ser un primer paso cuando comenzamos una auditoría de seguridad web.
Cada vez que nos enfrentamos a una nueva URL, ¿no sería genial poder disponer de forma sencilla y rápida de todos los enlaces, formularios con sus parámetros, detectar posibles URL vulnerables y que además de que se presentasen de manera que nos permita hacernos una idea de la todos los puntos de entrada donde podríamos lanzar ataques? GoLISMERO nos permite hacer todo esto.
Aprendiendo con ejemplos
A continuación se exponen diversos ejemplos y casos prácticos, que son la mejor forma de aprender a usar una herramienta de seguridad:
-
Extraer todos los enlaces y formularios de una web, con todos sus parámetros, en formato extendido:
GoLISMERO.py –t google.com

CWE/SANS Top 25 Most Dangerous Software Errors – 2011
CWE (Common Weakness Enumeration) junto con SANS publican un estudio donde se catalogan los 25 errores más peligrosos cometidos a la hora de desarrollar software. Entre ellos y en los primeros lugares encontramos "Inyecciones SQL", "Inyecciones XSS", débiles controles de autorización, etc. viejos conocidos pero que aún siguen vigentes en un alto porcentaje de las aplicaciones.
Informe PDF: http://cwe.mitre.org/top25/archive/2011/2011_cwe_sans_top25.pdf
Web online: http://cwe.mitre.org/top25/?2011
Youtube: La guerra de Movistar

El viernes hacia las 11:00, hora española, publican en Banda Ancha la siguiente noticia:
http://bandaancha.eu/articulo/7958/saltarse-capado-movistar-videos-youtube
La noticia indica que, como ya ha ocurrido años atrás, comienzan los problemas para acceder a los contenidos de Youtube desde los accesos de Movistar. Esto lleva a la pregunta "¿Está capando Telefónica a Youtube?". Independientemente de la respuesta que se pueda dar en base a datos del enlace con la cache de Google etc... a nosotros nos interesa, por un lado los DNS de RedIRIS que se proponen como alternativa y si existe un rate-limit. Nuestra intención es aportar algunos datos que creemos son interesantes para cualquier usuario.
La entrada de Bandaancha titula "DNS de RedIRIS: Solución para los problemas de lentitud en los vídeos de Youtube", ante esta afirmación es conveniente estar seguros de qué servidores van a ser los encargados de resolver nuestras consultas DNS. Por ello hemos preparado un pequeño análisis de los servidores DNS; consideremos que es muy interesante conocer el estado de los mismos si van a pasar a ser nuestros "resolvers".[DNS Caché].
El resultado indica que el primero de los DNS es potencialmente peligroso, utilizando un solo puerto para realizar las consultas sobre los servidores autoritarios [Kaminsky]. El segundo sería el recomendable en caso de utilizar estos DNS como solución al problema que indica "Bandaancha".
| IP | Version | Open Emitter | Peticiones | Puertos |
| 193.145.66.2 | "BIND 8.2.4" | yes | 9981 | 1 [32784] |
| 193.146.141.130 | - | yes | 10114 | 2452 [49163-65520] |
Por otro lado nos gustaría mostrar un TEST que hemos realizado desde un acceso de Movistar a distintas horas del día. [Glasnost]. Los resultados no se corresponden con un estudio ni mucho menos, pero muestran que según la herramienta que hemos utilizado no se detecta ninguna influencia sobre el tráfico por parte del operador. Si alguien se anima a realizar el test desde su acceso, por favor, que nos indique en los comentarios los resultados obtenidos (Tipo de acceso, hora).
A continuación algunas capturas de los resultados obtenidos desde accesos ADSL.
Apéndice: Measurement Lab
M-Lab [http://www.measurementlab.net/] es una plataforma pensada para albergar herramientas/proyectos de investigadores. Su objetivo es avanzar en la investigación de la red y proporcionar a los usuarios herramientas que les den información sobre sus conexiones a Internet. En definitiva mantener la transparencia en la red.
Uno de los proyectos albergados en sus servidores es el proyecto “Glasnost” dedicado a realizar pruebas sobre los accesos de cliente. Concretamente analiza posibles “modificaciones” por parte del ISP en el uso de algunos protocolos desde los accesos contratados.
The goal of the Glasnost project is to make ISPs’ traffic shaping policies transparent to their customers. To this end, we designed Glasnost tests that enable you to check whether traffic from your applications is being rate-limited (i.e., throttled) or blocked.
Nos proporciona una serie de protocolos que pueden ser analizados, categorizados como P2P apps, Standard apps y Video-on-Demand. Los protocolos que analiza están relacionados con las transferencias de ficheros, no solo P2P.
OpenNIC Tier2 Servers: Un estudio mínimo
Se propaga por la red una preocupación creciente respecto del filtrado de los sitios que "vulneran" los derechos de autor. El gobierno de los Estados Unidos ha realizado recientemente alguna "captura" de dominio con bastante repercusión en España. Nos referimos a rojadirecta.org, portal que recopila enlaces a servidores de "streaming" que retransmiten eventos deportivos de pago.
Una de las alternativas para evitar este tipo de secuestros de dominio es el uso de OpenNIC. Se trata de un proyecto que tiene como objetivo ofrecer una alternativa a los dominios de primer nivel (TLD, Top Level Domain) gestionados por ICANN. Su principal atractivo es que por un lado no depende directa o indirectamente de un organismo gubernamental y que ofrece el registro de dominios de forma gratuita.
OpenNIC (a.k.a. "The OpenNIC Project") is an organization of hobbyists who run an alternative DNS network. OpenNIC is owned and operated by the OpenNIC community. Membership is open to all who share an interest in keeping DNS free for all users. Our goal is to provide you with quick and reliable DNS services and access to domains not administered by ICANN.
OpenNIC provides resolution to all ICANN domains as well as OpenNIC's own TLDs:
.geek, .free, .bbs, .parody, .oss, .indy, .fur, .ing, .micro, .dyn and .gopher
Join us as we create a new surfing experience. OpenNIC domain registrations are free of charge -- simply register your domain, agree to the terms of the specific TLD you're registering with, and point your domain to whatever online services you have to offer.
Para completar la infraestructura del servicio OpenNIC mantiene una lista de servidores capaces de realizar resoluciones recursivas. Estos servidores son capaces de resolver los TLDs ofrecidos por OpenNIC y tienen que ser utilizados por los usuarios como alternativa o complemento a los servidores que los ISP ponen a su disposición.
Public Access (Tier-2) DNS Servers
Public Access servers, in accordance with the OpenNIC DNS Specification, provide recursive responses to the public, requiring a hefty amount of data transfer.
Como nos pareció una iniciativa interesante, nos propusimos comenzar a utilizar estos servidores. Pero antes de utilizar algo, nos gusta valorar el nivel de seguridad que nos ofrece. Por esta razón hemos realizado un pequeño estudio de los servidores listados por OpenNIC.
Consideraciones:
- El estudio está realizado desde España, contra un servidor autoritativo situado en España y utilizando el servicio de FreeDNS (freedns.afraid.org).
- Hemos realizado esta pequeña revisión sobre los servidores por la importancia del protocolo DNS.
A continuación mostramos un resumen de los resultados obtenidos tras realizar algunas comprobaciones. Las comprobaciones realizan no más de 10 peticiones con el objetivo de comprobar si el servidor es un posible "open-emitter", si muestra su versión software, qué TTL es capaz de procesar, si acepta peticiones no recursivas y si realiza una correcta aleatorización de los puertos desde los que realiza las peticiones de resolución.
El total de servidores sobre los que se realiza la comprobación es de 42. Quedan excluidos los servidores que operan en IPv6 en este pequeño estudio.
Los aspectos analizados los hemos reflejado de la siguiente forma:
- Open Emitter: Server use same IP for client and server side.
- TTL: Max TTL accepted.
- RAND Ports: Server range port in queries (client side).
- Version: Version.bind published.
- No RD flag allow: Server resolve no recursive queries.
- Rating [potential-insecure[0]unrecommended[1,2]recommended[3,4]optimal[5]]
| Server | Open Emitter | TTL | RAND Ports | Version | RD flag | Rating |
| 58.6.115.42 | - | - | - | - | - | - |
| 202.83.95.227 | x | 2592000 | GREAT | exposed | no | 3 |
| 119.31.230.42 | x | 604800 | POOR (1port) | - | no | 0 |
| 66.206.229.101 | x | 604800 | GREAT | exposed | yes | 1 |
| 67.212.90.199 | 604800 | GREAT | exposed | yes | 2 | |
| 89.185.225.28 | x | 604800 | GREAT | exposed | no | 3 |
| 88.198.249.114 | x | 604800 | GREAT | exposed | no | 3 |
| 217.6.34.47 | x | 604800 | GREAT | - | no | 4 |
| 217.6.34.48 | x | 604800 | GREAT | - | no | 4 |
| 178.63.26.173 | x | 604800 | GREAT | exposed | yes | 2 |
| 178.63.26.174 | x | 604800 | GREAT | exposed | yes | 2 |
| 83.223.73.116 | x | 86400 | GREAT | - | yes | 4 |
| 178.63.26.172 | x | 604800 | GREAT | exposed | yes | 2 |
| 217.79.186.148 | x | 2592000 | GREAT | - | no | 3 |
| 78.46.76.144 | x | 604800 | GREAT | exposed | no | 3 |
| 78.46.76.146 | x | 604800 | GREAT | exposed | no | 3 |
| 92.243.8.139 | x | 604800 | GREAT | exposed | yes | 2 |
| 95.142.171.235 | x | 604800 | GREAT | exposed | yes | 2 |
| 82.237.169.10 | x | 604800 | GREAT | - | yes | 3 |
| 195.46.231.99 | x | 604800 | GREAT | - | no | 4 |
| 95.211.32.162 | x | 604800 | GREAT | - | no | 4 |
| 27.110.120.30 | x | - | - | - | - | - |
| 192.121.121.14 | - | - | - | - | - | - |
| 192.121.86.100 | x | 604800 | GREAT | - | no | 4 |
| 109.74.196.32 | - | - | - | - | - | - |
| 89.16.173.11 | x | 604800 | GREAT | exposed | yes | 2 |
| 74.207.247.4 | 604800 | GREAT | exposed | yes | 2 | |
| 205.185.120.143 | x | 604800 | GREAT | - | yes | 3 |
| 216.87.84.211 | 604800 | GREAT | exposed | no | 3 | |
| 184.154.13.11 | x | 604800 | GREAT | exposed | no | 3 |
| 66.244.95.20 | x | 604800 | GREAT | - | no | 4 |
| 69.164.208.50 | x | 604800 | GREAT | exposed | no | 3 |
| 69.164.211.225 | x | 604800 | GREAT | exposed | no | 3 |
| 64.0.55.201 | x | 604800 | GREAT | exposed | no | 3 |
| 68.68.18.197 | x | 604800 | GREAT | exposed | no | 3 |
| 72.14.189.120 | x | 604800 | GREAT | exposed | no | 3 |
| 69.164.196.21 | x | 604800 | GREAT | - | no | 4 |
| 208.74.121.196 | - | - | - | - | - | - |
| 72.232.162.195 | x | 604800 | GREAT | - | no | 4 |
| 128.173.89.246 | x | 604800 | GREAT | exposed | yes | 2 |
| 208.43.144.56 | x | 604800 | GREAT | - | yes | 3 |
| 67.159.25.26 | - | - | - | - | - | - |
Estadísticas de los resultados
TTL: Max 2592000 / Min 86400 / Med 604800
Open emitter: 34/42
Rand Ports: 36(GREAT)/1(POOR)
Version: 22/37
RD flag: 17(yes)/22(no)/4(time out)
Y por último las estadísticas de "Rating":
Durante las comprobaciones se detectó que unos de los servidores utiliza un único puerto para realizar las resoluciones recursivas. Además el puerto utilizado es el propio puerto del servicio DNS (53/UDP). Esta configuración resulta peligrosa al exponer al servidor a ser víctima de un posible ataque de envenenamiento o denegación de servicio. El siguiente listado muestra una serie de peticiones realizadas por el servidor DNS sobre uno de nuestros servidores DNS Autoritarios, se aprecia el uso de un único puerto.
20:40:49.834987 IP 119.31.230.42.53 > @8.%$.?.!|3.53: 27952 [1au] A? 26524.subdomain.crabdance.com. (58)
20:40:49.835283 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 27952*- 1/1/2 A 1.111.1.111 (113)
20:40:50.662949 IP 119.31.230.42.53 >@8.%$.?.!|3.53: 56212 [1au] A? 18007.subdomain.crabdance.com. (58)
20:40:50.663301 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 56212*- 1/1/2 A 1.111.1.111 (113)
20:40:51.469681 IP 119.31.230.42.53 > @8.%$.?.!|3.53: 61742 [1au] A? 10214.subdomain.crabdance.com. (58)
20:40:51.470040 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 61742*- 1/1/2 A 1.111.1.111 (113)
20:40:52.361705 IP 119.31.230.42.53 > @8.%$.?.!|3.53: 57922 [1au] A? 31473.subdomain.crabdance.com. (58)
20:40:52.362052 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 57922*- 1/1/2 A 1.111.1.111 (113)
20:40:53.216820 IP 119.31.230.42.53 > @8.%$.?.!|3.53: 44946 [1au] A? 26389.subdomain.crabdance.com. (58)
20:40:53.217199 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 44946*- 1/1/2 A 1.111.1.111 (113)
20:40:54.024087 IP 119.31.230.42.53 >@8.%$.?.!|3.53: 21492 [1au] A? 26070.subdomain.crabdance.com. (58)
20:40:54.024431 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 21492*- 1/1/2 A 1.111.1.111 (113)
20:40:54.841505 IP 119.31.230.42.53 > @8.%$.?.!|3.53: 38277 [1au] A? 6472.subdomain.crabdance.com. (57)
20:40:54.841835 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 38277*- 1/1/2 A 1.111.1.111 (112)
20:40:56.073528 IP 119.31.230.42.53 > @8.%$.?.!|3.53: 39680 [1au] A? 5293.subdomain.crabdance.com. (57)
20:40:56.073886 IP @8.%$.?.!|3.53 > 119.31.230.42.53: 39680*- 1/1/2 A 1.111.1.111 (112)
Enlaces:
[+] http://www.opennicproject.org
[+] http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl/
[+] http://pastehtml.com/view/axwqfxv77.html (Anonymous DNS alternative propuse)






