Un mes después del primer capítulo, el |ncubuX volvió con el 486/66 — esta vez en COLOR X-DDDDDDDDDDDD. Mismo teclado jodido, mismas faltas de tilde, pero con OOB nukes, ICMP spoofing, Ping of Death, DCC floods, port scanning con SYN scan y una cantidad industrial de X-DDDDDDDDDDDDDDDDDDDDD por metro cuadrado. Cap. II de The Kus, tal cual salió del Word 97 el 29 de noviembre de 1997. Sin tocar ni una coma.
01 — Intro: un teclado jodido y un monitor en color
Setabia's Hell presenta...
-| The Kus |-
(Capitulo II)
Ataque & Defensa por kojones
por |ncubux
Iniciado un 29 de Noviembre de 1.997
en un magnifico 486/66 en COLOR!!! X-DDDDDD
si tio... por fin tengo monitor en color X-DDDDDDDDD
Ultima actualizacion 26-Diciembre-97
Sonriendo a mi esclavo Satanás >:)))
· No hace ni cuatro días que termine el primer documento de esta pequeña serie sobre Internet. Mi teclado esta jodido de cabo a rabo, las mayusculas no tiran y la tecla pa bajar abajo con el cursor tampoco... ah!... y el espacio se ataska un guevo. Si no pongo muchas tildes es por no pretar el puto shift (que ademas de no chutar, el cabron se me atasca X-DDDDDDDDDDDD. Ala, vale que si no, me encano soltando estupideces X-DDDDD. Bueno, a lo que iba... el documento este todavia no se desde que punto de vista enfocarlo... si desde el punto de vista técnico (usease, os explico como chuta cada arma y como os podeis defender de ellas, of corse X-DDD)... o desde el punto de vista de no tener ni puta idea de lo que haceis... y poneros a defenderos (y joder gente, que ya se que el 99% solo quereis esto X-DDDDDDDD)... joder, como siga asi voy a tener que hacer el puto compresor de "X-DDDDD" X-DDDDDDDDDDDDDDD. Yasta, ya he decidido... lo voy a hacer tecnico, porque total, de la otra manera me como el articulo en 5 minutos X-DDDDDDD... pa los que empeceis a leer este artículo sin leer el primero... os digo una cosa... NO os vais a enterar de nada X-DDDDDDDDD... si no sabeis (aunque sea sin dominarlo de cabo a rabo, no te jode X-D) lo que pone en el primer capitulo... es como leerse una revista porno y no ver las fotos... asi que arreando kes ¿gerundio? X-DDDDDDDDDDDDDD Dios mio! Mi 66 ha aguantado a un "Guardar automaticamente" X-DDDDDDDDDDDDDDDDDDD
· Amos a ver por ande empezamos... pos no se.. .voy a empezar diciendo lo que dice to dios en sus doc's.... Pos yo no me responsabilizo de na de na de lo que hagais conforme a este documento... si puteais a cualquiera y os cae bronca, u os meten un g-line por el culo, o teneis que cambiar de nick/user... pos no es culpa mia... yo ya os digo que puede pasar (je... sobre todo los g-lines, pero pa eso se ha inventao kutuskus :)= Tambien os digo una cosilla... algunas de estas "armas" son simplemente molestas... pero hay otras que JODEN y que pueden llegar a joder bastante (lease a los gilipollas de los cibercafes que por no bajarse el Service Pack para el NT... unos 23 megas cuando me lo baje yo... prefieren estar todo el puto dia nukeaos X-DDDDDDDDDDDDD) Más responsabilidades?... pues no se... no voy a incluir ejecutables... (pa eso esta la pagina del glor X-DDDDDDDDDDDDD)... no voy a meter mucha fuente (Eso lo reservo para el capitulo III... je, pa que veais que yo tambien se me los numeros romanos X-D)... y todas las metidas que me meta con alguna marca... pues las hago sin querer... que pena... vamos, que si alguna de las marcas que cito coinciden con otras... pues nada, es pura coincidencia, eh? >;))) Ala, y con esto, al monte...
Coño... empieza ya, jodío
· Valeeee, valeeee.... pero antes me dejas ir a cagar, no?... ques sabado al mediodia y no he giñao desde ayer. Ala... ya podemos empezar (je, = dejo restos de papel del bater por las teclas X-DDDDDD)....
· Empiezo como empezaría el 4º y recien adherido miembro del Setabia's Hell (joder, a ver si se presta alguna tia a meterse entre tanto miembro X-DDDDDDDDD)... No voy a empezar con el Manual del Lamer puesto que para eso lo ha escrito el Glor. El que se haya metido poco en internet, habrá mirado nada más que guebs... a los sumo habra echao 4 mensajes a los que habra contestao la primera y la segunda vez... y luego se habra quedao con su internet que no sabe que hacer con ella porque no sabe buscar las cosas... asi que solo va a las paginas que ve en las revistas, a las paginas de Disney (Impor, no te sonrojes X-DDDDDDD)... o como no, a las paginas guarras (je, esas se buscan pronto, ehh?? >;))). Los que se hayan metido un poco más... buscaran las cosas en el yahoo, habran probado el IRC una vez y lo habran dejado, habran visto las news y se habran dao cuenta de que no las contesta ni dios y solo usara el correo en plan "serio"... de vez en cuando se metera para hacer un trabajillo, buscar documentacion de tal y cual y mirar cosas curiosas y chorraditas varias. Los que se van metiendo poco, pero estan activos, y son la mayoria de gente, son los que suelen usar la Web antes que cualquier enciclopedia, los que se bajan las news de vez en cuando para ver si sale algo nuevo, los que usan el correo en plan cachondeo y en plan serio, y los que se conectan al IRC de vez en cuando. Luego estan los viciaos entre los que me incluyo y luego tienes el Sindrome de Glor|mportao... que a que viene todo esto?... pos muy facil... si no te metes al IRC... todo lo que ponga aquí, practicamente te la suda... que por que??... porque no me pienso meter con los fallos del puto MS Explorer (por cierto la version 4 es una maravilla... se cuelga cada 3 paginas... y si llega a la 3ª... las news te borra mogollon de mensajes sin cancelas la compresion etc.etc.etc.etc.... vamos, una maquina) Para los que solo quieran saber como defenderse de los fallos del Explorer, la respuesta es sencilla... renunciar al historial tan bueno del Explorer... y pasarse al Netscape... el cual resulta un poco mas chencho (SOLO por el historial) pero no se cuelga y no te deja tirao (casi nunca).
Prefacio de una gran masacre (no preguntes lo que quiere decir, sobre todo lo de prefacio X-DDDDDDDDDDDDDDDDDDDD)
· Y a lo que iba, joder, el documento este es para la gente que se meta en el IRC... es bastante bien sabido (y el que no lo sepa ya lo sabe), que la gente malvada y perversa del IRC (vamos, el 25% X-DDDDDDDDDDD)... se suele entretener tirando a gente de la red... o simplemente del servidor de IRC en el que estan. Como casi todo el mundo se conecta bajo Windowz 95, y este es una autentica caja de muertos X-DDDDD, pues mucha gente nueva, cae bajo las garras de estos malvados personajes (jeje... <- risa pacojonar X-DDDDD).
02 — Conectando al IRC y las IPs spoofeadas
Conectando
· Vayamos al grano... Cuando te conectas al IRC, lo primero que haces es seleccionar una red de chats a la que conectarte, ¿no?... lease Undernet, Ibernet, Dalnet, EFNet etc.etc.etc... luego buscas un servidor, por ejemplo en Ibernet... irc.redestb.es. y luego al conectarte, ya estas en la red de charlas Ibernet (o Hispano... joer, todos nos entendemos, no? >;))).
· ¿Cómo se establece la conexión con un servidor de IRC?.... de la siguiente manera... los datos que tu dispones sobre el servidor... son su IP o su host (que pal caso es lo mismo)... por ejemplo, el host del server de IRC de redestb (TM) es irc.redestb.es... Luego sabes que te tienes que conectar a traves del protocolo de IRC... el cual va montado sobre el de TCP... y por lo tanto... es una conexión bidireccional con puertos. Irc.redestb.es, estará escuchando en diferentes puertos 6666,6667,6668 (bueno, el Glor es el que sabe los puertos de los server de arriba a abajo X-DDDDDDDDDDDDD). Tu, para realizar la conexión, necesitas de un puerto local (el que te venga en gana... eso si, con el mIRC, no puedes seleccionarlo) desde el 0 hasta el 65535. (lease que si usas el 0 en los ActiveX, te pondrá un puerto local al azar). Entonces... que tenemos:
Yo tengo:
ppp821.53.es (mi host)
192.1.1.8 (mi IP)
1025 (mi puerto local)
El server tiene:
Irc.redestb.es (su host)
194.100.222.12 (su IP)
6667 (su puerto donde escucha... tu puerto remoto... y su puerto local)
· Lo que hace el mIRC es conectar por TCP con el server... es decir... el mIRC pide conexión a 194.100.222.12 (acuerdate que en el paquete solo se pueden usar IP-longs de 4 bytes) y a su puerto 6667 (tamos usando TCP). En nuestro paquete, el mIRC escribe nuestro puerto donde recibiremos si nos acepta la conexión, no nos la acepta o por donde nos van a llegar los datos que nos mande... ese es nuestro puerto local, usease el 1025.... y luego escribe nuestra IP (a la cual se tiene que referir el server para enviarnos los datos).
IP's Spoofeadas
· Esto es muy importante por una pequeña razón... puesto que hay mucha gente que va fardando de spoofer de IP's... spoofear una IP quiere decir que la IP que escribe nuestra IP NO es la nuestra... si no otra (la que quieras)... entonces que ocurre??... pues muy sencillo que NO puedes conectar ni siquiera al servidor, porque el servidor va a mandar las respuestas a otra IP... y puesto que el TCP necesita un handsake al principio, si no se completa el handsake, no hay conexión TCP... asi que ya sabeis que podeis cambiar la IP fuente... pero luego claro, no espereis a recibir nada!!... (ya veremos que intereses tiene spoofear una IP). Ahora, a todos los gilipollas que os vengan diciendo que se han cambiado la IP o chorradas asi... clavarles un ignore porque os sacaran de quicio X-DD.
El protocolo del IRC a vista de pajaro (el que querais... una urraka etc. X-DDD)
· Bueno... el servidor nos ha dejado entrar, hemos hecho el handsake... y ya estamos en la red de chateo. Ahora el protocolo que se usa es el del IRC... el IRC no os penseis ni siquiera que tiene cabecera... para usar el protocolo del IRC, simplemente se usa la cabecera IP + la cabecera TCP + la linea de comandos de IRC. El IRC es un protocolo de texto, muyyyy parecido a lo que escribis cuando estais conectados... por ejemplo... para salirte del server, escribes "/quit Ta luego gente"... pues lo que manda el mIRC es IP+TCP+"QUIT Ta luego gente". Para mandar un mensaje a alguien... tu escribes "/query |ncubux Eres un capullo"... el mIRC manda IP+TCP+ "PRIVMSG |ncubuX Eres un capullo"... cuando escribes algo en un canal, al server le da igual que sea un nick que un canal... asi que el mIRC escribe IP+TCP "PRIVMSG #Deusto Hola gente!!".
RFC's
· Supongo que queda muy claro lo que es el protocolo del IRC... para más información bajaros la RFC correspondiente al IRC (no me acuerdo del numero, lo siento... si quereis, pedirmela) en el cual viene (no te jode) explicao perfectamente y de cabo a rabo, que es lo que tiene que hacer un cliente de IRC y un servidor de IRC (para eso es una RFC)....
· Si no lo sabeis, las RFC's son los documentos de texto que se han ido haciendo desde 1981 para estandarizarlo todo sobre internet. Son realmente cojonudos y faciles de entender... el problema es que hay miles de RFC's, cientos de versiones, y cientos de megas de texto y variantes que leer... pero los mas importantes son siempre los mismos >;))). Lo que os digo... si no las encontrais en el Altavista (cosa que me pareceria totalmente increible puesto que hay indices exagerados de RFC's) me las pedis... porque a este paso los 2 megas de web se quedan cortos X-DDDDDDDD.
· Uff... me acabo de ir a giñar (joer, ayer fue viernes y hoy no se si la depuradora del Ebro podrá con los desechos que he dejado caer... ¿habeis visto alien? X-DDDDDDD ) y a ducharme, que mis sobaquillos decian que no comian conmigo hoy X-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
03 — Los tres tipos de ping
Pings... las cosas claras (seriedad y sexo duro ante todo o;)
· Supongo que todos los que os hayais metido en el IRC habreis tenido algunas dudas respecto a los pings (yo las he tenido, y bien gordas X-DDDDDDD)... Cuando estais conectados al IRC... el ping que se os suele hacer... ese que sale en la ventana de estatus que pone [|ncubux PING] (si usais otro cliente de IRC que no sea el mirc, lo siento... pero yo deje el resto... pero aprovecho para ir informando de que "Siniestro" esta en camino... otro nuevo cliente bruto de IRC de manos de Setabia's Hell X-DDDDDDDD)... pues eso que el ping ese es propio del MIRC (DEL PROGRAMA) no del protocolo... en ningun sitio de la RFC viene que se haya un comando que se llame PING que afecte a cada nick. Es el ctcp ping que le llama el tio que hizo el mirc (gracias desde aquí :)) El ping este se manda como un mensaje normal a un nick... y el mirc lo replica (si tu quieres, por supuesto). Cuando tu mandas un ping (un /ctcp |ncubux ping) un contador guarda el tiempo actual... y espera a que llegue la replica... cuando llega, resto el tiempo actual al que tiene guardado y te dice lo que ha tardao en ser replicao.
· El único PING que contempla el protocolo del IRC es distinto al del CTCP del mIRC (o es que mi RFC es muy vieja X-DDDDDDDDDDDD). El PING del IRC tambien se escribe IP+TCP+PING y un numero a continuación. Es SOLO entre servidor y cliente... cuando a ti te llega un PING 28758247358 (cualquier numero)... debes devolver al servidor un PONG 28758247358.
· Este es el PING/PONG que vemos nada mas entrar a la mayoria de servidores de Undernet. Lo servers de undernet, primero hacen un ping... y luego piden los datos... por eso cada cliente de IRC debe estar preparado para aceptar distintos tipos de login's a servidores. Por ejemplo, el conocido wircsrv (un servidor para tenerlo en casa... shareware)... solo pide el login normal (primero se manda el USER y luego una cadena con el resto de información... falsa o no, claro esta).
· El tercer tipo de ping (que no tiene na que ver con el IRC) es el que vimos en el primer capitulo de "The Kus"... el echo-request... un simple mensaje de ICMP... Naturalmente, cada cosa es para lo que es... el CTCP es para ver con que velocidad puedes hablar con el otro tio, a traves de un servidor (lento normalmente)... el segundo tipo es para ver que tal te llevas con el server, y el tercer tipo es sirve para muchas cosas, puesto que una implementación del protocolo IP debe responder siempre a los echo-request (de hecho Win95 replica SIEMPRE... esta es la razón por la que los ICMP watchers no detectan el tipo 8... simplemente porque Win95 replica el ping y limpia el buffer... cosa que no ocurre con el echo-reply... uhm... el ICMPWTCH tampoco detecta el reply??.. no he probado).
Bueno... pues tantos usos que tiene el echo-request... explica, va >;)
· El primer uso desde luego es el uso formal... simplemente para ver si el amigo con el que estás hablando va muy lento (puesto que el mensaje ICMP va de IP a IP... es lo más rápido que hay para hacer un ping)... bien porque se está bajando cosas, o lo están fludeando. Normalmente se le pone un timeout más bien alto (20000 ms... 20 segundos)... si en ese tiempo no contesta... o lo están fludeando MUCHO o simplemente es que ya no está (o tal vez te has desconectado ya tu >;)... en ese caso, un echo-request te devolverá un ICMP como que no has encontrado la red. A esto lo llamo yo controlar el ping (solo las cabceras de IP e ICMP). Si lo haces de una manera amistosa... simplemente hace falta mandar 56 bytes (lo cual no fludea a nadie) y te da una información bastante preciada... el tiempo que hay entre tu y él... y el número de servers existe entre tu y él (lo que se llama un trace).
· El segundo es controlar el ping de una manera macabra, es decir, mientras tu fludeas a un tio, puedes ir viendo su progreso... puesto que tu al fludear (depende del metodo que uses, claro) no te fludeas a ti mismo (no te lageas), los pings los mandas y recibes a la misma velocidad que si no le estuvieras haciendo nada, pero el NO. Normalmente, cuando estas jodiendo a alguien, controlas el ping a 60000 ms (60 segundos)... a partir de esa cifra, todo el mundo suele desconectar pronto... y casi todos los servers de IRC suelen tirarlo en cosa de 3 minutos.
04 — Echo-Flood, SSPING y Ping of Death
· El tercer uso es el llamado Echo-Flood... y ya de paso, paso a explicar con detalle que es... Resulta que tu en un echo-request puedes incluir un mensaje de hasta 0FFFFh-56 bytes (tamaño máximo de paquete menos la cabecera). Para los que no sepais hexadecimal... pillaros tambien el documento sobre asm que hice hace algun tiempo, no os vendrá nada mal >;))). ¿Que pasa con esto pues?... pues muy sencillo... resulta que el echo-request (como os decia antes) no se puede hookear (vamos, que no lo puedes pillar tu con tu programa) porque Win95 lo pilla antes, lo replica antes y limpia el buffer al final... vamos... que un echo-request para tu programa, no ha existido nunca. Que ocurre, pues que no puedes poner un watcher de Echo-request, a lo sumo podras ver que te ha venido un echo-request, que te ha venido de un tamaño exagerao (y que te esta fludeando claro)... y que estas mandando muchos datos (porque el echo-reply es el mismo tamaño que el original del echo-request). Ventajas de usar un echo-flood sobre alguien??... es muyy facil de programar... incluso con Win95 no hace falta programar nada... simplemente usas el ping.exe (ping –l 65000 –t 192.1.1.8). El ping.exe se para con ctrl-c porque tiene una pequeña putada, y es que NO usa la wsock32.dll... sino que usa la icmp.dll (que solo deja mandar pings X-DDDDDDDDD). Ver "ICMP.DLL VS WSOCK32.DLL" para más información).
SSPING / JOLT / PING OF DEATH
· El cuarto uso es el del ssping... je... sabia que alguno lo tenia en la punta de la lengua. El ssping / jolt / Ping of Death (es todo lo mismo) es un ping sobredimensionado... uhmm... ya estais preguntado que como? :))) Me explico... tu en tu cabecera IP puedes poner el tamaño del paquete... este paquete puede ser fragmentado. Tu mandas un echo-request fragmentado a trocitos. En la cabecera IP, defines un paquete de longitud máxima (usease 0FFFFh) y luego comienzas a mandar fragmentos... todos bien definidos, como si fueras a mandar un paquete fragmentado normal.... PERO... cuando llegas al ultimo fragmento... puedes mandar una longitud que sumandola al resto de fragmentos, pase de 0FFFFh. ¿Qué ocurre?... pues que Win95 y otro mogollón de SO's reservan espacio solo para el tamaño máximo, usease, los 64Kb (0FFFFh bytes) y van reensamblando los paquetes en ese espacio... Cuando llega al último paquete... también lo suman... y ZAS!... sobrepasan la pila y te cargas un trozo de memoria. Conclusión, el TCP/IP se cuelga y por tanto la victima ya no puede seguir en internet. Los efectos son variados... desde que no pase nada, hasta que se quede colgado el sistema entero y lo mas normal.... que se quede todo normal, pero que el TCP/IP no funcione... Sinceramente no he probado si esto ocurre sólo con un ping, pero imagino que si se hace con un ping será por eso mismo. Parches?... si... la verdad es que tienes a patadas... el de MS no funciona siempre... el resto no hacen nada y el unico que me ha funcionado bien ha sido uno llamado pingfix.zip que ocupa solo 2 ó 3kb. Fuentes?... en cualquier lugar... (en el capitulo III incluiré fuentes) Ejecutables? Para Linux los tienes en cualquier lugar... Para Windows solo conozco Kutuskus 2.0... y todavia no lo tengo acabao, asi que a esperarrrrrrrr >;))) (= cuando termine el doc termino el Kus, eh, Glor? >;))) Si quereis más información sobre el ssping, solo teneis que buscarla en la red... hay a patadas >;)))) Ah!... bajo Windowz, no podeis usar la ICMP.dll para hacer el ssping :)) así que a tirar de sock_raw (aunque podeis usar las fuentes de linux con algunos pequeños cambios)
05 — ICMP.DLL vs WSOCK32.DLL
· La icmp.dll tiene una ventaja sobre la wsock32.dll. Resulta que hasta hace bien poco, el winsock del 95 no dejaba lo que se llaman raw sockets (usease, que el paquete lo pudieras hacer tu... antes lo hacia el propio winsock automaticamente... y solo tenias UDP y TCP). Que pasaba con esto... pues que no podiamos mandar un paquete de ICMP. MS se digno a sacar una DLL (una librería con funciones, pa que mentendais) llamada ICMP.DLL que te permite mandar pings de un manera sencilla. Esta dll tiene una ventaja: es muy facil de usar y funciona con winsock 1.1. pero tiene mogollón de desventajas: a) MS la va a quitar pronto (porque el winsock 2.2 ya admite raw sockets, aunque sea mas complejo de usar) b) La puta dll usa sockets que se quedan bloqueados... asi que hasta que no recibe un echo-reply o ocurra un timeout (ha tardao mucho en responder), pues el socket que usa se queda bloqueado (y tu programa tambien, claro) c) solo permite pings d) No puedes modificar apenas el paquete (asi que no puedes spoofear la IP... lo cual tiene una putada... que si usas el ping.exe para floodear... ¡¡¡también recibiras los echo-reply del otro!!!).
Mi mamá me mima
· Y a miiiii, que te crees!!... jo, pero hoy no me ha hecho chocolate... menos mal que es sabado o:)~
06 — Nukeo por OOB y por ICMP
Bueno tio... toy hasta los huevos de que me hablen de nukes ¿qué es?
· Güeno... por nukes se entienden dos cosas... un nukazo por ICMP o un nuke por OOB. Ahora el de OOB no se usa ya puesto que mucha gente va con parche. De todas maneras, el 50% de la gente va sin parche. Vamos a empezar por el legendario OOB.
Nukeo por Out Of Band (OOB)
· El OOB es un digamos una opción que tienes a la hora de mandar un paquete por TCP... le dice a la implementación de TCP que tu mensaje es urgente y que tiene prioridad ante cualquier otra cosa (como si fuera una NMI en interrupciones). ¿Qué ocurre con esto? Pues resulta que el puto w95 no sabe manejar los mensajes con esa opción enchufada. Cuando le llega un mensaje de OOB a un puerto TCP que está escuchando... el TCP/IP se cuelga... ese pantallazo azul del que os habran hablado... ese que sale.... "tal VxD ha causado un error de proteccion general en el modulo 0137: blalbllaalblllallb". A partir de ahí, ya no puedes hacer nada en internet si no reinicializas. ¿Parches?... si... a patadas... yo uso el de MS porque funciona bien. ¿Verdades? Pues NO siempre funciona, primero porque tienes que encontrar en el otro un puerto TCP que esté escuchando, segundo porque mucha gente va parcheada, y 3º porque aunque vayas sin parchear, yo no se que pasa, pero hay veces que no ocurre nada. ¿Mentiras? Se suele decir por ahí que cerrando Netbios sobre TCP/IP está ya resuelto... eso es mentira. Cerrando Netbios lo unico que haces es cerrar tu 139 de TCP... pero a que cuando te conectas al mIRC siempre dejas el 113 abierto para el Ident Server (auth server)????... o incluso el finger (79) lo dejamos muchos abiertos. Por eso, la unica manera de que no ocurra NADA, es simplemente meter el parche. ¿Qué ordenatas caen?... Win95 hasta sus ultimas versiones, Windows en general (NT 4 inclusive). Por cierto... parches para el NT4?... Asustate... te tienes que bajar el Service Pack III (usease 23 o 24 megas, jeje... buena broma, eh? >;))) ¿Programas para nukear? Tienes Winnuke, que es uno que nukea al 139 y fiesta. Tienes el Revolution Pack 1 (que es un preview de Kutuskus 2.0) que es lo más avanzado en OOB... lleva script para poder seleccionar mogollon de nicks y nukearlos desde el mirc, si no encuentra el 139, busca otros puertos por donde nukear. ¡Una cosa! El Revolution Pack actual (Beta 3) no usa raw sockets, asi que NO spoofeo la IP, puedes ser detectado. Por ciertos, los parches los tienes en el ftp de MS.
Nukeo por ICMP
· Esto es una jollita... la idea es más complicada que el OOB por supuesto, pero es que lo que hace es distinto. El nukeo por ICMP no hace nada mas que fludearte y tirarte del servidor de IRC en el que estés. ¿qué como?. Antes hay que echarle un vistazo a algunas cosas. El protocolo del IRC tiene una gran putada, y es que puedes saber la IP de cada usuario, simplemente con hacer un USERHOST (/dns en el mIRC). Este comando de servidor, te devuelve la IP del nick que le digas con lo cual es muy sencillo hacer putadas en IRC. El mismo /whois del mIRC te devuelve el host y el servidor de IRC al que esta conectada la victima. Teniendo la IP y el servidor... podemos decirle al mIRC de la victima, que su servidor no lo entiende. Ahora diras... ¿qué dice este tio?. Pues muy sencillo. El ICMP sirve para mandar/recibir errores, ¿no?... cualquier aplicación que se las de de buenas, debe saber que hacer con los mensajes de ICMP que hace. El mIRC es una aplicación buena... y si le llega un mensaje de ICMP del servidor a donde esta conectado, como que el protocolo que esta usando el mirc (el TCP), no lo entiende (el servidor no lo entiende)... el mIRC corta la comunicación. Bueno... entonces lo que hacemos es preparar un mensaje de ICMP. De IP destino ponemos la IP de la victima, de IP fuente, ponemos la del servidor (hacemos un spoof, como si el mensaje lo mandara el server), de tipo de error de ICMP, ponemos el 3 (mira el capitulo 1) y de codigo de error el 2 (protocolo no encontrado). El problema llega a la hora de que la conexión mirc/server es por TCP, puesto que debemos saber que puerto remoto (el del server) esta usando la victima y que puerto local esta usando la victima, puesto que si no, el mIRC no hará ni puto caso al mensaje de ICMP. Lo que hacemos es ir probando. Puesto que casi todos los servers de IRC tienen pocos puertos escuchando (del 6666 al 6669, 7000-7001 etc.) y el mIRC solo usa desde el puerto local 1024 al 4000 (los pone al azar)... vamos haciendo combinaciones de puertos hasta que acertamos con los dos puertos. En el momento en el que coinciden los dos puertos... el mIRC desconecta... y el servidor desconecta de él inmediatamente... suelen salir Read Errors, Write Errors etc. puesto que en una desconexión TCP, también debe mandarse un paquetito diciendo que te desconectas... y el mIRC no lo hace.... esto no lo se a ciencia cierta, pero imagino que será por eso). ¿Parches? Ninguno ¿Soluciones? Kutuskus 2.0... el Kus actua como filtro de ICMP para el mIRC... puesto que es mas facil que te nukeen, que que tu servidor no encuentre el TCP X-DDDDDDDDDDDD... Kutuskus elimina todos los mensajes de ICMP que te digan que no encuentra el protocolo, y que vayan dirigidos a puertos estandar del IRC (6666-6669, 7000-7001, 4000-4440)... ¿¿verdad Glor, tu que sabes deso?? >;))). ¿Programas para nukear? El Click the 7th Sphere... posiblemente añada uno a Kutuskus, pero es que quiero sacarlo pronto ya :))). ¿Watchers de ICMP?... pues tienes dos... el Revolution Pack (el mio) que soporta DDE, te avisa de que te nukean en el propio mirc y te dice quien te esta nukeando (suponiendo que no spoofee la IP... el click NO la spoofea)... o el ICMP Watch... mas que conocido... pero no detecta los echo-reply. ¿Fuentes? Ya te digo... Capitulo III de The Kus. ¿Dónde consigo el click?... en la pagina del Glor.
Joder que guay :)))... oye, ¿y entonces por que no puedo mandar un mensaje al servidor como si fuera otro?... sería mortal X-DDDDDDDDDDD
· Es cierto... tu puedes spoofear un paquete y mandarlo al server. Suponiendo que:
Sepas la IP de la victima (facil)
Sepas la del server (facil)
Sepas el puerto remoto (del server)... haciendo pruebas :((((
Sepas el puerto local (de la victima)... joder, haciendo mas pruebas :(((
· A primera vista es como si mandaramos un mensaje de ICMP, ¿¿nooo??... ¿¿porque no se puede?? Muy sencillo... El handsake no puede ser spoofeado... en el handsake el server te da un numero que deberas usar en todos tus mensajes de TCP, y que ademas, lo puede ir cambiando (NO se si lo cambia)... teniendo en cuenta las probabilidades que hay... te podrias pegar 23 dias para mandar un mensaje como si fueras otro... y eso teniendo en cuenta que el número que te dan en el handsake no cambie. Pero quizá me ponga a hacer pruebas con esto algun dia :)))
07 — UDP, TCP y DCC floods
Oye... he oido por ahí que el UDP también es una putada
· Bueno, bueno... el UDP es un protocolo por datagramas, lleva una pequeña cabecera con el puerto a donde va dirigido. Es famoso en el IRC porque puedes fludear (fludear es llenar de mierda el modem de otro mandandole datos que no le valen para nada) a un tio simplemente sabiendo su IP. Como ventajas de usar UDP para fludear:
Tienes muchos programas que fludean por UDP
Sólo necesitas una IP
Es fácil programar un Udpeador
Es un protocolo muy rapido y no te fludeas a ti mismo
Es facil marear a un ICMP watch a base de UDP al azar
· Pero claro... tiene desventajas
Tamaño máximo de paquete: 8Kb (bajo Winsock 2.2)
Facilmente detectable
Si no son spoofeaos, aparecen bajo netstat
Si no encuentras un puerto del otro que este escuchando, se te devuelve ademas un mensaje de ICMP dando un "Puerto no alcanzable" (asi que te fludeas tu tambien)....... perooooo... Win95 tiene siempre un puerto de UDP escuchando siempre (y no aparece bajo netstat)... es el puerto 7. Asi que no habrá mensajes ICMP si atacas a alguien con el win95 al puerto 7 (je, a no ser que use Kutuskus, que captura los ataques al puerto 7).
· Claramente el porque se usa el UDP es por sencillez... es potente eso si, pero deja muchas huellas si no se spoofea... y si tienes que andar haciendo un spoof, para eso se manda un paquete IP spoofeao de 64Kb y no dejas ni media huella X-DDDDDDDDDD
· ¿Parches?... Ninguno... a lo sumo detectar de quien te vienen
· ¿Peligros?... pues que tranquilamente, si el otro tiene un modem mas rapido que el tuyo... puede llegar a que tu no puedas hacer nada en la red, mientras que el solo pierde velocidad al mandar.
· Mentiras: ni firewalls ni hostias... el UDP si lo mandas, llega. Por mucho que la gente se ponga un firewall en un ordenata (sin tener red!! X-DDDDDD) pensando que si dice que no lleguen UDP's, no van a llegarle X-DDDDDDDDDDD (me he encontrado con gente asi X-DDDDDDDDDDDD)
· Verdades: no debe usarse NUNCA. ¿por qué?... sencillo... el UDP inunda la red completamente, con mensajes que no valen para nada... Actitudes asi pueden llegar a que ciertos servicios sean incluso de pago. Los floods no deben llegar a usarse nunca si no tienes otra cosa para defenderte.
· ¿Otro uso del UDP?... ralentizar un nuke de ICMP que te esten haciendo. Puedes enviar multitud de mensajes de 1 byte, a un puerto que sepas que NO esta esuchando... asi que el otro tendrá que mandar mensajes ICMP... y por tanta usar ancho de banda de su linea a la vez que te nukea (asi le frenas bastante el nuke)... las versiones mas antiguas de Kutuskus usan el Multicox... que es eso :))).
Oye... ¿y se puede usar TCP para hacer un flood?
· Si y no... dejame explicar X-DDDDDDD... Si consigues un puerto que este escuchando en la víctima... te consigues conectar y que no te tire, claro X-DDDDD... una vez que hayas hecho el handsake, el otro ordenador se comerá el primer paquete que le mandes (Aunque sean 64Kb). El problema es que casi todos los programas usan protección contra flood... es decir, se comerán el primero, pero no el segundo. Casi todos suelen desconectar al pasar de unos cuantos bytes e incluso tienes otros que no desconectan... sino que encima te mandan el mismo paquete que les has mandao... asi que los fludeaos sois los dos X-DDDDDDDD El flood por TCP no tiene ninguna utilidad puesto que tu IP no puede ser spoofeada (ya que tienes que mandar la verdadera al hacer el handsake). Tiene una pequeña utilidad en servidores de NT... y es que si en un servidor de WWW de NT entran más de 8Kb pidiendo una URL, el servidor de WWW se cuelga (este fallo se repara con el Service Pack III).
· La utilidad mas importante del TCP-Flood es sin duda la de colgar un cliente mIRC. El mIRC no tiene ninguna protección a la hora de que vengan datos por DCC. Ahora lo explico...
DCC's
· El DCC es un pequeño protocolo montado a su vez encima del IRC. (y tan pequeño, la RFC son 4Kb). Desconozco la parte de ficheros... pero la de chat funciona de la siguiente manera... un nick manda a otro un mensaje diciendo que quiere abrir un chat (haces un /dcc chat |ncubuX)... eso es un IP+TCP+PRIVMSG |ncubux 101 (me parece que es 101... no se... no me acuerdo exactamente... mirar la RFC si quereis saberlo exacto, tampoco vale para mucho X-D). Al otro en el PRIVMSG (es que no me acuerdo de la estructura exacta)... el MIRC (no tu) le dice que estará esuchando en el (por ejemplo) 1081 de TCP. Al otro le sale la ventana de aceptar chat... si lo acepta... su mIRC le manda otro PRIVMSG diciendo que ha aceptado el chat... Su mIRC abre un puerto TCP por ejemplo el 1085... y ahora todo lo que le llegue al primero desde el 1085 del otro (a su 1081)...el mIRC lo mostrara en ventana y viceversa. El DCC es una charla de IP a IP... con una colaboración al principio por parte del servidor. El mIRC abre los puertos (donde va a estar escuchando) al azar... es importante para entender...
EL DCC-FLOOD
· El DCC-Flood es otra pequeña cabronada... consiste en que yo (el malo) cargo mi Kutuskus (u otro programa que haga DCC Flood)... y abro un puerto TCP que estará escuchando (lease el 4444 de TCP). A la victima, le mando un PRIVMSG diciendo que quiero chatear con ella en mi puerto 4444. Si la victima dice que no... pues no pasa nada... si dice que si... su mIRC abrirá un puerto... se conectará automaticamente a mi 4444 (porque asi se lo digo en el PRIVMSG) y mi 4444 al detectar una conexión, la acepta.... y manda datos sin talento... osea, que le empiezo a fludear de lo lindo. Puesto que el mIRC muestra TODO lo que le llega en las ventanas de DCC, el scroll de la ventana toma demasiado tiempo de procesador... y cuelga COMPLETAMENTE el mIRC. ¿Proteción?... no aceptes chats de nadie desconocido, y menos si usan puertos por encima del 2000 (todos los programas que conozco de DCC flood usan puertos entre el 4000 y el 4505... Kutuskus te deja seleccionar puerto para que esto no mosquee). El DCC-Flood es peligroso solo porque tienes que cerrar el mIRC con CTRL-ALT-DEL (y con cuidao, claro >:)) Hay otra solución y es decirle al amigo que hizo el mIRC que ponga una protección contra flood en el mIRC (desconozco si la ha puesto en las versiones nuevas porque yo sigo con mi 4.7 X-DDDDDDDDDDDD)
Finger Flood (o era con el Ident Server, no me acuerdo X-DDDDDDDD)
· Puede parecer una tonteria, pero es más o menos lo mismo que ocurre en el DCC Flood... te conectas al 79 de un tio... le mandas datos (a partir de 500 bytes o por ahi el mIRC no los muestra en el status)... y si el tio tiene puesto lo de "Mostrar conexiones al finger", le saldran los caracteres que le mandes :)))))... pero ojito... tambien sale tu IP >;)))... además.... es suficientemente lento como para que ni siquiera se entere >;))))
Joder... tengo las manos heladas
· Ya sabes...una revistika porno y al baño X-DDDDDDDDDDDDDDDD
08 — Port Scanning, Excess Flood y Bomba IP
Bueno tio... has hablado de conectarte a un puerto de TCP y fludearlo si te deja... joder... pero ¿cómo se yo los puertos que tiene el otro escuchando?
· Es sencillo pero pesado... Necesitas un escaneador de puertos... a ser posible, bueno. Me explico. Un escaner de puertos normales... va probando todos los puertos de la víctima (hablamos de TCP)... 1 por 1 (osea, 1 socket por cada puerto que escaneas). Si se logra una conexión... ese puerto está escuchando, por tanto podemos probar a conectarnos a él. Teniendo en cuenta que alguien puede elegir puertos locales donde escuchar desde el 0 hasta el 65535, es una tarea pesada escanear a alguien (los escaneadores normales escanean unos 10 puertos por segundo). ¿por qué digo lo de buscarse un escaneador (port-scanner) bueno?.... pues bueno... primero... el escaneo de puertos es ilegal (puede parecer una tonteria... pero lo es), segundo... tienes que mandar 3 paquetes por cada puerto que haya abierto, y 1 por cada uno que no lo esté, tercero... si el puerto está abierto, y te conectas (aunque nada mas conectar, desconectes)... tu IP real queda "grabada". Esto es lo mas importante. ¿entonces, joder, que hago? – te preguntarás. Pues muy facil (no tanto, la verdad)... NO terminas de conectar... simplemente mandas un mensaje para entablar conversacion (un SYN... mira el capitulo I)... si te devuelven alguna contestacion, es que ese puerto esta abierto, si no te devuelven contestacion... ese puerto está cerrado. ¿Que ventaja obtienes asi?... facil... casi todas las implementaciones (TODAS que YO conozco) de sockets TCP, no guardan la IP hasta que se da la conexión es decir, hasta que tu repliques al mensaje que te mande el otro despues de hacerle tu el SYN. A esto se le llama Syn Scan... hasta ahora no se podia hacer bajo windowz por no soportar raw_sockets, pero Kutuskus 2.0 lo lleva :)))) Supongo que algún día harán alguna implementación que guarde la IP cuando te manden un SYN >;))) (ya digo que desconozco por completo si hay alguna que lo haga).
Joer... pos si kes peligroso el IRC... y eso del kick y ban y demas cosas
· Se me olvidó decirlo al principio (pa los nuevos digo)... eso no son putadas son comandos propios del IRC... eso no te lo voy a enseñar yo porque lo puedes ver en cualquier lado, okis? :)))
El otro día me cai por excess flood... ¡¡y no hice nada!!
· El excess flood es una manera de que te tire el propio servidor... si mandas muchos datos (e incluso en unos servidores, si recibes muchos)... el servidor te tira, para prevenir floodeos. Pero claro... esto tambien puede ser explotado.
· Hoy en dia, con tanto script (je... y esperar a ver el Kus Attack Script de la mano del Glor y mía) es casi imposible que te caigas por excess flood (claro, a no ser que TU mandes muchos datos... pero porque TU quieras mandarlos). Lo que se explota del "Excess Flood" no es mas que el hecho de que tu mIRC (subrayo que es el programa)... acepta por defecto todos los mensajes ctcp que te llegan. El ctcp es propio del mIRC (por lo menos en la RFC que yo tengo no pone lo contrario). Entre ellos tienes el Ping, el clientinfo etc.etc. El más cabron sin duda es el clientinfo, ya que el que te manda un clientinfo, manda solo esto: PRIVMSG |ncubux CTCP |CLIENTINFO|... mientras que tu mandas una cadena muy grande diciendo que admites sonidos, clientinfos, pings etc. El mirc, ya te digo que por defecto, cuando le llega un clientinfo, responde :))) asi que si te llegan muchos, responde muchos... mandas mucha informacion (mas que el otro) y entonces te tira el servidor. Para defenderte, lo mejor que puedes hacer es como hacemos los de Setabia's Hell X-DDDDDDDDDDDDD... filtramos todo por un proxy (kutuskus)... si el programa detecta varios clientinfos, o varios ctcps... no se los pasa al mIRC, saca la IP del que te ataca y le mete un ssping (que si no cae, por lo menos que se joda un poco X-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD). Como esta version de Kutuskus (la 2.0) no la vas a encontrar por ahí hasta dentro de un mes por lo menos, cogete un buen script... lease por ejemplo Sweet Revenge 2.0. y lo mejor que puedes hacer es ignorar TODOS los mensajes ctcp... asi seguro que no contestas ninguno :))))))). Para atacar... esto es más complicadillo. Cargas varios clones (yo uso siempre 2)... un clon es simplemente otra conexión tuya a la misma red de chats... osea, que abre otro mirc, y conectalo a la misma red (no al mismo server, porque te pillaran pronto... si te pillan, te cae un g-line o un k-line y ya no puedes entrar a ningun server de esa red en un tiempo determinado... o por lo menos tienes que desconectar y conectar otra vez... para que te cambie la IP tu ISP). Yahora, con tus clones... metele muchos clientinfos a la victima... e ignora todo lo que te mande... Naturalmente... NO lo hagas a mano... y pillate un buen script... eso si... no esperes muchos resultados porque mucha gente ignora ya los ctcps.
Bomba IP (lo que se llama por ahí IP Bomb)
· Es el flood mas efectivo... aunque más dificil de hacer. Simplemente mandas paquetes bestias, con IP spoofeada, y sin protocolo (solo el IP, claro!) a una victima. Si tu conexión es mas rapida, pues acabaras dejandola sin poder hacer nada (mientras le metas, claro esta) :)))) Actualmente, el winsock 2.2 ya permite hacer estas cosas, asi que pronto veremos todo lleno de cosas de estas.... pero como ya decia antes, no se deben emplear flooooooods >;)))))))
09 — Ping timeout, agradecimientos y nota del 26-Dic
Joder... que me he caido por ping timeout
· El ping timeout es cuando no respondes a un mensaje del servidor: PING 23482378 (numero al azar). Tu simplemente ves que te desconectas, pero nada mas. Te tienen que decir lo que te ha pasado. Como recomendación... cambia de server (si no te estan fludeando a la IP, claro)... si tarda mucho en conectar, busca otro. :))))
· Caerse por ping timeout suele pasar por varios motivos:
Que estes haciendo mogollón de cosas y tu modem no pare de bajar cosas
Que te esten fludeando a pelo (a la IP)
Que el servidor se piense que te ha mandado un ping que no te ha mandado (y por tanto tu no lo has respondido)... desgraciadamente suele pasar esto.
Que tu cliente de IRC no responda pongs (je... los primeros clones de Kutuskus no lo hacian X-DDDDDDDDDDDDDD)
· Verás que la gente se cae por ping timeout: al azar X-DDDDDDD, cuando han sido nukeados por OOB, cuando estan siendo fuertemente fludeados, o cuando han sido sspingeados y no llevan parche.
Joder... sigo teniendo las manos heladas
· Tio, pues la paja te la vas a clavar tu X-DDDDDDDDDDDDDDDDDDD... no esperes que te la hagamos ninguno X-DDDDDDDDD (joder, es que es sabado a las 5 la tarde, y ya me empiezo a cansar de escribirrrrrrr X-DDDDDDDDDDDDD)
Acabando el documento... y agradecimientos
· Na tio... que hoy no me apetece escribir mas (era solo para demostrar que sabia escribir X-DDDDDDDDD)... Los que no esteis conForme, mejor, es un mal tipo X-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... no joder... diosssss que me voy del mundo X-DDDDDD... que tranquilos que habrá más en el siguiente documento... algo me dice que me acabao pasando en este documento, :)))... lo siento para los mas nuevos, pero haré pues un 4º documento, ¿hace? >;)))... para los que os haya gustado... pues nada... que en el 3º veremos la programación de todas estas cosas y por supuesto, seguiremos con todo lo que me he dejado que debería entrar en este capitulo (pero es que no me apetece escribir masssssss X-DDDDDD)
· Desde aquí gracias a los de la otra vez, y echar un saludete pa la gente pa la que va dirigida este documento (al Glor no porque ya sabia todo el rollo este, al |mpor tampoco porque no se leyo ni el manual de Kutuskus que son 4 paginas X-DDDDDDDD, al Kyrenee tampoco por pasarme fotos guarras... y hoy tampoco a mi madre por no hacerme chocolate, joder... me voy a merendar X-DDDDDDDDDDD)... gueno, a lo que iba... a toda esa gente de Movera que estuvimos en la quedada del 22-N (yo celebré mi carnet de conducir y que un cierto personajillo calvo con bigote la palmo 2 dias antes hace un guevo de años... ya tardo el cabron X-DDDDDDDDDD)
Nota del 26-Diciembre
· Acabo de pasar este documento a HTML... posiblemente este lleno de fallos, tampoco me he matao mucho al pasarlo, asin que si veis alguno gordo, ya sabeis que el email para estas cosillas y pa lo que querais es: Setahell@geocities.com
— |ncubuX / Setabia's Hell, 1.997. Nada de copyright, naturalmente.