30 agosto 2008

Nuevos IM-Services en SbD.bot

Ya hace tiempo que lanzamos nuestro sbd.bot como idea revolucionaria frente a los omniscientes widgets-web. Hoy toca anunciar nuevos servicios que hemos añadido a nuestro bot.

Los servicios, están implementados en forma de comandos que puedes escribir directamente al bot.

  • genpass: En muchas ocasiones necesitamos crear una contraseña; porque nos estamos dando de alta en algún servicio web, alguna aplicación o similar. Este comando permite crear una contraseña aleatoria de 8 caracteres con cierta complejidad: mayúsculas, minúsculas y números.
genpass
sbd.bot: La password generada es: mh8hraQq
  • additem: Siempre viene bien tener la posibilidad de 'apuntar' datos y poder tenerlos de forma online disponibles siempre a mano e incluso entre diferentes ubicaciones. Con este comando puedes almacenar información en el bot que podrás recuperar desde cualquier otro sitio. Puede ser útil para guardar una dirección web, un e-mail o simplemente una anotación. La información permanece almacenada en una base de datos cifrada con RC4, no es muy recomendable guardar contraseñas en un servicio online, pero de hacerlo, al menos puedes tener la seguridad que no acaban en texto-plano. El comando admite dos parámetros: un nombre identificativo para ese ítem y la información. El nombre ha de ser una palabra y el texto admite frases completas
additem CorreoLuis luis.garcia@sudominio.com
sbd.bot: Item correoluis creada en tu BD
  • delitem: Es el comando opuesto al anterior, permite eliminar de tu base de datos un registro, para ello has de invocar el comando con el nombre del registro
delitem correoluis
sbd.bot: Registro correoluis borrado
  • listaitem: El comando que permite leer los registros que tengas almacenados en tu base de datos
listaitem
sbd.bot: Nombre descriptivo: sbd Texto: http://www.securitybydefault.com
Nombre descriptivo: mirarluego Texto: http://www.unaweb.com
Nombre descriptivo: comprar Texto: varias unidades de disco, tres monitores y una impresora
Nombre descriptivo: tareaspendientes Texto: resolver incidencia con el firewall, terminar aplicación
Esperamos que estos nuevos IM-Services sean útiles y les saquéis mucho rendimiento. Seguimos abiertos a sugerencias interesantes
Leer más...

29 agosto 2008

Seguridad práctica en Unix e Internet (Libro)

Después de haber recomendado otros libros de publicación mas o menos reciente, hoy toca un clásico entre los clásicos: Seguridad Práctica en Unix e Internet.

Desde mi punto de vista, este libro debería estar en el curriculum escolar de cualquier programa universitario que contemple algo, no ya de seguridad, de informática a nivel avanzado. Tal vez, leído por alguien recién llegado, le pueda parecer que la temática esta obsoleta: RPC, NIS, herramientas que aparecen en packetstorm, casi casi, catalogadas como históricas... Pero lo cierto es que la esencia del libro permanece vigente al 100%.

La forma en la que enfoca preceptos básicos como la responsabilidad del usuario, monitorizar el sistema, tener una idea clara de cual es la estrategia adecuada en materia de seguridad y como la vas a implementar, son ideas fácilmente transportables al 2008.

Además la forma en la que explica conceptos criptográficos de una forma muy pragmática sirven y mucho como genial iniciación al tema.

En definitiva, un libro que tal vez necesite una dosis extra de cariño para leerlo, pero que su valor formativo es inconmensurable.

Lo podéis encontrar aquí
Leer más...

26 agosto 2008

Por no hacer excesivamente ardua la lectura del análisis sobre los mecanismos que implementan los cortafuegos de aplicaciones web, decidí publicarlo en varias entregas. Así que aquí vamos con la parte que os debía.

Al hilo de lo que detallábamos en el post sobre los Modelos de Seguridad Positiva vs. Seguridad Negativa, los diversos motores de un WAF responden a estos mismos criterios. Así, podemos permitir todo el tráfico entrante excepto aquel que nosotros consideramos un ataque (modelo de seguridad negativa), o podemos definir que todo tipo del tráfico web está prohibido excepto aquel que nosotros permitamos expresamente (modelo de seguridad positiva).

De esta manera, los motores basados en lista negra o en lista ponderada podrían encuadrarse en el modelo de seguridad negativa, y los análisis basados en lista blanca pertenecerían indudablemente al modelo de seguridad positiva.

Las diferentes comprobaciones que los WAFs efectúan son las siguientes:

* Normalización de URL (modelo de seguridad positiva): controlar el tamaño de los nombres y de los valores de los parámetros y de las cabeceras, de manera que no excedan lo permitido en la RFC de HTTP. Permitir los métodos HTTP estándar (GET y POST) y prohibir los extendidos (HEAD, OPTIONS, métodos WebDav, etc...). Eliminar los diferentes posibles Encodings o Decodings de los parámetros (mecanismos de evasión ante IPS o WAF). Deshacer los posibles intentos de Directory Traversal eliminando las repeticiones de "..\..\", etc,...

