Tras hacer pruebas con ICMP, ahora le toca sufrir al protocolo TCP. Quería probar la herramienta: TcpGun 1.0. El problema es que esta herramienta sólo funciona en sistemas Windows 7. Y algunos utilizamos versiones anteriores –sobre todo en equipos de pruebas- por lo que no me servia.
Como tenía algo de tiempo, quise hacer una herramienta en python que sí estuviera funcionando en Windows XP –ergo allí dónde tengas python y scapy-, aprovechando que podía hacerla a mi gusto, he preferido no limitar los ataques que puede realizar.
Una conexión TCP ya establecida nos facilitaría los siguientes datos:
Dirección ip local < – > Puerto local < – > Dirección ip remota <-> Puerto remoto
El problema es que no siempre podemos estar obteniendo manualmente esos datos, y mucho peor, podríamos querer bloquear las conexiones sólo de Telnet, con cualquier destino. Es inviable que conozcamos todos los destinos. Pero sí que podemos conocer el puerto -si no sabes que es el 23 ¡Tienes que ponerte a estudiar! (por si acaso no le preguntes a madrikeka!!! jijiji)-
¿Cómo utilizar la herramienta?
TcpGun.py “Filtro local” “Filtro Remoto” (Sólo es obligatorio 1 de ellos, permite usar ambos)
¿Por qué 2 filtros?
La idea es diferenciar los paquetes que van desde el equipo local, y los paquetes que vienen desde el equipo remoto. Hacerlo de esta manera permite mayor velocidad. Debido a que cada filtro será ejecutado en un hilo independiente.
¿Y si sólo quiero utilizar un filtro?
Ya sea en origen o en destino, simplemente hay que poner: 0.
TcpGun.py “filtro 1” 0
TcpGun.py 0 “filtro2”
¿Algún ejemplo de uso?
-Impedir todas las conexiones a Telnet
TcpGun.py “tcp dst port 23” 0
*El Segundo filtro está vacio, debido a que la conexión es desde nuestro equipo local hacía el puerto 23 remoto. –de todos modos, funcionaria en ambos sitios”
-Impedir las conexiones Telnet contra el router
TcpGun.py “tcp dst port 23 and ip dst 192.168.1.1” 0
*En el Segundo filtro, se podría poner los paquetes de vuelta con el filtro: “tcp src port 23 and ip src 192.168.1.1”
-Impedir TODOS los puertos del router
TcpGun.py “ip dst 192.168.1.1” “ip src 192.168.1.1”
*Esto podría funcionar con solo uno de los filtros.
¿Algunos comandos?
Ip dst <dirección ip>
Ip src <dirección ip>
Ip <dirección ip>
tcp dst port <puerto>
tcp src port <puerto>
tcp <port>
Nota: Aplicación realizada en Python. Requiere Scapy, para poder operar en el manejo de los paquetes.
