BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate
ADSL

Hilo de Investigación de los filtros de paquetes del router Comtrend CT-500

MulderX69

Vamos a ver, todo el mundo sabe que son los packet filter rules no ?
Imagen original en http://jo.bernatallada.eresmas.net/filterrules.JPG

Asi estan tal i como viene de serie. Se accede mediante Config / Packet Filter / Show Setting Packet Filter Rules . Supongo que todo el mundo lo tiene igual no ?

Nos basaremos en el manual en castellano ubicado en www.adslayuda.com que esta AQUI y en el manual en inglés de la pagina canadiense de ovislink que esta AQUI y el mega-PDF que viene con el cd del kit.

Tenemos 5 reglas de filtrado de paquetes preestablecidas de la 0 a la 4. Primero de todo se tendria que entender que hace cada una de estas reglas y el porqué.

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
maiki

Me imagino q la primera regla es la q permite todo el trafico en cualquier puerto y a partir de ella se van imponiendo las restricciones q son las demas, por ejemplo q no salga ninguna por http o Telnet y demas.
De todos modos, no entiendo muy bien su funcionamiento teorico y si lo explicaras estaria muy bien. Me he leido el manual pero se me hace ininteligible.

Estoy bastante interesado en este tema, pq tampoco entiendo pq en vez de empezinarnos en abrir puertos (mapear puertos si quereis) no establecemos nuevas reglas de filtrado como se hace con un proxy por soft. He preguntado por los foros, ya q yo de estos temas se mas bien poco, pero creo q nadie tiene muy clara la diferencia y como se establecerian.

MulderX69

*La columna No indica el numero de regla de filtrado

*La columna Priority muestra la prioridad de la regla, cuanto mas bajo es su numero mayor es su prioridad y la prioridad se utiliza quando dos reglas se solapan. Por ejemplo, si una regla con prioridad 6000 dice: Ignorar todo lo que llegue desde internet y otra con prioridad 5999 dice: acepta los paquetes que lleguen por el puerto 69 desde internet, pues quedarian todos los paquetes ignorados desde internet excepto los que llegan por el puerto 69 ya que tiene mas prioridad, si intercanviaramos el numero de prioridad a estas 2 reglas, quedarian todos los paquetes provinientes de internet ignorados ya que la de ignorarlo todo tendria mas prioridad i machacaria a la de "solo aceptar el puerto 69". Creo que se entiende.

* La columna Source indica el ORIGEN de los paquetes que seran filtrados.

*La columna Destination indica a donde van dirigidos los paquetes que seran filtrados, el destino.

* La columna TCP flag es para filtrar los paquetes segun su TCP flag (alguien puede postear contando algo mas sobre este flag que tienen los paquetes ?)

*La columna Action indica lo que se hará con los paquetes que cumplan la regla de filtrado, Aceptarlos o Ignorarlos.

* La columna Log sirve para ver si tienes activado el Logueo de esa regla, si la tienes activada se va guardando un registro de todos los que la han cumplido.

* La columna Interface nos dice en qué interfaz se aplica la regla de filtrado, si en Any (cualquier/todas) Host (significa el propio router, creo) y Lan1 (somos nosotros mismos, nuestra tarjeta de red)

* Y ya por acabar, la columna Direction nos dice el sentido que se aplica la regla de la interface escogida entes. Por ejemplo si pone Deny | Host | Out significa que Host es el router, y out indica hacia fuera del router, osea, hacia internet y deny que no deje salir los paquetes hacia internet que cumplant "tal" regla de filtrado.

MulderX69

La regla numero 0 es la que tiene el numero mas alto de prioridad, por lo tanto es la que tienes menos prioridad y todas las otras la machacan, lo acepta todo de todas las interfaces y en ambas direcciones. Por lo tanto es la que te lo abre todo y no filtra nada de nada de nada. Si no existiera la regla 0 el router dejaria de funcionar ?

Que diferencia hay en poner "any" en IP o poner "0.0.0.0" ??? tambien significan cualquier los zeros ?

La regla numero 1 creo que filtra los paquetes que tengan como destino los puertos 23, 80 y 161 del router (host) y los filtra evitando que vayan "out" que salgan hacia fuera . Evita que se te conecten por telnet o http al router si alguien sabe tu IP publica creo. El puerto 161 (SNMP Simple Network Management Protocol ) no se muy bien que protege, no es muy famoso pero algo importante hace supongo, alguien puede añadir detalles acerca de la peligrosidad que se te conecten por el 161 ?