* Lista Negra (Modelo de Seguridad Negativa): Si la petición llega siendo "sana", enfrentamos la petición contra una serie de expresiones regulares referidas a ataques conocidos contra aplicaciones comunes (OWA, Lotus Notes, SAP, Horde, etc,... ) de manera que si en algún caso hacen "pattern matching" contra alguna expresión de la lista se denegará dicha petición. Esto puede generar gran cantidad de falsos positivos debido a que aplicaciones que puede que no sean vulnerables al ataque de la lista pero que coincidan con una expresión regular, provoquen una denegación de servicio. Asimismo, las listas negras no son un mecanismo óptimo para detener ataques del tipo SQL injection, XSS (Cross-Site Scripting), command injection. Un ejemplo muy claro de esta limitación sería por ejemplo un parámetro en una GET de la manera "index.php&action=drop". En esta situación, una lista negra excesivamente estricta provocaría un bloqueo puesto que "drop" puede conllevar el borrado de una tabla de una base de datos, por lo que debería vetar el acceso.

* Lista Ponderada (o Scoring List): Este mecanismo de análisis de tráfico funciona de manera similar a un antispam. Pertenece al modelo de seguridad negativa. Asigna pesos a aquellas porciones de la petición web de manera según tenga definidos en una tabla de scoring. Finalmente si la suma de los diferentes pesos asignados a una petición supera un determinado umbral, la bloquea. En el caso anterior, si suponemos que el umbral de bloqueo es 1, y asignamos 0.30 a la cadena "drop", la dejaría pasar. Sin embargo, en una petición de la forma "index.php&action=';drop * from data;--" al asignar 0,30 a "drop", 0,50 a "*" y 0,30 a "from" y 0,20 a "-", tendríamos 0,3 + 0,5 + 0,3 + 0,2 + 0,2 = 1,5 > 1 por tanto bloquearía el intento de SQL injection. De esta forma tenemos una forma mucho más "inteligente" de bloquear este tipo de ataques. El único WAF que conocemos que incorpore este sistema de análisis es rWeb de DenyAll.

* Lista Blanca (modelo de seguridad positiva): Para determinado tipo de aplicaciones en las que el formato de los parámetros de entrada en las GET o POST no varíe muy a menudo, puede resultar interesante definir dicho formato a nivel de lista blanca, de manera que sólo aquellas peticiones que encajen ante dicha plantilla podrán acceder a la aplicación, denegándose todas las demás opciones.

Y hasta aquí puedo leer esta vez. En la siguiente entrega terminaré de contar otros mecanismos implementados para evitar ataques en aplicaciones web. Asímismo, haré una breve recopilación de los diferentes productos comerciales y libres expuestos en la entrega anterior, indicando las diferencias entre unos y otros.... Y que sea el lector quien elija en qué herramienta quiere confiar la seguridad de sus aplicaciones web (tanto las expuestas a Internet como las aplicaciones internas...no olvidéis que el principio de pareto tiene múltiples ejemplos en la naturaleza)
Leer más...

Hackeos memorables: la-moncloa.es

Estamos hablando del 11 de Agosto de 1999, por aquella época, había una impresionante 'scene' en el submundo de la seguridad informática en España.

El irc era el mecanismo de comunicación que estaba de moda, tanto las redes oficiales como otras muchas redes clandestinas creadas en maquinas que habían sido comprometidas y en las que se había escondido un servidor de IRC.

En ese momento el numero de grupos 'hacktivistas' en activo era bastante considerable, globalmente y particularmente en España.
Por aquella época, si tenias la suficiente paciencia era relativamente sencillo encontrar maquinas que respondían prestas a un comando como 'showmount -e'. El uso de cortafuegos no era para nada tan habitual como lo es ahora, y Windows 98 había asombrado a la gente al mantener uptimes superiores a 24 horas.

En ese momento los organismos oficiales, partidos políticos y muchas organizaciones habían empezado tímidamente a tener presencia en internet y como era de esperar, mucha gente pagó la novatada del primerizo y en esos momentos se pudieron ver 'defaces' por doquier.

La web que nos ocupa hoy es la-moncloa.es que llevaba online desde 1996 como se puede comprobar en archive.org y en 1999 tenia este aspecto.

El 11 de Agosto de 1999 un grupo de hacktivistas llamado Aliance la dejaron tal que así.

Los detalles técnicos del ataque fueron bastante bien explicados en ibrujula. Baste decir como resumen que se trataba de un IIS no parcheado en una época donde los programadores de IIS habrían ganado todos los oros en una competición de malas practicas de programación.

El mensaje que dejaron en la web tenia como premisa rebatir la frase que en aquella época estaba de moda: "España va bien" ¿os suena, verdad?
Leer más...

25 agosto 2008

"Dame 20.000 euros y te cuento más..."

La noticia empezaba en un primer momento bastante impactante, pero al final, lo que ha resultado más impactante es la frase que nuestro protagonista de hoy, el investigador Adam Gowdiak, ha lanzado al mundo y en especial a Nokia y Sun, haciendo referencia a una grave vulnerabilidad que afecta a los teléfonos móviles cuyo sistema operativo sea S40, y que según su entrada en la Wikipedia, afecta a más de 100 millones de dispositivos de dicha marca Nokia

"The pricing for the early access to the research material:
    *      early access for employees of one enterprise - 20 000 €"

El 11 de Agosto, en la página TheRegister, podíamos leer un primer análisis de este hecho, en el que se constata que este agujero encontrado en J2ME permitiría a un atacante instalar aplicaciones Java en cualquier aparato antes de que se permitiese a dichas aplicaciones acceder a las funciones del teléfono que deberían asegurarse gracias a su modelo de seguridad. Las aplicaciones son instaladas incluso sin que exista interactuación alguna con el usuario. En resumen, podríamos decir que la vulnerabilidad permitiría que cualquier aplicación Java tendría acceso completo a cualquier funcionalidad del teléfono, a cualquiera.

