7a69 nº6:(7A69_3_6.txt):24/10/1999 << Back To 7a69 nº 6
╔════════════╗ ---------------------║ 24-10-99 ║------------------- ╚════════════╝ ------------------------------------------------------ ▓▓▓▓▓▓▓▓▓▓▓░ ▓▓▓▓░ ▓▓▓░ ▓▓▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓▓▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓▓▓▓▓▓▓▓▓░ ▓▓░ ▓▓░ ▓▓▓▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓░ ▓▓▓▓▓░ ▓▓▓░ ------------------------------------------------------ E-ZINE (R|p3HACK nº6) [By Ripe] ------------------------------------------------------ -Distribuidores oficiales de 7A69- http://www.geocities.com/fashionavenue/Stage/1500 -Colaboradores en este numero- |CoDeX| Dan^^ IReick Ripe -Recomendaciones- Usar el EDIT de MS-DOS o el JED de linux para leer este E-Zine ------------------------------------------------------ "Solo hay una cosa segura, la infinita inseguridad de la seguridad" [Mandad frases como esta, que me canso de poner siempre la misma] ############################################################################# # NOTA: Ninguno de los colaboradores en este e-zine se responsabiliza del # # mal use que el lector pueda hacer de la informacion que aqui se # # presenta, ya que esta esta expuesta con fines unicamente # # informativos. Asi que ya sabes TODO LO QUE HAGAS ES RESPONSABILIDAD # # TUYA, NO NUESTRA. # ############################################################################# ╔═════════════════════════════╦═════════════════╦═════════════╦═════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ * AUTOR * ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║1.- Presentacion ║ ║ ║ Ripe ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║2.- Hackers en IRC ║ Canales de IRC ║ ║ Ripe ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║3.- Comandos basicos del FTP ║ Hacking ║ Muy bajo ║ Dan^^ ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║4.- La historia de los virus ║ Viruses ║ Muy Bajo ║ Ripe ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║5.- Curso de UNIX II ║ Hacking ║ Bajo ║ Ripe ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║6.- Introduccion al TCP/IP ║ Redes ║ Medio ║ |CoDeX| ║ ║ III ║ ║ ║ ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║7.- Criptografia II ║ Datos ║ Medio ║ |CoDeX| ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║8.- ¡No dejes huellas! ║ Hacking ║ Bajo ║ IReick ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║9.- Tecnicas de hacking ║ Hacking ║ Bajo ║ Ripe ║ ║ (Sniffing y spoofing) ║ ║ ║ ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║10.- Proyectos ║ El futuro ║ ║ Ripe ║ ║─────────────────────────────║─────────────────║─────────────║─────────────║ ║11.- Despedida ║ ║ ║ Ripe ║ ╚═════════════════════════════╩═════════════════╩═════════════╩═════════════╝ ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║1.- Presentacion ║ ║ ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] Ya volvemos a estar aqui, esta vez con mas ganas que nunca y con mas colaboradores (saludos a Dan^^ y a IReick). En el numero anterior pedia distribuidores oficiales para 7A69, y la verdad es que me a sorprendido no recibir nungun E-Mail, seguramente ello a sido asi por un problema en Tripod que no permitia al visitante de la web bajarse ninguno de estos textos, por ello se va a crear ademas de la lista de distribuidores una lista de E-Mails a los que se enviara un "toque" (aviso) una semanita antes de que salga el proximo numero (es bueno estar informado), para pedir suscripcion basta con comunicarmelo (ripe@mixmail.com) y en principio recibireis el aviso YA del numero 7 del E-Zine al mail. Insistire un poco con el tema de los distribuidores de 7A69; si estais intresados en distribuir 7A69 a cambio de un Link de mi pagina a la tuya comunicamelo al E-Mail que lees un poco mas arriba (Pero mandad leshes) :D Tambien estoy pensando en crear una seccion del estilo.... "habla el lector", en el que publicare algunos mails que me lleguen y que den opinion sobre algo relacionado con el UndeGr0unD (y mas cosas). Ya se que es realmente peligroso habrir una seccion de estas (lo digo por la abalancha de E-Mails xD, es broma) ya que otros E-Zines en epoca creciente han intentado hacer algo parecido y los E-Mails que recibieron fueron realmente pocos (al menos eso tengo entendido), asi que por favor escribo algo, aun que creas que es una parida (si es algo serio mejor, pero ya sabes.... mas vale poco que nada). En principio no publicare el la direccion de correo electronico de el que me mande algo, a no se que este especifique en el mismo mensage que quiere que aparezca en 7A69 su E-Mail. NOTA:Quisiera agradecer a todas aquellas personas que me han enviado E-Mails comunicandome los errores de hipervinculage (hasta invento palabras xD) que habia en mi web. Decir tambien que el problema es de Tripod que es muy lento y a veces se le va la olla, por ello mismo expongo aqui el deseo de meter mi web en otro servidor. Al ser posible me gustaria que no hubiera publicidad, que fuera rapido y que me proporcionara bastante espacio (¡¡y la luna!!), bueno ahi queda, si alguien posee un servidor y me puede proporcionar lo que pido que me lo comunique ¡¡Lo necito cuanto antes!! ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║2.- Hackers en IRC ║ Canales de IRC ║ ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] Lo primero que yo debria decir es que el IRC no es mas que un Chat, conversaciones a tiempo real entre diferentes personas conectadas a una red y a un canal. Los llamdos Hackers "necesitan" reunirse para plantear sus dudad, exponer ideas, o simplemente pasar el rato charlando. Existen infinidad de canales orientados al hacking en el IRC de la red irc-hispano.org, #hacker, #hacker_novatos, #hacking, etc. y en este texto intentare explicar un poco el ambiente que se vive en cada uno de esos canales. #hacker_novatos: Debido al nombre (NOVATOS), muchos pueden pensar que en este canal solo se reune la "gerna" de hacking, pero he de decir que no es asi, el nivel en #hacker_novatos es igual (o incluso mejor :P) que el del resto de los canales, es decir, no demasiado alto :( #hacker: Tras unas epocas de crispacion y "mal rollo" entre algunos de los asistentes habituales a este canal (entre los cuales, por desgracia me incluyo yo), parece que las cosas han ido mejorando, y el ambiente que se vive en #hacker es medianamente bueno, aun que es demasido habitual ver siempre a los mismos.... y away (los hay que tienen tarifa plana, y se dedican a sobrecargar los servidores de IRC quedanse conectados las 24h). #hack: Aqui se reune la supuesta 31337 del hack español, si bien es cierto que puedes encontrar gente de autentico nivel, es un canal en el que es muy dificil integrarte. #hack_novatos: Algunas personas se empeñan en decir que los canales #hack_novatos y #hacker_novatos son "rivales". No se de donde habran sacado esa chorrada. Yo no entro en este canal, sin embargo lo he echo alguna vez, y he de decir que el grupo es algo mas reducido que el de #hacker_novatos (no quiero decir que sea peor). #hacking: Otro de los canales a los que no entro. Segun tengo entendido en este canal el nivel es mas o menos alto, sinembargo el grupo es bastante reducido. #seguridad_informática: (Con acebto en la "a") Este canal esta mas bien dirido a gente que se defiende de los hackers, pero... ¿Que mejor que ser un hacker para defenderte de ellos? Por lo que aqui tambien encontraras algun que otro hacker de "nivel". Hay bastantes mas canales dedicados al hacking y la seguridad informatica, pero no los incluire aqui ya que algunos de estos grupos pretenden ser un grupo reducido, y no pretendo dar a conocer canales en los que sus asistentes no desean recibir extrageros :) ¡Ah! Ademas de canaler dedicados al hack podemos encontar ortros canales dedicados al mundo del undergr0und, entre ellos #virus (normalmente no muy poblado, tendras suerte si ves a mas de dos dentro), #phreak (no se habla demasiado), #crack (normalmente no se encuentra a nadie).... ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║3.- Comandos basicos del FTP ║ Hacking ║ Muy bajo ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Dan^^ ] Muchas personas (casi todas) usan algun programas del estilo CuteFTP para utilizar este servicio, sinembargo pocas de ellas conocen lo que se esconde tras ese programa, los comandos del FTP. En este texto intentaremos explicar de una forma directa el funcionamiento de dichos comandos. Para acceder al modo comandos debes usar un programa FTP que permita al utilizacion de estos, uno de ellos puede ser el programa ftp que incluye el MS-DOS, para usarlo teclea "ftp" tras el simbolo del sistema, entonces te aparecera "ftp>" esperando que tu introduzcas las ordenes. Ahi va la lista de los comanandos y una brebe explicacion de cada uno de ellos: ? -Te mostrara una lista de los comandos. ! -Salir del ftp. append -Agrega un archivo a otro. bell -El equipo mostrara un sonido cada vez que termine de ejecutar una orden. bye -Termina la sesion ftp y cierra la aplicacion ftp. close -Termina la sesion ftp sin cerrar la aplicacion ftp. cd -Cambia de directorio, lo mismo que en DOS. debug -Activa o desactiva el modo depuracion del ftp. delete -Borra un archivo del server al que estamos conectados, ejemplo: ftp>delete ripe (<Ripe> ¡¡sera cachondo!!). dir -este aun no lo he descubierto.... pero os avisare cuando lo condiga. xDD disconnect -Pues se desconecta del server. get -Recupera (hace un download) al archivo que te de la gana y lo pone en el directorio de trabajo del PC, ejemplo: get discoDAn.zip literal -Envia ordenes ftp arbitrarias ls -mmmmm este es parecido al dir.... mmmmm ¡¡Pero no caigo!! lcd -Cambis el directorio de trabajo de tu PC, como cd... mdir -Muestra el contenido de varios directorios del server remoto. mdelete -Borra varios archivos en el server remoto. mkdir -Crea un directorio al igual que en DOS.... Linux. mget -Recupera (hace un download) de varios archivos del server. mput -Manda archivos al server remoto (hace un upload). open -Se coneta al servidor ftp, ejemplo: open 212.89.98.678 prompt -Hace que el ftp te pida verificacion cuando se efectuan operaciones con varios archivos. put -Envia un archivo. quit -Termina las sesion del ftp y cierra la aplicacion. pwd -Muestra el nombre del directorio actual en el server remoto. recv -Recibe un archivo. send -Envia un archivo. rmdir -Elimina un directorio en el server remoto. rename -Cambia el nombre de un archivo. remotehelp -Pide ayuda al server. status -Muetra el estado actual. trace -Activa o desactiva el seguimiento de los paquetes user -Te identifica ant el server remoto para dar los permisos de acceso. type -Configura el tipo de transferencia de archivos. verbose -Activa o desactiva el modo de mensage detallados. Bueno aqui termino..... espero que aprendierais algo. Byes. ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║4.- La historis de los virus ║ Virus ║ Bajo ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] Bueno lectores de este maravilloso E-Zine, despues de que |CoDeX| nos diera unos conceptos basicos de como funcionan los virus, creo que ha llegado la hora de hacer un poco de historia, y contar como ha evolucionado el tema "virus" ;) Vamos alla... Actualmente los virus son una de las amenazas mas importantes que puede tener una computadora. Aun que los creadores de virus son los "delincuentes informaticos" que mas daño causan, en muy pocas ocasiones son capturados, aun que ultimamente el mismisimo F.B.I. esta poniendo mucho empeño en campturar a este tipo de "delincuentes". Gracias a ello el 1 de Abril de 1999 el F.B.I. procedia a la detencion de David L. Smith, presumto creadore del virus MELISSA (Podeis leer un articulo sobre este virus en el numero X de este mismo E-Zine), tambien se ha conseguido descubrir al creador del virus mas dañino de la historia (hasta ahora), el CIH, este fue Che Inh Hau, que puso sus iniciales en el nombre del virus. Pero dejemos la actualidad, y dirijamonos a la epoca pre-historica :P Aun que fue hasta los años 80 cuando salieron a la luz los primeros virus, en 1949 el matematico estadounidense Hohn Neuman ya planteo la posiblidad de que un programa tenga la capazidad de reproducirse a si mismo en un articulo llamado "Teoria y organizacion un automata complicado" (currado el titulo), un año mas tarde aparecieron las denominadas Core Wars, un juego que consistia en introducir dos programas de este tipo en un mismo computador, de manera que los programas debian ir "conquistando" zonas de la memoria, y ganaba el creador del programa que habia conseguido ocupar mas memoria o destruir por completo el programa del rival. A pesar de la popularidad de este juego entre los investigadores informaticos, las Core Wars no se dieron a conocer a la gran masa hasta que Ken Thomson (Uno de los diseñadores del sistema operativo UNIX) lo menciono en un discurso que realizo tras la recogida de un premio. Al año siguiente nacio el concepto de virus como un programa que es capaz de modificar otros para incluir su codigo en el interior, ello lo explico Fred Cohen en una tesis y lo demostro con algunos ejemplos. Mas tarde empezaron a aparecer los primeros virus, que estaban programados en script para UNIX, a estos virus se los bautizo como gusanos o conejos. Virus como Cristman tree, Hi.com o Wonk Worm fueron los primeros en aparecer aun que el gusano mas conocido fue el creado por Robert Morris (Otro de los deiseñadores de UNIX y muy aficionado a las Core Wars) en 1988 y que proboco un autentico caos en internet. Como hemos dicho, en principio los virus estaban unicamente orientados a los sistemas UNIX, pero con la aparicion de los primeros PC's (el 8086 de IBM) qmpezaron a crearse virus para los PC's, aun que no fue hasta la aparicion del 8386 (mas conocido como 386) que se creo la "epidemia". Al parecer el primer diseñado para PC fue el creado por Basit y Amjads (Dos dessarolladores de la universidad de Pakistan) y fue denominado Ashar. Este virus no salio nunca de los laboratorios, pero poco despues una variante de Ashar era capaz de infectar el sector de inicio de los disquetes de 5'25 pulgadas, nacia asi el primer virus que atacaba al sector de inicio. Esta variante denominada Brain se caracterizaba por su capazidad de ocultarse, por lo que no fue descubierto hasta un año mas tarde. Despues de Brain siguieron apareciendo virus experimentales como Virden Burguer o Rush hour. Un año mas tarde, en 1987, aparecieron los primeros virus que causaban autentico daño, el primero en darse a conocer fue el Viena, el cual afectaba a ficheros com de manera que al ejecutar el fichero se reiniciava el PC en una de cada ocho veces (¿y que pasa si se infecta el command.com? :P). El Viena fue el primero de una larga lista de virus en la que destacan los virus Viernez13, Hemp, Stoned o el conocidisimo Ping-Pong (mas tarde con su varaiante typoboot). En 1988 aparecio un programa que era capaz de detectar y eliminar el virus Brain, nacio de esta manera el primer antivirus de la historia. Como ya hemos dicho, un gusano creado por Robert Morris proboco un autentco caos en internet ese año. A caballo entre el 1988 y el 1989 aparecio el Virus-B, que estaba programado apartir de otro virus y que no presentaba intenciones dañinas. Los primeros meses de 1989 fueron bastante tranquilos en lo que a aparicion de virus se refiere, pero ya en la segunda mitad algunas BBS fueron divulgando virus como Alabama, Do Nothing, MIXI, YanKer Doode y Vienna Ghostball (una variante del virus Vienna). A finales de año Dark Avenger (que a lo largo de la historia ha aportado numerosas ideas en cuanto al desaroyo de los virus) saco a la luz el DarkAvenger.19800, uno de los virus que mas fama ha tenido a lo largo de la historia. La decada de los 90 empezo con la aparicion del 486, de la version 3.0 de Microsoft Windows y de las primeras empresas de software antivirus. Entre los virus que aparecieron ese año cabe destacar V2px, virus90, Virus-101 y Fish (este ultimo con un mecanismo de encriptacion). Las BBS se iban llenando de informacion referente a los virus, de manera que muchos creadores de virus se dedicaron a modificar los ya existentes, asi pues en 1991 aparecio el virus Michelangel, que no era mas que una variante del Stoned (este virus fue sobrevalorado por la premsa del momento, que exagero notablemente sus efectos probocando un autentico panico). Ese mimso año se dio un paso muy importante para los creadores de virus, nacio el MTE, un motor de mutacion diseñado por Dark Avenger y que permitia a los virus mutarse, y ocultarse asi mejor. El virus Grove aparecio un año mas tarde utilizando ese motode de mutacion. El 1993 fue el año en que internet se lanzo a la fama, los usuarion de la red habian crecido mucho en los 2 años anteriores y los creadores de virus vieron en ella una manera eficaz de propagar sus virus. En esa epoca se conocian algo mas de un centenar de virus, por lo que nacio Microsoft antivirus MSAV junto el MS-DOS 6.0. Ese año salieron a la luz una imensa cantidad de virus; Temor, Monkey, S-Bug, Chull Tauch, Kaos4, son algunos de ellos. Ya en 1995, con la aparicion de Microsoft Windows 95 y Microsoft windows NT se convatoa a los virus de arranque (los que mas se estaban dibulgando en esa epoca) y parecia que tendian a desaparecer, pero nada mas lejos de la realidad, ese año aparecio el primer virus macro, fue Concept, que luego seria seguidi por otros como Wazzu, Nuclear o NOP entre otrso muchos. El 1996 tambien fue la epoca de los virus macro, durante ese año aparecieron mas de 500 virus macro (aun que seguian apareciendo virus programados en ensamblador), entre ellos destaco Harry, que utilizaba un control virtual de dispositivo; mas tarde aparecieron dos varaintes de este virus, Anxiety.A y Anxiety.B. Al año siguiente eparecio el conocido virus Spansaka, que atacaba a ficheros com, del cual aparecieron cuatro variantes, Spansaka.1000, Spansaka.1120.B, Spansaka.1500 y Spansaka.4250, todos ellos se dibulgaron por la red atraves de grupos de noticias (News). Ese año anacio tambien un completo virus denominado Olivio. En 1998, y con la aparicion al mercado con la version 98 de Microsoft Windows, aparecio el virus Marburg, de la mano del creador de virus español GriYo (Desde aqui un saludo). Marburg es un virus polimorfo que trabaja en plataforma win95/98 y que afecta a ficheros Win32 (es el primer virus de la historia que afecta a ficheros de este tipo) y SCR. Ya en 1999 aparecio el virus MELISSA, del que ya hemos hablado y que proboco un autentico lio en internet, incluso el mismisimo servidor de la todopoderosa Microsoft se vio abligada a desactivar el servicio de correo electronico de sus usuario para evitar la propagacion de ese virus. Ese año aparecieron tambien virus como el CIH (del que tambien hemos hablado), que es el virus mas maligno creado hasta la fecha (23-7-99). El CIH proboca un Flas-BIOS, lo que proboca que en algunos casos sea necesario el cambio de la placa base del PC. Un virus que me ha llamado la atencion y de reciente aparicion ha sido el ZippedFile, que realiza una curiosa tarea de ocultacion imitando al programa WinZip. Actualmente se conocen mas de 30.000 virus, aun que ese numer crece a gran velocidad ya que aparecen mas de 200 virus por mes. La ICSA (International Computer Security Associaton) asegura que el 80% de las infecciones que se producen hoy en dia son se virus macro, ellos es debido a que entre las computadoras se intercamvian continuamente documentos de ofimatica. Y volviendo atras con la aparicion de Microsoft Office 95 nacio la nueva generacion de virus, los virus llamdos macro. El primer virus de esas caracteristicas en aparecer fue, como ya se ha dicho, Concept, y tras el aparecieron muchisimos mas. El año 1997 Microsoft saco la nueva version de su paquete ofimaticom que supuso un "paron" para ese tipo de virusm ya que Office97 pide autorizacion antes de ejecutar una macro, pero los creadores de virus no tardaron en encontrar el metodo para saltarse esa proteccion. Muchas de la infecciones viricas en la actualidad de realizan atraves de internet, y sobretodo mediante el correo electronico, con lo que es recomendable vigilar con el "material" recibido atraves de ese medio. Je je... Ahora ya sabemos algo mas del pasado de los virus ¿habra un pasado en el futuro? Ufff que paranoya (es que son las 4:32 a.m. o almenos eso dice el relog del maravilloso Windows ¿se habra bloqueado?). ¡Ah! creo que no hace falta decir que si veis algun error en el texto (una fecha, el nombre de un virus.... lo que se) me lo comuniqueis. ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║5.- Curso de UNIX II ║ Hacking ║ Bajo ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] En la primera entrega del curso de UNIX proporcionado por 7A69 aprendimos a iniciar y finalizar una sesion en este potente sistema operativo, tambien aprendimos quien es el superusuario y que funcion realiza dentro del sistema, en este segundo numero aprenderemos algunas ordenes basicas de UNIX y como obtener ayuda. Antes de empezar a introducir algunas ordenes de UNIX sera necesario saber la estructura de las ordenes en este sistema operativo: $ orden [-parametros] [argumentos] Como se puede ver la oreden se introduce siempre tras el simbolo del sistema ($), ella puede ir seguida de parametros que modifican ligeramente la funcion de la orden y de argumentos (en los que se aplica la orden). NOTA: Los simbolos "[" y "]" no deben introducirse, unicamnete estan para informar al lector que no es obligatoria la introduccion de parametros y argumentos en todas las ordenes. Pero esto lo veremos acto seguido. Despues de presentar la estructura con la que se introduce una linea de orden, quiza que empecemos a ver el funcionamiento de algunas ordenes simples. Muchas veces cuando el superusuario (ver numero anterior) crea una cuenta de usuario asigna un password el mismo, por lo que es posible que el usuario lo quiera cambiar, para ello sirve la orden "passwd". Cuando se introduce esta orden, UNIX nos pide la actual contraseña (no en todos los sistemas), si esta se introduce correctamente este procedera a preguntarnos en dos ocasiones la nueva contraseña, si las dos contraseñas coinciden el password del usuario habra cambiado. ----------------------------------------------------------------------------- | $passwd | | Changin password for Ripe | | Old password: | | New password: | | Re-enter new password: | | $_ | ----------------------------------------------------------------------------- Para que se produzca el cambio de contraseña deben darse algunas coindiciones: --La nueva contraseña ha de diferir tres caracteres de la anterior. --La contraseña ha de ser de almenos 6 caracteres y contener numeros y letras. --La contraseña no puede ser igual al nombre de usuario. NOTA: Cuando UNIX te pida que introduzcas las contraseñas estas no se imprimiran en pantalla por motivos de seguridad. Despues de explicar como cambiar la contraseña de usuario en UNIX voy a explicar la utilidad de algunos comandos basicos. Empezaremos por un comando muy simple; si tu escribes "date" tras el simbolo del sistema, este te respondera con el dia de la semana, el mes, la hora y el año (Esto es facilmente modificable, pero eso lo veremos mas adelante). Este comando puede ser muy util si el usuario esta un poco despistado ;) Pero si el usuario esta muy desorientado puede proceder al comando "cal" (Calendario), ella mostrara el calendario del mes actual. ----------------------------------------------------------------------------- | $cal | | 1 2 3 | | 4 5 6 7 8 9 10 | | 11 12 13 14 15 16 17 | | 18 19 20 21 22 23 24 | | 25 26 27 28 29 30 31 | | $_ | ----------------------------------------------------------------------------- Pero si lo que quieres es obtener el calendario de otro mes debes introducir tras la orden "cal" el mes y el año que quieras. ----------------------------------------------------------------------------- | $cal 10 2000 | | 1 | | 2 3 4 5 6 7 8 | | 9 10 11 12 13 14 15 | | 16 17 18 19 20 21 22 | | 23 24 25 26 27 28 29 | | 30 31 | | $_ | ----------------------------------------------------------------------------- En este caso UNIX imprime en pantalla el calendario correspondiente a octubre del 2000. Bien.... Ya hemos visto como orientarnos en el tiempo si estamos desorientados ;) Como hemos dicho en algun momento del primer numero de este curso (y lo repetimos ahora), UNIX es un sistema operativo multiusuario, por lo que es posible que en algun momento nos interese saber quienes estan conectados al UNIX en un momento determinado, para ello utilizaremos la orden "who". Si escribimos "who" tras el simbolo del sistema aparecera una cosa parecida a esto: ----------------------------------------------------------------------------- | $who | | Amparo tty02 Oct 27 08:21 | | Lois tty08 Oct 27 09:12 | | Ripe tty01 Oct 26 23:47 | | Tomy tty14 Oct 27 02:23 | | $_ | ----------------------------------------------------------------------------- Como se puede observar al introducir el comando "who" aparecen cuatro columnas, de las cuales la primera es el nombre del usuario (o login), la segunda es el identificador de la terminal que se esta usndo, la tercera columna informan del momento en que el usuario se conecto al sistema. Como hemos explicado anteriormente al inicio de este segundo numero del curso de UNIX, algunas ordenes pueden alterar su comportamiento mediante parametros, en el casod de "who" los parametros son los siguientes: ┌────┬────────────────────────────────────────────────────┐ │ -q │ Muestra un listado rapido y el numero de usuarios │ ├────┼────────────────────────────────────────────────────┤ │ -H │ Mustra una cabezera arriba de cada columna │ ├────┼────────────────────────────────────────────────────┤ │ -b │ Muestra la ultima vez que se cargo el sistema │ ├────┼────────────────────────────────────────────────────┤ │ -s │ Muestra una lista de usuarios y alguna informacion │ └────┴────────────────────────────────────────────────────┘ A continuacion vamos a ver el funcionamiento de "who" con sus parametros: ----------------------------------------------------------------------------- | $who -q | | Amparo Lois Ripe Tomy | | #Users=4 | | | | $who -H | | NAME LINE TIME | | Amparo tty02 Oct 27 08:21 | | Lois tty08 Oct 27 09:12 | | Ripe tty01 Oct 26 23:47 | | Tomy tty14 Oct 27 04:23 | | | | $who -b | | System boot Oct 2 04:32 | | | | $who -s | | Amparo tty02 Oct 27 08:21 | | Lois tty08 Oct 27 09:12 | | Ripe tty01 Oct 26 23:47 | | Tomy tty14 Oct 27 04:23 | | | | $_ | ----------------------------------------------------------------------------- NOTA: Como se puede ver who y who -s devuelven el mismo resultado, ellos es por que "who" usa por defecto el parametro -s. Ya hemos visto algunas de las posiblidades que ofrece la orden "who" (hay mas), si quieres saber mas opciones que pueda tener tu sistema sobre algun comando puedes usar los comandos de ayuda de UNIX /help, man, learn). Para empezar de la ayuda de UNIX comentaremos el funcionamiento habitual del comando "help"; al solocitarle al sistema operativo que ejecute la orden "help" este respondera (normalmente) con un sistema de menus, de manera que tendremos que movernos por los apartados y subapartados para encontrar lo que buscamos ----------------------------------------------------------------------------- | $help | | help: UNIX system help | | | | s | | l | | u | | g | | r | | | | $_ | ----------------------------------------------------------------------------- NOTA: En algunos sistemas (y cada vez es mas frecuente) el comando "help" devuelve una lista con los comandos que son aceptados por ese UNIX. Con help buscar informacion sobre algun comando en concreto puede ser algo pesado, por lo que UNIX incorpora la orden "man" (manual), que acepta como argumento (repasa teoria xDDD) cualquira de las ordenes de UNIX, de manera que procede a darnos una explicacion detallada de dicha orden. ----------------------------------------------------------------------------- | $man date | | | | NAME | | date - print or set the system date and time | | | | SYNOPSIS | | date [OPTION]... [+FORMAT] | | date [OPTION] [MDhm[[CC]YY][.ss]] | | | | DESCRIPTION | | Display the current time in the given FORMAT, or set the | | system date. | | | | -d, --date=STRING | | display time described by STRING, not `now' | | | | -f, --file=DATEFILE | | like --date once for each line of DATEFILE | | | | -I, --iso-8601 [=TIMESPEC] output an ISO-8601 com- | | pliant date/time string. | | | | TIMESPEC=`date' (or missing) for date only, | | `hours', `minutes', or `seconds' for date and time | | to the indicated precision. | | | | -r, --reference=FILE | | display the last modification time of FILE | | | | -R, --rfc-822 | | output RFC-822 compliant date string | | | | | ----------------------------------------------------------------------------- NOTA: Tras la instruccion "man date" aparece un texto mucho mas amplio, pero no es cuestion de ponerlo todo :) En algunas ocasiones "man" da unas explicaciones algo complicadas, por lo que UNIX incorpora una tercera orden de ayuda. La orden "learn" carga una especie de sistema de aprendizage interactivo. Bueno!! Aqu finaliza la segunda entrega de este curso de UNIX, espeo que hayais disfrutado lellendolo tanto como yo escribiendolo (mmmm, mejor no). ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║6.- Introduccion al TCP/IP III║ Redes ║ Medio ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ CoDeX ] Sigamos con la TCP/IP, que tan importante es en el dia de hoy: 1.-Soluciones para la escasez de direcciones IP: a) Manteniendo el mismo protocolo IP: dos soluciones --Asignacion dinamica de direcciones IP (Servidor DHCP). El servidor DHCP tiene un juego de direcciones IP disponibles que va asignando a cada nodo dinamicamente segun se las van pidiendo. --Servidores Proxy. Un unico nodo (el servidor proxy) tiene una direccion IP "real" y los demas utilizan direcciones falsas. b) Cambiando el protocolo IP: IPv6 (Ipng-1994. Se trata de sustituir IP por una nueva version con las siguientes mejoras --Espacio de direcciones ampliado. Se utilizaran direcciones de 126 bits en lugar de 32 bits. --Capacidades de seguridad. Incluye caracteristicas que permiten la autentificacion de los mensajes y la privacidad. --Asignacion dinamica de direcciones IP. Ipv6 incluye dicha asignacion. 2.-DNS Para comunicarse con un nodo mediante IP es necesario conocer su direccion IP, que al ser un numero no es facil de recordar. Por ello surgio un proyecto denominado DNS (Domain Name System o Sistema de Nombres de Dominio), que establece una relacion entre una direccion IP y un nombre de host, haciendolo mas facil de recordar. Ej: 194.179.100.18 <<<>>> irc.jet.es La relacion entre IP y nombre de host esta almacenada en unos nodos denominados servidores DNS. De esta forma, si se quiere utilizar el sistema de nombres de dominio es necesario conocer el nombre del host y la direccion IP de algun servidor de DNS que nos pueda proporcionar la relacion entre direcciones IP y nombres de dominio. Otra ventaja de la DNS es que es independiente de la subred, es decir, si cambiamos un nodo de una subred a otra, en general deberemos cambiar su direccion IP, mientras que no sera necesario cambiar su nombre de dominio. 3.-Servidores DNS: En los primeros tiempos de Internet, los servidores DNS mantenian en un archivo denominado "hosts.txt" las equivalencias de todos los nodos de Inet y era actualizado por el NIC (Network Information Center), pero debido a el gran crecimiento de la red de Internet, el mantenimiento de una lista centralizada se hizo imposible y se introdujo el sistema DNS jerarquico, usado hoy en dia. Actualmente cada servidor DNS gestiona y actualiza los nombres de host de un dominio o subconjunto de nodos de Internet que son administrados por un organismo (empresa, institucion,...). De esta forma, cuando se conecta un nuevo nodo a Inet, su nombre de host es dado de alta en el servidorDNS del dominio al que corresponda. Los dominios de un nodo van separados por puntos y organizados de forma jerarquica, empezando por el dominio de mayor nivel. 4.-TCP (Transmission Control Protocol): Como ya sabemos, el protocolo IP no garantiza la entrega satisfactoria de cada datagrama ya que estos son descartados si se excede el tiempo permitido, han podido llegar desordenados o han llegado datagramas repetidos. Por estas razones, es necesario que el mensaje se ordene, se complete con los trozos o tramas que falten y se eliminen posibles duplicados. De esto se encargara el TCP. El protocolo TCP esta formado por dos protocolos, el TCP y el UDP. El TCP permite establecer un circuito virtual entre dos nodos (protocolo orientado a conexion), mientras que el UDP permite el envio de un segmento entre nodos sin comprobar que el envio ha sido satisfactorio (protocolo no orientado a conexion). Las funciones del protocolo TCP son: --Segmentacion de los mensajes: TCP decide como trocear el mensaje que le llega de las capas superiores y como formar el segmento. --Etiquetado de procedencia: TCP etiqueta cada segmento indicando el lugar que ocupa en un mensaje completo. --Control de flujo: TCP permite la eliminacion de duplicados y la peticion de reenvio de los segmentos que falten. --Indicacion de los datos urgentes: es posible indicar si los datos que porta el segmento son urgentes o no. --Confirmacion de la llegada de datos: permite confirmar la recepcion de los segmentos en el destino. --Direccionamiento de los servicios de red: permite encaminar mensajes a un servicio de nivel superior u otro mediante el empleo de puertos. De esta manera, es posible distinguir servicios distintos recibiendo y enviando mensajes dentro de un mismo nodo. 5.-User Datagram Protocol (UDP): El UPD permite el envio de un segmento entre nodos sin comprobar que el envio ha sido satisfactorio. No implementa otros mecanismos de control tipicos de TCP, como el troceado de los datos en paquetes o el reensamblado de los mismos en el nodo destino. El principal añadido de UDP respecto a IP es el de direccionar los segmentos al puerto adecuado. Algunos usos del UDP son: --Cuando el envio de mensajes quiera efectuarse de forma mas rapida que con TCP. Al no implementarse los controles de este ultimo, el mensaje llegara mas rapido. --Cuando se este desarrollando un servicio que implemente el control y ensamblado de los mensajes en las capas superiores. 6.-Despedida: Hasta aki ha llegado la tercera y ultima parte sobre el protocolo TCP/IP. Espero que os haya gustado. Un saludo. <Ripe: Otro de mi parte ;)> ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║7.- Criptografia (II) ║ ║ Medio ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ CoDeX ] Bueno, y ya en el numero 6 de 7A69 seguiremos con la criptografia. Ahi va... 1.-Norma de cifrado de datos DES La norma de cifrado de datos DES (Data Encryption Standart) es un esquema de cifrado de claves privadas desarrollado por IBM en los años 70, que fue adoptado por la Oficina Nacional de Normalizacion, actualmente conocida con el nombre de NIST (Instituto Nacional de Normalizacion y Tecnologia). Esta norma se ha evaluado durante muchos años y habia sido considerada solida, hasta que fue roto en dos ocasiones durante 1997, con lo cual, sus dias parecen ya contados. El proposito de cualquier programa de cifrado es asegurar la comunicacion privada. 2.-Sistemas de certificacion --Los certificados y los servidores de certificacion ofrecen una forma de autentificarse a los clientes que desean acceder a servidores en entornos distribuidos, sin necesidad de realizar la autentificacion de un usuario cada vez que accede a un servicio protegido. El procedimiento de certificacion se desarrollo por primera vez en el Instituto de Tecnologia de Massachussets y fue implantado en el sistema de seguridad Kerberos. Se encuentra definido en la norma de seguridad X.509 emitida por el Comite Consultivo Internacional para Telefrafia y Telefonia (CCITT). --La certificacion proporciona una forma de autentificar una vez a los usuarios (cuando estos se conectan al sistema) y entonces comprobar, junto con los otros servidores, que el usuario es quien dice ser. Esto se lleva a cabo gracias a la "relacion de confianza". La verificacion proviene de un tercero en quien se confia, denominado servidor de certificacion y luego, el cliente y el servidor que contiene la aplicacion utilizan un procedimiento de certificacion que consiste en el intercambio de certificados dentro de mensajes cifrados que dan a los usuarios acceso a otros servidores. --El proceso de certificacion se lleva a cabo de la siguiente forma: El servidor de certificacion obtiene las claves de todos los clientes y los servidores de aplicaciones, asi como las passwords para poder iniciar las sesiones. Cuando se inicia una sesion en el sistema, el servidor de certificacion solicita una identificacion y una clave que autentifiquen al usuario. Para acceder a un servidor basta con conectarse a el, pero, en segundo plano, hay un proceso que solicita un certificado del servidor de certificacion. este a su vez construye un certificado para acceder al servidor de la aplicacion y lo envia en un mensaje cifrado con la clave de dicho servidor; dicho mensaje cifrado es cifrado una segunda vez con la clave p·blica del usuario. De esta forma se garantiza que la transmision del certificado de acceso del usuario sea segura. Cuando el sistema del usuario recibe el paquete certificado, lo descifra con su clave personal y obtiene el certificado que da acceso al servidor, que se envia al servidor de la aplicacion y los descifra con su propia clave. De esta forma el usuario ha sido autentificado para el servidor de la aplicacion a partir del certificado y de la informacion acerca de la sesion que este contiene. Si la seguridad se ve comprometida durante el intercambio del certificado, se invalida a este ya que utiliza una serie de funciones que pueden detectar los intentos de intercepcion. La certificacion se puede dar tanto en sistemas que pertenecen a una misma organizacion como en los que pertenecen a organizaciones diferentes. Es muy importante comprobar si la autoridad encargada de dar la certificacion es quien dice ser. 3.-Servicios de integridad y firmas digitales Las firmas digitales y los codigos de autentificacion de mensajes (MAC) proporcionan un medio de autentificar el origen de un mensaje y de estar seguros de que el contenido del mensaje no ha sido alterado durante la transmision. Un MAC es un mecanismo que calcula un ·nico valor a partir del contenido del mensaje, algo similar a los codigos de paridad. Tanto el emisor como el receptor deben ser capaces de realizar el mismo calculo y obtener el mismo resultado, de no ser asi, el mensaje esta corrompido. Para garantizar la seguridad, se utilizan en el calculo las claves privadas del emisor y del receptor. Las firmas digitales se basan en el hecho de que dos grupos pueden autentificarse el uno al otro para el intercambio seguro de documentos, pero la relacion entre ellos no se basa en una confianza total. Son posibles cuando se emplea esquema de cifrado de claves p·blicas. Se utiliza un algoritmo para generar un valor hash (los mas utilizados son MD5 o SHA-1) a partir de la informacion de una parte del mensaje y a continuacion se cifra este valor mediante la clave privada del emisor, para asi obtener la firma digital. Para verificar el mensaje, el receptor debe ejecutar el mismo algoritmo hash y el resultado se compara con la firma digital descifrada. El receptor utiliza la clave p·blica del emisor para descifrar la firma. Dado que para verificar la autenticidad del mensaje se utiliza la clave p·blica, las firmas digitales son mas versatiles que los esquemas MAC, en los que se requiere que ambas partes se hayan intercambiado primero sus claves privadas. De cualquier forma, ambos metodos sirven para que tanto el emisor como el receptor sepan si el mensaje ha sido modificado. 4.-Correo privado mejorado (PEM) PEM (Privacy Enhanced Mail) es una norma de Internet diseñada para incluir firmas digitales en el correo electronico. Esto permite el uso de la mensajeria electronica en Inet. Se pueden utilizar las tecnicas de cifrado privadas y p·blicas para asegurar la integridad de los mensajes y añadirles firmas digitales. 5.-La esteganografia Lo primero que hay que decir sobre la esteganografia es que no es una forma de criptografia, sino mas bien un complemento para la ocultacion de informacion cifrada. Esta tecnica permite la ocultacion de un mensaje cifrado en el interior de una fotografia sin que esta sufra ning·n tipo de alteracion o de muestras de no ser una foto absolutamente normal. Su funcionamiento seria el siguiente: en una fotografia, el texto cifrado se oculta en los bits menos significativos de la imagen digital, la cual no pierde a simple vista calidad y ofrece la ventaja, en la mayoria de los programas que se usan, de bloquear el mensaje cifrado bajo otra clave mas. Estos programas esteganograficos permiten ocultar los mensajes en diversos formatos de imagen y usar como contenedores archivos de sonidos o incluso html. Desde el punto de vista de la seguridad, la esteganografia no es mas que un complemento y su uso en solitario no es excesivamente recomendable si pretendemos un nivel de fiabilidad criptografica alto. ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║8.- ¡No dejes huellas! ║ Hacking ║ Bajo ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ IReick ] Este texto se va a estructurar en dos partes, usa de ellas estara orientada a usuarios que hayan conseguido el privilegio de root y la otra orientada a los que no: En el caso de no conseguimos ser root las medidas de seguridad que se habrian de tomar cuando hacemos login en una maquina ajena tras hackear una cuenta son las siguientes: --El primer paso es cambiar de shell, intentando evitar acabar en el .history, esto es si cuando entras tienes el shell CSH, entonces te cambia al shell SH y al reves. --Para evitar que te detecten al hacer un who ejecuta login con el mismo nombre de usuario y password, esto hara que tu direccion de origen sea modificada, es decir, es algo mosqueante si tu desde España te conectas a una maquina de Nueva Guinea, el administrador hace un who y ve un pepito.descuidado.es, haciendo login como os he dicho se consigue que la direccion de origen sea algo como tty05 , esto es debido a un bug de las recientes versiones de UNIX. --Si cuando entras en la maquina ajena te encuentras con algo como "Last successful login from xxx.xxx.xxx", cuando el usuario se vuelva a conectar sabra desde donde se accedio por ultima vez a su cuenta, para evitar esto sin ser root, lo que has de hacer es un rlogin a la misma maquina donde estas, utilizando el mismo nombre de usuario y contraseña, despues escribes exit para volver, asi cuando el usuario se conecte tendra localhost como el sitio desde donde se conecto por ultima vez a su cuenta. --Si vas a ejecutar programas con nombres sospechosos acuerdate de cambiarles el nombre. --Si usas telnet desde la cuenta hackeada recuerda, primero escribes telnet y luego open <host> --Creo que ni siquiera se deberia recordar que si ejecutas algun xploit o varios de ellos despues debes meterlos todos en un mismo directorio y borrar el directorio. Como ya he dicho tambien existe la posiblidad de que consigamos el privilegio de root, en ese caso deberemos seguir la siguientes recomendaciones: Vale, si consiguiesemos privilegios de administrador recomiendo los siguientes pasos para borrar tu rastro: --Modificar o borrar los logs mas importantes, es decir, utmp, wtmp, lastlog y acct. UTMP: Guarda un log de los usuarios que estan utilizando el sistema. -Directorios: /var/adm/utmp /etc/utmp WTMP: Registra las entradas y salidas de los usuarios al sistema. -Directorios: /var/adm/wtmp /etc/wtmp LASTLOG: Dice cuando entro por ultima vez un usuario. -Directorio: /var/adm/lastlog ACCT: Registra los comandos utilizados por los usuarios. -Directorio: /var/adm/acct Para afrontar los archivos lastlog, utmp y wtmp deberemos usar algunos programas como ZAP, CLOACK o CLEAR (aunque mi consejo es usar los editores de Guybrush, o bien su programa que los borra, van de pu** madre) otra forma de hacerlo es dejarlos a 0 bytes, pero eso levantaria muchas sospechas. Bien, el acct, primero os dire que el accounting no siempre esta activado, en realidad lo usual es que no este activado, pero si lo esta lo mejor, para mi gusto es conseguir un editor para borrar nuestros datos, pero ten en cuenta que si quedara registrado que hemos usado el editor, asi que otra opcion es cargarselo (demasiado sospechoso). --SYSLOG: Bien, el syslog genera mensajes de error que quedan registrados cuando llevamos a cabo determinadas acciones, para "saltarnoslo", nos vamos al archivo de configuracion /etc/syslog.conf y vemos donde se guardan los registros, ahora solo queda editarlos, borrar nuestras entradas, asi como modificar la fecha de los ficheros con registros, para ello se utiliza el comando touch: touch [-acfm] [-r reference-file] [-t MMDDhhmm[[CC]YY][.ss]] [-d time] [-time={atime,access,use,mtime,modify}] [--date=time] [--file=reference-file] ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║9.- Tecnicas de hacking ║ Virus ║ Bajo ║ ║ (sniffing y spoofing) ║ ║ ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] Si te interesa el mundo del hacking y has leido o hablado sobre ello, de bien seguro que habras oido algo sobre el "sniffing" y el "spoofing". Mucha gente ha oido hablar de estas dos tecnicas, pero no sabe exactamente en que consisten, por lo que yo en este articulo intentare dar una explicacion clara y que deje al lector (a ti) con los conceptos basicos de ambas tecnicas. Para empezar decir que ambas tecnicas se emplean en los niveles mas bajos de los protocolos de transmision de datos, por lo que ataques son practicamente inperceptibles (vamos, que el tio no se entera) por la victima. La primera tecnica de la que voy a hablas es el "sniffing", que de las dos tecnicas es de la que mas se habla habitualmente. Para empezar un brebe explicacion de lo que es; El "sniffing" no es mas que una tecnica hacker que consiste en capturar la informacion que circula por un medio fisico (la red es uno xD). Esta tecnica es considerada una tecnica de ataque pasivo, puesto que en ningun momento modifica el contenido de los paquetes que circulan por la red (aun que es posible hacerlo mediante algun sniffer, no el objetivo del sbiffing modifcar contenidos), por lo que realmente es muy dificil que la victima pueda darse cuenta que ha sido o esta siendo atacada. Como ya habras deducido, esta tecnica es de suma importancia, pues con ella el atacante podra apoderarse de informacion confidencial de otra persona, el nombre de su perro o de su novia, su edad, su direccion, sus PASSWORDS (esto puede ser util xD), su NUMERO DE VISA TINCHO (que tambien puede ser util, y si el tio es rico..... buuf). Este ataque es realmente peligroso, pues para poder realizarlo basta con tener acceso a un punto de la red fisica, y un programa capaz de analizar los protocolos de comunicacion de datos a bajo nivel y reproducir los paquetes para mandarselos al atacante (un sniffer). Una vez optenido el password de un usuario, se podra acceder al servidor del que hemos sacado el password sin problemas (los passwords mas que se consiguen mas habitualmente son los de los puertos Telnet y FTP, pero recuerda que los usuarios tienden a usar el mismo password para casi todo), o suscribirte a sitios guarros con su numero de targeta de credito (freesexxx r00lz). Por si no ha quedado del todo claro os muestro seguidamente un esquema del ataque segudo por un pequeño ejemplo: ******************************ESQUEMAS DE SNIFFING*************************** ╔═══════╗ ╔═══════╗ ║ ║ ║ ║ ║ ║ <───────────────────────────┬─────────────────────────> ║ ║ ╚═══════╝ │ ╚═══════╝ ┌──┴─┴──┐ │ ┌──┴─┴──┐ └───────┘ │ └───────┘ CLIENTE │ SERVIDOR │ │ │ ╔═══════╗ │ ║ ║ │ ║ ║ <───────────────────────────┘ ╚═══════╝ ┌──┴─┴──┐ └───────┘ ATACANTE ***************************************************************************** El ejemplo :) Vamos a suponer que un universitario esta en su casa, y decide entonces conectarse al computador de su universidad (donde nosotros estamos analizando con el sniffier) para usar la cuenta shell que le han proporcionado. En el momento en que el introduzca su password, el paquete con el mismo se mandara el computador de la universidad por el puerto 23 y a nuestro PC por el puerto que este usando el sniffing, sera entonces cuando hayamos conseguido su password, y ya podremos usar su cuenta shell de su universidad, y ver sus trabajos, y copiarlos (Pero nunca borrarlos, es muy jodido para un universitario que se ha currado un trabajo que se lo borren unos niñatos) por si los necesitamos en un futuro... :) Ahora os estareis preguntando.... ¿Y de donde coño saco yo un sniffer? Podeis encontrar mucho por internet, pero por si acaso no encuentais ninguno aqui os dejo un sniffer sencillo para linux: ---------------------------------- Cut here --------------------------------- /* ipl.c 1/3/95 by loq */ /* monitors ip packets for Linux */ #include <sys/types.h> #include <sys/socket.h> #include <sys/time.h> #include <netinet/in.h> #include <linux/if.h> #include <signal.h> #include <stdio.h> #include <linux/socket.h> #include <linux/ip.h> #include <linux/tcp.h> #include <linux/if_ether.h> #define BUFLEN 8192 #define ETHLINKHDR 14 print_data(int count, char *buff) { int i,j,c; int printnext=1; if(count) { if(count%16) c=count+(16-count%16); else c=count; } else c=count; for(i=0;i<c;i++) { if(printnext) { printnext--; printf("%.4x ",i&0xffff); } if(i<count) printf("%3.2x",buff[i]&0xff); else printf(" "); if(!((i+1)%8)) if((i+1)%16) printf(" -"); else { printf(" "); for(j=i-15;j<=i;j++) if(j<count) { if( (buff[j]&0xff) >= 0x20 && (buff[j]&0xff)<=0x7e) printf("%c",buff[j]&0xff); else printf("."); } else printf(" "); printf("\n"); printnext=1; } } } int initdevice(device, pflag) char *device; int pflag; { #define PROTO htons(0x0800) /* Ethernet code for IP protocol */ int if_fd=0; struct ifreq ifr; if ( (if_fd=socket(AF_INET,SOCK_PACKET,PROTO)) < 0 ) { perror("Can't get socket"); exit(2); } strcpy(ifr.ifr_name, device); /* interface we're gonna use */ if( ioctl(if_fd, SIOCGIFFLAGS, &ifr) < 0 ) { /* get flags */ close(if_fd); perror("Can't get flags"); exit(2); } #if 1 if ( pflag ) ifr.ifr_flags |= IFF_PROMISC; /* set promiscuous mode */ else ifr.ifr_flags &= ~(IFF_PROMISC); #endif if( ioctl(if_fd, SIOCSIFFLAGS, &ifr) < 0 ) { /* set flags */ close(if_fd); perror("Can't set flags"); exit(2); } return if_fd; } struct etherpacket { struct ethhdr eth; struct iphdr ip; struct tcphdr tcp; char data[8192]; }; main() { int linktype; int if_eth_fd=initdevice("eth0",1); #if 0 int if_ppp_fd=initdevice("sl0",1); #endif struct etherpacket ep; struct sockaddr dest; struct iphdr *ip; struct tcphdr *tcp; struct timeval timeout; fd_set rd,wr; int dlen; #if 0 struct slcompress *slc=slhc_init(64,64); #endif for(;;) { bzero(&dest,sizeof(dest)); dlen=0; FD_ZERO(&rd); FD_ZERO(&wr); FD_SET(if_eth_fd,&rd); #if 0 FD_SET(if_ppp_fd,&rd); #endif timeout.tv_sec=0; timeout.tv_usec=0; ip=(struct iphdr *)(((unsigned long)&ep.ip)-2); tcp=(struct tcphdr *)(((unsigned long)&ep.tcp)-2); while(timeout.tv_sec==0 && timeout.tv_usec==0) { timeout.tv_sec=10; timeout.tv_usec=0; select(20,&rd,&wr,NULL,&timeout); if(FD_ISSET(if_eth_fd,&rd)) { printf("eth\n"); recvfrom(if_eth_fd,&ep,sizeof(ep),0,&dest,&dlen); } #if 0 else if(FD_ISSET(if_ppp_fd,&rd)) { recvfrom(if_ppp_fd,&ep,sizeof(ep),0,&dest,&dlen); printf("ppp\n"); } #endif } printf("proto: %.4x",ntohs(ep.eth.h_proto)); #if 0 if(ep.eth.h_proto==ntohs(8053)) { slhc_uncompress(slc,&ep,sizeof(ep)); } #endif if(ep.eth.h_proto==ntohs(ETH_P_IP)) { printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x->", ep.eth.h_source[0],ep.eth.h_source[1], ep.eth.h_source[2],ep.eth.h_source[3], ep.eth.h_source[4],ep.eth.h_source[5]); printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x ", ep.eth.h_dest[0],ep.eth.h_dest[1], ep.eth.h_dest[2],ep.eth.h_dest[3], ep.eth.h_dest[4],ep.eth.h_dest[5]); printf("%s[%d]->",inet_ntoa(ip->saddr),ntohs(tcp->source)); printf("%s[%d]\n",inet_ntoa(ip->daddr),ntohs(tcp->dest)); print_data(htons(ip->tot_len)-sizeof(ep.ip)-sizeof(ep.tcp), ep.data-2); } } } ---------------------------------- Cut here --------------------------------- Ya hemos visto en que consiste la primera de la tecnicas de las que trarta este articulo, el sniffing. Ahora vamos a por la segunda :) El "spoffing" es una de las multiples tecnicas que se utilizan para ocultar nuestra IP. Esta tecnica, al contrario que el sniffing, es una tecnica de ataque activo puesto que el atacante necisita alterar las operaciones normales de la red y añade cierta informacion a las tranferencias. El spoofing no puede considerarde estrictamente como un ataque, pues mediante el spoofing no vamos a conseguir ningus password ni targeta de credito (ni nombre del perro), sin embargo el echo de conseguir que no reconozcan nuestra IP puede darnos muchisimas ventajas. Un ejemplo claro de spoof (no es bien bien asi) se produce en algunas empresas que tienen una intranet con un PC que hace de servidor de la intranet y conecta a los demas PC de dicha intranet a internet (parece un juego de palabras xD), pues en la intranet cada uno de los PC's tiene su propia IP, sinembargo en su conexion con el exterior todos los PC's seran reconocisdos con la mismo IP del servidor de la intranet. ¿Y estas epresas estan hackeando? ¡No! Como ya dije entes el echo de modificar la IP no es hackear en si (aun que habre muchas puertas para hacerlo). Seguidamente os muestro un esquema de la intranet de una empresa (esta empresa es pequeña y solo tiene presupuesto para tres ordenadores, pero creo que para el ejemplo ya basta): *********************ESQUEMA DE LA INTRANET DE UNA EMPRESA******************* ╔═══════╗ ╔═══════╗ ╔═══════╗ ║ ║ ║ ║ ║ ║ ║ ║ <────────────────────> ║ ║ <───────────────────> ║ ║ ╚═══════╝ ╚═══════╝ ╚═══════╝ ┌──┴─┴──┐ ┌──┴─┴──┐ ┌──┴─┴──┐ └───────┘ └───────┘ └───────┘ CLIENTE 1 SERVIDOR CLIENTE 2 (IP cliente 1) (IP cliente 2) │ │ │ INTERNET (los tres PC's con la IP servidor) ***************************************************************************** NOTA: Tambien podria utilizarse un router, pero este no es el caso (empresa pobre.... material cutre :P) ¿Todo esto quiere decir que si no dispongo de una empresa no puedo realizar esta tecnica? ¡No de nuevo! En muchas ocasiones los servidores cuentan de una seguridad pesima, y cualquiera puede realizar una conexion atrabes de ellos sin estar en el intranet (ello pasa por ejemplo en la red de mi escuela), de echo cuando usas un wingates para conectarte al IRC (¿Quien no lo ha echo nunca?) estas haciendo sfoof atrabes de un servidor que tiene (normalmente) el puerto wingates/1080 (caso de mi escuela) abierto. En teoria no te dan permiso ha hacerlo, pero ellos es como dejar la puerta de casa abierta y con un cartelito que pone (¡¡no hay perro, pero no entres!! xD). Ahora mostramos un esquema de este tipo de spoof: **********************UN ATACANTE PRACTICANDO SFOOFING*********************** ╔═══════╗ ╔═══════╗ ╔═══════╗ ║ ║ ║ ║ ║ ║ ║ ║ <────────────────────> ║ ║ <───────────────────> ║ ║ ╚═══════╝ ╚═══════╝ <──────────┐ ╚═══════╝ ┌──┴─┴──┐ ┌──┴─┴──┐ │ ┌──┴─┴──┐ └───────┘ └───────┘ │ └───────┘ CLIENTE 1 SERVIDOR │ CLIENTE 2 (IP cliente 1) │ (IP cliente 2) │ │ │ │ ╔═══════╗ │ │ ║ ║ └────────> ║ ║ INTERNET ╚═══════╝ (Los cuatro PC's con la IP servidor) ┌──┴─┴──┐ └───────┘ ATACANTE (IP atacante) ***************************************************************************** Ahora imaginemos que alguien hace algo ilegal con el PC ATACANTE, la IP que realizaria el ataque seria la del SERVER, asi pues en caso de cometer una imperudencia y ser pillado darian las culpas a SERVER. Pero no es oro todo lo que reluze, en muchas ocasiones estos SERVER guardan algun tipo de log indicando las conexiones que ha habido, asu pues es posible que la IP del ATACANTE haya quedado almacenada en un log de SERVER (otro juego de palabras). Bueno; creo que ha quedado mas o menos claro (aun que me explico fatal xD) lo que es el "spoof", ahora solo falta un dibugito mas :) ************************ESQUEMA GENERAL DEL SPOOFING************************* ╔═══════╗ ╔═══════╗ ╔═══════╗ ║ ║ ip atacante/ip server ║ ║ ip server/ip victima ║ ║ ║ ║ <────────────────────> ║ ║ <───────────────────> ║ ║ ╚═══════╝ ╚═══════╝ ╚═══════╝ ┌──┴─┴──┐ ┌──┴─┴──┐ ┌──┴─┴──┐ └───────┘ └───────┘ └───────┘ ATACANTE SERVIDOR VICTIMA (Comunica a SERVER la (Interpreta lo que le (Las aciones que accion que quiere dice ATACANTE y ATACANTE ORDENA realizar sobre realiza sobre VICTIMA a SERVER se VICTIMA) lo que le pide relaizan sobre ATACANTE) este PC) ***************************************************************************** NOTA: Esto del "spoof" es como una gran familia ;) Bueno aqui lo dejo.... Que disfruteis y feliz hacking. ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║10.- Proyectos ║ El futuro ║ ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] En esta seccion voy a comentar los proyectos que tenemos pensados para el futuro de este E-Zine, que parece que poco a poco va mejorando en calidad y contenido. La intencion de todos los colaboradores de 7A69 es hacer que esta Magazine de Undergr0und sea lo mas completa posible, para ello necesitaremos la colaboracion de todos vosotros, para ello abriremos una nueva seccion (SUGEREBCIAS Y COMENTARIOS) en la que el lector puede opinar sobre cualquier cosa relacionada con el mundo del Underg0und o hacer alguna sugerencia para futuros numeros del E-Zine (de echo ya he recibido un E-Mail que proponia la iniciacion de algun curso de programacion). CURSO DE C y C++:Despues de recivir ese mail ya comentado me decidi a iniciar una serie de articulos que introdugeran la programacion a distintos lenguajes de programacion y que continuara con un curso de C y C++, pero IReick me comunico la posiblidad de ser el que escribiera los cursos de C y C++ (Y quiza algun otro lenguaje mas; se vera en un futuro), asi pues se espera iniciar ya el curso mencionado en el numero 7 de 7A69 (Si. Acertaste. Sera en el proximo numero :) SUGERENCIAS Y COMENTARIOS: Esta seccion ya ha sido comentada, lee un poco mas arriba y lo veras. Esperamos vuestra colaboracion para que esta seccion tire adelante. ¡¡No nos defraudeis y escribid!! CHARLANDO CON...: Esta seccion hace ya un tiempo que tenia pensado incorporarla, pero no me veia con ganas de iniciarla. En esta seccion intentaremos conocer a los "individuos" mas carismaticos de Undergr0und español (¡¡Buuf!! Que bien queda esa frase). Intentare tirar esta seccion adelante, pero es una seccion realmente complicada, pues sera dificil encontrar gente conocida del mundo Under que quiera ser entrevistada por una E-Zine modesta como es 7A69, sinembargo intentaremos no defraudar. NOTICIAS: En esta seccion incluire basicamente aquellas noticias que tambien podreis leer en la seccion News de mi web (http://surf.to/ripe). Si creeis que disponeis de una noticia que puede intresar la podeis mandar a ripe@mixmail.com. Y no mandeis E-Mails diciendo... Yo he hackeado esta web, pues esos NO seran incluidos (a no ser que la web hackeada sea www.microsoft.com :P ). ╔══════════════════════════════╦════════════════════╦═══════════════════════╗ ║ * ARTICULO * ║ * TEMA * ║ * NIVEL * ║ ║──────────────────────────────║────────────────────║───────────────────────║ ║11.- Despedida ║ ║ ║ ╚══════════════════════════════╩════════════════════╩═══════════════════════╝ [ Ripe ] Como habreis podido comprobar este 6º numero del E-Zine ha venido cargadito (en comparacion con numeros anteriores), y espero que ademas los articulos incluidos hayan resultado intresantes. Antes de despedirme del todo me gustaria insistir en el tema "colaboracion lector", por favor ayudad a levantar la seccione SUGERENCIAS Y COMENTARIOS, y saludar a la peña: -A toda la peña de #hacker_novatos, que se lo merecen: http://hello.to/hacker_novatos -A todos los que se esfuerzan por hacer que el Undergr0und en España crezca cada vez mas (y entre ellos me incluyo por que soy asi de *chulo*). SET JJF / Hackers Team Netsearch -A Cobra-x que me dijo que me mataria si no le mandaba un saludo desde aqui. ¡Ah! Cobra-x espero tus articulos del cursillo avanzado de IRC :P -Y por que no un utimo saludo a todos los QuAkErS que hay en españa y en especial a la gente del Twistedl33t. ¡Ostia! Se me olvidava, saludos a toda la peña del #delta, y en especia a IReick que me esta ayudando mucho para completar los numero de 7A69 (este y los siguientes). Se terminaron los saludos por hoy, Que la fuerza os acompañe... ############################################################################# # NOTA: 7A69 es un E-Zine abierto, por lo que cualquira que quiera # # colavorar con algun articulo solo tiene que mandarlo a: # # # # ripe@mixmail.com # # # # Se eperan especialmente articulos relacionados con la creacion de # # virus y la programacion en ensamblador, para ello pido la # # colaboracion de la peña de #ASM (venga a ver quien se anima). # ############################################################################# ----------------------------------------------------------------------------- Eso... eso... eso es todo.... amigos -----------------------------------------------------------------------------