25 nov 2009

¿Mi firewall es seguro? pt1

Dada la reciente paranoia que se ha desatado en el trabajo debido a los ataques conocidos como phishing de los que hemos sido víctimas. Eh decidido publicar un pequeño trabajo que me encargaron cuando realice mi servicio social en el Sistema de Administración Tributaria. Se trata de una humilde traducción que hice de los productos del sitio http://www.matousec.com/ que nos permitirá conocer la seguridad que nos proporciona nuestro Firewall. Les advierto desde ya que el asunto puede ser un poco tanto mucho muy técnico, pero nada que Google (o su buscador favorito) no pueda solucionar. Aunque es obvio que si nuestro “Cortafuegos” no supera más de la mitad de las pruebas entonces es más que necesario cambiar el programa. Si se quieren ahorrar todas las pruebas e ir a probar directamente un Firewall 99.9998% recomendable googleen por Comodo Firewall Pro, del cual publicaré un pequeño manual en estos días. De acuerdo a MatouSec (y a mi propia experiencia) supero todas las pruebas y además es gratuito.


Sin más les dejo el enlace para descargar la suite de prueba (necesitamos un poco de conocimiento de MS-DOS para ejecutar las pruebas)

Y desde aquí el firewall

Prueba 01: Leaktest
Se ha demostrado que si un programa dañino se renombra con el nombre de una aplicación autorizada es posible que burle el Firewall. Las últimas versiones de los firewalls personales incluyen una suma de verificación para las aplicaciones
Significado.
Si el resultado es exitoso, significa que el firewall confía en las aplicaciones por su nombre en lugar de una huella cifrada por md5.


Prueba 02: Tooleaky
Abre el navegador web predeterminado con la siguiente línea de comando
iexplore.exe http://grc.com/lt/leaktest.htm?PersonalInfoGoesHere
Esto ejecuta una ventana escondida. Si el navegador tiene acceso al puerto 80, toda la información será enviada a una dirección remota, en este caso GRC.COM. Esta información podría ser contraseñas, o números de tarjeta de crédito.
Significado
Si la prueba es exitosa, significa que el firewall no revisa las aplicaciones que son ejecutadas por otras.


Prueba 03: Firehole
Utiliza el navegador para transmitir datos a un host remoto. Para hacer esto, instala una DLL (con una función de intercepción en ella) en la computadora del usuario. Después de esto la DLL se carga a si misma en el mismo espacio del proceso de la aplicación objetivo, que es de confianza, con lo que existe una gran posibilidad de que Firehole pueda acceder al Internet sigilosamente.
Significado
Si la prueba es exitosa puede significar dos cosas: que el firewall no tiene un control sobre las aplicaciones que otras aplicaciones ejecutan y que es vulnerable a una inyección de DLL.
Si la prueba falla, significa que el firewall controla el primer punto, pero no siempre significa que no sea vulnerable a una inyección de DLL.


Prueba 04: Yelta
Yelta tiene dos pruebas: una prueba clásica y una prueba avanzada.
La prueba clásica intenta envía paquetes UDP a través de puertos que están comúnmente abiertos, como el 53 (DNS), 21 (FTP), esperando que tengan autorización para enviar información.
La prueba avanzada utiliza un controlador para enviar sus paquetes directamente a la interfaz de red bajo la capa TCP/IP, pero solo funciona bajo Windows 9x o Millenium
Significado
Si la prueba es exitosa, significa que el firewall permite varios tipos de tráfico en los puertos pre-configurados.


Prueba 05: OutBound
OutBound envia paquetes directamente a la interfaz de red intentando burlar al firewall.
OutBound es diferente de otras pruebas ya que utiliza paquetes TCP con algunas banderas habilitadas, intentando hacerlas ver como una conexión establecida.
Significado
Si la prueba es exitosa significa que el firewall no verifica las capas mas bajas que la capa IP de Windows y/o solo verifica las nuevas conexiones en lugar de todo el tráfico.


Prueba 06: PCAudit
Utiliza una inyección de DLL para inyectar su código (como DLL) en una aplicación autorizada en lugar de lanzar su objetivo de manea directa.
Si la aplicación inyectada tiene un acceso completo, pcaudit trabajará sin problemas.
Para que PCAudit funcione de manera correcta, proporcione un acceso completo cuando el firewall pregunte por los permisos de Explorer.exe. Intente de nuevo y si el firewall no muestra una alerta de pcaudit.exe, significa que es vulnerable.
Significado
Si la prueba es exitosa significa que el firewall es vulnerable a una inyección de DLL. 

Prueba 07: AWFT
Ofrece seis pruebas.
Prueba 7.1: Intenta cargar una copia del navegador y parcharla en memoria antes de que se ejecute. Derrota a los Frirewalls más débiles
Prueba 7.2: Crea una copia del navegador preferido, si esta cargado, es un truco viejo, pero aún hay firewalls que fallan.
Prueba 7.3: Crea una copia del Explorador de Windows. Otro viejo truco, pero muchos firewalls aun caen.
Prueba 7.4: Intenta cargar una copia del navegador desde el Explorador de Windows y lo parcha en memoria antes de su ejecución. Derrota a los firewalls que requieren autorización para que una aplicación cargue otra, el explorador de Windows por lo general esta autorizado. Esta prueba es exitosa, a menos que el navegador tenga bloqueado el acceso a Internet.
Prueba 7.5: Realiza una búsqueda heurística de proxy y otros programas autorizados para acceder al puerto 80, carga una copia y la parcha en memoria antes de su ejecución desde un hilo en el explorador de Windows.
Prueba 7.6: Realiza una búsqueda heurística de proxy y otros programas autorizados para acceder al puerto 80, pide al usuario que seleccione uno de ellos y crea un hilo en el proceso seleccionado.

 

Prueba 08: Thermite
En lugar de inyectar código utilizando DLLs Thermite inyecta directamente su código dentro del mismo proceso de manera directa, creando un hilo adicional dentro del proceso, totalmente invisible a algunos firewalls actuales.
Significado
Si la prueba es exitosa significa que el firewall es vulnerable a una inyección de proceso.

Prueba 09: CopyCat
Al igual que thermite copycat.exe utiliza inyección directa de código (sin crear un hilo adicional) dentro de un navegador para prevenir que sea detectado por el firewall.
Significado
Si la prueba es exitosa significa que el firewall es vulnerable a una inyección de proceso.


Prueba 10: MBTest
Envía directamente al NIC sus paquetes para intentar burlar al firewall. Para hacer esto envía diferentes tipos de paquetes de diferentes tamaños, protocolos y tipos. Utiliza las librerías de Winpcap, en teoría el programa copia los archivos necesarios (que son dos) por si mismo sin necesidad de reiniciar el equipo.
Significado
Si la prueba es exitosa significa que el firewall se atasca en el nivel alto de la red y no vigila el bajo nivel.


1 comentario:

Anónimo dijo...

Pasando a saludar
Samaeli