1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
LEEME para ICMPush v2.2
=======================
"Este programa se distribuye bajo licencia GNU GPL, consultar el fichero
COPYING para ms detalles"
Hace unos 4 o 5 aos decid hacer un programa que generara ICMP redirects
para probar la estabilidad de las tablas de rutas de mis HP-UX de la poca
(HP-UX 9.0 :D) de ah naci el redirect.c un cutre-programa (como todos los
mios) que enviaba ICMP redirects. Obviamente este programa se hizo solo para
Linuz (ruuuuuulezzzzzz!!) pasando posteriormente a soportar tambin envo
de ICMPs Source Quench, Time Exceeded y Destination Unreach.
Bueno, al grano, estos ltimos aos solo fui modificando pijadillas del
programa, aadiendo nuevos cdigos de Unreach y cosas as, pero en esta nueva
versin se permite el envo de paquetes ICMP de peticin de informacin:
Address Mask Request, Info Request, Timestamp Request, Router Solicitation
(Router Discovery), Router Advertisement(Router Discovery) y Echo Request e
indicar el timeout en segundos para la lectura de las respuestas.
Tal vez pueda parecer farragoso tantos argumentos, pero para que una
implementacin TCP/IP se trague un ICMP en condiciones este debe cumplir
ciertas caractersticas que intento sean suministradas desde lnea de comandos.
Mencin aparte merecen los resultados de los redirects contra los F20 de HP
rulando HP-UX 9.0 por que el problema no era que se los tragara y modificara
dinmicamente la tabla de rutas sino que le daba igual que gateway pusieras
en la ruta (que perteneciera a su subred o no) con lo cual podras crear
autnticos ataques catastrficos.
Pero bueno, aqu est el programa y cada uno sabr si le interesa o no.
Aqu os indico las abreviaturas que se usan en el programa para identificar
en la linea de comandos a los tipos de ICMP que acepta el programa:
Valor Valor extend. Significado
------ ------------- -----------
-echo --echo_req Echo Request.
-du --dest_unreach Destination Unreach.
-info --info_req Information Request.
-red --redirect Redirect.
-mask --mask_req Address Mask Request.
-param --param-problem Parameter Problem.
-rts --router_solicit Router Solicitation (Router Discovery).
-rta --router_advert Router Advertisement (Router Discovery).
-sq --src_quench Source Quench.
-tstamp --timestamp Timestamp.
-tx --time_exc Time Exceeded.
Mira la pgina man para ejemplos en detalle.
A continuacin os indico los valores de retorno que devuelve el programa
ICMPush y el significado de los mismos para que podis utilizarlo en cualquier
shell-script:
Valor Significado
----- -----------
0 Programa finalizado OK
1 Numero de argumentos incorrecto
2 Protocolo ICMP desconocido
3 No puedo crear socket tipo RAW
4 Tipo de paquete ICMP incorrecto
5 Gateway incorrecto
6 Destino de ruta incorrecto
7 Cdigo de paquete ICMP incorrecto
8 Host original incorrecto
9 Error enviando paquete
10 Protocolo todava no implementado
11 Direccin IP o host de spoof incorrecto
12 No pude reservar memoria para unin data_hdr
13 Direccin IP o host destino incorrecto
14 Protocolo desconocido
16 Error leyendo socket RAW
17 Error al iniciar manejador de seal SIGALRM
18 Los datos que se quieren enviar en el paquete Echo Request
son demasiado grandes
19 Puerto origen incorrecto
20 Puerto destino incorrecto
21 Valor de timeout incorrecto
22 Echo ID incorrecto
23 Numero de secuencia incorrecto
24 Datos de Echo incorrectos
25 Error en IP_HDRINCL
26 Direccin de router en paquete Router Advertisement incorrecta
27 Numero de bytes basura incorrecto
28 Puntero de ICMP Parameter Problem es incorrecto.
Tambin os dejo un mini-cutre-script llamado try_reset para intentar tirar
conexiones telnet y rlogin, tambin podis ver el uso de los valores de
retorno del programa ICMPush para que os hagis una idea, pero os aviso que es
una gilipollez.
Ya esta probado el uso del Router Solicitation (Router Discovery) gentileza
de Infova Plus ;) y rula OK.
---------------------------------------------------------------------------
IMPORTANTE:
Este programa est concebido para testear la red o hosts de uno mismo a fin
de mejorar la seguridad; de hecho yo lo hago a menudo con mi red, pero *NO*
est hecho para un uso ilegal o peligroso del mismo. Esto puede constituir
un delito en ciertos pases del que, por supuesto, no me hago responsable.
---------------------------------------------------------------------------
Por lo dems, me gusta que la gente me escriba dando sus opiniones sobre el
programa (tanto buenas como malas) o sobre la vida misma. ;-)
Mi direccin es: tcpbgp@softhome.net
Que lo disfrutis!
Madrid, 1999. Slayer.
|