Lo que más asusta de todo esto, es que cualquier persona con acceso a este fallo, podría hacerse con el control de los teléfonos de la marca y versión descrita que estén a su alcance, y poder manejarlos a su antojo, como si de sistemas zombie se trataran. Mejor no imaginarnos el alcance de todo esto, porque aún sabiendo que la versión del sistema operativo S40 puede parecer algo anticuada, ¿cuantos de nosotros conocemos a gente que únicamente utiliza el teléfono para hacer llamadas y escribir mensajes SMS, y se conforman con su terminal de hace X años, aunque su pantalla tenga sólo dos colores y sus tonos se puedan hacer con un "organillo" Casio?


Dejando a un lado la parte técnica de la vulnerabilidad, Adam Gowdiak, como ya comentábamos en la introducción de esta entrada, se compromete a ofrecer absolutamente todos los detalles así como las correspondientes pruebas de concepto a aquel que le pague una cantidad de 20.000€. En la página Web del grupo para el que trabaja, Security Explorations, describe el material que facilitaría en el caso de que alguien le ofrezca el dinero que pide. 

Según informa DiarioTI, Nokia parece que no se ha pronunciado sobre si ha aceptado la propuesta del investigador, pero lo que si parece claro es que gracias a los pequeñísimos detalles que posee sobre estos agujeros, ya está trabajando en una solución.

[+] Fuentes : TheRegister, InfoWorld y DiarioTI

Leer más...

Servidores de RedHat - Fedora comprometidos

Según se ha podido conocer este fin de semana, RedHat ha publicado una nota indicando que ciertos servidores Fedora fueron comprometidos.

Inicialmente se están analizando las causas de las intrusiones y reinstalando las máquinas comprometidas.

Para evitar que en la distribución de contenido de paquetes lícitos por parte de Fedora puedan estar troyanizados (no quiero ni imaginar lo que podría suceder si algo así llegase a pasar, la cantidad de servidores zombies disponibles para atacar cualquier objetivo sería brutal) han facilitado un script para los usuarios de Red Hat. Este script permite verificar si los paquetes openSSH existentes han sido firmados por una clave que se ha calificado como tampered. Asimismo se ha publicado nuevos paquetes openSSH que se ha comprobado que están sanos y se han empaquetado. Se acompañan los paquetes en el enlace de las sumas de verificación para comprobar que los paquetes descargados son lícitos.
Leer más...

21 agosto 2008

Mucho se ha hablado en este blog sobre diversos mecanismos de protección de aplicaciones web programadas en PHP, como PHPIDS incluso sobre herramientas relacionadas. Este tipo de aplicaciones que se ejecutan en los propios servidores web proveen de una funcionalidad bastante interesante, desde el punto de vista de la protección de las aplicaciones web ante algunos tipos de ataque de nivel 7 como el que mencionaba Yago en el post de ayer.

Sin embargo, herramientas del tipo PHPIDS o URLScan proveen de protección de forma muy focalizada y dedicada al tipo de lenguaje de programación de las aplicaciones (PHP en caso de PHPIDS) o para el tipo de servidor Web (en el caso de URLScan sólo se integra con Microsoft IIS). No hemos mencionado en este blog aún otras posibilidades como mod_security, herramienta libre que permite integrarse en servidores Apache de forma embebida para proteger las aplicaciones servidas por ellos.

Existe, sin embargo, alternativas que proveen de un nivel de seguridad mucho más genérico ante cualquier tipo de servidor web, y ante cualquier tipo de aplicación, sin importar el lenguaje en el que estén escritas: los WAF o Web Application Firewalls. Este tipo de plataforma se integra dentro de la arquitectura de red de la organización (generalmente en la DMZ) de manera que se altera la ruta del tráfico web (HTTP y/o HTTPS) para que atraviese este dispositivo. En general se trata de una máquina que simula ser, a ojos del cliente final que solicita un recurso web (página o servicio web) el servidor final. En realidad es lo que se denomina Proxy Inverso, puesto que la petición web del cliente es analizada más o menos inteligentemente por el software WAF y, si la considera "sana", genera él una petición contra el servidor Web final (no enrruta el tráfico ni lo NATea, sino que se hacen dos peticiones diferentes, una desde el cliente hasta el WAF y una nueva desde el WAF hasta el servidor web final). Lo que viene siendo un proxy convencional, pero hacia dentro.

Con nombre y apellidos, dentro del mundo libre podemos mencionar como más conocido a mod_security. Aunque antes lo hemos mentado como módulo integrado para Apache, también puede configurarse conjuntamente con mod_proxy, de manera que se realice un análisis con mod_security y se reenvíe la petición al servidor web final que corresponda mediante mod_proxy. Como herramientas comerciales, podemos mencionar a F5 (su módulo ASM para plataformas BIG-IP), rWeb o sProxy de DenyAll, Imperva, IBM DataPower (exclusivamente para servicios Web), Barracuda (que absorbió a NetContinuum), Citrix (después de comprar Teros)

Si bien nos gustaría detallar las capacidades de unos y otros, quizá nos posicionaremos (de momento) de forma más genérica al explicar lo que todos en conjunto son capaces de hacer, indicando las características diferenciadoras entre ellos.

