Mostrando las entradas con la etiqueta security. Mostrar todas las entradas
Mostrando las entradas con la etiqueta security. Mostrar todas las entradas

31 octubre, 2007

La Tormenta de la Década

Si algo nos mantiene despiertos a todos los que nos dedicamos a seguridad de redes hoy en el día es el famoso “Storm Worm” (gusano tormenta). Mucho se ha hablado de ello en todo el año y varias revistas y expertos han hablado sobre el tema, algunos exagerando al respecto.

El Storm Worm salió a la luz en enero de este año infectando máquina a través de emails que tenían el título de “230 muertos mientras las tormentas baten a Europa”, durante todo el año han seguido infectando máquinas con diferentes emails todos con ciertos títulos que incitan a que la gente abra el email como por ejemplo:

Genocidio de Musulmanes Británicos

Saddam Hussein Vivo!

Fidel Castro muerto!

Musulmán radical se toma la sangre de sus enemigos

Misiles Rusos tiran un satélite Chino

Tal ha sido el grado de crecimiento de la red que ya le gano su propia página en snoops, un sitio de internet que se especializa en diferentes mitos y leyendas urbanas clasificándolos de verdaderos o falsos, en el caso del Storm está clasificado como verdadero.

Lo que ha aterrorizado al mundo sobre este gusano son básicamente dos cosas: castiga a los que la investigan y el tamaño del botnet.

Varios investigadores que han tratado de encontrar los servidores por métodos tradicionales han sido detectados por el botnet, el cual lanza un ataque contra ellos, dejándolos sin internet a veces hasta por dos días enteros. Si visitas las páginas que contienen el malware o los DNS del botnet varias veces en poco tiempo, automáticamente lanza el ataque. Los investigadores que han podido infiltrase al botnet no están compartiendo sus métodos y a veces ni lo que descubren por miedo a ser atacados por este.

El tamaño de la red se ha exagerado mucho, algunos diciendo que tiene hasta 50 millones de máquinas infectadas. Los números más reales de aquellos que se han metido a la red la ponen en su mejor momento entre 6 y 15 millones de máquinas. Sin embargo de acuerdo con Brandon Enright de UC San Diego, el botnet ha ido perdiendo fuerza desde Julio de este año.

Según sus estimaciones en los 9 meses que lleva ha infectado aproximadamente a 15 millones de máquinas pero la mayoría ya han sido desinfectadas. Esto se debe a que los antivirus se han mejorado su detección de las variaciones del gusano y a que Microsoft lo incluyó en su herramienta de MSR que se baja mes con mes de manera automática en todas la máquinas con Windows. Sus datos más recientes indican que al día de hoy existen cerca de 160,000 máquinas infectadas y que sólo unas 20,000 están disponibles en cualquier momento.

Lo más interesante de este gusano y del botnet que crearon es la innovación en técnicas y la mezcla de varios métodos de infección y anti-detección. Por ejemplo, inicialmente se propagaba a través de emails, luego empezó a usar los programas de mensajería instantánea y finalmente utilizaron blogs y foros. La estructura de la red se asemeja a una colonia de hormigas donde hay una clara separación de trabajos. Sólo unas cuantas máquinas diseminan el virus, una fracción mucho menor son las de C2 (control y comando) y el resto están en espera de recibir órdenes.

El gusano tampoco daña a sus huéspedes de manara notable, lo cual lo hace difícil de ser detectado porque los administradores no notan problemas con los sistemas. Los DNS se cambian constantemente utilizando la famosa técnica de fast flux. El troyano que avientan cambia constantemente para hacer más difícil su detección. Y probablemente la adicción más relevante actualmente es el nuevo parche que instala en los sistemas que básicamente les hace una lobotomía a los antivirus, ya que el antivirus y cualquier otro programa de monitoreo corre como si todo estuviera bien pero no hace nada, escondiéndose así de los sistemas de monitorio de redes.

