2012-01-17

Herramienta para Test de Firewall

Existen muchas herramientas con las que podrías hacer pruebas en un FW, pero una más no te hará daño y si te sirve como un elemento más para dar un veredicto claro y profesional del estado de un FW. Esta herramienta la encontré en una entrada de binaryti, el cual es un muy buen blog de seguridad de la información y de auditoria. 

La herramienta se llama FTESTER la cual esta desarrollada por inversepath y es compuesta principalmente por tres scrpt hechos en perl, los cuales son los siguientes y su función es:

ftest --> Script que permite enviar el tráfico con la características que requieras para probar la respuesta del firewall.
ftestd --> Script que permite colocar un sniffer para capturar los requerimientos y las respuestas de prueba al sistema.
freport --> Script que basado en el registro de los otros dos genera un reporte de los sucesos.

Bueno empemos a ver como se instala y se usa este paquete. Lo primero que se debe tener en cuenta es cumplir con los requerimientos de perl que se tienen, por lo que se instalan los paquetes, así;

root@localhost:–# apt-get -y install libnet-rawip-perl libnet-pcap-perl libpoe-component-pcap-perl pcaputils libnetpacket-perl

Una vez tenemos estos paquetes instalados entonces pasamos a descargar el paquete que queremos usar, lo cual podemos hacer de la siguiente manera:

root@localhost:-# wget http://dev.inversepath.com/download/ftester/ftester-1.0.tar.gz

Bueno como ya todos deben saber lo descomprimimos, pero este no se compila por que son unos scrpts, entonces solo con descomprimir ya pueden ser usados.

Ahora veremos como usarlos. Empezamos con el ftest que nos permite enviar cadenas construidas fácilmente por nosotros para la auditoria, acá solo colocare la más usada que es la opción c la cual tiene la siguiente estructura

root@localhost:-# ./ftest -c iporigen:puertoorigen:ipdestino:puertodestino:bandera:protocolo:TOS

Entonces cada uno debe contener el dato con el que desees enviar para la prueba de respuesta del firewall. las banderas son las del protocolo TCP, o sea que puedes usar las letras S (SYN), A (ACK), P (PSH), U (URG), F (FIN) y R (RST), por lo que uno típico para probar que una IP externa no conteste a solicitudes de tráfico de redes privadas sería así:

root@localhost:-# ./ftest -c 10.0.0.1:5646:190.215.0.1:22:S:TCP:0

Este comando nos genera un log que se llama ftesd.log y que queda guardado en el mismo directorio donde esta el ejecutable.

Bueno entonces ahora el segundo script,  este nos permite colocar un sniffer sobre el tráfico que se genera con el otro comando, para lo cual lo único que se requiere como mínimo es decirle que interface escuchar, lo que se hace así

root@llocalhost:–# ./ftestd -i eth0

Este comando nos genera un log que se llama ftestd.log y que queda guardado en el mismo directorio donde esta el ejecutable.

Por último, el script que realiza el reporte, el cual es freport y se debe usar los registros generados anteriormente de la siguiente forma:

root@localhost:–# ./freport ftest.log ftestd.log

Este te dira las posibles vulnerabilidades del firewall. Espero les sirva.