La regla numero 2 no la entiendo muy bien porque me hago un lio con esto de la interface y la direction, creo que desfiltra algo filtrado por la regla 1 ? o permite que nos conectemos al router por web y telnet desde nuestro pc? Acaso lo habiamos filtrado esto con la regla 1 ? Creia que no...

Bueno es muy tarde, mañana me lo miro mejor todo esto porque estoy un poco nublado. A ver si se anima la gente a corregir, criticar y colaborar que entre todos lo solucionaremos.

maiki

Gracias por tu explicacion. De todos modos es un lio de la leche y como no me haga un esquema o algo similar me cuesta entenderlo.
Lo de IP 0.0.0.0 no sera algo asi como todas las ip no locales (como el localhost de toda la vida, algo asi)???
Lo digo pq todas estas reglas se resumen en prohibir la configuracion del router por Http y Telnet a todo lo q no sea local. Mas en concreto prohibir no el trafico, sino el acceso. Por eso es igual el origen q el destino, ya q no atraviesa el router, q es lo q pasa cuando te conectas a el para configurarlo (creo yo, q seguro q me equivoco). En el manual en ingles de ovislink no hay nada de filtrado.
Bueno, otra cosa, SNMP es una especie de protocolo q se usa bajo TCP/IP y sirve para el network management, en concreto se usa para el control de la interconexion entre diferentes tipos de redes, por lo tanto en situaciones tipicas de routing. Esta mas asociado a linux/unix q a entornos pc-windows, y se supone q nuestro querido router lo soporta :-). Por lo q entiendo debe ser una especie de protcolo con el cual puedes preguntarle al router q esta pasando por el, q dispositivos tiene enganchados (los pcs de la red interna) y cosas asi. Ademas de eso, es el protocolo en el q se apoya toda la gestion de internet. Si quieres saber mas de SNMP puedes visitar:
(link roto)
y
(link roto)
Ya se q esta explicacion no resuelve nada de lo de los filtros pero es por ir aclarandonos.
Un saludo a todos los q os esteis interesando en el tema

maiki

Bueno, para ir aclarandonos he encontrado esto por una pag:
------------------------------------
Direcciones Especiales:

La dirección de “default”

ip 0.0.0.0

En un principio era utilizada para representar la dirección de broadcast. Obsoleto.

Utilizada por software de enrutamiento para indicar que cualquier mensaje para el que no tengamos una entrada específica deberá ser enviado utilizando el portal referenciado por la dirección 0.0.0.0
---------------------------------------
Es decir, q ahora si q no me netero de nada. Por ahi lei tambien q significa un paquete del q desconozcamos su ip ???

🗨️ 5
zapp

Desempolvando mis apuntes de redes, he visto que la IP 0.0.0.0 se emplea como dirección simbolica del host local. En este caso se referiria a la dirección del router, ya que la ip del router no la sabes porque puede variar dependiendo de como lo configures o del interfaz. Por tanto en la practica se aplicaria la regla usando la IP que tuviera el router en ese momento y para ese interfaz.

Lo que puede liar un poco es que aparezca esta dirección, como dirección origen y destino, pero si te lees el manual en español pone que se filtra solo por la direccion destino si en direction pone 'in' y solo por la direccion origen si pone 'out'.

Por lo tanto la regla 2 se estaria refiriendo a que se aceptaran los paquetes dirigidos al router que vaya a los puertos de Telnet, HTTP y SNMP (protocolo de gestion de redes como bien dices), siempre que vengan desde la red local. La 4 (con mayor prioridad) vendria a decir lo mismo pero para cualquier puerto (no se muy bien el porque de esta redundancia).

El problema viene de las reglas 1 y 3, al ser 'out' filtrarian al enviarse en función de la IP origen (en este caso la del router 0.0.0.0). Pero sin embargo lo del interfaz 'HOST' no lo tengo claro a que se refiere ya que si se tratara del exterior pondria 'ATM1' y si fuera hacia la red local seria 'LAN1'.