La finalidad de esta red es debatible todavía, al parecer no sólo son hackers buscando fama pero tienen fines monetarios. Hay por lo menos dos propuestas de cómo piensan conseguir dinero, la primera y más peligrosa es la de seccionar el botnet y vender pedazos al mercado negro. La segunda es utilizando la técnica de “pump and dump” que alza temporalmente el precio de las acciones de bajo precio.

En especial el hecho de que ahora baje un parche que deja inútiles a los antivirus pero que parecer funcionar bien, junto con la idea de seccionar y vender la red, es motivo suficiente para empezar a tomar mediadas más serias en nuestras redes para asegurarnos de que se propague.

Entre las cosas que recomiendo están:

1) Mandar un email a todos nuestros usuarios o publicar en el corche el que no abran ningún mensaje de email con los encabezados o archivos usados por le storm worm.

2) Bloquear la rede P2P de eDonkey en el firewall tanto el del antivirus de cada máquina como en el firewall físico de la empresa. Actualmente al parecer están utilizando una nueva llave de cifrado lo cual hace que se pueda bloquear sólo el tráfico del gusano sin bloquear toda la red P2P.

3) Asegurarse que el email esta actualizado en todas las máquinas y funcionando correctamente ya sea conectándose de manera remota a la máquina o físicamente enfrente de ella y no sólo revisar las alarmas del sistema de monitoreo instalado.

4) Si es posible hay que deshabilitar Java, JavaScript y ActiveX por default en el explorador y enseñarle a los usuarios a que sólo lo activen en sitios que saben que son seguros.

5) Instalen y bajen los parches relacionados con el troyano y rootkit que utiliza el gusano.

6) Crucen los dedos. ;)

15 junio, 2007

Problemas Con Windows Update y los Security Alerts

Hace menos de un mes nos enteramos que el Windows Update de Microsoft tiene un componente que puede ser explotado. Ahora al parecer los hackers estan haciendo de las suyas con trucos más ingeniosos sobre las actualizaciones.

El Background Intelligent Transfer Service (BITS) es un servicio que les permite bajar las actualizaciones de windows, mientras hacen otras cosas en la pc, junto con otras bondades como si se desconectan de la red, les permite, resumir la descarga desde donde se quedaron.

Mientras que en la mayoría de los casos esto es genial, tiene un pequeño defecto. El firewall de windows y en general la mayoría de los firewall que se instalan con su solución antivirus no escanean lo que baja el BITS, ya que es parte del sistema operativo.

Como bien comenta Elia Florio, un investigador del Symantec's security response team: "Es una bella herramienta, y si consideran que tiene soporte para http, y puede ser programada via un COM API, es la herramienta perfecta para hacer que Windows baje lo que desees. Desafortunadamente esto incluye archivos maliciosos"

La gran ventaja de utilizar BITS es que los hackers no tienen que crear sus propios downloaders, pues no solo es gratis, sino que ya esta preinstalado y es muy confiable, aparte de que no hay una manera sencilla actualmente de checar si lo que baja lo debería estar bajando o no.

Algo interesante a notar es que los hackers "se estan volviendo más modulares, haciendo uso de los componentes existentes, siguiendo así la tendencia del software profesional" como bien comenta Oliver Friedrichs, director del Symantec's security response group.

La buenas noticias son que el windows update per se, no esta comprometido, y cuando microsoft baje sus parches de seguridad, hasta el momento no hay forma de explotar este update para subir otros archivos en lugar de los originales. Sin embargo ya hay emails circulando haciendose pasar por Security Alerts de Microsoft pidendoles bajar alguna actualización, pero cuando hacemos click en el link realmente baja el Trojan-Downloader.Win32.Agent.avk. El cuáñ va y busca más computadoras en internet para bajar más programas maliciosos a la máquina.