El funcionamiento de un WAF se basa en un proxy inverso, por lo que nos obligará a efectuar cambios en las tablas de DNS o de NAT de los cortafuegos, de manera que el tráfico que antes iba a las granjas de servidores web o de aplicaciones, ahora se direccionará a nuestro nuevo dispositivo. En la configuración del WAF habremos de indicar el servidor correspondiente al que enviamos el tráfico. Se puede virtualizar, de manera que podemos analizar varios dominios o aplicaciones con un único dispositivo, de manera que dependiendo del dominio donde vaya, se reenvíe a un servidor físico u otro. Existen WAFs que permiten interactuar en modo transparente, de manera que no es necesario hacer cambios en la topología de red ni en el flujo del tráfico, tienen como pega ante el WAF basado en proxy inverso que los despliegues requieren una parada de servicio mucho mayor, obligando además a comenzar siendo muy poco restrictivos en la política de seguridad e ir endureciéndola progresivamente, no permitiendo hacer suficientes pruebas iniciales con las aplicaciones en producción desde un primer momento sin correr riesgos como en los basados en proxy inverso.

En líneas generales, las peticiones al servidor web son analizadas por diferentes motores que llevarán a cabo comprobaciones sobre las mismas. Cada motor suele intentar evitar un conjunto de ataques según una determinada filosofía.

Por no hacer tan duro de leer de un solo viaje este análisis sobre los diferentes mecanismos de protección de los WAF, publicaré en una entrega posterior el resto del artículo.
Leer más...

20 agosto 2008

ética

ética.

(Del lat. ethĭca, y este del gr. ἠθική).

1. f. Conjunto de normas morales que rigen la conducta de la persona en cualquier ámbito de la vida. Ética profesional, cívica, deportiva.

2. f. Parte de la filosofía que trata del bien y del fundamento de sus valores.

No, nos hemos vuelto locos ni pensamos darle un giro lingüístico al blog, tampoco vamos a hablar de 'hacking ético' de whitehats, blackhats y derivados.

Todo esto viene a cuento de una historia que sucedió hace un año con Antena 3 y la Wikipedia, historia que fue ampliamente comentada en barrapunto y del que nuestro ya homenajeado Enrique Dans escribió un interesante artículo.

Sobre ese tema, poco hay que añadir que no esté dicho ya, tan solo sirva como entrada para contar algo 'curioso'.

Navegando por la web de Antena3, topo con un formulario para enviar datos -dejemoslo ahí- y supongo que por una deformación profesional no pude evitar hacer una pequeña evaluación sobre como lo habían implementado, al estilo del simpático Danny Ocean en Ocean's Twelve cuando, estando retirado, entra a un banco para una gestión 'normal' y no puede evitar hacerse una idea de como se podría robar el banco.

El caso es que, ¡ sorpresa ! ese formulario no tiene filtro alguno en el tipo de datos que acepta y para mas inri, luego vuelve a presentarlos al usuario, resultado, un bonito XSS de libro que permite inyectar código Javascript para hacer cosas como esta (la mas inocente posible):


En este punto, podríamos hacer como los redactores de Antena 3, apología del todo-vale, publicar los detalles y una prueba de concepto capaz de ser ejecutada por el mas advenedizo de los usuarios, intentar llegar al Meneame, conseguir audiencia que hagan click en nuestros inexistentes banners publicitarios....

Pero no, no lo vamos a hacer, y eso, se llama ética.

PD: Estaremos gustosos, en caso de que alguien de Antena3 se ponga en contacto con nosotros, de explicar al detalle el problema y su correspondiente solución

Leer más...

18 agosto 2008

¿Tienes antivirus?


Esta foto representa el famoso virus MyDoom, que ha sido generada mediante el proyecto malwarez. Un divertido reto que analiza y genera imagenes apartir de su código.

Revisando el panorama de los antivirus, y puesto que es mucha la gente que pregunta por el antivirus a usar, me había propuesto introducir esta entrada con una comparativa aplastante para el software comercial.

Llevo un año recomendando "Antivir", en su versión GRATUITA, para uso personal a todos los familiares y amigos. Tiene un pequeño inconveniente, y es que cada vez que se actualizan las firmas, es decir, la base de datos que contiene todos los virus que se han de eliminar en caso de encontrarlos, aparece una ventana con publicidad, sobre la que hay que pulsar para cerrarla. Nada importante teniendo en cuenta el precio y la gran calidad del producto. Además, solo es una vez al día.

Entre otras de sus características, encontramos un cliente que no es pesado y que dispone de un agente que permanece atento si sufrimos una infección, comprobando los archivos que lee el sistema, además de un detector de puertas traseras (rootkits).

No he realizado una comparativa, pero analizando la que ofrece AV-Comparatives, en cuanto a ratio de detección, obtenemos estos datos:

  • Sophos: 74%
  • Antivir (su hermano mayor, el profesional): 72%
  • Avast!, en su versión profesional, aunque tambien dispone de versión gratuita: 28%
  • Nod32: 57%
  • McAfee: 21%
  • Kaspersky: 21%
  • Norton: 18%
Junto a la recomendación del software a utilizar que hago, siempre viene una explicación de 5 minutos sobre la importancia que tiene la educación en materia de seguridad, principal problema en el caso de todo el malware en general. Suelo contar que no se ha de ejecutar programas sospechosos bajados de fuentes no confiables, abrir enlaces de bancos u otras entidades comerciales que lleguen por correo electrónico, y otros consejos similares.
Leer más...

OpenVAS, un fork de Nessus

Mucho ha llovido ya desde que Nessus dejara el camino GPL y se convirtiera en un producto comercial.

