Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TCP-V ICMP HXC PDF
TCP-V ICMP HXC PDF
(Protocolo de Mensajes de
Control de Internet).
- ICMP es, posiblemente, el protocola ms utilizado por los hackers
- ICPM nos dar informacin MUY VALIOSA sobre el funcionamiento de las conexiones.
- Veremos que este protocolo nos permite detectar gusanos y ataques, tracear conexiones,
destruir firewalls, degradar servicios, descubrir datos sobre nuestras "victimas"... ...
Y por qu es tan importante ICMP para Pues por supuesto que se usa, y mucho,
IP? Pues porque IP no es un protocolo aunque es normal que no os suene,
100% fiable (como nada en esta vida), teniendo en cuenta que es un protocolo
e ICMP es precisamente el que se encarga que no suele usar la gente en su casita,
de manejar los errores ocasionales que si no que es usado sobre todo por los
se puedan dar en IP. routers.
Con esta breve explicacin de paso he Por ejemplo, si enviamos un paquete UDP
explicado los dos primeros cdigos. Slo a una mquina que no tiene implementado
queda comentar que el cdigo 1 slo lo UDP. Como la capa IP es la encargada de
enviar el ltimo router dentro del camino reconocer al protocolo de nivel superior,
que lleve desde nuestra mquina hasta ser responsabilidad suya, y por tanto de
el host de destino, ya que ste ltimo ICMP, el notificar de los errores de
router ser el que sepa qu mquinas protocolos no implementados.
en concreto existen dentro de su red. En
El mensaje de Puerto inalcanzable
cambio, el cdigo 0 puede ser enviado
(cdigo 3) se genera cuando se intenta
por cualquiera de los routers que haya
acceder a un puerto en un protocolo de
en el camino entre tu mquina y el host
transporte (por ejemplo, TCP o UDP), y
de destino, ya que en cualquier punto
ese puerto no est accesible en el host
del camino se podra detectar que la red
de destino. En muchos casos, el propio
de destino es inalcanzable.
protocolo de transporte se encargar de
notificar este error (por ejemplo, en TCP
mediante el flag RST), pero siempre que
el protocolo de transporte no tenga
implementado un mecanismo para
notificar esta situacin, ser
responsabilidad de ICMP hacerlo.
otro checksum, como los que ya vimos asegurarnos de que se trata de nuestro
en anteriores entregas cuando tratamos paquete, se incluyen tambin los 64
el UDP y TCP. En el artculo anterior primeros bits del campo de DATOS del
detall cmo generar un checksum para datagrama, por lo que el paquete puede
TCP, y tambin como realizar su quedar identificado sin lugar a dudas.
comprobacin para un paquete recibido.
Por ejemplo, imaginemos que enviamos
En el caso de ICMP, los checksums (sumas el siguiente paquete:
de comprobacin) se generan mediante
la misma operacin, pero en este caso
no es necesario aadir una
pseudocabecera, si no que directamente
la operacin se realiza nicamente con
todos los bits que componen la cabecera
ICMP.
En el caso de que este paquete genere,
Campo: Unused por ejemplo, un error de Destino
inalcanzable, ste ser el paquete ICMP
Pues eso, qu queris que os cuente que nos llegar en respuesta:
sobre un campo que no se usa?
Simplemente lo rellenis con ceros, y ya
est.
seal de alarma en relacin con los ser ejecutados para infectar una mquina
mensajes Destination Unreachable. (por ejemplo mediante un correo
electrnico), si no que basta con que den
Si observamos los logs de nuestra
con una mquina vulnerable (es decir,
conexin... que qu es eso? Pues en un
que tenga cierta versin de Windows sin
sistema que tenga implementada una
parchear).
buena poltica de seguridad es habitual
tener un mecanismo de monitorizacin
Por supuesto, si el gusano genera
que guarde un registro (un log) de lo que
direcciones IP que no existen, recibiremos
ocurre con las conexiones de nuestra
un mensaje Destination Unreachable
mquina.
cada vez que el gusano intente infectar
En caso de que no tengis nada de esto una de estas IPs. Por tanto, encontrar
montado (sera motivo para varios varios mensajes ICMP de este tipo cuyo
artculos el explicar cmo hacerlo bien origen desconocemos puede ser un
hecho), podis hacer pruebas sntoma de que tenemos un visitante no
simplemente poniendo en marcha un deseado en nuestro PC.
sniffer, como los que he explicado ya
en otros artculos (por ejemplo, Iris para No slo eso, si no que adems analizando
Windows, o Ethereal o Snort para Linux). en detalle la cabecera ICMP podremos
seguramente extraer informacin acerca
Pues como deca, si observamos lo que
del gusano, ya que estos mensajes ICMP,
ocurre en nuestra conexin con Internet,
tal y como acabamos de ver, incluyen en
y detectamos que nos llegan una gran
su cabecera toda la cabecera IP del
cantidad de mensajes ICMP de tipo
mensaje que gener el error, as como
Destination Unreachable, podra ser
los primeros 64 bits de datos.
sntoma de que estamos infectados con
algn gusano (Worm).
Este sistema no es definitivo, por
Un gusano es un tipo de virus informtico supuesto, ya que no todos los gusanos
cuya principal funcin consiste en utilizan este sistema para buscar vctimas,
reproducirse a toda costa al mayor as que el hecho de no recibir mensajes
nmero de vctimas posible. La gran Destination Unreachable no significa
mayora de los virus que existen hoy da ni mucho menos que no podamos estar
pueden ser calificados como gusanos, contaminados con algn otro tipo de
siendo buenos ejemplos los conocidos gusano ms inteligente.
virus Sasser, MyDoom, etc.
Podra comentar muchos otros aspectos
Algunos de estos gusanos intentarn oscuros de este tipo de mensajes ICMP,
reproducirse por un sistema tan burdo como los ataques Smack, Bloop,
como es el generar direcciones IP WinNewK, etc. Pero como el espacio es
aleatorias, e intentar acceder a todas limitado, y adems tengo que despertar
ellas para tratar de infectar una nueva un poco en vosotros la capacidad y el
mquina. nimo de investigar por vuestra cuenta,
ah os he dejado los nombres, para que
Esto es especialmente til en gusanos vuestro amigo Google os d ms detalles.
como el Sasser (y, de hecho, el Sasser
utiliza este sistema), que no necesitan
Sobre el Code 2 no hay mucho que decir, Como su nombre indica, este mensaje
ya que se explica por s slo. permite calmar al transmisor cuando est
Campo: Pointer enviando demasiados paquetes, y estos
no pueden ser procesados debido a la
Si el campo Code tiene valor 0, este excesiva velocidad.
campo especifica la posicin en bytes
dentro de la cabecera IP donde se Cuando un paquete no pueda ser
encuentra el parmetro errneo. procesado adecuadamente debido a la
Ve a m o s p o r e j e m p l o e s t e c a s o :
Aqu es siempre 0.
Campo: Code
Si no notificase esta situacin a H1 toda
la comunicacin entre H1 y H2 seguira De nuevo, tenemos varios posibles valores
el siguiente camino: para este campo:
Echo Reply (lo veremos a continuacin), mensaje concreto de Echo Request, para
que contendr los mismos datos de que el Echo Reply correspondiente pueda
muestra (el abecedario de nuevo, por especificar a qu peticin de eco en
ejemplo). concreto est respondiendo.
Todos los campos de la cabecera deben Como ya sabemos, todas las mquinas
llevar una copia exacta de los campos de una red estn interconectadas, por lo
del mensaje Echo Request al que estn que tericamente todos los paquetes que
respondiendo, excepto el campo Type, circulan por la red llegan a todas las
que debe ser 0, que es el nmero mquinas de la red. Cada mquina tendr
asignado al tipo de mensaje ICMP Echo que ser capaz de discernir qu paquetes
Reply. van dirigidos a ella y cuales no. Este es
el motivo por el que un sniffer puede
La invasin de los pitufos funcionar.
mensajes Echo Reply a la vctima, con Para evitar convertir nuestra red en una
lo que podramos llegar a saturar su amplificadora de ataques smurf, tenemos
conexin. que configurarla para que las mquinas
no respondan a mensajes ICMP dirigidos
a la direccin broadcast.
El ping de la muerte
encontrarse con sistemas que tengan Yo personalmente tengo abiertos slo los
cerrados los mensajes de Echo, por lo mensajes Echo Reply (para poder hacer
que no responderan al Echo Request, ping y traceroute), Time Exceeded (para
aunque la mquina estuviese vivita y poder hacer traceroute), y Destination
coleando. Un escaneo de pings nos dira Unreachable (para poder hacer P-MTU-
que esas mquinas no existen, ya que D, entre otras cosas).
no han respondido a nuestra llamada.
Si queris asegurar de verdad vuestro
Existen herramientas que aprovechan sistema o vuestra red os aconsejo que
otros tipos de mensajes ICMP menos investiguis bien el tema y lleguis a
comunes para hacer exactamente lo establecer una decisin sobre vuestra
mismo, con la ventaja de que, al ser un poltica de seguridad con ICMP.
mensaje poco conocido y, aparentemente
inocente, es ms probable que el 2.10. Otros mensajes ICMP.
administrador no los haya cerrado en el
firewall. Un ejemplo de estas Aunque el RFC 792 ni siquiera los
herramientas es ICMPEnum, que utiliza menciona, existen otros tipos de mensaje
precisamente no slo Echo Request para ICMP definidos. Al no formar parte del
hacer los escaneos, si no tambin estndar definido en el RFC, slo nombrar
Timestamp Request, e Information alguno de ellos por si os interesa buscar
Request. informacin sobre alguno en concreto.
Buscando huellas
Header + 64 bits of Original Data claro que no todo el mundo consulta estas
Datagram. Por ejemplo, este parmetro pginas para protegerse, y en cambio
es para especificar el nmero de basta con que una sola persona consulte
protocolo del datagrama que origin el esta lista con fines perversos para que
mensaje ICMP. pueda atacar a cualquier otra persona
que no haya tenido en cuenta la lista. As
--icmpcksum : nos permite generar un que, una vez ms, no se sabe si es peor
checksum invlido. Por defecto, si no el remedio o la enfermedad.
ponemos esta opcin, hping2 generar
automticamente el checksum correcto. Espero que este artculo os haya resultado
interesante, y que por lo menos haya
--file : permite especificar un fichero despertado en vosotros la curiosidad por
para el campo de DATOS. muchsimas cosas que he esbozado para
que vosotros ampliis informacin de lo
Vamos a ver un ejemplo sencillsimo, que ms os haya llamado la atencin.
para realizar un ataque smurf a la IP
217.138.2.2, utilizando como Por este artculo han circulado muchos
amplificadora la red 209.5.x.x : nombres que pueden ser fcilmente
consultados en Google, as que os animo
hping2 209.5.255.255 --icmp -- a que lo hagis.
verbose --spoof 217.138.2.2
Autor: PyC (LCo)
As de simple! Por cierto, que tenis
disponibles listas de redes que han sido
probadas y se sabe que pueden funcionar
como amplificadores smurf (es decir,
que responden a paquetes Echo Request
a la direccin broadcast). Podis
encontrar un registro de estas redes por
ejemplo en:
http://www.powertech.no/smurf/ .