El primero de estos scams, lo publicaron los de SANS hace unos días y hay un segundo encontrado por el
Chinese Internet Security Response Team. Todo parece indicar que se estan preparando para más ataques pues el programa trata de conectarse a dominios que todavía no estan registrados.

Los emails contienen errores obvios como el nombre de la actulización de junio MS06-4 lo cuál no es creíble, mientras que un nombre como MS07-015 hubiera parecido correcto. Algo interesante a notar es que los links en estos email no estan ligados directamente al ejecutable, sino a un boletin de seguridad falso.

Como siempre navegen seguros, desconfíen de los emails que no son comunes y conocidos y siempre revisen las direcciones en sus exploradores de los links que hagan click.


28 marzo, 2007

Mitos sobre la seguridad de redes wireless (inalámbricas)

Al parecer hoy en día todo el mundo tiene un módem inalámbrico o por lo menos una tarjeta de red inalámbrica en su laptop, creando una bella oportunidad para ser atacados por hackers y sin embargo nadie parece preocuparse. Existe un falso sentido de seguridad entre los usuarios y administradores de redes inalámbricas.

Ya en una entrada anterior comente sobre las vulnerabilidades de las tarjetas wireless, ahora voy a comentar sobre algunos mitos en cuando a la seguridad de la red inalámbrica. Hace ya dos años que George Ou publicó en su blog algunos mitos sobre la seguridad en wireless y lo llevó a escribir un pequeño manual de seguridad que ha estado actualizando de vez en cuando.

Sin embargo después de todo este tiempo y de mucho mayor experiencia de la comunidad de IT en general sobre las redes wireless algunos mitos prevalecen, en gran parte porque son considerados buenas prácticas, pero que en realidad son de las peores prácticas de seguridad e inversión por su dinero.

¿Cualés son los mitos más comunes que hasta los "expertos" en seguridad como CISSP recomiendan? Aquí los tienen:

  • Filtrado de MAC.- El filtrar los accesos dando de alta solo los MACs de las tarjetas de red de las computadoras permitidas, es una de las peores prácticas no sólo porque es totalmente inútil sino que es una gran pérdida de tiempo configurarlo y darle mantenimiento; es un drenado de dinero con el peor retorno sobre inversión. Para encontrar un MAC permitido todo lo que necesita hacer un hacker es usar un sniffer y ver el número hexadecimal de 12 dígitos , copiar y pegarlo como el MAC de su tarjeta, todo esto le toma menos de 30 segundos. Y no olvidemos que como bien menciona George Ou "un sniffer para un hacker es como un martillo para un carpintero pero con el beneficio de que es gratuito".
  • Esconder el SSID.- Los AP emite su ID de 5 formas diferentes, al deshabilitar en el AP el SSID, lo único que hacen es esconder 1 de la 5 , sin mencionar que le dificultan la vida al usuario si brinca de AP a AP y en pierden más tiempo configurando todas las máquinas de los usuarios. Si quieren información más a fondo sobre este tema les recomiendo leer " WLAN Testing Reports: Debunking the Myth of SSID Hiding" de ICSA labs.
  • Autenticación LEAP.- Este puede ser un gran problema pues te deja vulnerable a un ataque. Cisco le pide a sus clientes que usen passwords difíciles para que no pueden encontrarlos con ataques de fuerza bruta. El gran problema es que a los humanos no nos agradan los passwords difíciles y por eso no los usamos y si no nos queda de otra, lo acabamos escribiendo en un post-it. Otro problema es el famoso asleap de Joshua Wright que en minutos sino no es que segundos encuentra los passwords necesarios para ingresar a la red.
  • Deshabilitar DHCP.- Esta es mi favorita, porque no sirve de nada para incrementar la seguridad, lo único que hacen es aumentar el trabaja de configurar cada máquina manualmente con IPs estáticas. Con un sniffer en 10s cualquier hacker puede encontrar es esquema de asignación que utilizan.
  • Antenas.- Algunos "expertos" recomiendan posicionar la antena en el centro de la oficina y bajar la potencia a lo mínimo. Lo único que logran con esto es echar a perder la red, porque van a tener varios lugares con problemas de recepción dentro de la oficina, el poder y la posición de la antena debe de basarse en lograr la máxima cobertura y la mínima interferencia. Recuerden que un hacker siempre tendrá una antena mucho más potente con la que se podrá conectar a un kilómetro de distancia.