En su momento, su creador, Renaud Deraison dijo que mantendría el producto 'gratis' y lo cierto es que a día de hoy, está cumpliendo su promesa. Cualquiera puede descargarse Nessus y usarlo sin pagar nada, la única salvedad está orientada al acceso a los últimos plugins para chequear nuevas vulnerabilidades, si no eres un usuario de pago, has de esperar una semana para obtener las ultimas versiones.

Vía la mail-list de DigitalSec, leo sobre un fork de Nessus totalmente GPL llamado OpenVAS, que en Julio acaba de lanzar su versión 1.0

Comparando con el Nessus original, a bote pronto, se echa en falta la versión servidor para Windows. Durante mucho tiempo Nessus solo tenia para Windows la parte cliente, y era necesario un sistema *NIX donde ejecutar el core del servidor. Esto, en la versiones 3.x de Nessus cambió, y ya se puede tener todo el engine completo en formato Windows, haciendo una competencia directa al afamado Retina de Eeye.

Además, Nessus 3 contiene elementos profesionales orientados a gestionar políticas globales de seguridad (algo crítico en un entorno profesional) que le dieron un buen lavado de cara a la herramienta. Esas mejoras, obviamente, tampoco están reflejadas en OpenVas.

Mi impresión es que OpenVas es únicamente una versión remozada de la serie 2 de Nessus, al que le han puesto un nuevo logo y muchas prometedoras intenciones. El tiempo dictaminará si termina siendo una competencia real para Nessus o simplemente un proyecto fugaz orientado a los mas puristas del GPL.

Lo que me llama poderosamente la atención es que en su momento cuando se le preguntó al creador de Nessus por las contribuciones de terceros (que, teóricamente, hubieran impedido que Nessus perdiera su licencia GPL) Renaud, contestó que ¿donde estaban esas supuestas contribuciones de ' la comunidad'? ya que pese a la fama y veteranía del proyecto, por lo visto el espíritu GPL no había calado demasiado en los potenciales desarrolladores.

¿Que hubiera pasado si todos estos esfuerzos 'forkeadores' se hubieran traducido en contribuciones reales a Nessus cuando era GPL? Nunca lo sabremos
Leer más...

16 agosto 2008

El botiquín de Windows

Agosto parece ser un mes muy propicio para recopilaciones, guias y chuletas varias, así que visto que gustó bastante mi otro post sobre guias de hardening, se me ha ocurrido hacer un listado de herramientas que todo usuario de Windows con inquietudes de seguridad ha de tener siempre a mano para diagnosticar, defender y mitigar riesgos.

Herramientas de diagnostico general:
  • HijackThis: Herramienta que permite auditar las aplicaciones que se lanzan al arrancar windows, servicios, configuración de Internet explorer (paginas de inicio, plugins, helpers ...)
  • SpyBot: Herramienta que permite localizar y eliminar toda clase de Spyware, Adware y Malware en general
  • TCPView: permite asociar procesos a conexiones. Identifica que puertos están abiertos y los asocia con una aplicación, igualmente con las conexiones a equipos
Antivirus (free)
  • CLAM: pese a todas sus limitaciones, es útil haciendo su trabajo
  • AVG: gratuito y bastante fiable
  • Panda ActiveScan: Antivirus Online
Firewalls personales
  • ZoneAlarm: Todo un clásico en el mundo de la seguridad personal, potente, fiable y desde hace un tiempo, respaldado por toda una CheckPoint
  • Comodo Personal: Una alternativa a ZoneAlarm
  • WIPFW: Es un port del afamado Firewall de FreeBSD, si lo tuyo no es complicarte la vida, mejor no lo pruebes
Detección de rootkits / procesos ocultos
Monitorización WIFI
  • NetStumbler: Permite tener una perspectiva de la actividad wifi en tu zona
  • Wireless Watch Home: Software para detectar 'amigos de lo ajeno' en tu red WIFI
Securización del sistema
  • SecureWin: la herramienta mas completa para securizar cualquier sistema Windows mediante perfiles con múltiples checks
  • Microsoft Baseline Security Analyzer: Herramienta de Microsoft para auditar y parchear un sistema Windows, te permite conocer los parches necesarios en tu sistema
Host IDS
  • Patriot: Una vez instalado, radiografia tu sistema operativo y te avisa si algún elemento ha tratado de modificar la configuración de tu ordenador (instalando drivers, alterando la configuración de tu navegador, creando usuarios, generando ficheros en sitios reservados al sistema operativo ...)
  • OSSEC: Otro host ids para windows
Próximamente, El botiquín de Linux
Leer más...

15 agosto 2008

Nmap, "La" herramienta.


Si Kevin Smith usaba la herramienta de detección de puertos y análisis de servicios "Nmap" en la película La jungla de cristal 4.0 no es puramente casualidad. Y es que, si le preguntamos a cualquier profesional cual es la utilidad por excelencia en seguridad, nos remitirá a esta misma. Es tan famosa que incluso tienen en la propia página web imágenes de las películas en las que ha salido... Matrix, El Caso Bourne y algunas otras más...

Hoy queríamos comentar una de las charlas que mas ha dado que hablar en la conferencia de seguridad Defcon en su 16 edición, en la que Fyodor, autor de Nmap ha expuesto los nuevos cambios de su software, centrándose en las mejoras de rendimiento. La presentación de la podéis consultar en la página web del autor.