Respecto a los de los TCP flags, son bits de la cabecera de los paquetes TCP , para indicar opciones diversas como prioridad, seguridad.. por lo que filtrar por estos no creo que tenga mucha utilidad practica.

A ver si alguien es capaz de averigurar a que se refiere con lo del interfaz HOST.

Saludos

🗨️ 4
maiki

Gracias por la explicacion. La verdad es q ahora me ha quedado algo mas claro, porque mira q busque q coño era lo de ip 0.0.0.0 y nada de nada. Ademas me jodia porque estuve mirando la configuracion de iptables en linux para ver unas cuantas reglas de filtrado, y en todas usaban la jodida 0.0.0.0

Tambien gracias por la explicacion sobre los TCPflags. Se me ocurren un par de aplicaciones para eso de filtrar por prioridad del paquete y demas, pero solo para servidores.

Seguire leyendo cosas, q al final como dijo MulderX69, entre todos lo sacamos.
Un saludo

🗨️ 3
derodo

Pues eso, que además de todas esas columnas, a mí me pone otra extra especificando el protocolo (IP, TCP, UDP, ICMP)...¿a ninguno más de vosotros le sale?

🗨️ 2
derodo
🗨️ 1
zapp
dido

Hola, hablando de filtros, resulta evidente que las reglas 2 y 3 sirven para denegar y autorizar el accesso a los puertos "sensibles" del router.
Esto come bien sabe quien use un apache está bién, primero se deniega todo y luego se autoriza quien queremos que pueda entrar.
Me extraña un poco que esto se haga sobre diferentes interfaces pero de esto hablaremos luego.

En efecto si se hace la prueba en scan.sygatetech.com/
se notará que tanto el 80 como el 23 están completamente ocultos.
Pero, ¿nadie se ha dado cuenta de que el CT-500 expone el puerto 2000? esto se podrá comprobar efectuando el trojan scan en la misma direccion de arriba.

Ahora bién no se deciros si esto puede llevar a un problema de seguridad, jugueteando con los filtros probé ha desabilitar por completo este puerto con el resultado de que la configuración via http se hace imposible. Entonces he llegado a esta conclusión (comprobado con netstat) el router espera en el puerto 80 pero mantiene la conexion por medio del puerto 2000.
Una solución para bloquear este puerto la conseguí de esta forma
5 65529 TCP IP:0.0.0.0 Mask:0.0.0.0 Port: IP:0.0.0.0 Mask:0.0.0.0 Port:2000 XXXXXX DENY Enable ATM1 In

espero que una vez publicado quede claro, por cierto habilitando el logging me dí cuenta de que hay sitios web que intentan acceder justamente a este puerto (y tal vez a 1024 más que simplemente no se registran, eso no tiene por qué ser preocupante)

Por ahi andaba alguién preguntando por icmp, esto tiene que ver con los varios niveles de TCP/IP entonces, encima del hardware están IP ICMP y algunos más, el mas importante es IP qué sirve para aislar el nivel hardware del nivel software (TCP y UDP) que está por encima. La aplicación ICMP más conocidas es ping (esto es por supuesto una descripción muy poco tecnica) vaya jaleo que estoy formando, hacemos un resumen:

la regla 1 permite todo el trafico a nivel de IP ahora no estoy muy seguro pero creo sea imposible realizar una aplicación (tipicamente un troyano) o un ataque usando solo IP
las reglas 1 y 2 impiden/permiten el accesso a los tres puertos como ya se ha dicho (SNPM como todo lo relacionado con TCP/IP vale también en windows no solo en unix)
Igual no estaba muy seguro antes, ahora tampoco pero deberia ser posible enviar paquetes dañinos usando ICMP por ejemplo para realizar un ataque DOS (no el MSDOS ) si bien esto sirve para control e información de ahí las reglas 3 y 4 para descartar todo los paquetes ICMP desde el exterior y permitirlo desde dentro, porqué si no ¿como hago para saber que el router está vivo?

¿Me he explicado bién? No sé por cierto que el tema es bastante complicado, espero haber puesto un granito de arena para aclarar un poco

P.D. Ahora no me acuerdo cual es pero por ahi anda otro puerto suelto lo que pasa es que hace falta hacer un escaneo exaustivo para descubrirlo a ver quien hace la prueba.

Saludos