Vale la pena mencionar algo sobre WEP, algunos de ustedes se preguntarán porque no lo añadí, al igual que George Ou, siento que es el único que provee algo de seguridad, aunque inútil contra un hacker con algo de conocimientos, por lo menos le toma unos 10 minutos usando dos máquinas al mismo tiempo para descifrarlo, lo cual lo detiene por un tiempo y requiere cierto nivel de experiencia, no sólo correr un programa y en caso de solo estar buscando un red para inicial sus ataques a otras más importantes, puede lograr disuadirlo en especial si hay una más sencilla cerca.

Si quieren implementar seguridad en su red inalámbrica todo lo que tienen que hacer es activar el WPA-PSK (Wi-Fi Protected Access Pre-Shared Key) con una frase aleatoria alfanumérica de por lo menos 10 caracteres que les tomaría siglos romper. Es importante que sea una frase aleatoria porque con un buen ataque de diccionario la pueden romper si es una palabra común. Para opciones más complejas de seguridad les recomiendo que lean esta guía.

Como siempre dejen sus comentarios, sugerencias y opiniones al respecto. Naveguen seguros.

22 marzo, 2007

Firefox FireCAT

Siempre que pensamos en la seguridad de nuestras redes y máquinas, pensamos en firewalls, IDS, analyzers, etc, y muchas veces nos olvidamos que la mayoría del malware entre por dos programas: el que usamos para leer el email y el navegador (en ocasiones son el mismo).

De ambos, el navegador es por mucho el que mayor riego presenta. En general en cuanto a navegadores la mayoría solo piensa en Internet Explorer, aquellos de ustedes que han desarrollados sitos web podrán nombrar al menos IE, Netscape, Firefox, Safari y Opera, si han trabajado con Linux pueden añadir Konqueror, Mozilla, Epyphani, y aquellos que usen Mac añadirán también iCab, Omniweb, y Camino. Si son muy dedicados igual y han usado Avant, Escape o Maxthon. ¿De todos los mencionados cuál es el mas seguro?

La pregunta es cuestión de debate entre los expertos, pero en nuestro caso sólo debemos de preocuparnos por los mas usados que son IE y Firefox. Entre la población en general y en la mayoría de las empresas que Windows como su OS, IE es el navegador por default y ni como cambiarlo, pues las restricciones impuestas sobre los usuarios no los deja usar otro navegador.

El gran problema es que IE aparte de no ser muy seguro, es el blanco de casi todos los ataques que utilizan las vulnerabilidades del navegador para instalar su malware. Aquí es donde Firefox viene al rescate, aunque también tiene sus vulnerabilidades son mucho menos que las de IE y tiene un gran arsenal para defenderse del malware.

El equipo de Security-Database.com publica de manera constante un mapa con las extensiones de firefox orientadas a la seguridad conocido como FireCAT (FireFox Catalog of Auditing Toolbox). En este encontramos herramientas esenciales para defendernos de todo tipo de ataques, desde No Script que sólo ejecuta las extensiones de Java y Javascript de los dominios que tu le permitas y por default deshabilita todos los demás. Tenemos también el Add N Edit Cookies que nos permite ver las coookies que tenemos y añadir cookies y editarlas.

Para usuarios más avanzados hay extensiones como Firebug que nos permiten ver, monitorear y editar en tiempo real cualquier archivo de CSS, HTML y JavaScript. También tenemos el firekeeper que es un IDS, que detecta, alerta y bloquea sitios maliciosos. Hay muchas herramientas más que incluye el FireCAT, vale la pena revisarlo con calma y probarlas.