Empezó señalando los problemas en la detección de direcciones IP que ofrecen servicio, comúnmente denominadas "levantadas". Nmap dispone de un parámetro (-sP), que determina que direcciones IP están en uso y cuáles no mediante la combinación de dos técnicas: espera un icmp echo reply cuando envía un icmp echo request, y un paquete TCP con el flag SYN activado al puerto 80, esperando la correspondiente respuesta de TCP. Como ya sabéis todos, existen múltiples métodos más para detectar direcciones IP, como otros paquetes ICMP distintos, envíos de SYNs a puertos distintos del 80, "pings" mediante paquetes TCP con el flag ACK activado, paquetes UDP.... etcétera.

La buena noticia es que Nmap incluye todos ellos y puede ser utilizado maximizando su potencia.
Hace cuatro años escribí en mi blog personal que para esto, el mejor comando que se me ocurría era el siguiente:

nmap -sP -PM -PE -PP -PS21,22,25,53,80,110,135,143,139

En la presentación de la Defcon, donde Fydor se ha presentado con estadísticas y mejorado el software, hemos evolucionado al siguiente comando:

nmap -sP -PE -PP -PS21,23,25,80,113,31339 -PA80,113,443,10042 --source-port 53 -T4

Esta entrada no pretende ser un manual de Nmap, pero básicamente lanza paquetes de icmp tipo echo request, timestamp, y TCP con flag syn activado al puerto 21, 23... Finalmente el último envío es de paquetes TCP con flag ACK a otros puertos determinados: 80,113,443... y añade una opción más para especificar el puerto de origen con el objetivo de saltarse cortafuegos con configuraciones mejorables. }:>

El resultado es claro, frente a un simple "-sP -T4", para 50.000 IPs tarda 21 minutos y detecta
3348 equipos levantados, en cambio, con el comando comentado anteriormente, se tardan 71 pero se detectan 4473 sistemas.

Yo me pregunté en su momento cuales serían los puertos más utilizados en Internet y utilizando un dedo humedo saque unos cuantos. Fyodor tiene datos, por lo que podremos actualizar nuestros scripts a conciencia.

Para la charla se liberó una versión concreta, la "bhdc08", disponible mediante svn de la página del producto. Esta versión es exactamente igual a la que podemos descargar en RPM o el propio tarball de la página, la modificación importante es un nuevo archivo de servicios . ¿y que es este archivo?.

Históricamente los escaneadores de puertos utilizaban el archivo de sistema /etc/services , que relaciona numero con nombre de servicio, para realizar peticiones únicamente sobre esos puertos y acelerar el proceso, Nmap se generó su propio "services" con el objetivo de mejorar los puertos estándares y obtener mejores resultados.

Este mismo fichero, en la nueva versión "bhdc08 (que imagino publicarán pronto en el propio Nmap estandar) ahora incluye un índice estadístico que indica cual es la frecuencia de su uso, de tal forma que podemos escanear por los N top puertos más utilizados y nuevamente, mejorar el rendimiento al máximo. En números:

Para el comando: nmap -sUV -F -T4 scanme.nmap.org

El nmap actual (4.68) sin el archivo comentado, tarda aproximadamente 1 hora y 2 minutos. Con el archivo de servicios (y ejecutando un --top-ports 100 de forma silenciosa) se reduce a 6 minutos y medio, y añadiendo un nuevo parámetro que permite especificar la "intensidad" de la identificación de servicios (--version-intensity 0) al mínimo, este número se reduce a únicamente 13 segundos. En todas las ejecuciones se identifica el mismo puerto.

Si queremos asegurarnos la identificación del 100% de puertos utilizando este "top", bastará con solicitar que escanee los top 3674, este número se reduce a tan solo 500 puertos si aceptamos una pérdida del 11% de servicios. Algo que bajo mi punto de vista y salvo tenga que escanear varias clases A, no creo que sea conveniente.

Dentro de las métricas mostradas, se presentan los siguientes servicios como los más utilizados: 80, 23, 22, 443, 3389, 445, 139, 21, 135 y 25 para TCP. Impresiona seguir viendo el 23 ¿verdad?. Para UDP los diez más importantes son: 137, 161, 1434, 123, 138, 445, 135, 67, 139 y 53. Que levante la mano el que cuando ve un 1434 perteneciente a ms-sql-m y no recuerda cierto gusano en Internet :)

Se hacen mención de otras funcionalidades muy interesantes, como la posibilidad de especificar el número máximo y mínimo de paquetes por segundo (--max-rate y --min-rate), el nuevo interfaz gráfico Zenmap (para win, lin, mac..), la posibilidad de añadir cabeceras TCP e IP al escaneo y otras herramientas de utilidad, como Ndiff que muestra diferencias entre dos archivos de salida de Nmap.

Una de estas nuevas funcionalidades me sorprendió bastante y es el nuevo "--reason", que permite conocer cuál es el motivo de identificar un servicio como abierto, cerrado o filtrado- Realmente útil para entender y explicar el funcionamiento de una herramienta de este tipo.


Por último, como novedad destacable, menciona NSE, lenguaje de script con el que se permite identificar servicios mediante el envió de paquetes con datos concretos. Pero sobre este tema ya hablaremos otro día.

Finalmente el comando mágico para escanear el puerto 80 de 4096 direcciones IP en menos de un minuto, es el siguiente:

nmap -T4 --max_rtt_timeout 200 --initial_rtt_timeout 150 --min_hostgroup 512 --max_retries 0 -n -P0 -p80 -oG salida.gnmap X.X.X.X/20