Algo interesante para considerar es el hecho de que el uso de firefox entre la gente que se dedica a seguridad el del 50% aprox. vs el público en general que es del 30%. Lo que nota en parte que los usuarios de firefox en su mayoría son "usuarios expertos" que se toman el tiempo y la dedicación para configurarlo y adaptarlo.

Como siempre dejen sus opinines, comentarios, historias, quejas y sugerencias...

07 marzo, 2007

Kernel Malware

El personal de F-Secure responsable de analizar las amenazas mantiene un blog y un canal en YouTube que son destinos obligados para todos aquellos que les interese aprender un poco más sobre seguridad.

Recientemente Kimmo Kasslin publico en su blog un artículo sobre Malware que se enfoca en los que atacan kernel de los sistemas basados en Win NT. Los virus que ganan acceso al kernel se ejecutan en "ring-0" teniendo acceso a todos los recursos del sistema, a diferencia de los que se ejecutan en modo de usuario que se ejecutan en "ring-3". Aunque estos ataques no son nuevos, han sido poco comunes.

En 1999 se encontró el primer malware basado completamente en el kernel bautizado "WinNT/Infis", un parásito residente en memoria que actuaba como un driver del sistema y ganaba control al engancharse directo al INT 0x2E. Al abrir un PE EXE (Portable Executable Win32 file) lo infecta y le cambia la fecha para distinguir los infectados de los no infectados. Por suerte el daño no era grave, al intentar abrir programas como la calculadora, paint o el cd player el sistema manda un mensaje de error diciendo que "no es una aplicación WinNT válida".
Otro virus interesante de kernel es el Virus.Win32.Chatter que se encontró en el 2003. Este se añade a cualquier archivo ".sys" abierto, se engancha al nt!NtCreateFile de la nt!KiServiceTable ganando así control de cada operación de abrir y crear archivo. Pero como la rutina del virus se ejecutaba en modo de usuario se le clasifica en "semi-kernel".

Una de los puntos que destaca del artículo de Kasslin es el hecho de que en los últimos años (2003 al 2006) se incrementado el número de malware en donde algunas o todas sus partes están diseñadas para explotar vulnerabilidades a nivel de Kernel. En gran parte esto parece ser causa del auge que han tenido los rootkits y la cantidad de ejemplos y documentación existente sobre como utilizarlos.

El malware inicialmente intentará ejecutar su código en ring-0, para lograr esto, nos comenta Kasslin, normalmente utilizan una de las siguientes 2 tácticas:

La primera es cargar un driver en el kernel, normalmente contiene la extensión ".sys" y puede ejecutarse en el thread en modo de usuario que pida una función del I/O, también puede hacerlo en el thread en modo de kernel, o uno aleatorio como resultado de una interrupción. Usando el Service Control Manager de Windows pueden usar la función de CreateService y cargar el driver sin necesidad de reiniciar la máquina. Si el registro del driver es exitoso, creará una entrada en el registro en "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services", Una vez registrado se puede iniciar usando la función de StartService del API provisto, lo cual hace que el sistema realice ciertas acciones comunes a cargar un dll en user mode.

Existe otro método para cargar un driver que no está documentado por Microsoft, pero que lo explican Greg Hoglund y Jamie Butler en su libro Rootkits: Subverting the Windows Kernel y que recomiendo ampliamente que lean. La gran ventaja del método que describen es que el driver no dejá ningún rastro en el SCM de su existencia y por lo tanto no puede ser removido hasta que se reinicie la máquina.

El otro método es utilizar las "call gates" que permiten que un programa cambie su nivel de privilegio en el CPU, por ejemplo de ring-3 a ring-0. Esto es posible a través de dos funcionalidades no documentadas de Windows.

La primera utiliza el objeto \Device\PhysicalMemory, que permite a un programa mapear parte de la memoria física a su espacio de direcciones. Uno de los primeros virus que lograron explotar correctamente esta vulnerabilidad es el W32.Fanbot.A@mm. Una explicación detallada de como utilizar esta funcionalidad la pueden encontrar en un artículo de Crazylord en la revista Phrack.

La segunda funcionalidad que utilizan es a través de la función ZwSystemDebugControl exportada de Ntdll.dll, la ventaja de usar esta es que mapea a memoria virtual, en lugar de memoria física ahorrándose así la necesidad de calcular correctamente la traducción de espacio físico a virtual. (ver el el Gurong.A)

Después de explicarnos a detalle como utilizar los gate calls, Kasslin nos lleva dentro del mundo de dos diferentes malwares que corren en modo Kernel, que bien vale la pena leer a detalle y por lo tanto no los comentaré aquí.

Esto es todo por ahora, como siempre dejen sus experiencias, comentarios y sugerencias.

01 marzo, 2007

Como Proteger tus Websites y Evaluar su Seguridad

En una entrada anterior hablamos sobre como usar Access Diver para encontrar passwords en los sitios web. Mientras que esta herramienta funciona bien para hacer una prueba inicial de nuestro sitio, esta lejos de ser la mejor prueba de seguridad.

La realidad es que para la mayoría de las empresas que se dedican al desarrollo web o que tienen su propio web mantenido por su departamento de IT, les cuesta mucho tiempo y trabajo el revisar y asegurar sus sitios. Y como en la mayoría de los casos (con excepción de bancos, etc.) piensan que no es probable que los ataquen, dejan las revisiones de seguridad para después, el único detalle es que ese después nunca llega.

Un buen lugar para empezar a empaparse sobre seguridad de sitios web es el libro "How to Break Web Software: Functional and Security Testing of Web Applications and Web Services" de Mike Andrews y, James A. Whittaker ambos expertos en el campo. Sin embargo como el tiempo es oro y rara vez tenemos tiempo para ir a comprar el libro, leerlo y luego ponerlo en práctica, la mejor solución es dejar que una expertos lo hagan por nosotros.

Mientras que en el pasado estas soluciones eran caras, donde tenían que comprar equipo y profesionales que visitaban la oficina, hoy en día existen servicios de excelente calidad un costo muy aceptable, como el ClickToSecure de Cenzic.

Bajo el concepto de SaaS (Software as a Service), usan su famso HailStorm para hacer todo tipo de pruebas en tu sitio web sin necesidad de instalar ni configurar nada. Simplemente les das tu URL, hacen las pruebas y te entregan un reporte completo de todas las vulnerabilidades detectadas. La gran ventaja aquí, es que no hay que comprar ningún software, no hay que aprender a usarlo, configurarlo y correr las pruebas, todo esto se los dejamos a profesionales.

Otra de las ventajas es que no necesitamos estar al día en los diferentes tipos de ataques que existen pues ellos mantienen actualizadas sus pruebas con las últimas amenazas como son: entradas de información sin validar, control de acceso roto, autenticación y administración de sesiones rotas, XSS, buffer overflows, inyecciones de código, mal manejo de errores, y mal aseguradas consolas de administración y bases de datos entre otros.

Una vez obtenido el reporte se preguntarán que hacer para cubrir las vulnerabilidades. Una opción es que los mismo consultores de Cenzic les ayuden a corregirlas, en algunos casos las vulnerabilidades son sencillas y con el puro reporte las podemos corregir nosotros.

En caso de tener aplicaciones web grandes o varios servidores, la mejor opción puede ser instalar el firewall NC-1100 o NC-2000 de Net-Wall. Estos firewalls de aplicación defienden aplicaciones web y transacciones de hackers profesionales. Más del 80% de las intrusiones a servidores son a través de sus aplicaciones web, donde los tradicionesles firewalls e IDS no protegen, y es aquí donde los firewalls NC de Net-Wall nos resultan más útiles.