Así que ya sabéis amigos, no busquéis Tomcats vulnerables, que esta semana tienen premio :-))


Leer más...

13 agosto 2008

Microsoft FxCop 1.36


Microsoft ha publicado una nueva versión de su aplicación FxCop. Con esta herramienta es posible realizar análisis de código .NET para comprobar el nivel de cumplimiento en base a las propias guias de Microsoft, en concreto "Microsoft .NET Framework Design Guidelines".

El mercado de la consultoría y auditoría en la seguridad del ciclo de desarrollo está en números máximos, y este es un indicativo de como las organizaciones están madurado en materia de seguridad.

Esta misma semana, Gary McGraw ha publicado un artículo en InformIT, sobre el revenue de algunas de las compañías más importantes en materia del SDLC que poseen un mercado de entre 150 y 180 millones de dolares.

Mención importante a la adquisición de WatchFire por parte de IBM y de SpiDynamics por parte de HP, ambas compañías poseían un producto para análisis en caja negra (en este caso, referido a no disponer del código fuente).

Algunos números (en millones de dolares), Fortify: 29,2, Coverity: 27.2, Klockwork: 26, Watchfire: 24.1, Spi Dynamics: 22.3, Ounce Labs: 9,5 y la suma de Cenciz, Codenomicon y Whitehat: 12.5. Me pregunto donde quedó NTObjetives o Acunetix.

También comenta que las herramientas no se ejecutan solas y que los servicios siempre harán falta, ya sea en modo de formación, de análisis de riesgos o de tests de intrusión.

Basandome en mi propia experiencia, las herramientas de este tipo, tanto la de IBM (Watchfire y su producto Appscan) o HP (SPI Dynamics y WebInspect), detectan aproximadamente un 30% de las vulnerabilidades existentes y aun falta mucha inteligencia artificial para detectar los problemas lógicos de la aplicación que simples cross site scriptings, inyecciones SQL o archivos obsoletos. Si bien es cierto, que sin alguna de estas herramientas es prácticamente imposible realizar una auditoría aceptable.

¿Como sabe una de estas herramientas "automáticas", si acceder a la agenda de otra persona desde un webmail es un fallo de seguridad o una característica, ya que la persona que accede es el secretario de la otra?.



Leer más...

12 agosto 2008

De todos es sabido que, Windows, suele ser bastante completo a la hora de llenar de utilidades el sistema operativo, pero también es sabido que en muchos casos son herramientas mas bien cumplidoras y no precisamente herramientas demasiado elaboradas.

De ahí que exista un importante numero de aplicaciones que amplían o mejoran las existentes en todos los ámbitos (reproductores multimedia, navegadores ...) Pero como lo que nos ocupa es la seguridad, vamos a hablar de una herramienta cuyo autor, Mark Russinovich y su pagina web Sysinternals, son una referencia en el mundo win32, hasta el punto que Microsoft, en una acción muy inteligente, le ha contratado y 'se ha llevado' todas sus herramientas que ahora están disponibles y soportadas por ellos.

La herramienta de la que hablaremos hoy se llama Process Explorer. Esta herramienta es toda una suite de análisis que, mas allá de listar los procesos del sistema, permite analizar exactamente que hacen, que DLLs tienen cargadas, puertos abiertos, conexiones, incluso analizar los binarios (buscando cadenas dentro del ejecutable), permite asociar el proceso que ha lanzado una ventana (muy útil para identificar a que proceso pertenece esa molesta ventana que no se deja cerrar), y además, cuando deseamos 'matar' un proceso, process explorer no se anda con chiquitas y, a diferencia del administrador de tareas convencional, casi siempre consigue cerrar el proceso.

Como buen gestor de procesos, tiene toda la funcionalidad que se espera a nivel rendimiento (uso de CPU, memoria RAM)

Para configurar Process Explorer como reemplazo definitivo del administrador de tareas, podemos hacerlo en Options --> Replace Task Manager


Y así siempre que llamemos al administrador de tareas, será Process Explorer quien responda
Leer más...

07 agosto 2008

El Tao de la monitorización de seguridad en redes (Libro)

Dado que son fechas de relax, playa y poca actividad, no viene mal recomendar un libro para esos momentos de asueto en el que ya se nota la saturación de "no hacer nada".

El libro de hoy, a diferencia del que comenté anteriormente es un libro mucho mas denso, mucho menos generalista y destinado a Administradores de sistemas / red / seguridad.

Tengo que reconocer que el libro no es precisamente fácil de leer y mas si tu mente es puramente pragmática y no te motiva demasiado la filosofía.

Haciendo una pequeña analogía con las películas de artes marciales, podríamos decir que las hay de dos tipos, unas al estilo Karate Kid en las que buena parte de la película el protagonista se pasa llevando cubos de agua, reflexionando sobre el origen del universo y finalmente, llegado el momento, toda esa forma de entrenar le otorga místicos poderes, y esas otras películas protagonizadas generalmente por Van Damme en la que según empieza la película, alguien le dice al bueno de Van Damme "eh tu, tu chica parece una fulana" y comienza una ensalada de hostias hasta los títulos de crédito.

El libro que hoy nos ocupa es mas al estilo Karate Kid, es un libro que te obliga a pensar en conceptos antes de aplicarlos y tiene un componente estrategico nada despreciable.

Podéis encontrar el libro por unos 43 Euros, aquí
Leer más...

05 agosto 2008

Plataformas de consolidación y correlación de eventos

Como decíamos ayer, el cometido de este post es enumerar qué ventajas puede aportar una plataforma de consolidación y correlación de eventos a las organizaciones.