Estos vienen en dos categorias AF y AG. Los AF son application firewall que dan protección a las applicaciones web, mientras que los AG son application gateway que aparte de dar protección, aumentan el desempeño usando caching, compresión y más.

La ventaja de este firewall, es que no es necesario conocer las vulnerabilidades actuales, pues no depende de una base de datos de vulnerabilidades conocidas, sino que escanea los envíos en busca de inyecciones de SQL, XSS, buffer overflows, forms tampering, cookie tampering, escaneo de puertor, SYN flood, etc. El sistema integra políticas por parte del desarrollador, de tal manera que si queremos que un campo sea de 40 bytes de largo el firewall se asegura que no rebase ese largo en el envío, previniendo que pueden mandar virus, o que algún fuzzer este trantando de estrellar el código, etc.

El NC-1100 y 2000 tienen muchas ventajas más como encripción y desencripción de SSL, caching del contenido web, pooling de las conecxiones TCP, compresión de GZIP, load balancing (round robin, weighted round robin, y least requested por default pero se pueden implementar out of service redirections, y sticky connections). Todo esto no sale barato y por eso el NC-1100 anda alrededor de los $30,000 dólares.

Si les fue útil esta información y se sienten generosos me pueden donar el libro del que les hable en este blog visitando my wish list en Amazon.
My Amazon.com Wish List
Add to Technorati Favorites

Como siempre dejen sus comentarios, experiencias y opiniones.

27 febrero, 2007

Como explotan vulnerabilidades en Wireless

Si se preguntan como es que en el Black Hat del 2006 en Las Vegas, lograron tomar control de una Mac (sirve igual para PCs) en cuestión de segundos (ver video), aquí revisaremos una de las formas en las que se encuentran estas vulnerabilidades.

Nos hemos acostumbrado a proteger las vulnerabilidades en módulos de usuario con técnicas como non-executable pages, address space layout randomization (ASLR) y stack canaries, pero hemos olvidado que a nivel de kernel también existen vulnerabilidades importantes.

Requieren especial atención las vulnerabilidades en los drivers, ya que los programadores de drivers viven en un entorno totalmente diferente a los programadores para usuarios final, desde la diferencia entre los API y el hecho de que a partir de Win NT a la fecha los threads de kernel solo tienen 3 páginas de stack mientras que los de usuario tienen hasta 256KB, sin mencionar el cuidado especial que se debe de tomar en cosas como son performance, error-handling y re-entrancy.

Ya se que deben de estar pensando que es muy poco probable que hagan un ataque en un device driver ya que la mayoría no procesa datos controlados por el atacante. Pero los drivers de red son la excepción. Aunque los driver para ethernet han estado con nosotros por mucho tiempo y no han sufrido vulnerabilidades importantes, no es lo mismo de los wireless. Resulta que los ethernet hacen muy poco de procesamiento mientras que los wireless tienen que manejar una amplia gama de pedidos y exponer su funcionalidad a quien se encuentre en el rango.

Para hacer un ataque en el mundo del 802.11 nos enfocaremos en una device que se encuentre sin autenticar y sin asociar (pueden estar autenticada sin asociarse y autenticada y asociada). En este caso el cliente procesa:
  • Probe Request
  • Probe Reponse
  • Beacon
  • Autenticación
El Probe Response y el Beacon se utilizan para encontrar o publicar las redes inalámbricas locales. Utilizando estos los clientes pueden encontrar las redes de dos maneras, en modo activo el cliente mando un Probe Request con el campo de SSID vacio, cualquier AP que lo escuche responde con un Probe Response con los parámetros de la red. En modo pasivo el cliente esta en escucha de los Beacons y lee los parámetros de la red de estos.

Los paquetes tanto el Probe Response como el Beacon deben contener entre otras cosas un campo para el SSID el cuál según la especificación no debe de ser más de 32 bytes de largo. Sin embargo el largo máximo de cualquier elemento de información es de 255 bytes, lo que deja amplio margen de error en un driver mal escrito.

Para atacar el Beacon de un driver necesitamos una manera de mandar frames al device que se va a atacar. La mejor opción actualmente es la LORCON-library en C (hay una extensión para ruby), desarrollada por Joshua Wright y Michael Kershaw. Una vez familiarizados, podemos implementar un fuzzer que obliga al driver a procesar datos malformados tratando de que con uno de esos se estrelle.

Escojemos un campo en el Beacon o Probe Response que sea de largo variable, como el Information Element. Una vez que se encuentra el problema mediante el uso del fuzzer, iniciamos el proceso de ganar control del pointer de esa instrucción. En el caso de buffer overflows del stack en Windows, el proceso es tan sencillo como determinar el offset de la dirección de regreso y sobreescribirlo con la dirección de una instrucción que haga un "jump" de regreso al stack (ver otro ejemplo). Esta puede ser la parte más compleja de todo el proceso.

Una vez que se gana control del pointer de la instrucción, se hace una ejecución de código arbitrario. Para módulos de usuario este proceso esta totalmente automatizado usando Metasploit. Y en la nueva versión de Metasploit (3.0) ya se pueden implementar exploits del kernel de manera automática.

Si les interesa estudiar a mas detalle todo el proceso les recomiendo que lean un artículo por Johnny Cache, H D Moore, y skape de Metasploit.

Como siempre los invito a que dejen sus comentarios y opiniones y links al respecto .

13 febrero, 2007

Access Diver

Si deseas tener un hacker a la mano que te ayude a hacer pruebas de seguridad en tu sito web sin que comprometas la información en el mismo, puedes hacer uso de accessdiver, una herramienta que piensa como un hacker y hace todo tipo de pruebas de seguridad.

Todo lo que necesitas es una PC con windows 98 en adelante y tu sitio web para hacer las pruebas.
Una vez instalado cuenta con una interfaz gráfica muy sencilla de utilizar, la cual puedes cambiar según tu nivel de experiencia. Escogiendo del menu "My Skill" te provee con 3 opciones distintas para la interface "Newbie, Familiar y Expert" También cuenta con modos especiales para hacer "prubas" específicas ya sea de Leech, Exploiter, Proxy o NetTools.

Tiene la opción de usar proxies y servidores SOCKS. Y si necesitas encontrar proxies puedes bajar GeoWhere que te permite encontrar y probar varios proxies entre otras cosas.

Si no son muy expertos en prubas de seguridad lo mejor es inciarlo en modo Newbie y empezar a familiazarse con las herramientas básicas. El primer tab muestra las opciones para realizar un ataque de diccionario. Este cuenta con un campo para el nombre de usuario y otro para el del password. Este tipo de ataque carga un "diccionario" con los nombres de usuarios y passwords y va probando uno por uno hasta encontrar uno que funcione o se termine la lista.

Es importante notar que el diccionario que trae por default utiliza nombres de usuarios y contraseñas comunes en inglés, así que deberán generar su propio diccionario con palabras comunes en español o buscar uno en la web.

Los demas tabs permiten configurar un servidor proxy o socks para realizar el ataque y la configuración básica del programa, como después de cuentas acesos encontraros parar (con uno normalmente es suficiente).

Esta herramienta muestra claramente como hacen los llamados "script kiddies" para ingresar de manera ilegal a muchos sitos web, sin necesidad de tener grandes conocimientos sobre seguridad y redes.

Dejen un comentario sobre su experiencia con AccessDiver y que les gustaría ver en próximas versiones.

ACTUALIZACIÓN:

De acuerdo con un estudio recientemente realizado por Acunetix el 70% de los sitios web tienen vulnerabilidades de seguridad de mediana y alta prioridad. Una razón más para empezar a tomar más enserio la seguiridad en nuestros sitios.