La propia historia y la evolución de los diversos ataques cibernéticos, han llevado a contar con un auténtico festival de dispositivos destinados, cada uno a su manera, a proteger en conjunto los activos de las organizaciones. Cortafuegos, antivirus, antispams, gestores de ancho de banda, IDS/IPS, mecanismos NAC

Cada fabricante presenta en formato appliance su solución para dotar de seguridad ante una tipología de ataques dado. Ante esta avalancha de “cajas negras” que se apilan en los racks de los CPDs, contamos con que cada aplicación posee su propia herramienta/consola de gestión (tanto para la configuración inicial como para la gestión de los eventos emitidos). Desgraciadamente, los fabricantes no pueden hacer herramientas con una API común a la hora de la configuración, por lo que los administradores de red, han de tener una colección de GUIs para administrar cada uno de los equipos con los que cuentan.
Sin embargo, lo que si que parece estar más estandarizado es la manera de gestión de eventos. En realidad, cada dispositivo envía eventos a su propia plataforma de recolección de Logs, pero suelen soportar el envío mediante el estandar syslog a plataformas de centralización de eventos de manera que podemos tener ordenados cronológicamente los eventos producidos por un mismo ataque al atravesar los diversos equipos.

La principal ventaja de este tipo de solución de centralización está bien clara, el operador de red que monitorice diferentes consolas de logs, ahora tendrá en un único punto toda la información relevante en orden cronológico. La eficiencia aumenta, por tanto el tiempo de reacción ante ataques también. Un ejemplo de centralización o consolidación de eventos de red podría ser la utilización de un servidor Syslog configurable para guardar los eventos en una base de datos centralizada y además poderlos guardar en formato texto para ser utilizados por separado llegado el momento. Me refiero por supuesto a Syslog-NG

Una vuelta de tuerca más nos lleva a las soluciones que además de consolidar esos eventos y ponerlos a disposición de un operador, son capaces de elaborar alertas más elaboradas, basadas en los eventos recibidos de diversas fuentes de información. La idea es análoga a la disyuntiva que indicábamos en el post de configuración de IDS/IPS, puesto que podemos tener almacenados (y centralizados) todos los eventos que se reciben por diversas fuentes, pero presentarle al operador una única alarma como consecuencia de un conjunto de esos eventos. Como dijimos en su momento, una solución híbrida es la recomendada.

Podemos por ejemplo prevenir un ataque de denegación de servicio basándonos en la diversos eventos: un aumento en el número de conexiones TCP/IP así como un incremento de la carga de un router o un cortafuegos, la detección de ese evento por parte de las sondas IPS/IDS, un aumento del ancho de banda disponible, pérdida de conectividad con el exterior,… de manera que podamos, llegado el momento establecer reacciones ante esos eventos como correlación que nos permitan bloquear la IP atacante de forma dinámica mediante ACLs o reglas.

Existen soluciones comerciales para la consolidación y correlación de eventos por parte de fabricantes como Computer Associates, LogICA, Bitacora,...

En general este tipo de productos dan lugar a largas implantaciones para las organizaciones para adaptar las métricas necesarias a los productos y concluir cuándo se da un ataque y cuándo es tráfico normal de red. Se suelen implantar en organizaciones grandes y financieramente solventes (bancos, grandes ISPs, organismos militares, etc…).

Desde SecurityByDefault queremos recomendar una alternativa basada en software libre: OSSIM. Este proyecto se basa en la integración de varios productos de seguridad que vuelcan la información en una base de datos y una consola única para acceder a la información que genera cada uno. Además, esta consola genera, basándose en datos reales (escanea las vulnerabilidades desde un punto de vista interno con Nessus y correla la información obtenida por Snort como eventos ocurridos), el nivel de riesgo al que está expuesto una organización, a modo de cuadro de mandos de seguridad.
Las herramientas que aúna para currelar eventos son, entre otras: Snort (Detección de intrusiones), Nessus (Análisis Remoto de Vulnerabilidades), PADS (Detector de software de una organización basado en el análisis del tráfico de red. Detecta hasta versiones de algunas aplicaciones), Ntop (Análisis del tráfico de una red clasificándolo por IP Origen/Destino, Protocolo, ancho de banda utilizado, etc,…), ARPWatch (Monitorización de pares IP/MAC para detectar cambios de MAC en determinados hosts), P0f (detección de sistemas operativos de las máquinas que emiten trafico de red mediante trazas de la pila TCP/IP), RRDTool (Elaboración de estadísticas en tiempo real en base a datos almacenados en formato RRD)

Otra alternativa llevada a cabo por colaboradores de este Weblog en un importante ISP nacional, se basó en un desarrollo propio de integración de diferentes módulos que recogían información de diferentes equipos de red (routers, firewalls e IDSs). Mediante un módulo correlador hecho en Perl (SEC: Simple Event Correlator) se establecieron una serie de patrones que eran efectivas para la entidad en concreto, siendo capaces de prevenir un ataque DoS (Denegación de Servicio).

Como se puede observar, existe la posibilidad de integrar soluciones genéricas adaptables a las necesidades de una organización, así como utilizar herramientas libres o desarrollos propios para consolidar y/o currelar eventos. De lo fino que se quiera hilar en esta labor (y una vez más, dependiendo del presupuesto asignado), elegiremos una o varias de las alternativas expuestas pudiendo tener en todo momento controlada la actividad de la red.
Leer más...