SlideShare uma empresa Scribd logo
1 de 68
Baixar para ler offline
HACK X CRACK:               INSEGURIDAD POR DCC // NO TE FIES !!!

                            P
                            A
                              Enfréntate al futuro
                            S
                            O
                                   XML
                                  El estandar universal
P A S Oa
       a
       a
       a
       a                     a
                             a
                             a
                             a
                             a
                             a
                             a
                             aa
                              a
Visual Basic
   Acceso a Datos




Organízate!!!
TRIO DE ASES:
  APACHE + PHP +
      MYSQL



  PHPBB: MONTA
 TU PROPIO FORO




 Gestión de Usuarios
   y el estándar Vi
 Nº 10 -- P.V.P. 4,5 EUROS
                    00010
                                  IP Spoofing en DCC
                                                                Obtención de Puertos
                                SOLO EXISTE UNA DEFENSA ANTE LOS ATAQUES EN INTERNET :
                                LEER ESTA PUBLICACÓN CADA MES... DEJA DE SER UNA VÍCTIMA !!!
  8 414090 202756




 PC PASO A PASO: PREPÁRATE PARA EL FUTURO CON NOSOTROS
P
                           A
                           S
                           O
            aa
     P A S Oaa
            aa
            a
            a
            aa
             a
             a
             a
             a
             a
             a
             aa




EDITORIAL: EDITOTRANS S.L.           Director de la Publicación
                                     J. Sentís
C.I.F:     B43675701
                                     E-mail
                                     director@hackxcrack.com
Director Editorial
I. SENTIS                            Diseño gráfico:
                                     J. M. Velasco
E-mail contacto
director@editotrans.com              Contacto diseñador gráfico
                                     grafico@hackxcrack.com
Título de la publicación
Los Cuadernos de HACK X CRACK.       Redactores
                                     AZIMUT, ROTEADO, FASTIC, MORDEA, FAUSTO,
Nombre Comercial de la publicacíón   ENTROPIC, MEIDOR, HASHIMUIRA, BACKBONE,
PC PASO A PASO                       ZORTEMIUS, AK22, DORKAN, KMORK, MAILA,
                                     TITINA, SIMPSIM... ... ... ... ...
Web                                  Contacto redactores
www.hackxcrack.com                   redactores@hackxcrack.com
Deposito legal:      B.26805-2002    Colaboradores
Código EAN:          8414090202756   Mas de 130 personas: de España, de Brasil, de
Código ISSN:         En proceso      Argentina, de Francia, de Alemania de Japón y
                                     algún Estadounidense.
                                     Contacto colaboradores
                                     colaboradores@hackxcrack.com
                                     Imprime
                                     I.G. PRINTONE S.A. Tel 91 808 50 15
                                     Distribución
                                     Coedis S.L. Avda. de Barcelona 225. Molins de Rei.
                                     Barcelona. Tel 93 680 03 60 FAX 93 668 82 59
                                     WEB: www.coedis.com (mapa de distribución en la
                                     web)

                                     TELÉFONO DE ATENCIÓN AL CLIENTE: 977 22 45 80

                                     HORARIO DE ATENCIÓN:     DE 9:30 A 13:30
                                                             (LUNES A VIERNES)
                                     © Copyright Editotrans S.L.
                                     NUMERO 10 -- PRINTED IN SPAIN
                                     PERIOCIDAD MENSUAL
DECLARACION DE INTENCIONES
PARA "LOS OTROS":

1.- La intención de la presente publicación NO ES fomentar la piratería           curiosidad deberéis ponerla VOSOTROS, porque los medios los facilitaremos
informática ni la “delincuencia” en la Red.                                       NOSOTROS. En las siguientes líneas os descubrimos cómo podremos
2.- Cualquier texto publicado es VALIDADO por nuestra Asesoría Jurídica,          conseguir nuestros objetivos y definimos algunas de las palabras que más
por lo que advertimos a cualquier persona, empresa u organización de la           han sido violadas y retorcidas en su significado.
inutilidad de cualquier iniciativa jurídica en nuestra contra. Aun así, en caso
de cualquier iniciativa en contra de esta revista, deberá ser debidamente         Hacker: Este término ha sufrido a lo largo de su corta historia una horrible
presentada y resuelta en la Razón Social que figura en nuestros documentos        conspiración perpetrada por la ignorancia de los medios, eso que
de constitución.                                                                  personalmente llamo "periodismo de telediario" (en clara alusión a los
3.- Esta publicación no se hace responsable del mal uso de los conocimientos      ridículos artículos que no hacen mas que intoxicar nuestra percepción de
que se exponen.                                                                   las cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a
4.- Esta publicación NO FACILITARÁ los datos de nuestros colaboradores            "otros poderes", desde los monopolios que deben justificar su incompetencia
ni el origen de nuestros conocimientos salvo ORDEN JUDICIAL y, aun así,           hasta los gobiernos que deben justificar sus intereses ocultos pasando por
advertimos que algunos de esos colaboradores NO SON CONOCIDOS mas                 la industria del cine (normalmente demonológica) y los medios informativos
que por sus NICKS (alias). Por ello, correrá a cargo de los organismos            "de masas".
pertinentes su “descubrimiento”.
5.- Esta publicación NO SE HACE RESPONSABLE ni tienen por qué COMPARTIR           Pues bien, HACKER no es mas que una persona que posee conocimientos
las opiniones personales vertidas por sus colaboradores, por lo que NO            avanzados sobre una materia en concreto, normalmente relacionados con
SOMOS RESPONSABLES de las mismas.                                                 la tecnología aunque ni mucho menos limitado a ello. Ponen sus aptitudes
6.- Cualquier texto publicado estará bajo las protecciones de DERECHOS            al servicio de un único objetivo: EL CONOCIMIENTO. Desean conocer el
DE AUTOR y no se permite su copia, publicación, modificación o distribución       funcionamiento de "las cosas" y no encuentran límites en sus camino mas
sin antes obtener el permiso de esta editorial. De este punto quedan exentos      que su propia curiosidad. No se dedican a destruir ni a causar estragos
aquellos textos que han sido obtenidos de terceros y/o que están sujetos          entre sus "victimas", no se dedican a robar ni a chantajear ni a regodearse
a otras licencias (ya sean por parte de su autor o por terceros).                 de sus "conquistas", muy al contrario suelen advertir a terceros de las
7.- Si desean ponerse en contacto con nuestro departamento jurídico,              debilidades de sus sistemas y, desgraciadamente, esos "terceros" en lugar
rogamos enviar mail a juridico@hackxcrack.com                                     de agradecerles su aviso se dedican a denunciarlos o perseguirlos… aunque
                                                                                  no siempre es así, por supuesto, muchas compañías y gobiernos han
PARA NUESTROS LECTORES:                                                           aprendido lo valiosos que son los HACKERS y ahora algunos son colaboradores
                                                                                  (o empleados) de estos. BILL GATES es un HACKER (el papá ventanas),
Como podréis ver, esta no es una revista mas, por primera vez tenéis ante         como Linus Torvalds (el papá Linux) o Grace Hooper (la Almirante,
vosotros una publicación LIBRE que os ofrecerá la posibilidad de explorar         creadora del Lenguaje COBOL), los autores del COREWAR Robert Thomas
la red tal y como debe explorarse ;)                                              Morris, Douglas McIlroy y Victor Vysottsky (precursores de los
                                                                                  creadores de virus informáticos), Fred Cohen (el primer investigador y
Esta publicación responde a la pregunta mas veces expuesta en LA RED:             autor de los virus de la historia), Dennis Ritchie y Ken Thompson
¿Como puedo ser un hacker? Bien, ahora seguro que muchos ya se están              ("hacedores" del Lenguaje C y co-creadores del SO UNIX), Gary Kildall
"sonriendo" y pensando lo ilusos que somos al intentar "eregirnos" en             (autor del sistema operativo CMP y CPM/86), Tim Paterson (autor del
"portadores de LA LUZ", pensando que seremos una "escuela de lamers"              Quick & Dirty DOS), Morris (autor de "The tour of the Worm"), Kevin
y similares a otras publicaciones que, entre sus 100 páginas de revista solo      Mitnick (el más buscado por el FBI), Phiber Optik (líder juvenil convertido
contiene 5 de "material utilizable" (si es que puede llamarse así).               en símbolo de los hackers), Richard Stallman (impulsor del "software
                                                                                  libre" y GNU), Johan Helsingius (primer conductor de un Remailer
Pues NO, lo siento, vosotros seréis nuestros jueces y, llegado el caso,           Anónimo), Chen Ing-Hou (autor del virus CIH -Chernobyl- ), Sir Dyistic
NUESTROS VERDUGOS.                                                                 (creadorutor del Back Orifice), David L. Smith (virus Melissa), Reonel
                                                                                  Ramonez (virus LoveLetter), Vladimir Levin (Robó electrónicamente
Nuestro objetivo es: ACABAR CON LA BASURA DE LA RED (lamers y demás               10 millones de dólares al Citibank), y muchos mas. ¿Cómo? ¿Pero no hemos
"esencias") con el único método que conocemos: LA EDUCACIÓN y con un              dicho que los hackers no comenten delitos? Pues NO, vuelve a leer su
única bandera que será por siempre nuestra firma: SOLO EL CONOCIMIENTO            definición… pero claro, de todo hay en la viña del señor, y al igual que hay
TE HACE LIBRE
         LIBRE.                                                                   delincuentes entre el clero hay hackers que en un momento u otro han
                                                                                  ·caido· en la ilegalidad, nadie es perfecto!!!!! … y Bill Gates es un HACKER?
Estos son nuestros pilares: LA EDUCACIÓN Y EL CONOCIMIENTO Para ser
                                                CONOCIMIENTO.                     Por supuesto, solo tienes que leerte su biografía. ¿Sorprendido? Espero
un HACKER (maldita palabra mal entendida por unos y peor utilizada por            que no, porque eso no es nada mas que un cero a la izquierda en comparación
otros) solo hace falta dos cosas: curiosidad y medios, a partir de ahora la       con lo que vas a encontrar en esta revista.




  PC PASO A PASO Nº 10                                                                                                                         Página 3
EDITORIAL

            INTENTANDO MEJORAR
Estimados lectores, los colaboradores de Hack x
Crack estamos trabajando duro para ofreceros cada
mes nuestros conocimientos e intentamos no caer
en la tentación de convertirnos en una revista del
tipo “aprieta este botón y conviértete en un hacker”.

Lo que intentamos cada mes es alternar la “carnaza
práctica” con el “verdaderos conocimiento”. Sería
muy fácil explicar cada mes un par de exploits,
alentarte a explotar vulnerabilidades y dejarte caer
en la ignorancia, muy al contrario, hemos elegido el
camino difícil: “obligarte” a estudiar un poco en cada
número.

Para después del verano estamos preparando una
ampliación de las páginas, inclusión de publicidad,
instalación de más servidores y muchas cosas más.
Ya sabes que somos lentos puesto que no disponemos
de recursos económicos, pero también sabes que
poco a poco cumplimos nuestras promesas. Muy
poco a poco, pero no podemos hacer mucho más
de lo que hacemos.

Espero que te guste el Curso de XML que iniciamos
con este número 10 y te “advertimos” que el futuro
de la Informática pasa necesariamente por XML.

Dentro de poco MICROSOFT te dirá que ha inventado
XML y que Office 2003 es claro ejemplo de su
inventiva. No, no te dejes engañar, XML hace bastante
que fue “inventado” y desde luego no fue Microsoft
quien lo hizo ;)

Solo puedo acabar de una manera, agradeciendo a
cuantos nos leen su fidelidad y agradeciendo a
cuantos colaboran con nosotros por su entrega
incondicional.

Una vez más GRACIAS!


 Página 4                                                PC PASO A PASO Nº 10
SERVIDOR DE HXC
                              MODO DE EMPLEO


      - Hack x Crack ha habilitado un servidor para que puedas         A partir de ese momento, cualquiera que acceda a ese
      realizar las prácticas de hacking.                               servidor, verá el default.htm modificado para vergüenza
                                                                       del “site” hacheado. Esto es muy genérico pero os dará
      - Actualmente tiene el BUG del Code / Decode y lo                una idea de cómo funciona esto de hackear Webs ;)
      dejaremos así por un tiempo (bastante tiempo ;) Nuestra
      intención es ir habilitando servidores a medida que os           - Cuando accedas a nuestro servidor mediante el CODE /
      enseñemos distintos tipos de Hack, pero por el momento           DECODE BUG, crea un directorio con tu nombre (el que
      con un Servidor tendremos que ir tirando (la economía no         mas te guste, no nos des tu DNI) en la unidad d: a ser
      da para mas).
                                                                       posible (que tiene mas espacio libre) y a partir de ahora
      - En el Servidor corre un Windows 2000 Advanced Server           utiliza ese directorio para hacer tus prácticas. Ya sabes,
      con el IIS de Servidor Web y está en la IP 80.36.230.235.        subirnos programitas y practicar con ellos :)

      - El Servidor tiene tres unidades:                               Puedes crearte tu directorio donde quieras, no es necesario
      * La unidad c: --> Con 2GB                                       que sea en d:mellamojuan. Tienes total libertad!!! Una
      * La unidad d: --> Con 35GB y Raíz del Sistema                   idea     es     crearlo,        por     ejemplo,        en
      * La unidad e: --> CD-ROM                                        d:winntsystem32defaultmellamojuan (ya irás
                                                                       aprendiendo que cuanto mas oculto mejor :)
      Nota: Raíz del Servidor, significa que el Windows Advanced
      Server está instalado en esa unidad (la unidad d:) y             Es posiblemente la primera vez que tienes la oportunidad
      concretamente en el directorio por defecto winnt               de investigar en un servidor como este sin cometer un
      Por lo tanto, la raíz del sistema está en d:winnt              delito (nosotros te dejamos y por lo tanto nadie te
                                                                       perseguirá). Aprovecha la oportunidad!!! e investiga mientras
      - El IIS, Internet Information Server, es el Servidor de         dure esta iniciativa (que esperamos dure largos años)
      páginas Web y tiene su raíz en d:inetpub (el directorio
      por defecto)                                                     - En este momento tenemos mas de 600 carpetas de peña
                                                                       que, como tu, está practicando. Así que haznos caso y
      Nota: Para quien nunca ha tenido instalado el IIS, le será       crea tu propia carpeta donde trabajar.
      extraño tanto el nombre de esta carpeta (d:inetpub) cómo
      su contenido. Pero bueno, un día de estos os enseñaremos
      a instalar vuestro propio Servidor Web y detallaremos su
      funcionamiento.

      De momento, lo único que hay que saber es que cuando
      TÚ pongas nuestra IP (la IP de nuestro servidor) en tu
      navegador, lo que estás haciendo realmente es ir al          !              MUY IMPORTANTE...
      directorio d:Inetpubwwwroot y leer un archivo llamado
      default.htm.

      Nota: Como curiosidad, te diremos que APACHE es otro         MUY IMPORTANTE!!!!!                   Por favor, no borres archivos
      Servidor de páginas Web (seguro que has oído hablar de
      él). Si tuviésemos instalado el apache, cuando pusieses      del Servidor si no sabes exactamente lo que estás haciendo ni
      nuestra IP en TU navegador, accederías a un directorio       borres las carpetas de los demás usuarios. Si haces eso, lo único
      raíz del Apache (donde se hubiese instalado) e intentarías
      leer una página llamada index.html                           que consigues es que tengamos que reparar el sistema servidor
                                                                   y, mientras tanto, ni tu ni nadie puede disfrutar de él :(
      Explicamos esto porque la mayoría, seguro que piensa en
      un Servidor Web como en algo extraño que no saben ni         Es una tontería intentar “romper” el Servidor, lo hemos puesto
      donde está ni como se accede. Bueno, pues ya sabes           para que disfrute todo el mundo sin correr riesgos, para que todo
      dónde se encuentran la mayoría de IIS (en Inetpub) y
      cuál       es    la    página        por      defecto        el mundo pueda crearse su carpeta y practicar nuestros ejercicios.
      (Inetpubwwwrootdefault.htm). Y ahora, piensa un poco…
                                                                   En el Servidor no hay ni Warez, ni Programas, ni claves, ni nada
      … ¿Cuál es uno de los objetivos de un hacker que quiere
      decirle al mundo que ha hackeado una Web? Pues está          de nada que “robar”, es un servidor limpio para TI, por lo tanto
      claro, el objetivo es cambiar (o sustituir) el archivo
      default.html por uno propio donde diga “hola, soy DIOS       cuídalo un poquito y montaremos muchos más :)
      y he hackeado esta Web” (eso si es un lamer ;)




PC PASO A PASO Nº 10                                                                                                           Página 5
gnu linux (III)
                 gestion de usuarios
                editores de texto: “Vi”


           Gestión de Usuarios en Linux: Crearemos Usuarios Nuevos, les pondremos
           Claves de Acceso y daremos un Directorio de Trabajo. De paso, examinaremos
           los famosos /etc/passwd y /etc/shadow. IMPRESCINDIBLE !!!

           Editor VI: Mucho más que un Editor y un estándar en todas las distribuciones
           LINUX.


           0.- Introducción                                  clave o password ) relativas a una persona que
                                                             le permitirán acceder a nuestro sistema.
           Tras una presentación general del S.O. que
           vamos a manejar y de mostrar las                  El usuario encargado de la administración del
           particularidades de este sistema a la hora de     resto de los usuarios, será como siempre root
           tratar con la información que almacena, hoy       (administrador).
           continuaremos hacia adelante con el objetivo
           de llegar a disponer de nuestro GNU/LiNUX         1.1.  ¿Cómo se almacena                  esta
           como una plataforma de desarrollo.                información en el sistema?

           Los puntos que hoy abarcaremos, y sin perder      Como hemos dicho, cada persona debe poseer
           nunca de vista lo visto anteriormente serán:      su nombre y clave para acceder a nuestro
           Crear y administrar usuarios y el editor vi .     sistema. Este nombre, a partir de ahora login,
           Tras esto, en el próximo artículo trataremos la   debe de ser único. Es decir, distintos usuarios
           programación en bash-shell y en C bajo            no pueden tener el mismo login.
           GNU/LiNUX. Ambos temas formaban parte de
           este artículo, pero la extensión ocupaba cerca    Toda la información relativa a las cuentas de
           de las 35 páginas en A4.                          usuario reside en el archivo /etc/passwd. Este
                                                             archivo debe de tener permiso de escritura
           1.      Administración de usuarios                para root y de lectura para el resto:


           La tarea más básica de administración que         -rw-r--r-- 1 root root 2,0K 2003-04-29 02:03
           debemos de realizar en un entorno multiusuario    /etc/passwd
           es siempre la administración de los posibles
           usuarios de dicho sistema. Entenderemos por       Si miramos el contenido de este archivo veremos
           administración de usuarios a la capacidad de      algo como:
           crear, modificar y eliminar cuentas de usuario.
                                                             root@el_chaman:~# cat /etc/passwd
           Una cuenta de usuario será un conjunto de         root:x:0:0:root:/root:/bin/bash
           informaciones (nombre o login del usuario y       daemon:x:1:1:daemon:/usr/sbin:/bin/sh

Página 6                                                                                        PC PASO A PASO Nº 10
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




          bin:x:2:2:bin:/bin:/bin/sh                          caracteres especiales están permitidos, no se
          tuxed:x:1001:1001:,,,:/home/tuxed:/bin/bash         recomienda su uso. Esto es más debido a una
          perex:x:1013:1013:,,,:/home/perex:/bin/bash         costumbre nacida de la costumbre práctica de
          bea:x:1010:1010:,,,:/home/bea:/bin/bash             los sistemas UNiX que una regla obligatoria.
          academia:x:1022:1022:,,,:/home/academia:/bin/bash
          luis:x:1004:1004:,,,:/home/luis:/bin/bash           Con respecto a las claves voy a ser un poco
                                                              más extenso dado que hay mucho más que
          Cada una de las líneas posee un formato             contar.
          predefinido y se interpretan de la siguiente
          manera:                                             Tal vez a alguien le haya llamado la atención
                                                              encontrarse una x en el campo password en el
          usuario:password:ID_usuario:ID_grupo:comenta        fichero arriba mostrado. Incluso puede ser que
          rio:directorio_home:comando                         alguien haya llegado a la conclusión de que el
                                                              autor ha puesto una x en lugar de la clave
          Donde cada uno de los campos significan:            encriptada "por si las moscas". Pues bien, esa
                                                              no es la razón. En breve veremos el porqué de
          usuario: El login del usuario. Debe de ser          esa x.
          distinto para cada usuario.
                                                              Como se ha dicho ya un par de veces, el sistema
          password: La clave para el usuario encriptada.      guarda la clave encriptada en el campo password
                                                              en un sistema GNU/LiNUX estándar. este campo
          ID_usuario: Un número que identifica al             puede ser modificado mediante la invocación
          usuario frente al S.O. Cada número es exclusivo     del comando passwd, ya sea por el administrador
          de un usuario.                                      para cambiar la clave de cualquier usuario, ya
                                                              sea por cualquier usuario para cambiar su
          ID_grupo: Un número que identifica al grupo         propia clave.
          al que pertenece el usuario ante el S.O. Cada
          número es exclusivo de un grupo.                    Dicho esto, nos encontramos con una
          comentario: Un comentario sobre el usuario:         peculiaridad que podría ser fuente de muchos
          puede ser el puesto, nombre real, etc...            problemas: el archivo /etc/passwd tiene permiso
                                                              de lectura para todos los usuarios del sistema.
          directorio_home: El directorio home del             Adivinad cual es el alimento de los campeones
          usuario.                                            para Juanito el Ripeador.

          comando: Comando a ejecutar cuando el
          usuario accede al sistema. Normalmente es
                                                                  !
          una shell.
                                                                  Para quien no sepa qué es eso de "Juanito", necesita pasarse
                                                                  urgentemente por http://www.openwall.com/john/ y
          Llegados a este punto, debemos de hacer
                                                                  http://www.decowar.com/manual_john_the_ripper.htm
          algún comentario sobre los nombres de usuario
                                                                  Un día de estos nos meteremos de lleno en este tema, pero
          y las claves.
                                                                  de momento, en Internet hay mucha información al
                                                                  respecto :)
          Normalmente se recomienda que los nombres
          de usuarios sean cadenas de caracteres de
          hasta ocho caracteres como máximo. A pesar
          de que las mayúsculas, los subrayados u otros       Algunos sistemas UNIX, intentando evitar este

PC PASO A PASO Nº 10                                                                                               Página 7
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




           problema, almacenan las claves encriptadas         Ni que decir tiene que nosotros optaremos por
           en otro archivo, /etc/shadow, el cual sólo es      hacerlo a mano en este artículo por una simple
           accesible para el administrador y el grupo         razón: Queremos saber qué pasa en nuestro
           shadow. Se indica la existencia de un archivo      sistema cuando se añade un usuario.
           /etc/shadow si en /etc/passwd encontramos una
           x en el campo password.                            Los pasos generales que seguiremos para crear
                                                              un archivo serán:
           Ojo: Insisto una vez más porque es muy
           importante; sólo se puede cambiar la clave         1 - Añadir la información adecuada a nuestro
           mediante el comando passwd: No intentéis           archivo /etc/passwd.
           editar el archivo /etc/passwd o /etc/shadow "a
           mano".                                             2 - Crear un directorio home para el usuario y
                                                              asignarle como propietario el nuevo usuario.
           1.2.    Creando un usuario
                                                              3 - Copiar los archivos de configuración
           Antes de nada, como vamos a trastear con           necesarios a dicho directorio y asignarlos los
           cosas un poco peligrosas, conviene cubrirnos       permisos/propietarios adecuados.
           las espaldas y generar unas copias de seguridad:
                                                              Añadiendo información
           root@el_chaman:~# mkdir bck
           root@el_chaman:~# cp /etc/passwd* bck              Veamos un ejemplo. Vamos a añadir el usuario
           root@el_chaman:~# cp /etc/shadow* bck              hxc. A este usuario le daremos como clave
           root@el_chaman:~# cp /etc/group* bck               123hXc321 y le asignaremos como directorio
           root@el_chaman:~# ls bck                           home /home/hxc
           total 36K
           4,0K group 4,0K group.org 4,0K passwd- 4,0K        Siguiendo el guión mostrado, la primera tarea
           shadow 4,0K shadow.org                             a realizar será la de añadir como root una
           4,0K group- 4,0K passwd      4,0K passwd.org       entrada a /etc/passwd. Esto lo podremos hacer
           4,0K shadow-                                       con un editor como el vi que veremos más
           root@el_chaman:~#                                  adelante en este mismo artículo. Nosotros
                                                              añadiremos:
           Si algo fuera realmente mal, bastaría con
           teclear:                                                hxc::1024:100::/home/hxc:/bin/bash

           root@el_chaman:~# cp bck/* /etc                    hxc será el nombre del usuario. El campo de
                                                              password queda vacío. usuario_ID será 1024 o
           Para dejar las cosas como estaban.                 cualquier otro por encima de 1000 que no esté
                                                              siendo utilizado. grupo_ID será users (100). El
           A la hora de crear un nuevo usuario                directorio home estará en /home/hxc y finalmente
           dispondremos de dos maneras: Cambiando             al entrar se ejecutará un bash shell.
           manualmente todo lo necesario para
           crearlo o utilizando diversos scripts o            A continuación añadiremos el password. En un
           utilidades que vienen en las distintas             sistema UNiX normal bastaría con:
           distribuciones (por ejemplo adduser, script en
           Perl bastante común, o kuser, programa gráfico     root@el_chaman:~# passwd hxc
           de KDE)                                            Enter new UNIX password:

Página 8                                                                                          PC PASO A PASO Nº 10
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




          Retype new UNIX password:                        los dejamos ocultos (empiezan por un punto)
          passwd: password updated successfully            y cambiamos su propietario a hxc.

          Pero si queremos utilizar shadow-passwords       Como es obvio que esto resulta tedioso,
          será:                                            normalmente lo que se hace es crear un
                                                           directorio /etc/skel donde depositamos todos
          root@el_chaman:~# shadowconfig on                los archivos de configuración o iniciales de los
          Shadow passwords are now on.                     que dispongan los nuevos usuarios.
          root@el_chaman:~# passwd hxc                     Posteriormente se copian estos archivos al
          Enter new UNIX password:                         directorio home, se actualizan los permisos y
          Retype new UNIX password:                        listo.
          passwd: password updated successfully
                                                           Borrando un usuario
          Recomiendo examinar las entradas de
          /etc/passwd y de /etc/shadow en cada caso para   Borrar un usuario consistirá en desandar el
          ver los cambios efectuados                       camino recorrido para crearlo: Básicamente
                                                           tendremos que eliminar su directorio home y
          Creando el directorio home                       borrar las entradas necesarias en /etc/passwd y
                                                           /etc/shadow si corresponde.
          Ahora, creamos el directorio home para el
          usuario hxc:                                     Insisto en que todas las tareas vistas
                                                           actualmente las realizan diversos scripts y
          root@el_chaman:~# mkdir /home/hxc                programas que nos facilitan mucho la vida. A
                                                           veces estos programas varían de una distribución
          Una vez hecho esto, cambiamos el propietario     a otra, pero ABSOLUTAMENTE TODOS ELLOS
          de dicho directorio:                             realizan las tareas que hemos descrito.

          root@el_chaman:~# chown hxc.users /home/luis     1.3.    Grupos

          Copiando archivos de configuración necesarios    Los grupos funcionan de manera análoga a los
                                                           usuarios. Cada usuario debe de pertenecer a
          Estos archivos normalmente suelen ser            un grupo y un grupo puede gestionar los
          /etc/bashrc, /etc/profile y todo aquello que     permisos de varios usuarios simultaneamente
          queramos meter. Un ejemplo clásico será:         (recordad en el artículo anterior cómo
                                                           asignábamos permisos al propietario, al grupo
          root@el_chaman:~#       cp /etc/bashrc           y al resto de los usuarios). Resultan una manera
          /home/hxc/.bashrc                                muy cómoda de manejar sistemas en los que
          root@el_chaman:~# cp /usr/share/vim/vimrc        existen muchos usuarios que realizan tareas
          /home/hxc/.vimrc                                 muy diferentes.
          root@el_chaman:~#     chown hxc.users
          /home/hxc/.bashrc                                La información relativa a los grupos se encuentra
          root@el_chaman:~#     chown hxc.users            en /etc/group y suele tener el siguiente aspecto:
          /home/hxc/.vimrc                                 ......
                                                           proxy:x:13:
          y editaríamos dichos archivos más tarde a        kmem:x:15:
          nuestro gusto. Obsérvese que ambos archivos      dialout:x:20:

PC PASO A PASO Nº 10                                                                                           Página 9
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




            fax:x:21:                                         Crear un nuevo grupo y añadirle usuarios será
            voice:x:22:                                       algo tan sencillo como añadir las entradas
            cdrom:x:24:                                       necesarias a /etc/group.
            floppy:x:25:
            tape:x:26:                                        Y con esto queda contemplado el sistema de
            sudo:x:27:                                        administración de altas y bajas de usuarios. A
            audio:x:29:                                       continuación, tras ver una de las peculiaridades
            dip:x:30:                                         de los sistemas GNU/LiNUX vamos a cambiar
            postgres:x:32:                                    un poco de tercio y vamos a examinar una de
            www-data:x:33:                                    las herramientas más importantes en cualquier
            backup:x:34:                                      sistema UNiX: el editor vi.
            operator:x:37:
            list:x:38:                                        2.      El editor vi
            irc:x:39:
            src:x:40:                                         Muchos pensarán que escribir un artículo o
            gnats:x:41:                                       parte de este explicando el manejo del vi es
            shadow:x:42:                                      una pérdida de tiempo y de espacio.
            utmp:x:43:telnetd                                 Personalmente voy a defender de forma breve
            video:x:44:                                       el porqué de aprender a manejar este editor
            staff:x:50:                                       de texto.
            users:x:100:luis, hxc
            .                                                 Se supone que los lectores de esta revista
                                                              son ante todo gente curiosa que le
            .....                                             gusta investigar diferentes sistemas.
                                                              Si nos centramos en los sistemas UNiX-like,
            Cada línea se interpreta de la siguiente forma:   nos encontramos que distintos SS.OO
                                                              UNiX-like poseen diferentes herramientas
            nombre_grupo:password_grupo:ID_grupo:usua         o diferentes maneras de hacer las cosas.
            rios_pertenecientes_a_ese_grupo                   Esto muchas veces se convierte en una
                                                              situación tediosa de "vuelta a empezar
            nombre_grupo: El nombre que queramos              de 0".
            dar al grupo.
                                                              Por eso se agradece que herramientas,
            password_grupo: La clave para el grupo.           que en principio puedan parecer poco
            Normalmente se deja en blanco o se pone un        interesantes como los editores de texto,
            asterisco. No todos los UNiX soportan la          estén disponibles en todos los entornos
            asignación de claves a grupos y se mantiene       y se manejen de la misma manera. Éste
            este formato por compatibilidad con versiones     es el caso del vi. Imaginaos que cada
            más antiguas.                                     vez que entrásemos en una RedHat, en
                                                              una Debian, en Solaris, en SCO UNiX,
            ID_grupo: Número que identificará al grupo        en FreeBSD, etc... tuviésemos que aprender
            ante el S.O.                                      cómo se maneja el editor de texto; hasta
                                                              pasados unos treinta minutos no nos
            usuarios_pertenecientes_a_ese_grupo:              familiarizaríamos con él. Y treinta minutos, a
            lista de todas los usuarios que pertenecen a      pesar de ser mucho tiempo en según que
            ese grupo.                                        situaciones, no dan mucho de sí.

Página 10                                                                                         PC PASO A PASO Nº 10
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




          Dicho esto alguno estará pensando "yo tengo       Una vez abierto el vi estaremos en modo
          el vim, ¿es lo mismo que el vi?". Sí y no. Vim    comando. Para alternar entre modo comando
          (Vi improbed, vi mejorado) es una versión         y modo edición se utilizará la tecla escape.
          mejorada del vi que proporciona muchas            Vamos a crear un archivo llamado saludo.txt.
          mejoras al primitivo vi y es compatible con él.   Inicialmente invocaremos al editor de la
          Todo lo que aquí se diga es válido para el vim,   siguiente manera:
          pero tened en cuenta que lo que vais a
          encontrar en todos los sistemas UNiX es el vi.    luis@el_chaman:~$ vi saludo.txt

          El vi (Visual Interface) es una mejora más que    Se nos mostrará entonces la siguiente pantalla
          se hizo sobre los primitivos editores de líneas
          (como el ex o ed) presentes en UNiX,
          y que dotaron de capacidades visuales a
          estos primitivos editores de manera que
          pudieran aprovechar las potentes capacidades
          de los entonces modernos terminales
          tty.

          El vi pues, no será el clásico editor de texto
          plano como el EDIT del MS-DOS, sino que
          tendrá muchas peculiaridades, la mayoría
          heredades del editor de líneas que siempre
          corre bajo el vi, los anteriormente mencionado
          ex y ed.
          vi posee tres modos de trabajo: modo comando,     Vemos que en la parte inferior se nos muestra
          modo edición y modo ex.                           cierta información sobre el archivo:

          En el modo comando podremos movernos por          "saludo.txt" [Fichero nuevo]      0,0-1   Todo
          el texto, invocar comandos del vi, invocar a ed
          o ex, etc...                                      La parte izquierda es de significado obvio;
                                                            los números 0-0 indican la línea y columna
          En el modo edición simplemente nos limitaremos    donde está situado el cursor, y el Todo
          a introducir texto como si de un editor normal    nos dice que está mostrando todo el
          se tratase.                                       documento en la pantalla. Si el documento
                                                            fuese más grande, en vez de poner Todo
          En el modo ex o ed pasamos a manejar los          pondría el porcentaje correspondiente al
          antiguos editores de línea.                       texto mostrado en pantalla con respecto al
                                                            total.
          Normalmente una sesión de vi comienza
          invocando el propio programa seguido de uno       En este momento estamos en modo
          o más ficheros. Las siguientes invocaciones de    comando y el vi está preparado para que
          vi son válidas:                                   le demos una orden. La orden que vamos
                                                            a dar es la de insertar texto así que
          luis@el_chaman:~$ vi                              pulsamos la letra 'i' (i minúscula). Entonces
          luis@el_chaman:~$ vi hola.txt                     obtendremos los que muestra la siguiente
          luis@el_chaman:~$ vi hola.txt adios.txt           imagen.

PC PASO A PASO Nº 10                                                                                         Página 11
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




                                                              Ahora tenemos que guardar el archivo. Para
                                                              ello tenemos que pasar primero a modo
                                                              comando e invocar el comando de escritura.
                                                              Para pasar a modo comando damos a la tecla
                                                              ESCAPE, al hacerlo vemos como el -- INSERTAR
                                                              -- de la parte inferior izquierda desaparece.
                                                              Ahora teclemamos :w (dos puntos uve doble)
                                                              tal y como muestra la siguiente imagen.




            Observamos que en la parte inferior izquierda
            aparece la palabra -- INSERTAR --. Esto quiere
            decir que el vi ha entendido la orde y que
            estamos en modo edición.

            A continuación vamos a meter el siguiente
            texto:

            Esto es una prueba [ENTER]
            haber como va esto.[ENTER]                        Si presionamos ENTER nos saldrá un mensaje
                                                              en la parte inferior similar a este:
            Antes de continuar; el "haber" de "haber como
            va esto", es una falta de ortografía puesta con   "saludo.txt" [Nuevo] 3L, 39C escritos 3,0-1   Todo
            la intención de corregirla más adelante.
                                                              Nos informa de que los cambios han sido
            Una vez hecho lo indicado habremos                guardados con éxito.
            obtenido algo como lo mostrado en la
            siguiente imagen.                                 Para salir ahora, volvemos a presionar ESCAPE
                                                              (volvemos a pasar a modo comando), y
                                                              tecleamos :q (dos puntos q)

                                                              Para verificar que hemos escrito el archivo,
                                                              tecleemos:

                                                              luis@el_chaman:~$ cat saludo.txt
                                                              Esto es una prueba
                                                              haber como va esto

                                                              luis@el_chaman:~$

                                                              Bien, hemos visto que este editor consta
                                                              básicamente de, por un lado, enviar órdenes
                                                              al propio vi (modo comando) , y por otro editar

Página 12                                                                                             PC PASO A PASO Nº 10
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




           texto (modo edición).                             Esto es una prueba
                                                             a ver como va esto
          Vamos a ir afinando un poco más. Nuestro
          objetivo ahora será corregir la falta que hemos    Y volvemos a guardar el archivo invocando
          cometido. Para ello abriremos el fichero, nos      primeramente el modo comando (ESCAPE) y
          situaremos sobre la palabra que queremos           tecleando el comando :wq (escribir y salir).
          modificar, la borraremos y escribiremos la nueva
          palabra.                                           Si quisiéramos guardar el archivo con otro
                                                             nombre, podríamos meter el comando :w
          Empezamos por invocar al vi:                       nombre_archivo.
                                                             Esto es también válido también para cargar un
          luis@el_chaman:~$ vi saludo.txt                    archivo cuando el vi ya está abierto; en este
                                                             caso el comando correspondiente será :r
          Recordemos que inicialmente estamos siempre        nombre_archivo
          en modo comando. Ahora nos situamos sobre
          la "h" de "haber". Muchos lo podréis hacer sin     Recapitulando:
          problema con las flechas de los teclados
          modernos. Esto no valdrá para todos los            * El vi, a la hora de editar tiene dos modos:
          sistemas, así que más vale que vayamos             modo comando y modo edición.
          practicando con la siguiente sustitución:
                                                             * En el modo comando nos podemos mover
          h: mover un carácter a la izquierda                por el texto tanto con las flechas o las teclas
          j: mover una línea abajo                           Av Pág y Re Pág o con sus sustitutas: h, j, k,
          k: mover una línea arriba                          l, Ctrl+U, Ctrl+D, Ctrl+F y Ctrl+D.
          l: mover un carácter a la derecha
                                                             * Alternaremos entre ambos modos pulsando
          Otra sustitución útil en los casos de los que no   la tecla ESCAPE
          dispongamos de las teclas Av Pág y Re Pág.
          será:                                              * Los comandos básicos a la hora de editar
                                                             serán: i para insertar, x para borrar.
          Ctrl + U: Retroceder media pantalla
          Ctrl + D: Avanzar media página                     * Los comandos básicos a la hora de
          Ctrl + F: Avanzar una pantalla                     cargar/guardar archivos son respectivamente
          Ctrl + B: Retroceder una pantalla                  :r/:w; ambos admiten como parámetro un
                                                             nombre de archivo.
          Una vez situados sobre la "h" de "haber"
          presionaremos la "x". Observamos que sucesivas     Con el sencillo ejemplo visto ya seremos capaces
          presiones en la letra x eliminan una letra.        de editar cualquier fichero de texto con el vi.
          Eliminad "haber".                                  Pero el vi tiene muchas más posibilidades.

          Ahora, queremos insertar la corrección,            Me he permitido incluir una referencia rápida
          tecleamos entonces la letra "i" (insertar) y       de los comando del vi y un manual bastante
          automáticamente pasamos al modo edición;           completo. Ambos se pueden descargar
          ahora el vi se comportará como un editor de        respectivamente de:
          textos normal. Modificamos nuestro texto de
          manera que quede:                                  http://users.servicios.retecal.es/luis-ubaldo/vi-ref.pdf

PC PASO A PASO Nº 10                                                                                                    Página 13
GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi




                y                                                           para afrontar la programación. Empezaremos
                                                                            en el próximo artículo con la programación en
                http://users.servicios.retecal.es/luis-                     bash-shell y C. Advierto que la programación
                ubaldo/ManualVi.pdf                                         en C no se centrará en el lenguaje C, si no en
                                                                            el manejo de las distintas herramientas de las
                Espero que con la ayuda de estos documentos                 que dispondremos en GNU/LiNUX para realizar
                y un poco de tiempo, no tardéis mucho en                    programas en C/C++ (IDEs, compiladores,
                manejar con soltura este editor.                            depuradores, etc....).

                Y ya para terminar decir que estamos listos




                        SUSCRIBETE A
                        PC PASO A PASO
                                                                              45 EUROS (10% DE DESCUENTO)
   SUSCRIPCIÓN POR:                                                           +
   1 AÑO                                                       =              SORTEO DE UNA CONSOLA XBOX
                                                                              +
   11 NUMEROS                                                                 SORTEO 2 JUEGOS PC (A ELEGIR)

C o n t r a R e e m b o l s o Giro Post al
Solo tienes que enviarnos un mail a preferente@hackxcrack.com              Envíanos un GIRO POSTAL por valor de 45 EUROS a:
indicando:                                                                 CALLE HIGINIO ANGLES Nº2, 4º-1ª
- Nombre                                                                   CP 43001 TARRAGONA
- Apellidos                                                                ESPAÑA
- Dirección Completa                                                       IMPORTANTE: En el TEXTO DEL GIRO escribe un mail de contacto
- Población                                                                o un número de Teléfono.
- Provincia
- Cógigo Postal                                                            Y enviarnos un mail a preferente@hackxcrack.com indicando:
- Mail de Contacto y/o Teléfono Contacto                                   - Nombre
Es imprescindible que nos facilites un mail o teléfono de contacto,        - Apellidos
puesto que 24 horas después de que recibamos tu petición de                - Dirección Completa
subscripción te daremos un número de Cliente Preferente. Este              - Población
número será utilizado para los sorteos.                                    - Provincia
- Tipo de Subscripción: CONTRAREEMBOLSO                                    - Cógigo Postal
- Número de Revista:                                                       - Mail de Contacto y/o Teléfono Contacto
Este será el número a partir del cual quieres subscribirte. Si deseas      Es imprescindible que nos facilites un mail o teléfono de contacto,
(por ejemplo) subscribirte a partir del número 5 (incluido), debes poner   puesto que 24 horas después de que recibamos tu petición de
un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos)              subscripción te daremos un número de Cliente Preferente. Este
                                                                           número será utilizado para los sorteos.
APRECIACIONES:                                                             - Tipo de Subscripción: GIRO POSTAL
* Junto con el primer número recibirás el abono de 45 euros, precio        - Número de Revista:
de la subscripción por 11 números (un año) y una carta donde se te         Este será el número a partir del cual quieres subscribirte. Si deseas
indicará tu número de Cliente Preferente y justificante/factura de la      (por ejemplo) subscribirte a partir del número 5 (incluido), debes poner
subscripción.                                                              un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos)
* Puedes hacernos llegar estos datos POR MAIL,tal como te hemos
indicado; rellenando el formulario de nuestra WEB                          APRECIACIONES:
(www.hackxcrack.com) o enviándonos una carta a la siguiente dirección:     * Junto con el primer número recibirás una carta donde se te indicará
CALLE HIGINIO ANGLES Nº2, 4º-1ª                                            tu número de Cliente Preferente y justificante/factura de la subscripción.
CP 43001 TARRAGONA                                                         * Puedes hacernos llegar estos datos POR MAIL,tal como te hemos
ESPAÑA                                                                     indicado; rellenando el formulario de nuestra WEB
* Cualquier consulta referente a las subscripciones puedes enviarla        (www.hackxcrack.com) o enviándonos una carta a la siguiente dirección:
por mail a preferente@hackxcrack.com                                       CALLE HIGINIO ANGLES Nº2, 4º-1ª
                                                                           CP 43001 TARRAGONA
                                                                           ESPAÑA
                                                                           * Cualquier consulta referente a las subscripciones puedes enviarla
                                                                           por mail a preferente@hackxcrack.com




  Página 14                                                                                                             PC PASO A PASO Nº 10
serie raw: conociendo
         protocolos y su seguridad

                   raw 4: dcc
            direct client to client
                    protocol

          Funcionamiento del Protocolo DCC
          Codificación de Decodificación de IPs
          DCC --> Inseguro y Peligroso:
                -- Obtención de IPs           -- “FXP” en DCC
                -- Obtención de Puertos       -- Puenteando un DCC
                -- DCC Send Hijacking         -- Escaneo mediante Fserver


          0.- Introducción                                  problemas de seguridad.

          Como prometí en el número anterior, aquí está     Todas estas “técnicas” para abusar del
          el artículo sobre DCC, para completar todo lo     DCCfueron ideadas por mí, aunque seguro que
          referente a los protocolos relacionados con       a más de un lector, en cuanto lea la primera
          IRC.                                              parte en la que explico el funcionamiento básico
                                                            del protocolo, se le ocurrirán las mismas ideas,
          Este artículo va a ser bastante diferente a los   ya que son bastante simples (aunque no por
          anteriores. Para empezar, no se basa en ningún    ello menos efectivas). Por tanto, todo lo aquí
          RFC ya que, tal y como podemos comprobar          contado es el fruto de mis experimentos
          buscando la palabra “DCC” en http://www.rfc-      personales, así que puedo garantizar que todo
          editor.org/rfcsearch.html , no existe ningún      lo explicado funciona y, además, que ningún
          RFC que especifique el funcionamiento de este     animal fue dañado para realizar los experimentos
          protocolo. El funcionamiento del protocolo DCC    en el “laboratorio”. ;-)
          es muy simple, por lo que para detallarlo sólo
          emplearé la primera mitad del artículo. Es en     1.- FUNCIONAMIENTO DEL DCC
          la segunda mitad del artículo donde se
          encuentra la principal diferencia con otros       1.1.  Funcionamiento básico del DCC a
          artículos de la serie, puesto que esta parte      grandes rasgos
          estará enteramente dedicada a técnicas para
          explotar este protocolo.                          Para los que aún no sepan de qué demonios
                                                            trata este artículo, os explicaré rápidamente
          Por tanto, en esta ocasión no me limitaré tan     en qué consiste el DCC.
          sólo a detallar el funcionamiento de un           Los usuarios de IRC (Internet Relay Chat) no
          protocolo, si no también a detallar sus           sólo tienen la posibilidad de conversar con otros

PC PASO A PASO Nº 10                                                                                            Página 15
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




            usuarios de la misma red, si no que además          establecer ningún tipo de conexión entre 2
            pueden hacer muchas otras cosas, como enviar        usuarios sin la intervención del servidor, que
            archivos, montar servidores de archivos, chat       es el único que conoce las IPs de todos los
            por voz, utilizar una pizarra común para escribir   usuarios. Como segundo ejemplo, aún
            o dibujar, o incluso videoconferencia.              suponiendo que las IPs fuesen públicas,
            Todas estas virguerías se consiguen mediante        imaginaos lo que sería si para decir una simple
            un protocolo encapsulado en el propio protocolo     frase en un canal con 100 usuarios vuestra
            de IRC, que es el DCC.                              modesta conexión casera (56K, 256K, o poco
                                                                más) tuviese que establecer una conexión con
            En realidad, la mayoría de estas virguerías son     cada uno de los 100 usuarios para enviarles la
            sólo implementadas por unas pocas aplicaciones      frasecita de marras.
            de IRC, y están muy poco extendidas.
                                                                Volviendo al DCC, éste protocolo es el que
            Como sabrá cualquier asiduo al IRC, las dos
                                                                permite realizar cualquier tarea que requiera
            utilidades típicas del DCC son: DCC Chat y DCC
                                                                una conexión punto a punto entre 2 usuarios.
            Send.
                                                                Las dos utilidades más sencillas que se nos
                                                                pueden ocurrir en las que se necesite una
            Ambos tienen en común una característica, y
                                                                conexión punto a punto son:
            es que funcionan mediante una conexión punto
            a punto entre los dos usuarios, y no a través
                                                                1-       Enviar archivos: menuda locura sería
            del servidor de IRC. Por eso precisamente el
                                                                si tuviésemos que enviar un archivo de 700MB
            protocolo se llama Direct Client to Client. ;-)
                                                                a través del servidor de IRC mientras otros
                                                                3000 usuarios están enviando simultáneamente
            Os recuerdo que en IRC todo circula a través        sus ISOs.
            del servidor. Por ejemplo, cuando escribimos
            un mensaje privado a un usuario, en realidad        Chat privado: las queries, o chats privados
            estamos enviando este mensaje primero al            entre dos usuarios de IRC, funcionan también
            servidor de IRC, para que luego el servidor lo      a través del servidor de IRC (así que eso de
            envíe a su vez al usuario correspondiente.          privado...), pero hay varios motivos para que
                                                                no queramos que nuestra conversación pase
            Pensad en el problema que sería si esto no          por un punto intermedio. Los motivos principales
            fuese así. Para empezar, en algunas redes           son dos: en primer lugar, la privacidad, y en
            (como en el IRC-Hispano) las IPs de los usuarios    segundo lugar, el no depender de las limitaciones
            no son visibles, por lo que sería imposible         técnicas del servidor intermedio.

                                                                Cuando hablo de
                                                                limitaciones
                                                                técnicas del
                                                                s e r v i d o r
                                                                intermedio me
                                                                refiero, ante
                                                                todo, a dos
                                                                problemas bien
                                                                conocidos por
                                                                todos       los
                                                                usuarios de IRC,
                                                                que son: el lag,

Página 16                                                                                            PC PASO A PASO Nº 10
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




             y los splits. En un DCC Chat, es decir, un chat     así que si queremos establecer una conexión
             privado entre 2 usuarios mediante una conexión      punto a punto tendremos primero que
             punto a punto, y no a través del servidor de        “preguntarle” la IP del otro usuario al servidor.
             IRC, el lag que haya depende tan sólo de la         Para los que os hayáis frotado las manos
             conexión de los dos usuarios, y no de la del        pensando que esto se podría aprovechar para
             servidor de IRC. Además, si ocurre un split en      sacar IPs haciendo falsas consultas al servidor,
             la red de IRC, o incluso si uno de los usuarios     o para los que os hayáis llevado las manos a
             se cae, el DCC Chat sigue funcionando sin           la cabeza ante la inexactitud de lo que acabo
             enterarse.                                          de decir, ¡dejad todos las manos quietas! Lo
                                                                 he explicado así para que pilléis rápidamente
                                                                 el concepto, pero lo que ocurre en realidad no
  !                                                              es que un usuario consulte la IP de otro usuario,
                                                                 si no justo todo lo contrario. Lo que hace el
  Lag y Splits… …                                                usuario es decirle al servidor: “dile mi IP a este
                                                                 usuario”. Así nos “aseguramos” de que mediante
  Split es cuando uno (o varios) servidores que forman parte     DCC sólo se podrán conseguir las IPs de los
  de la RED IRC se "desconectan" temporalmente del resto         usuarios que voluntariamente quieran.
  de servidores que forman esa RED. Para no ocupar 2             Pero aún sigo sin contar toda la verdad, ya que
  páginas explicando los detalles, mejor te miras este enlace    en realidad todo esto es mucho más divertido.
  http://www.ayuda-irc.net/splits.shtml, está perfectamente      Lo que decimos al servidor no es exactamente
  expuesto con imágenes y todo :)                                “dile mi IP a este usuario”, si no “mi IP es ésta,
                                                                 anda, ve y díselo a este usuario”. Por tanto, la
  Lag es cuando por el motivo que sea se produce un retraso      IP que llega hasta un usuario con el que quieres
  desde que escribes un mensaje hasta que el resto de usuarios   establecer una conexión DCC, no es la IP que
  lo reciben y viceversa (desde que otro usuario escribe un      conoce el servidor, si no la que tú le digas...
  mensaje hasta que tu lo recibes). Las causas pueden ser        sea cual sea...
  muchas, desde que tu conexión deja de responder
  temporalmente hasta que el servidor de IRC al que estás        Una vez realizadas las gestiones previas (que
  conectado está saturado.                                       consisten, resumiendo, en decirle al otro usuario
                                                                 nuestra IP y un puerto para que pueda
                                                                 conectarse), ya se podrá establecer una
             1.2.     Establecimiento de la conexión
                                                                 conexión TCP/IP de toda la vida que, por
             El establecimiento de la conexión en DCC es         supuesto, se puede realizar mediante Telnet.
             diferente a la del resto de protocolos que hemos
             visto hasta ahora en la serie RAW. Y es que no      Como ya dijimos, existen básicamente 2 tipos
             basta con hacer un telnet a un puerto               de mensajes DCC (todos los demás los vamos
             determinado en el que hay escuchando un             a ignorar, por no estar tan extendidos):
             servidor, si no que tenemos que realizar unas
             “gestiones” previas para que ese puerto se          -       DCC Send
             abra en la máquina a la que nos queremos            -       DCC Chat
             conectar.
                                                                 El DCC Send es una petición que dice al
             Esto se debe a que el establecimiento de            servidor IRC: “quiero enviar éste fichero a éste
             conexión se realiza a través del servidor de        usuario”.
             IRC. Recordemos que un usuario de IRC no
             tiene por qué conocer la IP de otro usuario,        El DCC Chat es una petición que dice al servidor

PC PASO A PASO Nº 10                                                                                                  Página 17
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




             IRC: “quiero establecer un chat privado con          servidor de IRC la consabida petición: “quiero
             éste usuario”.                                      enviar éste fichero a éste usuario. Para ello,
                                                                 dile que se conecte a éste puerto en ésta IP”.
             En ambos casos, hay que añadir la siguiente         (Por supuesto, más adelante veremos el formato
             coletilla: “para ello, dile que se conecte a éste   real de esta petición XD).
             puerto en ésta IP”. Es decir, el que lanza la
             petición de DCC es siempre el que actúa como
             servidor para la conexión TCP/IP que se
             establecerá, bien en el envío del archivo, o
             bien en el chat privado.

             Para los que, al leer la “definición” de DCC
             Send, se hayan preguntado cómo funciona
             entonces un fserver, les aclaro que las
             peticiones que se hacen a un fserver no tienen
             nada que ver con las peticiones de DCC, si no
             que son simples comandos “parseados” por
                                                                 1.2.2. El servidor de IRC devuelve la
             un script que automatiza el lanzamiento de
                                                                 petición al usuario Scherzo
             peticiones DCC Send desde el fserver. Para los
             que no sepáis lo que es un fserver, no os
                                                                 A continuación, el servidor de IRC simplemente
             preocupéis, que esto no tiene mucho que ver
                                                                 retransmite esa petición a Scherzo: “Oye, que
             con el tema. :-)
                                                                 PyC me ha dicho que quiere enviarte éste
                                                                 archivo. Si quieres, conéctate a su IP, que es
  !                                                              ésta, en éste puerto”.


  Fserver es un servidor de ficheros pueden (o no) incluir
  los programas de CHAT y sirve para compartir tus archivos
  con otros usuarios, tienes sobre este tema mucha información
  en      Internet,             por        ejemplo         en
  http://www.readysoft.es/home/ihidalgo/intermedio/filese
  rver.html
  Ya sabes, utiliza el mejor buscador de Internet:
  www.google.com



            Para explicar mejor todo el proceso de conexión,     1.2.3. El usuario Scherzo acepta la
            voy a poner un ejemplo, en el cual el usuario        petición
            PyC quiere enviar un archivo al usuario Scherzo.
                                                                 En este momento, Scherzo debe decidir si quiere
            1.2.1. PyC lanza la petición al servidor             recibir ese archivo de PyC. Para ello, en su
            de IRC                                               aplicación cliente de IRC le aparecerá una
                                                                 ventana preguntándole si desea aceptar el DCC.
            Tanto PyC como Scherzo están conectados al
            mismo servidor de IRC (condición                     Si no acepta, aquí se acabó la historia. Pero
            imprescindible), por lo que PyC le lanza al          vamos a suponer que si que acepta.

Página 18                                                                                           PC PASO A PASO Nº 10
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




          1.2.4. Scherzo establece la conexión               RAW que forman parte del protocolo IRC,
          TCP/IP con PyC                                     sobre el cual trataba mi anterior artículo.

          Una vez aceptada la petición, la aplicación        Si recordamos algo sobre ese artículo, sabremos
          cliente de IRC de Scherzo establecerá una          ya que los comandos que utilizamos en nuestro
          conexión TCP/IP de las de toda la vida con la      cliente de IRC no son directamente
          IP y puerto que se especificó en la petición.      comprensibles por el servidor, ya que nuestro
          Si nuestro “cliente” de IRC es nuestro amado       cliente hace un parseo y lo convierte al formato
          Telnet, podemos lanzar manualmente la              propio del servidor, que es el que llamamos
          conexión abriendo otro Telnet (aparte del que      formato RAW.
          usamos para conectar al servidor de IRC),
          mediante:                                          Como rápido recordatorio, si queréis hacer
                                                             pruebas con los comandos RAW, podéis utilizar
          telnet ip puerto                                   el comando QUOTE de vuestro cliente de IRC.
                                                             Todo lo que pongáis después de un /quote
          Donde ip es la ip que se nos especificó en la      será enviado en RAW al servidor.
          petición DCC, y puerto es el que se nos
          especificó en la petición DCC.                     El comando RAW más versátil es el PRIVMSG,
                                                             así que podéis probar, por ejemplo, lo siguiente:
          1.2.5. PyC envía el archivo a Scherzo a
          través de la conexión establecida                  /quote privmsg PyC: hola, PyC! Como
                                                             molan tus articulos!!! ;)
          Pues eso, inmediatamente después de
          establecer la conexión, empezará a transmitirse    Si no utilizáis un cliente de IRC, si no un Telnet
          el archivo a través de esa conexión establecida.   a pelo, os recuerdo que lo mismo se haría
                                                             escribiendo:
                                        En el caso de
                                        que, en lugar de     PRIVMSG PyC: hola, PyC! Como molan
                                        DCC Send,            tus articulos!!! ;)
                                        hubiese sido
                                        DCC Chat,            El comando PRIVMSG no se usa sólo para
                                        llegados a este      hacer privados a otros usuarios, si no también
                                        punto, en lugar      para la conversación rutinaria en los canales.
                                        de transmitirse      Por ejemplo con:
                                        el archivo,
                                        comenzaría una       /quote privmsg #hackxcrack: buenas :D
                                        comunicación
          interactiva, donde cada usuario recibiría lo que   Estaréis enviando un saludo al canal
          el otro escribiese a través de esa conexión        #hackxcrack. Por supuesto, para que este
          establecida.                                       texto aparezca, tendréis que estar en el canal,
                                                             o bien el canal tendrá que tener modo –n.
          1.3.    Comandos RAW Para DCC
                                                             Recordemos también que el CTCP (Client To
          No hemos visto aún cómo son en realidad esas       Client Protocol) funciona encapsulado en el
          peticiones que el usuario lanza al servidor.       comando PRIVMSG. Un ejemplo básico de
          Estas peticiones son, por supuesto, comandos       CTCP es el siguiente:

PC PASO A PASO Nº 10                                                                                              Página 19
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




            /quote privmsg PyC:                   VERSION        Codificación de IPs

                                                                 ¿Os apetece estudiar un poco de aritmética
  !                                                              modular? Estoy seguro de que, dicho así, no
                                                                 os apetece lo más mínimo. XD
  Donde el símbolo       recordamos que es el ascii 1, el cual   Pero es precisamente eso lo que debemos
  podemos escribir mediante la combinación de teclas:            saber para codificar y descodificar las IPs en
  Alt + 1. Os recuerdo también que en algunas aplicaciones       una petición de DCC.
  no funciona esta combinación de teclas, por lo que una
  solución es buscar una aplicación en la que si que funcione,   Desde el punto de vista matemático, una
  y pastear el ascii desde ahí.                                  dirección IP es un número de 4 cifras en base
                                                                 256.

            Pues ahora vamos a rizar el rizo un poco más.        La base que utilizamos nosotros a diario es la
            Si bien el CTCP no es más que un tipo de             base 10; por eso, cada cifra de un número
            mensaje PRIVMSG, resulta que el DCC es a             esta comprendida entre 0 y 9. Por ejemplo, si
            su vez un tipo de mensaje CTCP. Por lo que           queremos representar el número 256 en base
            al final, resulta que el DCC también funciona        10, separando las cifras por puntos, sería ésta
            mediante el famoso PRIVMSG. Bonito                   su representación: 2.5.6.
            trabalenguas. :-)
                                                                 Si queremos representar el mismo número en
            Si consideramos que el protocolo CTCP                base 256, tenemos que tener en cuenta que
            comprende todos los comandos que se pueden           cada cifra podrá valer ahora entre 0 y 255, y
            ejecutar en un servidor de IRC que implican          no sólo entre 0 y 9, así que ésta sería la
            una comunicación entre 2 usuarios, podemos           representación del número 256 en base 256,
            definir dentro de estos comandos un                  separando las cifras por puntos: 1.0.
            subconjunto, que es el formado por aquellos          Curioso, ¿eh? El número 10 se representa como
            comandos que realizan una comunicación               1.0 en base 10, y el número 256 se representa
            directa entre 2 usuarios estableciendo una           como 1.0 en base 256. Esto ocurre con todas
            conexión específica entre ambos. Este                las bases. Si conocemos la base 2, también
            subconjunto es lo que llamamos DCC (Direct           conocida como binario, sabremos que el
            Client to Client).                                   número 2 se representa como 1.0 (supongo
                                                                 que conoceréis el clásico chiste que dice: existen
            Veamos ya un ejemplo de comando RAW para             10 clases de personas, las que saben binario,
            DCC, y luego lo explicaremos en detalle:             y las que no). Si conocemos también la base
                                                                 hexadecimal, o base 16, sabremos que el 16
            /quote privmsg PyC:             DCC CHAT chat        se representa como 1.0. Y así con todas las
            3645183495 4510                                      bases. :-)

            ¿Y esos numerajos? ¿No habíamos quedado              Siguiendo con este curso intensivo de aritmética
            en que lo que se enviaba en una petición era         m o d u l a r, v e a m o s c o m o e j e m p l o l a
            la IP y el puerto? Yo no veo la IP por ninguna       representación del número 256 en binario:
            parte...                                             100000000, y en hexadecimal: 100.
            Pues, aunque no la veas, ahí está, pero
            codificada. Y, por supuesto, yo os enseño            Para que podáis convertir cualquier número a
            ahora mismo cómo decodificarla. :-)                  cualquier base, os explico brevemente el

Página 20                                                                                               PC PASO A PASO Nº 10
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




          mecanismo. ¿Recordáis cuando estudiabais los       que es precisamente la primera cifra de la
          números en el cole y os hablaban de centenas,      IP.
          decenas, y unidades? El número 256 se podría       Así que nos quedamos con ese 217 y seguimos
          descomponer de la siguiente forma:                 operando, pero ahora con el resto de esa
                                                             división. Para obtener el resto podemos aplicar
          256 = 2*100 + 5*10 + 6*1                           directamente un operador de módulo si
                                                             estamos programando en algún lenguaje, o
          La cifra 2 es la de las centenas, el 5 la de las   con una buena calculadora. Por ejemplo, en el
          decenas, y el 6 la de las unidades. En realidad,   lenguaje C el operador de módulo es el %
          los números que multiplican a cada cifra son       (¡ojo! Este % no tiene nada que ver con el
          simplemente potencias de la base, es decir, en     que suele haber en las calculadoras). Si lo
          este caso potencias de 10. Por ejemplo, 100        estamos haciendo “a mano” podemos obtener
          = 1, 101 = 10, 102 = 100.                          el módulo haciendo:

          Aplicando la misma regla, la dirección IP          217*2563 = 3640655872
          217.69.22.7 se podría representar como:            3645183495 – 3640655872 = 4527623
          217*2563 + 69*2562 + 22*2561 + 7*2560
          Si realizamos esta suma nos sale, en decimal,      Que es lo mismo que se obtiene si hacemos:
          el número 3645183495.
          ¡Atiza! ¡Si es el mismo numerajo que salía en      3645183495 % (256*256*256) = 4527623
          la petición de DCC que puse hace dos horas!
          (es que estoy perdiendo un poco el tiempo en       A continuación, obtenemos la segunda cifra
          IRC mientras escribo el artículo 0:-)              haciendo:
                                                             4527623 / 2562 = 69’...
          Por tanto, ésta es la fórmula que hay que          Hallamos el nuevo resto:
          utilizar para codificar una IP en una petición     4527623 % (256*256) = 5639
          de DCC, cuya codificación no es más que la
          representación de la IP en base 10.                Seguimos:
                                                             5639 / 2561 = 22’...
          Decodificación de Ips                              Hallamos el nuevo resto:
                                                             5639 % 256 = 7
          Para el proceso inverso, que es obtener una IP
          a partir de su codificación en base 10, no hay     Y este último resto es precisamente la última
          más que invertir la fórmula. Aquí es donde         cifra. :-)
          vemos por qué a todo esto se le llama aritmética   Por tanto, la IP nos queda: 217.69.22.7
          modular. Y es que necesitamos operar con el
          módulo para ir obteniendo las 4 cifras que         Es muy fácil programar una pequeña aplicación
          forman la IP.                                      que codifique y decodifique IPs, así que os lo
                                                             propongo como ejercicio. ;-)
          En nuestro ejemplo, el número del que partimos
          es el 3645183495. Pues bien, empezamos             1.3.1. Comando RAW para DCC Chat
          dividiendo este número por el primero de los
          factores, que es 2563, es decir:                   Os recuerdo el ejemplo:
          3645183495/2563 = 217’...
          Como vemos, no nos sale un número entero,          /quote privmsg PyC:         DCC CHAT chat
          pero la parte entera de ese número es 217,         3645183495 4510

PC PASO A PASO Nº 10                                                                                           Página 21
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




            Ya sabemos qué es el primer número: la IP          En el ejemplo de la imagen, se utilizarán los
            codificada en base 10.                             puertos 5100, 5101, y 5102 para lanzar las
                                                               peticiones de DCC.
            El segundo número es el puerto, sin ningún
            tipo de codificación. Es decir, en el momento      En segundo lugar, configuramos la tabla NAT
            en que lanzamos esta petición de DCC, nuestra      del firewall para que abra esos puertos hacia
            aplicación cliente de correo abrirá el puerto      nuestro PC. En la siguiente imagen está como
            4510 en espera de que el usuario PyC se            ejemplo la tabla NAPT de un router ADSL
            conecte a él.                                      SpeedStream para abrir los 3 puertos del
                                                               ejemplo:
            Si, en lugar de utilizar un cliente de IRC (como
            mIRC, kVirc, etc) estamos utilizando Telnet a      En esta tabla
            pelo, la cosa es más complicada. Tendremos         también está
            que abrir el puerto por medios más rústicos,       abierto el
            por ejemplo utilizando netcat. Ya se explicó       puerto 21 de
            como abrir un puerto en escucha con netcat         FTP, y el 113
            en el número 8 de HackxCrack, en el artículo       de IDENT, y
            sobre Reverse Shell.                               otro que no
                                                               os quiero
            Si estamos detrás de un firewall, es probable      enseñar :P,
            que tengamos problemas con DCC, ya que no          pero todo
            es fácil abrir puertos dinámicamente detrás de     esto es otra
            un firewall. Para solucionar el problema,          historia...
            tenemos que abrir en el firewall unos puertos
            dedicados a DCC y, al mismo tiempo, configurar
            nuestro cliente de IRC para que utilice sólo
                                                                   !            Si utilizas Windows XP ...
            esos puertos para DCC, en lugar de utilizar un
            rango aleatorio muy amplio, como suelen venir          Si utilizas Windows XP puede ser que tengas activado el
            configurados por defecto (lo cual, por cierto,         Firewall que incorpora Windows, pues ya sabes, mejor lo
            es más seguro, tal y como veremos más                  desconectas (esto ya se enseñó en anteriores números). Si
            adelante).                                             no sabes de qué estamos hablando pásate por nuestro foro
                                                                   (www.hackxcrack.com) y pregunta sobre el tema.
                                             Por ejemplo,          Si utilizas un firewall por soft (por ejemplo el ZONE
                                             en mIRC,              ALARM *www.zonelabs.com*) pues lo mismo, hay que
                                             nos vamos al          configurarlo correctamente o desconectarlo temporalmente.
                                             menú File-            Si no sabes como configurarlo pregunta en el foro y seguro
                                             >Options-             que la peña te ayuda con el tema.
                                             > D C C -
                                             >Options y
                                                               1.3.2. Comando RAW para DCC Send
                                             ahí
                                             configuramos      Este es un ejemplo de petición para DCC Send:
                                             el rango de
                                             puertos donde     /quote privmsg PyC : DCC send
                                             pone DCC          "yonki.jpg" 1042580430 4511 56711
                                             ports.
                                                               Vemos que aparece el nombre del archivo

Página 22                                                                                            PC PASO A PASO Nº 10
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




          “yonki.jpg”, y un numerajo más que en el DCC      con Ac1dBrn, si no con PyC, que ha capturado
          Chat. Los dos primeros numerajos son la IP        la conexión. ;)
          y el puerto, exactamente igual que en DCC
          Chat. El tercer numerajo es simplemente el        Ahora que ya os he puesto un poco en situación,
          tamaño del archivo en Bytes.                      y os he abierto el apetito, vamos a ponernos
                                                            en el pellejo de PyC.
          Como ejercicio os propongo que decodifiquéis
          esta IP. ;-)                                      Para conseguir capturar esa conexión, PyC ha
                                                            necesitado antes de nada recopilar una serie
          Pues bien... seguro que con todo esto que os      de datos acerca de Zer0Cul (el que ha lanzado
          he contado ya habrá aparecido en vuestras         la petición de DCC). La mejor forma de conseguir
          mentes pervertidas alguna idea maliciosa para     estos datos es mediante ingeniería social
          sacar “provecho” del DCC pero, por si acaso,      (ingsoc), una de las armas más poderosas.
          os voy a ahorrar el trabajo contando mis “ideas   ¿Pero qué datos se necesitan? Pues los dos
          maliciosas”. ]:-)                                 datos que circulan en una petición de DCC
                                                            Chat, es decir: la IP de Zer0Cul, y el puerto
          2.      INSEGURIDAD EN DCC                        que abre Zer0Cul para la petición de DCC Chat.


          2.1. Pasos previos                                Cómo conseguir la IP de Zer0Cul


          Para poder llevar a cabo algunos de los           No puedo hacer aquí un tutorial completo de
          experimentos que voy a contar a continuación,     obtención de IPs, así que me limitaré a explicar
          es necesaria una investigación previa para        lo más básico.
          conseguir ciertos datos del usuario que
          usaremos (bonita redundancia), bajo su            En primer lugar, si la red de IRC en la que
          consentimiento, espero, para realizar los         estamos no encripta las IPs, como en el caso
          experimentos.                                     de EfNet, nos bastará con escribir en nuestro
                                                            cliente de correo:
          Para comprenderlo vamos a ver un escenario
          de ejemplo, en el cual hay 3 personajes:          /dns Zer0Cul

          Zer0Cul, Ac1dBrn, y PyC.                          En caso de que la red tenga encriptación de
                                                            IPs, la forma más sencilla es conseguir
          Zer0Cul y Ac1dBrn, como su nombre indica,         establecer una conexión DCC con Zer0Cul
          son 2 representantes cualesquiera de la           mediante ingeniería social. Este método tiene
          conocida especie de los lamers, mientras que      la ventaja de que también nos servirá para el
          PyC es un fornido y poderos.... esto... no,       siguiente punto, que es la obtención del puerto.
          quiero decir que PyC no es más que un joven       Aquí se pueden plantear 2 casos: que
          del montón, del grupo de los frikis. ;-)          consigamos que acepte una petición
                                                            nuestra de DCC, o que consigamos que él
          Supongamos que Zer0Cul quiere hacer un DCC        mismo nos lance una petición de DCC.
          Chat a Ac1dBrn para urdir sus pérfidos planes
          de hackers. Así que lanza la petición de DCC      Para conseguir lo primero, muchas veces
          Chat, ve cómo Ac1dBrn la acepta, y comienza       podemos aprovechar el autoaccept del cliente
          el parloteo... Lo que no sabe Zer0Cul es que      de correo de Zer0Cul. Ningún cliente autoacepta
          en realidad con quien esta chateando no es        archivos .EXE, pero se puede probar con

PC PASO A PASO Nº 10                                                                                           Página 23
Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC




            archivos inofensivos, como .TXT. En cualquier       tener un sniffer escuchando en nuestros
            caso, tantear el autoaccept es un riesgo ya         puertos de DCC, y luego buscar los paquetes
            que, si no acertamos, el tío ya estará alerta y     de esa conexión en el log del sniffer. Os recuerdo
            será prácticamente imposible conseguir después      que en el primer artículo de la serie RAW
            que acepte un DCC mediante ingsoc. Así que          expliqué cómo manejar un sniffer.
            recomiendo utilizar el autoaccept sólo cuando
            se sabe con seguridad qué tipo de archivos          En el segundo caso, que es que sea él el que
            autoacepta.                                         nos lance la petición de DCC, no hay ningún
                                                                misterio, siempre y cuando utilicemos el software
            Tanto si ha sido aprovechando el autoaccept,        adecuado. Ni siquiera hace falta que aceptemos
            como si ha sido mediante ingsoc, una vez que        el DCC, ya que su IP se encontrará visible en
            está establecida la conexión de DCC tenemos         la propia petición, antes de establecer ninguna
            que comprobar rápidamente las conexiones            conexión. El más famoso cliente de IRC, mIRC,
            que tenemos establecidas. Para ello podemos         no nos servirá para esta tarea, ya que no nos
            utilizar el comando netstat desde una shell         muestra los datos de una petición de DCC. Por
            de Linux/Unix, o desde una ventana MS-DOS.          tanto, tenemos las siguientes opciones:
            Al ejecutar netstat veremos algo como esto:
                                                                -En cualquier sistema: utilizar un cliente de
                                                                Telnet. :-)

                                                                En Linux: podéis utilizar Kvirc o XChat.

                                                                En Windows: podéis utilizar algún script sobre
                                                                mIRC que sí que muestre las peticiones de DCC
                                                                completas, como por ejemplo IRCap.

                                                                En Windows, si no nos gusta utilizar
            Podemos ver 2 conexiones: la primera es la
                                                                scripts: podemos tener un sniffer escuchando
            conexión que tenemos establecida con el
                                                                en el puerto de IRC (típicamente el 6667) y
            servidor de IRC, por lo que no nos interesa
                                                                cuando nos llegue la petición de DCC, que
            ahora; en cambio, la segunda es precisamente
                                                                mIRC nos mostrará incompleta, ver el paquete
            la conexión de DCC que hemos establecido
                                                                completo en el log del sniffer.
            con Zer0Cul, por lo que ahí tenemos su IP
            visible (si, eso que he pixelado para que no
                                                                Cuando nos llegue la petición veremos algo
            veáis la IP de mi amigo :P). Por cierto, Poseidón
                                                                como esto en nuestra ventana de Status:
            es el nombre de la máquina en la que estoy
            ahora mismo. ¿A que mola poner nombres de
                                                                [18:38] –Zer0Cul- DCC Chat
            dioses griegos a las máquinas de tu red local?
                                                                (62.36.131.206)
            ¡Incluso cumple con las recomendaciones del
                                                                -
            RFC1178! ;-)
                                                                ·· Zer0Cul H4x0r@DDzACj.AQs89f.virtual
            Otra forma de comprobar la IP cuando nos             DCC CHAT chat 1042580430 4510 ··
            acepta un DCC, sobre todo si sospechamos
            que no nos va a dar tiempo a hacer un netstat       Ahí podemos ver que la IP de Zer0Cul es
            (bien porque enviamos un archivo muy                62.36.131.206 (como ejercicio os propongo
            pequeño, o porque no podemos estar                  que lo comprobéis decodificando la IP), y que
            pendientes del momento en que acepta) es            el puerto que ha utilizado para la petición es

Página 24                                                                                             PC PASO A PASO Nº 10
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet
Inseguridad en Internet

Mais conteúdo relacionado

Semelhante a Inseguridad en Internet

Semelhante a Inseguridad en Internet (20)

Hxc11
Hxc11Hxc11
Hxc11
 
Hxc1 hacker
Hxc1 hackerHxc1 hacker
Hxc1 hacker
 
Hxc1
Hxc1Hxc1
Hxc1
 
Hxc1
Hxc1Hxc1
Hxc1
 
Hxc1
Hxc1Hxc1
Hxc1
 
Hx c01
Hx c01Hx c01
Hx c01
 
01. crea tu primer troyano [indetectable por los antivirus]
01. crea tu primer troyano [indetectable por los antivirus]01. crea tu primer troyano [indetectable por los antivirus]
01. crea tu primer troyano [indetectable por los antivirus]
 
Hxc2
Hxc2Hxc2
Hxc2
 
Hxc19
Hxc19Hxc19
Hxc19
 
Hxc13
Hxc13Hxc13
Hxc13
 
Hacker en 24 HRS
Hacker en 24 HRSHacker en 24 HRS
Hacker en 24 HRS
 
Hxc23
Hxc23Hxc23
Hxc23
 
Hxc3
Hxc3Hxc3
Hxc3
 
El grupo informático • la piratería no existe, por juan gómez jurado aportes
El grupo informático • la piratería no existe, por juan gómez jurado   aportesEl grupo informático • la piratería no existe, por juan gómez jurado   aportes
El grupo informático • la piratería no existe, por juan gómez jurado aportes
 
Hackers 1
Hackers 1Hackers 1
Hackers 1
 
Hackers 1
Hackers 1Hackers 1
Hackers 1
 
Hxc12
Hxc12Hxc12
Hxc12
 
Viaje hacking
Viaje hackingViaje hacking
Viaje hacking
 
Hxc17
Hxc17Hxc17
Hxc17
 
Hxc15
Hxc15Hxc15
Hxc15
 

Mais de rubenroa

Estudios epidemiologicos
Estudios epidemiologicosEstudios epidemiologicos
Estudios epidemiologicosrubenroa
 
Efectividad de la vacunacion Covid-19 en variante delta
Efectividad de la vacunacion Covid-19 en variante deltaEfectividad de la vacunacion Covid-19 en variante delta
Efectividad de la vacunacion Covid-19 en variante deltarubenroa
 
Causalidad
CausalidadCausalidad
Causalidadrubenroa
 
Evaluacion de tecnologias sanitarias
Evaluacion de tecnologias sanitariasEvaluacion de tecnologias sanitarias
Evaluacion de tecnologias sanitariasrubenroa
 
Epidemiologia
Epidemiologia Epidemiologia
Epidemiologia rubenroa
 
Pediatrics 2008 jul 122(1) 143 8, figure-1
Pediatrics 2008 jul 122(1) 143 8, figure-1Pediatrics 2008 jul 122(1) 143 8, figure-1
Pediatrics 2008 jul 122(1) 143 8, figure-1rubenroa
 
Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011
Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011
Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011rubenroa
 
Maceira sss&farma-taller15jun2011
Maceira sss&farma-taller15jun2011Maceira sss&farma-taller15jun2011
Maceira sss&farma-taller15jun2011rubenroa
 
Datos cohorte chilena sida (1)
Datos cohorte chilena sida (1)Datos cohorte chilena sida (1)
Datos cohorte chilena sida (1)rubenroa
 
Kappos fingolimod moa-clin_results_vfinal_buenosaires1a
Kappos fingolimod moa-clin_results_vfinal_buenosaires1aKappos fingolimod moa-clin_results_vfinal_buenosaires1a
Kappos fingolimod moa-clin_results_vfinal_buenosaires1arubenroa
 
Uso Racional de Medicamentos
Uso Racional de MedicamentosUso Racional de Medicamentos
Uso Racional de Medicamentosrubenroa
 
tabaquismo
tabaquismotabaquismo
tabaquismorubenroa
 
Sesion ppt -2641_
Sesion ppt -2641_Sesion ppt -2641_
Sesion ppt -2641_rubenroa
 
Auditoria em
Auditoria emAuditoria em
Auditoria emrubenroa
 
Indice tobillo brazo
Indice tobillo brazoIndice tobillo brazo
Indice tobillo brazorubenroa
 
indice tobillo brazo
indice tobillo brazoindice tobillo brazo
indice tobillo brazorubenroa
 
Epistemología y paradigmas
Epistemología y paradigmasEpistemología y paradigmas
Epistemología y paradigmasrubenroa
 
Vertigo acv
Vertigo acvVertigo acv
Vertigo acvrubenroa
 
Apendicectomia
ApendicectomiaApendicectomia
Apendicectomiarubenroa
 

Mais de rubenroa (20)

Estudios epidemiologicos
Estudios epidemiologicosEstudios epidemiologicos
Estudios epidemiologicos
 
Efectividad de la vacunacion Covid-19 en variante delta
Efectividad de la vacunacion Covid-19 en variante deltaEfectividad de la vacunacion Covid-19 en variante delta
Efectividad de la vacunacion Covid-19 en variante delta
 
Causalidad
CausalidadCausalidad
Causalidad
 
Evaluacion de tecnologias sanitarias
Evaluacion de tecnologias sanitariasEvaluacion de tecnologias sanitarias
Evaluacion de tecnologias sanitarias
 
Epidemiologia
Epidemiologia Epidemiologia
Epidemiologia
 
Pediatrics 2008 jul 122(1) 143 8, figure-1
Pediatrics 2008 jul 122(1) 143 8, figure-1Pediatrics 2008 jul 122(1) 143 8, figure-1
Pediatrics 2008 jul 122(1) 143 8, figure-1
 
Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011
Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011
Introducción análisis farmacoepidemiológico sss&farma-taller15jun2011
 
Maceira sss&farma-taller15jun2011
Maceira sss&farma-taller15jun2011Maceira sss&farma-taller15jun2011
Maceira sss&farma-taller15jun2011
 
Datos cohorte chilena sida (1)
Datos cohorte chilena sida (1)Datos cohorte chilena sida (1)
Datos cohorte chilena sida (1)
 
Ferinject
FerinjectFerinject
Ferinject
 
Kappos fingolimod moa-clin_results_vfinal_buenosaires1a
Kappos fingolimod moa-clin_results_vfinal_buenosaires1aKappos fingolimod moa-clin_results_vfinal_buenosaires1a
Kappos fingolimod moa-clin_results_vfinal_buenosaires1a
 
Uso Racional de Medicamentos
Uso Racional de MedicamentosUso Racional de Medicamentos
Uso Racional de Medicamentos
 
tabaquismo
tabaquismotabaquismo
tabaquismo
 
Sesion ppt -2641_
Sesion ppt -2641_Sesion ppt -2641_
Sesion ppt -2641_
 
Auditoria em
Auditoria emAuditoria em
Auditoria em
 
Indice tobillo brazo
Indice tobillo brazoIndice tobillo brazo
Indice tobillo brazo
 
indice tobillo brazo
indice tobillo brazoindice tobillo brazo
indice tobillo brazo
 
Epistemología y paradigmas
Epistemología y paradigmasEpistemología y paradigmas
Epistemología y paradigmas
 
Vertigo acv
Vertigo acvVertigo acv
Vertigo acv
 
Apendicectomia
ApendicectomiaApendicectomia
Apendicectomia
 

Último

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (13)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Inseguridad en Internet

  • 1. HACK X CRACK: INSEGURIDAD POR DCC // NO TE FIES !!! P A Enfréntate al futuro S O XML El estandar universal P A S Oa a a a a a a a a a a a aa a Visual Basic Acceso a Datos Organízate!!! TRIO DE ASES: APACHE + PHP + MYSQL PHPBB: MONTA TU PROPIO FORO Gestión de Usuarios y el estándar Vi Nº 10 -- P.V.P. 4,5 EUROS 00010 IP Spoofing en DCC Obtención de Puertos SOLO EXISTE UNA DEFENSA ANTE LOS ATAQUES EN INTERNET : LEER ESTA PUBLICACÓN CADA MES... DEJA DE SER UNA VÍCTIMA !!! 8 414090 202756 PC PASO A PASO: PREPÁRATE PARA EL FUTURO CON NOSOTROS
  • 2. P A S O aa P A S Oaa aa a a aa a a a a a a aa EDITORIAL: EDITOTRANS S.L. Director de la Publicación J. Sentís C.I.F: B43675701 E-mail director@hackxcrack.com Director Editorial I. SENTIS Diseño gráfico: J. M. Velasco E-mail contacto director@editotrans.com Contacto diseñador gráfico grafico@hackxcrack.com Título de la publicación Los Cuadernos de HACK X CRACK. Redactores AZIMUT, ROTEADO, FASTIC, MORDEA, FAUSTO, Nombre Comercial de la publicacíón ENTROPIC, MEIDOR, HASHIMUIRA, BACKBONE, PC PASO A PASO ZORTEMIUS, AK22, DORKAN, KMORK, MAILA, TITINA, SIMPSIM... ... ... ... ... Web Contacto redactores www.hackxcrack.com redactores@hackxcrack.com Deposito legal: B.26805-2002 Colaboradores Código EAN: 8414090202756 Mas de 130 personas: de España, de Brasil, de Código ISSN: En proceso Argentina, de Francia, de Alemania de Japón y algún Estadounidense. Contacto colaboradores colaboradores@hackxcrack.com Imprime I.G. PRINTONE S.A. Tel 91 808 50 15 Distribución Coedis S.L. Avda. de Barcelona 225. Molins de Rei. Barcelona. Tel 93 680 03 60 FAX 93 668 82 59 WEB: www.coedis.com (mapa de distribución en la web) TELÉFONO DE ATENCIÓN AL CLIENTE: 977 22 45 80 HORARIO DE ATENCIÓN: DE 9:30 A 13:30 (LUNES A VIERNES) © Copyright Editotrans S.L. NUMERO 10 -- PRINTED IN SPAIN PERIOCIDAD MENSUAL
  • 3. DECLARACION DE INTENCIONES PARA "LOS OTROS": 1.- La intención de la presente publicación NO ES fomentar la piratería curiosidad deberéis ponerla VOSOTROS, porque los medios los facilitaremos informática ni la “delincuencia” en la Red. NOSOTROS. En las siguientes líneas os descubrimos cómo podremos 2.- Cualquier texto publicado es VALIDADO por nuestra Asesoría Jurídica, conseguir nuestros objetivos y definimos algunas de las palabras que más por lo que advertimos a cualquier persona, empresa u organización de la han sido violadas y retorcidas en su significado. inutilidad de cualquier iniciativa jurídica en nuestra contra. Aun así, en caso de cualquier iniciativa en contra de esta revista, deberá ser debidamente Hacker: Este término ha sufrido a lo largo de su corta historia una horrible presentada y resuelta en la Razón Social que figura en nuestros documentos conspiración perpetrada por la ignorancia de los medios, eso que de constitución. personalmente llamo "periodismo de telediario" (en clara alusión a los 3.- Esta publicación no se hace responsable del mal uso de los conocimientos ridículos artículos que no hacen mas que intoxicar nuestra percepción de que se exponen. las cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a 4.- Esta publicación NO FACILITARÁ los datos de nuestros colaboradores "otros poderes", desde los monopolios que deben justificar su incompetencia ni el origen de nuestros conocimientos salvo ORDEN JUDICIAL y, aun así, hasta los gobiernos que deben justificar sus intereses ocultos pasando por advertimos que algunos de esos colaboradores NO SON CONOCIDOS mas la industria del cine (normalmente demonológica) y los medios informativos que por sus NICKS (alias). Por ello, correrá a cargo de los organismos "de masas". pertinentes su “descubrimiento”. 5.- Esta publicación NO SE HACE RESPONSABLE ni tienen por qué COMPARTIR Pues bien, HACKER no es mas que una persona que posee conocimientos las opiniones personales vertidas por sus colaboradores, por lo que NO avanzados sobre una materia en concreto, normalmente relacionados con SOMOS RESPONSABLES de las mismas. la tecnología aunque ni mucho menos limitado a ello. Ponen sus aptitudes 6.- Cualquier texto publicado estará bajo las protecciones de DERECHOS al servicio de un único objetivo: EL CONOCIMIENTO. Desean conocer el DE AUTOR y no se permite su copia, publicación, modificación o distribución funcionamiento de "las cosas" y no encuentran límites en sus camino mas sin antes obtener el permiso de esta editorial. De este punto quedan exentos que su propia curiosidad. No se dedican a destruir ni a causar estragos aquellos textos que han sido obtenidos de terceros y/o que están sujetos entre sus "victimas", no se dedican a robar ni a chantajear ni a regodearse a otras licencias (ya sean por parte de su autor o por terceros). de sus "conquistas", muy al contrario suelen advertir a terceros de las 7.- Si desean ponerse en contacto con nuestro departamento jurídico, debilidades de sus sistemas y, desgraciadamente, esos "terceros" en lugar rogamos enviar mail a juridico@hackxcrack.com de agradecerles su aviso se dedican a denunciarlos o perseguirlos… aunque no siempre es así, por supuesto, muchas compañías y gobiernos han PARA NUESTROS LECTORES: aprendido lo valiosos que son los HACKERS y ahora algunos son colaboradores (o empleados) de estos. BILL GATES es un HACKER (el papá ventanas), Como podréis ver, esta no es una revista mas, por primera vez tenéis ante como Linus Torvalds (el papá Linux) o Grace Hooper (la Almirante, vosotros una publicación LIBRE que os ofrecerá la posibilidad de explorar creadora del Lenguaje COBOL), los autores del COREWAR Robert Thomas la red tal y como debe explorarse ;) Morris, Douglas McIlroy y Victor Vysottsky (precursores de los creadores de virus informáticos), Fred Cohen (el primer investigador y Esta publicación responde a la pregunta mas veces expuesta en LA RED: autor de los virus de la historia), Dennis Ritchie y Ken Thompson ¿Como puedo ser un hacker? Bien, ahora seguro que muchos ya se están ("hacedores" del Lenguaje C y co-creadores del SO UNIX), Gary Kildall "sonriendo" y pensando lo ilusos que somos al intentar "eregirnos" en (autor del sistema operativo CMP y CPM/86), Tim Paterson (autor del "portadores de LA LUZ", pensando que seremos una "escuela de lamers" Quick & Dirty DOS), Morris (autor de "The tour of the Worm"), Kevin y similares a otras publicaciones que, entre sus 100 páginas de revista solo Mitnick (el más buscado por el FBI), Phiber Optik (líder juvenil convertido contiene 5 de "material utilizable" (si es que puede llamarse así). en símbolo de los hackers), Richard Stallman (impulsor del "software libre" y GNU), Johan Helsingius (primer conductor de un Remailer Pues NO, lo siento, vosotros seréis nuestros jueces y, llegado el caso, Anónimo), Chen Ing-Hou (autor del virus CIH -Chernobyl- ), Sir Dyistic NUESTROS VERDUGOS. (creadorutor del Back Orifice), David L. Smith (virus Melissa), Reonel Ramonez (virus LoveLetter), Vladimir Levin (Robó electrónicamente Nuestro objetivo es: ACABAR CON LA BASURA DE LA RED (lamers y demás 10 millones de dólares al Citibank), y muchos mas. ¿Cómo? ¿Pero no hemos "esencias") con el único método que conocemos: LA EDUCACIÓN y con un dicho que los hackers no comenten delitos? Pues NO, vuelve a leer su única bandera que será por siempre nuestra firma: SOLO EL CONOCIMIENTO definición… pero claro, de todo hay en la viña del señor, y al igual que hay TE HACE LIBRE LIBRE. delincuentes entre el clero hay hackers que en un momento u otro han ·caido· en la ilegalidad, nadie es perfecto!!!!! … y Bill Gates es un HACKER? Estos son nuestros pilares: LA EDUCACIÓN Y EL CONOCIMIENTO Para ser CONOCIMIENTO. Por supuesto, solo tienes que leerte su biografía. ¿Sorprendido? Espero un HACKER (maldita palabra mal entendida por unos y peor utilizada por que no, porque eso no es nada mas que un cero a la izquierda en comparación otros) solo hace falta dos cosas: curiosidad y medios, a partir de ahora la con lo que vas a encontrar en esta revista. PC PASO A PASO Nº 10 Página 3
  • 4. EDITORIAL INTENTANDO MEJORAR Estimados lectores, los colaboradores de Hack x Crack estamos trabajando duro para ofreceros cada mes nuestros conocimientos e intentamos no caer en la tentación de convertirnos en una revista del tipo “aprieta este botón y conviértete en un hacker”. Lo que intentamos cada mes es alternar la “carnaza práctica” con el “verdaderos conocimiento”. Sería muy fácil explicar cada mes un par de exploits, alentarte a explotar vulnerabilidades y dejarte caer en la ignorancia, muy al contrario, hemos elegido el camino difícil: “obligarte” a estudiar un poco en cada número. Para después del verano estamos preparando una ampliación de las páginas, inclusión de publicidad, instalación de más servidores y muchas cosas más. Ya sabes que somos lentos puesto que no disponemos de recursos económicos, pero también sabes que poco a poco cumplimos nuestras promesas. Muy poco a poco, pero no podemos hacer mucho más de lo que hacemos. Espero que te guste el Curso de XML que iniciamos con este número 10 y te “advertimos” que el futuro de la Informática pasa necesariamente por XML. Dentro de poco MICROSOFT te dirá que ha inventado XML y que Office 2003 es claro ejemplo de su inventiva. No, no te dejes engañar, XML hace bastante que fue “inventado” y desde luego no fue Microsoft quien lo hizo ;) Solo puedo acabar de una manera, agradeciendo a cuantos nos leen su fidelidad y agradeciendo a cuantos colaboran con nosotros por su entrega incondicional. Una vez más GRACIAS! Página 4 PC PASO A PASO Nº 10
  • 5. SERVIDOR DE HXC MODO DE EMPLEO - Hack x Crack ha habilitado un servidor para que puedas A partir de ese momento, cualquiera que acceda a ese realizar las prácticas de hacking. servidor, verá el default.htm modificado para vergüenza del “site” hacheado. Esto es muy genérico pero os dará - Actualmente tiene el BUG del Code / Decode y lo una idea de cómo funciona esto de hackear Webs ;) dejaremos así por un tiempo (bastante tiempo ;) Nuestra intención es ir habilitando servidores a medida que os - Cuando accedas a nuestro servidor mediante el CODE / enseñemos distintos tipos de Hack, pero por el momento DECODE BUG, crea un directorio con tu nombre (el que con un Servidor tendremos que ir tirando (la economía no mas te guste, no nos des tu DNI) en la unidad d: a ser da para mas). posible (que tiene mas espacio libre) y a partir de ahora - En el Servidor corre un Windows 2000 Advanced Server utiliza ese directorio para hacer tus prácticas. Ya sabes, con el IIS de Servidor Web y está en la IP 80.36.230.235. subirnos programitas y practicar con ellos :) - El Servidor tiene tres unidades: Puedes crearte tu directorio donde quieras, no es necesario * La unidad c: --> Con 2GB que sea en d:mellamojuan. Tienes total libertad!!! Una * La unidad d: --> Con 35GB y Raíz del Sistema idea es crearlo, por ejemplo, en * La unidad e: --> CD-ROM d:winntsystem32defaultmellamojuan (ya irás aprendiendo que cuanto mas oculto mejor :) Nota: Raíz del Servidor, significa que el Windows Advanced Server está instalado en esa unidad (la unidad d:) y Es posiblemente la primera vez que tienes la oportunidad concretamente en el directorio por defecto winnt de investigar en un servidor como este sin cometer un Por lo tanto, la raíz del sistema está en d:winnt delito (nosotros te dejamos y por lo tanto nadie te perseguirá). Aprovecha la oportunidad!!! e investiga mientras - El IIS, Internet Information Server, es el Servidor de dure esta iniciativa (que esperamos dure largos años) páginas Web y tiene su raíz en d:inetpub (el directorio por defecto) - En este momento tenemos mas de 600 carpetas de peña que, como tu, está practicando. Así que haznos caso y Nota: Para quien nunca ha tenido instalado el IIS, le será crea tu propia carpeta donde trabajar. extraño tanto el nombre de esta carpeta (d:inetpub) cómo su contenido. Pero bueno, un día de estos os enseñaremos a instalar vuestro propio Servidor Web y detallaremos su funcionamiento. De momento, lo único que hay que saber es que cuando TÚ pongas nuestra IP (la IP de nuestro servidor) en tu navegador, lo que estás haciendo realmente es ir al ! MUY IMPORTANTE... directorio d:Inetpubwwwroot y leer un archivo llamado default.htm. Nota: Como curiosidad, te diremos que APACHE es otro MUY IMPORTANTE!!!!! Por favor, no borres archivos Servidor de páginas Web (seguro que has oído hablar de él). Si tuviésemos instalado el apache, cuando pusieses del Servidor si no sabes exactamente lo que estás haciendo ni nuestra IP en TU navegador, accederías a un directorio borres las carpetas de los demás usuarios. Si haces eso, lo único raíz del Apache (donde se hubiese instalado) e intentarías leer una página llamada index.html que consigues es que tengamos que reparar el sistema servidor y, mientras tanto, ni tu ni nadie puede disfrutar de él :( Explicamos esto porque la mayoría, seguro que piensa en un Servidor Web como en algo extraño que no saben ni Es una tontería intentar “romper” el Servidor, lo hemos puesto donde está ni como se accede. Bueno, pues ya sabes para que disfrute todo el mundo sin correr riesgos, para que todo dónde se encuentran la mayoría de IIS (en Inetpub) y cuál es la página por defecto el mundo pueda crearse su carpeta y practicar nuestros ejercicios. (Inetpubwwwrootdefault.htm). Y ahora, piensa un poco… En el Servidor no hay ni Warez, ni Programas, ni claves, ni nada … ¿Cuál es uno de los objetivos de un hacker que quiere decirle al mundo que ha hackeado una Web? Pues está de nada que “robar”, es un servidor limpio para TI, por lo tanto claro, el objetivo es cambiar (o sustituir) el archivo default.html por uno propio donde diga “hola, soy DIOS cuídalo un poquito y montaremos muchos más :) y he hackeado esta Web” (eso si es un lamer ;) PC PASO A PASO Nº 10 Página 5
  • 6. gnu linux (III) gestion de usuarios editores de texto: “Vi” Gestión de Usuarios en Linux: Crearemos Usuarios Nuevos, les pondremos Claves de Acceso y daremos un Directorio de Trabajo. De paso, examinaremos los famosos /etc/passwd y /etc/shadow. IMPRESCINDIBLE !!! Editor VI: Mucho más que un Editor y un estándar en todas las distribuciones LINUX. 0.- Introducción clave o password ) relativas a una persona que le permitirán acceder a nuestro sistema. Tras una presentación general del S.O. que vamos a manejar y de mostrar las El usuario encargado de la administración del particularidades de este sistema a la hora de resto de los usuarios, será como siempre root tratar con la información que almacena, hoy (administrador). continuaremos hacia adelante con el objetivo de llegar a disponer de nuestro GNU/LiNUX 1.1. ¿Cómo se almacena esta como una plataforma de desarrollo. información en el sistema? Los puntos que hoy abarcaremos, y sin perder Como hemos dicho, cada persona debe poseer nunca de vista lo visto anteriormente serán: su nombre y clave para acceder a nuestro Crear y administrar usuarios y el editor vi . sistema. Este nombre, a partir de ahora login, Tras esto, en el próximo artículo trataremos la debe de ser único. Es decir, distintos usuarios programación en bash-shell y en C bajo no pueden tener el mismo login. GNU/LiNUX. Ambos temas formaban parte de este artículo, pero la extensión ocupaba cerca Toda la información relativa a las cuentas de de las 35 páginas en A4. usuario reside en el archivo /etc/passwd. Este archivo debe de tener permiso de escritura 1. Administración de usuarios para root y de lectura para el resto: La tarea más básica de administración que -rw-r--r-- 1 root root 2,0K 2003-04-29 02:03 debemos de realizar en un entorno multiusuario /etc/passwd es siempre la administración de los posibles usuarios de dicho sistema. Entenderemos por Si miramos el contenido de este archivo veremos administración de usuarios a la capacidad de algo como: crear, modificar y eliminar cuentas de usuario. root@el_chaman:~# cat /etc/passwd Una cuenta de usuario será un conjunto de root:x:0:0:root:/root:/bin/bash informaciones (nombre o login del usuario y daemon:x:1:1:daemon:/usr/sbin:/bin/sh Página 6 PC PASO A PASO Nº 10
  • 7. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi bin:x:2:2:bin:/bin:/bin/sh caracteres especiales están permitidos, no se tuxed:x:1001:1001:,,,:/home/tuxed:/bin/bash recomienda su uso. Esto es más debido a una perex:x:1013:1013:,,,:/home/perex:/bin/bash costumbre nacida de la costumbre práctica de bea:x:1010:1010:,,,:/home/bea:/bin/bash los sistemas UNiX que una regla obligatoria. academia:x:1022:1022:,,,:/home/academia:/bin/bash luis:x:1004:1004:,,,:/home/luis:/bin/bash Con respecto a las claves voy a ser un poco más extenso dado que hay mucho más que Cada una de las líneas posee un formato contar. predefinido y se interpretan de la siguiente manera: Tal vez a alguien le haya llamado la atención encontrarse una x en el campo password en el usuario:password:ID_usuario:ID_grupo:comenta fichero arriba mostrado. Incluso puede ser que rio:directorio_home:comando alguien haya llegado a la conclusión de que el autor ha puesto una x en lugar de la clave Donde cada uno de los campos significan: encriptada "por si las moscas". Pues bien, esa no es la razón. En breve veremos el porqué de usuario: El login del usuario. Debe de ser esa x. distinto para cada usuario. Como se ha dicho ya un par de veces, el sistema password: La clave para el usuario encriptada. guarda la clave encriptada en el campo password en un sistema GNU/LiNUX estándar. este campo ID_usuario: Un número que identifica al puede ser modificado mediante la invocación usuario frente al S.O. Cada número es exclusivo del comando passwd, ya sea por el administrador de un usuario. para cambiar la clave de cualquier usuario, ya sea por cualquier usuario para cambiar su ID_grupo: Un número que identifica al grupo propia clave. al que pertenece el usuario ante el S.O. Cada número es exclusivo de un grupo. Dicho esto, nos encontramos con una comentario: Un comentario sobre el usuario: peculiaridad que podría ser fuente de muchos puede ser el puesto, nombre real, etc... problemas: el archivo /etc/passwd tiene permiso de lectura para todos los usuarios del sistema. directorio_home: El directorio home del Adivinad cual es el alimento de los campeones usuario. para Juanito el Ripeador. comando: Comando a ejecutar cuando el usuario accede al sistema. Normalmente es ! una shell. Para quien no sepa qué es eso de "Juanito", necesita pasarse urgentemente por http://www.openwall.com/john/ y Llegados a este punto, debemos de hacer http://www.decowar.com/manual_john_the_ripper.htm algún comentario sobre los nombres de usuario Un día de estos nos meteremos de lleno en este tema, pero y las claves. de momento, en Internet hay mucha información al respecto :) Normalmente se recomienda que los nombres de usuarios sean cadenas de caracteres de hasta ocho caracteres como máximo. A pesar de que las mayúsculas, los subrayados u otros Algunos sistemas UNIX, intentando evitar este PC PASO A PASO Nº 10 Página 7
  • 8. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi problema, almacenan las claves encriptadas Ni que decir tiene que nosotros optaremos por en otro archivo, /etc/shadow, el cual sólo es hacerlo a mano en este artículo por una simple accesible para el administrador y el grupo razón: Queremos saber qué pasa en nuestro shadow. Se indica la existencia de un archivo sistema cuando se añade un usuario. /etc/shadow si en /etc/passwd encontramos una x en el campo password. Los pasos generales que seguiremos para crear un archivo serán: Ojo: Insisto una vez más porque es muy importante; sólo se puede cambiar la clave 1 - Añadir la información adecuada a nuestro mediante el comando passwd: No intentéis archivo /etc/passwd. editar el archivo /etc/passwd o /etc/shadow "a mano". 2 - Crear un directorio home para el usuario y asignarle como propietario el nuevo usuario. 1.2. Creando un usuario 3 - Copiar los archivos de configuración Antes de nada, como vamos a trastear con necesarios a dicho directorio y asignarlos los cosas un poco peligrosas, conviene cubrirnos permisos/propietarios adecuados. las espaldas y generar unas copias de seguridad: Añadiendo información root@el_chaman:~# mkdir bck root@el_chaman:~# cp /etc/passwd* bck Veamos un ejemplo. Vamos a añadir el usuario root@el_chaman:~# cp /etc/shadow* bck hxc. A este usuario le daremos como clave root@el_chaman:~# cp /etc/group* bck 123hXc321 y le asignaremos como directorio root@el_chaman:~# ls bck home /home/hxc total 36K 4,0K group 4,0K group.org 4,0K passwd- 4,0K Siguiendo el guión mostrado, la primera tarea shadow 4,0K shadow.org a realizar será la de añadir como root una 4,0K group- 4,0K passwd 4,0K passwd.org entrada a /etc/passwd. Esto lo podremos hacer 4,0K shadow- con un editor como el vi que veremos más root@el_chaman:~# adelante en este mismo artículo. Nosotros añadiremos: Si algo fuera realmente mal, bastaría con teclear: hxc::1024:100::/home/hxc:/bin/bash root@el_chaman:~# cp bck/* /etc hxc será el nombre del usuario. El campo de password queda vacío. usuario_ID será 1024 o Para dejar las cosas como estaban. cualquier otro por encima de 1000 que no esté siendo utilizado. grupo_ID será users (100). El A la hora de crear un nuevo usuario directorio home estará en /home/hxc y finalmente dispondremos de dos maneras: Cambiando al entrar se ejecutará un bash shell. manualmente todo lo necesario para crearlo o utilizando diversos scripts o A continuación añadiremos el password. En un utilidades que vienen en las distintas sistema UNiX normal bastaría con: distribuciones (por ejemplo adduser, script en Perl bastante común, o kuser, programa gráfico root@el_chaman:~# passwd hxc de KDE) Enter new UNIX password: Página 8 PC PASO A PASO Nº 10
  • 9. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi Retype new UNIX password: los dejamos ocultos (empiezan por un punto) passwd: password updated successfully y cambiamos su propietario a hxc. Pero si queremos utilizar shadow-passwords Como es obvio que esto resulta tedioso, será: normalmente lo que se hace es crear un directorio /etc/skel donde depositamos todos root@el_chaman:~# shadowconfig on los archivos de configuración o iniciales de los Shadow passwords are now on. que dispongan los nuevos usuarios. root@el_chaman:~# passwd hxc Posteriormente se copian estos archivos al Enter new UNIX password: directorio home, se actualizan los permisos y Retype new UNIX password: listo. passwd: password updated successfully Borrando un usuario Recomiendo examinar las entradas de /etc/passwd y de /etc/shadow en cada caso para Borrar un usuario consistirá en desandar el ver los cambios efectuados camino recorrido para crearlo: Básicamente tendremos que eliminar su directorio home y Creando el directorio home borrar las entradas necesarias en /etc/passwd y /etc/shadow si corresponde. Ahora, creamos el directorio home para el usuario hxc: Insisto en que todas las tareas vistas actualmente las realizan diversos scripts y root@el_chaman:~# mkdir /home/hxc programas que nos facilitan mucho la vida. A veces estos programas varían de una distribución Una vez hecho esto, cambiamos el propietario a otra, pero ABSOLUTAMENTE TODOS ELLOS de dicho directorio: realizan las tareas que hemos descrito. root@el_chaman:~# chown hxc.users /home/luis 1.3. Grupos Copiando archivos de configuración necesarios Los grupos funcionan de manera análoga a los usuarios. Cada usuario debe de pertenecer a Estos archivos normalmente suelen ser un grupo y un grupo puede gestionar los /etc/bashrc, /etc/profile y todo aquello que permisos de varios usuarios simultaneamente queramos meter. Un ejemplo clásico será: (recordad en el artículo anterior cómo asignábamos permisos al propietario, al grupo root@el_chaman:~# cp /etc/bashrc y al resto de los usuarios). Resultan una manera /home/hxc/.bashrc muy cómoda de manejar sistemas en los que root@el_chaman:~# cp /usr/share/vim/vimrc existen muchos usuarios que realizan tareas /home/hxc/.vimrc muy diferentes. root@el_chaman:~# chown hxc.users /home/hxc/.bashrc La información relativa a los grupos se encuentra root@el_chaman:~# chown hxc.users en /etc/group y suele tener el siguiente aspecto: /home/hxc/.vimrc ...... proxy:x:13: y editaríamos dichos archivos más tarde a kmem:x:15: nuestro gusto. Obsérvese que ambos archivos dialout:x:20: PC PASO A PASO Nº 10 Página 9
  • 10. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi fax:x:21: Crear un nuevo grupo y añadirle usuarios será voice:x:22: algo tan sencillo como añadir las entradas cdrom:x:24: necesarias a /etc/group. floppy:x:25: tape:x:26: Y con esto queda contemplado el sistema de sudo:x:27: administración de altas y bajas de usuarios. A audio:x:29: continuación, tras ver una de las peculiaridades dip:x:30: de los sistemas GNU/LiNUX vamos a cambiar postgres:x:32: un poco de tercio y vamos a examinar una de www-data:x:33: las herramientas más importantes en cualquier backup:x:34: sistema UNiX: el editor vi. operator:x:37: list:x:38: 2. El editor vi irc:x:39: src:x:40: Muchos pensarán que escribir un artículo o gnats:x:41: parte de este explicando el manejo del vi es shadow:x:42: una pérdida de tiempo y de espacio. utmp:x:43:telnetd Personalmente voy a defender de forma breve video:x:44: el porqué de aprender a manejar este editor staff:x:50: de texto. users:x:100:luis, hxc . Se supone que los lectores de esta revista son ante todo gente curiosa que le ..... gusta investigar diferentes sistemas. Si nos centramos en los sistemas UNiX-like, Cada línea se interpreta de la siguiente forma: nos encontramos que distintos SS.OO UNiX-like poseen diferentes herramientas nombre_grupo:password_grupo:ID_grupo:usua o diferentes maneras de hacer las cosas. rios_pertenecientes_a_ese_grupo Esto muchas veces se convierte en una situación tediosa de "vuelta a empezar nombre_grupo: El nombre que queramos de 0". dar al grupo. Por eso se agradece que herramientas, password_grupo: La clave para el grupo. que en principio puedan parecer poco Normalmente se deja en blanco o se pone un interesantes como los editores de texto, asterisco. No todos los UNiX soportan la estén disponibles en todos los entornos asignación de claves a grupos y se mantiene y se manejen de la misma manera. Éste este formato por compatibilidad con versiones es el caso del vi. Imaginaos que cada más antiguas. vez que entrásemos en una RedHat, en una Debian, en Solaris, en SCO UNiX, ID_grupo: Número que identificará al grupo en FreeBSD, etc... tuviésemos que aprender ante el S.O. cómo se maneja el editor de texto; hasta pasados unos treinta minutos no nos usuarios_pertenecientes_a_ese_grupo: familiarizaríamos con él. Y treinta minutos, a lista de todas los usuarios que pertenecen a pesar de ser mucho tiempo en según que ese grupo. situaciones, no dan mucho de sí. Página 10 PC PASO A PASO Nº 10
  • 11. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi Dicho esto alguno estará pensando "yo tengo Una vez abierto el vi estaremos en modo el vim, ¿es lo mismo que el vi?". Sí y no. Vim comando. Para alternar entre modo comando (Vi improbed, vi mejorado) es una versión y modo edición se utilizará la tecla escape. mejorada del vi que proporciona muchas Vamos a crear un archivo llamado saludo.txt. mejoras al primitivo vi y es compatible con él. Inicialmente invocaremos al editor de la Todo lo que aquí se diga es válido para el vim, siguiente manera: pero tened en cuenta que lo que vais a encontrar en todos los sistemas UNiX es el vi. luis@el_chaman:~$ vi saludo.txt El vi (Visual Interface) es una mejora más que Se nos mostrará entonces la siguiente pantalla se hizo sobre los primitivos editores de líneas (como el ex o ed) presentes en UNiX, y que dotaron de capacidades visuales a estos primitivos editores de manera que pudieran aprovechar las potentes capacidades de los entonces modernos terminales tty. El vi pues, no será el clásico editor de texto plano como el EDIT del MS-DOS, sino que tendrá muchas peculiaridades, la mayoría heredades del editor de líneas que siempre corre bajo el vi, los anteriormente mencionado ex y ed. vi posee tres modos de trabajo: modo comando, Vemos que en la parte inferior se nos muestra modo edición y modo ex. cierta información sobre el archivo: En el modo comando podremos movernos por "saludo.txt" [Fichero nuevo] 0,0-1 Todo el texto, invocar comandos del vi, invocar a ed o ex, etc... La parte izquierda es de significado obvio; los números 0-0 indican la línea y columna En el modo edición simplemente nos limitaremos donde está situado el cursor, y el Todo a introducir texto como si de un editor normal nos dice que está mostrando todo el se tratase. documento en la pantalla. Si el documento fuese más grande, en vez de poner Todo En el modo ex o ed pasamos a manejar los pondría el porcentaje correspondiente al antiguos editores de línea. texto mostrado en pantalla con respecto al total. Normalmente una sesión de vi comienza invocando el propio programa seguido de uno En este momento estamos en modo o más ficheros. Las siguientes invocaciones de comando y el vi está preparado para que vi son válidas: le demos una orden. La orden que vamos a dar es la de insertar texto así que luis@el_chaman:~$ vi pulsamos la letra 'i' (i minúscula). Entonces luis@el_chaman:~$ vi hola.txt obtendremos los que muestra la siguiente luis@el_chaman:~$ vi hola.txt adios.txt imagen. PC PASO A PASO Nº 10 Página 11
  • 12. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi Ahora tenemos que guardar el archivo. Para ello tenemos que pasar primero a modo comando e invocar el comando de escritura. Para pasar a modo comando damos a la tecla ESCAPE, al hacerlo vemos como el -- INSERTAR -- de la parte inferior izquierda desaparece. Ahora teclemamos :w (dos puntos uve doble) tal y como muestra la siguiente imagen. Observamos que en la parte inferior izquierda aparece la palabra -- INSERTAR --. Esto quiere decir que el vi ha entendido la orde y que estamos en modo edición. A continuación vamos a meter el siguiente texto: Esto es una prueba [ENTER] haber como va esto.[ENTER] Si presionamos ENTER nos saldrá un mensaje en la parte inferior similar a este: Antes de continuar; el "haber" de "haber como va esto", es una falta de ortografía puesta con "saludo.txt" [Nuevo] 3L, 39C escritos 3,0-1 Todo la intención de corregirla más adelante. Nos informa de que los cambios han sido Una vez hecho lo indicado habremos guardados con éxito. obtenido algo como lo mostrado en la siguiente imagen. Para salir ahora, volvemos a presionar ESCAPE (volvemos a pasar a modo comando), y tecleamos :q (dos puntos q) Para verificar que hemos escrito el archivo, tecleemos: luis@el_chaman:~$ cat saludo.txt Esto es una prueba haber como va esto luis@el_chaman:~$ Bien, hemos visto que este editor consta básicamente de, por un lado, enviar órdenes al propio vi (modo comando) , y por otro editar Página 12 PC PASO A PASO Nº 10
  • 13. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi texto (modo edición). Esto es una prueba a ver como va esto Vamos a ir afinando un poco más. Nuestro objetivo ahora será corregir la falta que hemos Y volvemos a guardar el archivo invocando cometido. Para ello abriremos el fichero, nos primeramente el modo comando (ESCAPE) y situaremos sobre la palabra que queremos tecleando el comando :wq (escribir y salir). modificar, la borraremos y escribiremos la nueva palabra. Si quisiéramos guardar el archivo con otro nombre, podríamos meter el comando :w Empezamos por invocar al vi: nombre_archivo. Esto es también válido también para cargar un luis@el_chaman:~$ vi saludo.txt archivo cuando el vi ya está abierto; en este caso el comando correspondiente será :r Recordemos que inicialmente estamos siempre nombre_archivo en modo comando. Ahora nos situamos sobre la "h" de "haber". Muchos lo podréis hacer sin Recapitulando: problema con las flechas de los teclados modernos. Esto no valdrá para todos los * El vi, a la hora de editar tiene dos modos: sistemas, así que más vale que vayamos modo comando y modo edición. practicando con la siguiente sustitución: * En el modo comando nos podemos mover h: mover un carácter a la izquierda por el texto tanto con las flechas o las teclas j: mover una línea abajo Av Pág y Re Pág o con sus sustitutas: h, j, k, k: mover una línea arriba l, Ctrl+U, Ctrl+D, Ctrl+F y Ctrl+D. l: mover un carácter a la derecha * Alternaremos entre ambos modos pulsando Otra sustitución útil en los casos de los que no la tecla ESCAPE dispongamos de las teclas Av Pág y Re Pág. será: * Los comandos básicos a la hora de editar serán: i para insertar, x para borrar. Ctrl + U: Retroceder media pantalla Ctrl + D: Avanzar media página * Los comandos básicos a la hora de Ctrl + F: Avanzar una pantalla cargar/guardar archivos son respectivamente Ctrl + B: Retroceder una pantalla :r/:w; ambos admiten como parámetro un nombre de archivo. Una vez situados sobre la "h" de "haber" presionaremos la "x". Observamos que sucesivas Con el sencillo ejemplo visto ya seremos capaces presiones en la letra x eliminan una letra. de editar cualquier fichero de texto con el vi. Eliminad "haber". Pero el vi tiene muchas más posibilidades. Ahora, queremos insertar la corrección, Me he permitido incluir una referencia rápida tecleamos entonces la letra "i" (insertar) y de los comando del vi y un manual bastante automáticamente pasamos al modo edición; completo. Ambos se pueden descargar ahora el vi se comportará como un editor de respectivamente de: textos normal. Modificamos nuestro texto de manera que quede: http://users.servicios.retecal.es/luis-ubaldo/vi-ref.pdf PC PASO A PASO Nº 10 Página 13
  • 14. GNU LINUX III - GESTION DE USUARIOS - vi - GNU LINUX III - GESTION DE USUARIOS - vi y para afrontar la programación. Empezaremos en el próximo artículo con la programación en http://users.servicios.retecal.es/luis- bash-shell y C. Advierto que la programación ubaldo/ManualVi.pdf en C no se centrará en el lenguaje C, si no en el manejo de las distintas herramientas de las Espero que con la ayuda de estos documentos que dispondremos en GNU/LiNUX para realizar y un poco de tiempo, no tardéis mucho en programas en C/C++ (IDEs, compiladores, manejar con soltura este editor. depuradores, etc....). Y ya para terminar decir que estamos listos SUSCRIBETE A PC PASO A PASO 45 EUROS (10% DE DESCUENTO) SUSCRIPCIÓN POR: + 1 AÑO = SORTEO DE UNA CONSOLA XBOX + 11 NUMEROS SORTEO 2 JUEGOS PC (A ELEGIR) C o n t r a R e e m b o l s o Giro Post al Solo tienes que enviarnos un mail a preferente@hackxcrack.com Envíanos un GIRO POSTAL por valor de 45 EUROS a: indicando: CALLE HIGINIO ANGLES Nº2, 4º-1ª - Nombre CP 43001 TARRAGONA - Apellidos ESPAÑA - Dirección Completa IMPORTANTE: En el TEXTO DEL GIRO escribe un mail de contacto - Población o un número de Teléfono. - Provincia - Cógigo Postal Y enviarnos un mail a preferente@hackxcrack.com indicando: - Mail de Contacto y/o Teléfono Contacto - Nombre Es imprescindible que nos facilites un mail o teléfono de contacto, - Apellidos puesto que 24 horas después de que recibamos tu petición de - Dirección Completa subscripción te daremos un número de Cliente Preferente. Este - Población número será utilizado para los sorteos. - Provincia - Tipo de Subscripción: CONTRAREEMBOLSO - Cógigo Postal - Número de Revista: - Mail de Contacto y/o Teléfono Contacto Este será el número a partir del cual quieres subscribirte. Si deseas Es imprescindible que nos facilites un mail o teléfono de contacto, (por ejemplo) subscribirte a partir del número 5 (incluido), debes poner puesto que 24 horas después de que recibamos tu petición de un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos) subscripción te daremos un número de Cliente Preferente. Este número será utilizado para los sorteos. APRECIACIONES: - Tipo de Subscripción: GIRO POSTAL * Junto con el primer número recibirás el abono de 45 euros, precio - Número de Revista: de la subscripción por 11 números (un año) y una carta donde se te Este será el número a partir del cual quieres subscribirte. Si deseas indicará tu número de Cliente Preferente y justificante/factura de la (por ejemplo) subscribirte a partir del número 5 (incluido), debes poner subscripción. un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos) * Puedes hacernos llegar estos datos POR MAIL,tal como te hemos indicado; rellenando el formulario de nuestra WEB APRECIACIONES: (www.hackxcrack.com) o enviándonos una carta a la siguiente dirección: * Junto con el primer número recibirás una carta donde se te indicará CALLE HIGINIO ANGLES Nº2, 4º-1ª tu número de Cliente Preferente y justificante/factura de la subscripción. CP 43001 TARRAGONA * Puedes hacernos llegar estos datos POR MAIL,tal como te hemos ESPAÑA indicado; rellenando el formulario de nuestra WEB * Cualquier consulta referente a las subscripciones puedes enviarla (www.hackxcrack.com) o enviándonos una carta a la siguiente dirección: por mail a preferente@hackxcrack.com CALLE HIGINIO ANGLES Nº2, 4º-1ª CP 43001 TARRAGONA ESPAÑA * Cualquier consulta referente a las subscripciones puedes enviarla por mail a preferente@hackxcrack.com Página 14 PC PASO A PASO Nº 10
  • 15. serie raw: conociendo protocolos y su seguridad raw 4: dcc direct client to client protocol Funcionamiento del Protocolo DCC Codificación de Decodificación de IPs DCC --> Inseguro y Peligroso: -- Obtención de IPs -- “FXP” en DCC -- Obtención de Puertos -- Puenteando un DCC -- DCC Send Hijacking -- Escaneo mediante Fserver 0.- Introducción problemas de seguridad. Como prometí en el número anterior, aquí está Todas estas “técnicas” para abusar del el artículo sobre DCC, para completar todo lo DCCfueron ideadas por mí, aunque seguro que referente a los protocolos relacionados con a más de un lector, en cuanto lea la primera IRC. parte en la que explico el funcionamiento básico del protocolo, se le ocurrirán las mismas ideas, Este artículo va a ser bastante diferente a los ya que son bastante simples (aunque no por anteriores. Para empezar, no se basa en ningún ello menos efectivas). Por tanto, todo lo aquí RFC ya que, tal y como podemos comprobar contado es el fruto de mis experimentos buscando la palabra “DCC” en http://www.rfc- personales, así que puedo garantizar que todo editor.org/rfcsearch.html , no existe ningún lo explicado funciona y, además, que ningún RFC que especifique el funcionamiento de este animal fue dañado para realizar los experimentos protocolo. El funcionamiento del protocolo DCC en el “laboratorio”. ;-) es muy simple, por lo que para detallarlo sólo emplearé la primera mitad del artículo. Es en 1.- FUNCIONAMIENTO DEL DCC la segunda mitad del artículo donde se encuentra la principal diferencia con otros 1.1. Funcionamiento básico del DCC a artículos de la serie, puesto que esta parte grandes rasgos estará enteramente dedicada a técnicas para explotar este protocolo. Para los que aún no sepan de qué demonios trata este artículo, os explicaré rápidamente Por tanto, en esta ocasión no me limitaré tan en qué consiste el DCC. sólo a detallar el funcionamiento de un Los usuarios de IRC (Internet Relay Chat) no protocolo, si no también a detallar sus sólo tienen la posibilidad de conversar con otros PC PASO A PASO Nº 10 Página 15
  • 16. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC usuarios de la misma red, si no que además establecer ningún tipo de conexión entre 2 pueden hacer muchas otras cosas, como enviar usuarios sin la intervención del servidor, que archivos, montar servidores de archivos, chat es el único que conoce las IPs de todos los por voz, utilizar una pizarra común para escribir usuarios. Como segundo ejemplo, aún o dibujar, o incluso videoconferencia. suponiendo que las IPs fuesen públicas, Todas estas virguerías se consiguen mediante imaginaos lo que sería si para decir una simple un protocolo encapsulado en el propio protocolo frase en un canal con 100 usuarios vuestra de IRC, que es el DCC. modesta conexión casera (56K, 256K, o poco más) tuviese que establecer una conexión con En realidad, la mayoría de estas virguerías son cada uno de los 100 usuarios para enviarles la sólo implementadas por unas pocas aplicaciones frasecita de marras. de IRC, y están muy poco extendidas. Volviendo al DCC, éste protocolo es el que Como sabrá cualquier asiduo al IRC, las dos permite realizar cualquier tarea que requiera utilidades típicas del DCC son: DCC Chat y DCC una conexión punto a punto entre 2 usuarios. Send. Las dos utilidades más sencillas que se nos pueden ocurrir en las que se necesite una Ambos tienen en común una característica, y conexión punto a punto son: es que funcionan mediante una conexión punto a punto entre los dos usuarios, y no a través 1- Enviar archivos: menuda locura sería del servidor de IRC. Por eso precisamente el si tuviésemos que enviar un archivo de 700MB protocolo se llama Direct Client to Client. ;-) a través del servidor de IRC mientras otros 3000 usuarios están enviando simultáneamente Os recuerdo que en IRC todo circula a través sus ISOs. del servidor. Por ejemplo, cuando escribimos un mensaje privado a un usuario, en realidad Chat privado: las queries, o chats privados estamos enviando este mensaje primero al entre dos usuarios de IRC, funcionan también servidor de IRC, para que luego el servidor lo a través del servidor de IRC (así que eso de envíe a su vez al usuario correspondiente. privado...), pero hay varios motivos para que no queramos que nuestra conversación pase Pensad en el problema que sería si esto no por un punto intermedio. Los motivos principales fuese así. Para empezar, en algunas redes son dos: en primer lugar, la privacidad, y en (como en el IRC-Hispano) las IPs de los usuarios segundo lugar, el no depender de las limitaciones no son visibles, por lo que sería imposible técnicas del servidor intermedio. Cuando hablo de limitaciones técnicas del s e r v i d o r intermedio me refiero, ante todo, a dos problemas bien conocidos por todos los usuarios de IRC, que son: el lag, Página 16 PC PASO A PASO Nº 10
  • 17. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC y los splits. En un DCC Chat, es decir, un chat así que si queremos establecer una conexión privado entre 2 usuarios mediante una conexión punto a punto tendremos primero que punto a punto, y no a través del servidor de “preguntarle” la IP del otro usuario al servidor. IRC, el lag que haya depende tan sólo de la Para los que os hayáis frotado las manos conexión de los dos usuarios, y no de la del pensando que esto se podría aprovechar para servidor de IRC. Además, si ocurre un split en sacar IPs haciendo falsas consultas al servidor, la red de IRC, o incluso si uno de los usuarios o para los que os hayáis llevado las manos a se cae, el DCC Chat sigue funcionando sin la cabeza ante la inexactitud de lo que acabo enterarse. de decir, ¡dejad todos las manos quietas! Lo he explicado así para que pilléis rápidamente el concepto, pero lo que ocurre en realidad no ! es que un usuario consulte la IP de otro usuario, si no justo todo lo contrario. Lo que hace el Lag y Splits… … usuario es decirle al servidor: “dile mi IP a este usuario”. Así nos “aseguramos” de que mediante Split es cuando uno (o varios) servidores que forman parte DCC sólo se podrán conseguir las IPs de los de la RED IRC se "desconectan" temporalmente del resto usuarios que voluntariamente quieran. de servidores que forman esa RED. Para no ocupar 2 Pero aún sigo sin contar toda la verdad, ya que páginas explicando los detalles, mejor te miras este enlace en realidad todo esto es mucho más divertido. http://www.ayuda-irc.net/splits.shtml, está perfectamente Lo que decimos al servidor no es exactamente expuesto con imágenes y todo :) “dile mi IP a este usuario”, si no “mi IP es ésta, anda, ve y díselo a este usuario”. Por tanto, la Lag es cuando por el motivo que sea se produce un retraso IP que llega hasta un usuario con el que quieres desde que escribes un mensaje hasta que el resto de usuarios establecer una conexión DCC, no es la IP que lo reciben y viceversa (desde que otro usuario escribe un conoce el servidor, si no la que tú le digas... mensaje hasta que tu lo recibes). Las causas pueden ser sea cual sea... muchas, desde que tu conexión deja de responder temporalmente hasta que el servidor de IRC al que estás Una vez realizadas las gestiones previas (que conectado está saturado. consisten, resumiendo, en decirle al otro usuario nuestra IP y un puerto para que pueda conectarse), ya se podrá establecer una 1.2. Establecimiento de la conexión conexión TCP/IP de toda la vida que, por El establecimiento de la conexión en DCC es supuesto, se puede realizar mediante Telnet. diferente a la del resto de protocolos que hemos visto hasta ahora en la serie RAW. Y es que no Como ya dijimos, existen básicamente 2 tipos basta con hacer un telnet a un puerto de mensajes DCC (todos los demás los vamos determinado en el que hay escuchando un a ignorar, por no estar tan extendidos): servidor, si no que tenemos que realizar unas “gestiones” previas para que ese puerto se - DCC Send abra en la máquina a la que nos queremos - DCC Chat conectar. El DCC Send es una petición que dice al Esto se debe a que el establecimiento de servidor IRC: “quiero enviar éste fichero a éste conexión se realiza a través del servidor de usuario”. IRC. Recordemos que un usuario de IRC no tiene por qué conocer la IP de otro usuario, El DCC Chat es una petición que dice al servidor PC PASO A PASO Nº 10 Página 17
  • 18. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC IRC: “quiero establecer un chat privado con servidor de IRC la consabida petición: “quiero éste usuario”. enviar éste fichero a éste usuario. Para ello, dile que se conecte a éste puerto en ésta IP”. En ambos casos, hay que añadir la siguiente (Por supuesto, más adelante veremos el formato coletilla: “para ello, dile que se conecte a éste real de esta petición XD). puerto en ésta IP”. Es decir, el que lanza la petición de DCC es siempre el que actúa como servidor para la conexión TCP/IP que se establecerá, bien en el envío del archivo, o bien en el chat privado. Para los que, al leer la “definición” de DCC Send, se hayan preguntado cómo funciona entonces un fserver, les aclaro que las peticiones que se hacen a un fserver no tienen nada que ver con las peticiones de DCC, si no que son simples comandos “parseados” por 1.2.2. El servidor de IRC devuelve la un script que automatiza el lanzamiento de petición al usuario Scherzo peticiones DCC Send desde el fserver. Para los que no sepáis lo que es un fserver, no os A continuación, el servidor de IRC simplemente preocupéis, que esto no tiene mucho que ver retransmite esa petición a Scherzo: “Oye, que con el tema. :-) PyC me ha dicho que quiere enviarte éste archivo. Si quieres, conéctate a su IP, que es ! ésta, en éste puerto”. Fserver es un servidor de ficheros pueden (o no) incluir los programas de CHAT y sirve para compartir tus archivos con otros usuarios, tienes sobre este tema mucha información en Internet, por ejemplo en http://www.readysoft.es/home/ihidalgo/intermedio/filese rver.html Ya sabes, utiliza el mejor buscador de Internet: www.google.com Para explicar mejor todo el proceso de conexión, 1.2.3. El usuario Scherzo acepta la voy a poner un ejemplo, en el cual el usuario petición PyC quiere enviar un archivo al usuario Scherzo. En este momento, Scherzo debe decidir si quiere 1.2.1. PyC lanza la petición al servidor recibir ese archivo de PyC. Para ello, en su de IRC aplicación cliente de IRC le aparecerá una ventana preguntándole si desea aceptar el DCC. Tanto PyC como Scherzo están conectados al mismo servidor de IRC (condición Si no acepta, aquí se acabó la historia. Pero imprescindible), por lo que PyC le lanza al vamos a suponer que si que acepta. Página 18 PC PASO A PASO Nº 10
  • 19. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC 1.2.4. Scherzo establece la conexión RAW que forman parte del protocolo IRC, TCP/IP con PyC sobre el cual trataba mi anterior artículo. Una vez aceptada la petición, la aplicación Si recordamos algo sobre ese artículo, sabremos cliente de IRC de Scherzo establecerá una ya que los comandos que utilizamos en nuestro conexión TCP/IP de las de toda la vida con la cliente de IRC no son directamente IP y puerto que se especificó en la petición. comprensibles por el servidor, ya que nuestro Si nuestro “cliente” de IRC es nuestro amado cliente hace un parseo y lo convierte al formato Telnet, podemos lanzar manualmente la propio del servidor, que es el que llamamos conexión abriendo otro Telnet (aparte del que formato RAW. usamos para conectar al servidor de IRC), mediante: Como rápido recordatorio, si queréis hacer pruebas con los comandos RAW, podéis utilizar telnet ip puerto el comando QUOTE de vuestro cliente de IRC. Todo lo que pongáis después de un /quote Donde ip es la ip que se nos especificó en la será enviado en RAW al servidor. petición DCC, y puerto es el que se nos especificó en la petición DCC. El comando RAW más versátil es el PRIVMSG, así que podéis probar, por ejemplo, lo siguiente: 1.2.5. PyC envía el archivo a Scherzo a través de la conexión establecida /quote privmsg PyC: hola, PyC! Como molan tus articulos!!! ;) Pues eso, inmediatamente después de establecer la conexión, empezará a transmitirse Si no utilizáis un cliente de IRC, si no un Telnet el archivo a través de esa conexión establecida. a pelo, os recuerdo que lo mismo se haría escribiendo: En el caso de que, en lugar de PRIVMSG PyC: hola, PyC! Como molan DCC Send, tus articulos!!! ;) hubiese sido DCC Chat, El comando PRIVMSG no se usa sólo para llegados a este hacer privados a otros usuarios, si no también punto, en lugar para la conversación rutinaria en los canales. de transmitirse Por ejemplo con: el archivo, comenzaría una /quote privmsg #hackxcrack: buenas :D comunicación interactiva, donde cada usuario recibiría lo que Estaréis enviando un saludo al canal el otro escribiese a través de esa conexión #hackxcrack. Por supuesto, para que este establecida. texto aparezca, tendréis que estar en el canal, o bien el canal tendrá que tener modo –n. 1.3. Comandos RAW Para DCC Recordemos también que el CTCP (Client To No hemos visto aún cómo son en realidad esas Client Protocol) funciona encapsulado en el peticiones que el usuario lanza al servidor. comando PRIVMSG. Un ejemplo básico de Estas peticiones son, por supuesto, comandos CTCP es el siguiente: PC PASO A PASO Nº 10 Página 19
  • 20. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC /quote privmsg PyC: VERSION Codificación de IPs ¿Os apetece estudiar un poco de aritmética ! modular? Estoy seguro de que, dicho así, no os apetece lo más mínimo. XD Donde el símbolo recordamos que es el ascii 1, el cual Pero es precisamente eso lo que debemos podemos escribir mediante la combinación de teclas: saber para codificar y descodificar las IPs en Alt + 1. Os recuerdo también que en algunas aplicaciones una petición de DCC. no funciona esta combinación de teclas, por lo que una solución es buscar una aplicación en la que si que funcione, Desde el punto de vista matemático, una y pastear el ascii desde ahí. dirección IP es un número de 4 cifras en base 256. Pues ahora vamos a rizar el rizo un poco más. La base que utilizamos nosotros a diario es la Si bien el CTCP no es más que un tipo de base 10; por eso, cada cifra de un número mensaje PRIVMSG, resulta que el DCC es a esta comprendida entre 0 y 9. Por ejemplo, si su vez un tipo de mensaje CTCP. Por lo que queremos representar el número 256 en base al final, resulta que el DCC también funciona 10, separando las cifras por puntos, sería ésta mediante el famoso PRIVMSG. Bonito su representación: 2.5.6. trabalenguas. :-) Si queremos representar el mismo número en Si consideramos que el protocolo CTCP base 256, tenemos que tener en cuenta que comprende todos los comandos que se pueden cada cifra podrá valer ahora entre 0 y 255, y ejecutar en un servidor de IRC que implican no sólo entre 0 y 9, así que ésta sería la una comunicación entre 2 usuarios, podemos representación del número 256 en base 256, definir dentro de estos comandos un separando las cifras por puntos: 1.0. subconjunto, que es el formado por aquellos Curioso, ¿eh? El número 10 se representa como comandos que realizan una comunicación 1.0 en base 10, y el número 256 se representa directa entre 2 usuarios estableciendo una como 1.0 en base 256. Esto ocurre con todas conexión específica entre ambos. Este las bases. Si conocemos la base 2, también subconjunto es lo que llamamos DCC (Direct conocida como binario, sabremos que el Client to Client). número 2 se representa como 1.0 (supongo que conoceréis el clásico chiste que dice: existen Veamos ya un ejemplo de comando RAW para 10 clases de personas, las que saben binario, DCC, y luego lo explicaremos en detalle: y las que no). Si conocemos también la base hexadecimal, o base 16, sabremos que el 16 /quote privmsg PyC: DCC CHAT chat se representa como 1.0. Y así con todas las 3645183495 4510 bases. :-) ¿Y esos numerajos? ¿No habíamos quedado Siguiendo con este curso intensivo de aritmética en que lo que se enviaba en una petición era m o d u l a r, v e a m o s c o m o e j e m p l o l a la IP y el puerto? Yo no veo la IP por ninguna representación del número 256 en binario: parte... 100000000, y en hexadecimal: 100. Pues, aunque no la veas, ahí está, pero codificada. Y, por supuesto, yo os enseño Para que podáis convertir cualquier número a ahora mismo cómo decodificarla. :-) cualquier base, os explico brevemente el Página 20 PC PASO A PASO Nº 10
  • 21. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC mecanismo. ¿Recordáis cuando estudiabais los que es precisamente la primera cifra de la números en el cole y os hablaban de centenas, IP. decenas, y unidades? El número 256 se podría Así que nos quedamos con ese 217 y seguimos descomponer de la siguiente forma: operando, pero ahora con el resto de esa división. Para obtener el resto podemos aplicar 256 = 2*100 + 5*10 + 6*1 directamente un operador de módulo si estamos programando en algún lenguaje, o La cifra 2 es la de las centenas, el 5 la de las con una buena calculadora. Por ejemplo, en el decenas, y el 6 la de las unidades. En realidad, lenguaje C el operador de módulo es el % los números que multiplican a cada cifra son (¡ojo! Este % no tiene nada que ver con el simplemente potencias de la base, es decir, en que suele haber en las calculadoras). Si lo este caso potencias de 10. Por ejemplo, 100 estamos haciendo “a mano” podemos obtener = 1, 101 = 10, 102 = 100. el módulo haciendo: Aplicando la misma regla, la dirección IP 217*2563 = 3640655872 217.69.22.7 se podría representar como: 3645183495 – 3640655872 = 4527623 217*2563 + 69*2562 + 22*2561 + 7*2560 Si realizamos esta suma nos sale, en decimal, Que es lo mismo que se obtiene si hacemos: el número 3645183495. ¡Atiza! ¡Si es el mismo numerajo que salía en 3645183495 % (256*256*256) = 4527623 la petición de DCC que puse hace dos horas! (es que estoy perdiendo un poco el tiempo en A continuación, obtenemos la segunda cifra IRC mientras escribo el artículo 0:-) haciendo: 4527623 / 2562 = 69’... Por tanto, ésta es la fórmula que hay que Hallamos el nuevo resto: utilizar para codificar una IP en una petición 4527623 % (256*256) = 5639 de DCC, cuya codificación no es más que la representación de la IP en base 10. Seguimos: 5639 / 2561 = 22’... Decodificación de Ips Hallamos el nuevo resto: 5639 % 256 = 7 Para el proceso inverso, que es obtener una IP a partir de su codificación en base 10, no hay Y este último resto es precisamente la última más que invertir la fórmula. Aquí es donde cifra. :-) vemos por qué a todo esto se le llama aritmética Por tanto, la IP nos queda: 217.69.22.7 modular. Y es que necesitamos operar con el módulo para ir obteniendo las 4 cifras que Es muy fácil programar una pequeña aplicación forman la IP. que codifique y decodifique IPs, así que os lo propongo como ejercicio. ;-) En nuestro ejemplo, el número del que partimos es el 3645183495. Pues bien, empezamos 1.3.1. Comando RAW para DCC Chat dividiendo este número por el primero de los factores, que es 2563, es decir: Os recuerdo el ejemplo: 3645183495/2563 = 217’... Como vemos, no nos sale un número entero, /quote privmsg PyC: DCC CHAT chat pero la parte entera de ese número es 217, 3645183495 4510 PC PASO A PASO Nº 10 Página 21
  • 22. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC Ya sabemos qué es el primer número: la IP En el ejemplo de la imagen, se utilizarán los codificada en base 10. puertos 5100, 5101, y 5102 para lanzar las peticiones de DCC. El segundo número es el puerto, sin ningún tipo de codificación. Es decir, en el momento En segundo lugar, configuramos la tabla NAT en que lanzamos esta petición de DCC, nuestra del firewall para que abra esos puertos hacia aplicación cliente de correo abrirá el puerto nuestro PC. En la siguiente imagen está como 4510 en espera de que el usuario PyC se ejemplo la tabla NAPT de un router ADSL conecte a él. SpeedStream para abrir los 3 puertos del ejemplo: Si, en lugar de utilizar un cliente de IRC (como mIRC, kVirc, etc) estamos utilizando Telnet a En esta tabla pelo, la cosa es más complicada. Tendremos también está que abrir el puerto por medios más rústicos, abierto el por ejemplo utilizando netcat. Ya se explicó puerto 21 de como abrir un puerto en escucha con netcat FTP, y el 113 en el número 8 de HackxCrack, en el artículo de IDENT, y sobre Reverse Shell. otro que no os quiero Si estamos detrás de un firewall, es probable enseñar :P, que tengamos problemas con DCC, ya que no pero todo es fácil abrir puertos dinámicamente detrás de esto es otra un firewall. Para solucionar el problema, historia... tenemos que abrir en el firewall unos puertos dedicados a DCC y, al mismo tiempo, configurar nuestro cliente de IRC para que utilice sólo ! Si utilizas Windows XP ... esos puertos para DCC, en lugar de utilizar un rango aleatorio muy amplio, como suelen venir Si utilizas Windows XP puede ser que tengas activado el configurados por defecto (lo cual, por cierto, Firewall que incorpora Windows, pues ya sabes, mejor lo es más seguro, tal y como veremos más desconectas (esto ya se enseñó en anteriores números). Si adelante). no sabes de qué estamos hablando pásate por nuestro foro (www.hackxcrack.com) y pregunta sobre el tema. Por ejemplo, Si utilizas un firewall por soft (por ejemplo el ZONE en mIRC, ALARM *www.zonelabs.com*) pues lo mismo, hay que nos vamos al configurarlo correctamente o desconectarlo temporalmente. menú File- Si no sabes como configurarlo pregunta en el foro y seguro >Options- que la peña te ayuda con el tema. > D C C - >Options y 1.3.2. Comando RAW para DCC Send ahí configuramos Este es un ejemplo de petición para DCC Send: el rango de puertos donde /quote privmsg PyC : DCC send pone DCC "yonki.jpg" 1042580430 4511 56711 ports. Vemos que aparece el nombre del archivo Página 22 PC PASO A PASO Nº 10
  • 23. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC “yonki.jpg”, y un numerajo más que en el DCC con Ac1dBrn, si no con PyC, que ha capturado Chat. Los dos primeros numerajos son la IP la conexión. ;) y el puerto, exactamente igual que en DCC Chat. El tercer numerajo es simplemente el Ahora que ya os he puesto un poco en situación, tamaño del archivo en Bytes. y os he abierto el apetito, vamos a ponernos en el pellejo de PyC. Como ejercicio os propongo que decodifiquéis esta IP. ;-) Para conseguir capturar esa conexión, PyC ha necesitado antes de nada recopilar una serie Pues bien... seguro que con todo esto que os de datos acerca de Zer0Cul (el que ha lanzado he contado ya habrá aparecido en vuestras la petición de DCC). La mejor forma de conseguir mentes pervertidas alguna idea maliciosa para estos datos es mediante ingeniería social sacar “provecho” del DCC pero, por si acaso, (ingsoc), una de las armas más poderosas. os voy a ahorrar el trabajo contando mis “ideas ¿Pero qué datos se necesitan? Pues los dos maliciosas”. ]:-) datos que circulan en una petición de DCC Chat, es decir: la IP de Zer0Cul, y el puerto 2. INSEGURIDAD EN DCC que abre Zer0Cul para la petición de DCC Chat. 2.1. Pasos previos Cómo conseguir la IP de Zer0Cul Para poder llevar a cabo algunos de los No puedo hacer aquí un tutorial completo de experimentos que voy a contar a continuación, obtención de IPs, así que me limitaré a explicar es necesaria una investigación previa para lo más básico. conseguir ciertos datos del usuario que usaremos (bonita redundancia), bajo su En primer lugar, si la red de IRC en la que consentimiento, espero, para realizar los estamos no encripta las IPs, como en el caso experimentos. de EfNet, nos bastará con escribir en nuestro cliente de correo: Para comprenderlo vamos a ver un escenario de ejemplo, en el cual hay 3 personajes: /dns Zer0Cul Zer0Cul, Ac1dBrn, y PyC. En caso de que la red tenga encriptación de IPs, la forma más sencilla es conseguir Zer0Cul y Ac1dBrn, como su nombre indica, establecer una conexión DCC con Zer0Cul son 2 representantes cualesquiera de la mediante ingeniería social. Este método tiene conocida especie de los lamers, mientras que la ventaja de que también nos servirá para el PyC es un fornido y poderos.... esto... no, siguiente punto, que es la obtención del puerto. quiero decir que PyC no es más que un joven Aquí se pueden plantear 2 casos: que del montón, del grupo de los frikis. ;-) consigamos que acepte una petición nuestra de DCC, o que consigamos que él Supongamos que Zer0Cul quiere hacer un DCC mismo nos lance una petición de DCC. Chat a Ac1dBrn para urdir sus pérfidos planes de hackers. Así que lanza la petición de DCC Para conseguir lo primero, muchas veces Chat, ve cómo Ac1dBrn la acepta, y comienza podemos aprovechar el autoaccept del cliente el parloteo... Lo que no sabe Zer0Cul es que de correo de Zer0Cul. Ningún cliente autoacepta en realidad con quien esta chateando no es archivos .EXE, pero se puede probar con PC PASO A PASO Nº 10 Página 23
  • 24. Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC - Serie Raw - DCC archivos inofensivos, como .TXT. En cualquier tener un sniffer escuchando en nuestros caso, tantear el autoaccept es un riesgo ya puertos de DCC, y luego buscar los paquetes que, si no acertamos, el tío ya estará alerta y de esa conexión en el log del sniffer. Os recuerdo será prácticamente imposible conseguir después que en el primer artículo de la serie RAW que acepte un DCC mediante ingsoc. Así que expliqué cómo manejar un sniffer. recomiendo utilizar el autoaccept sólo cuando se sabe con seguridad qué tipo de archivos En el segundo caso, que es que sea él el que autoacepta. nos lance la petición de DCC, no hay ningún misterio, siempre y cuando utilicemos el software Tanto si ha sido aprovechando el autoaccept, adecuado. Ni siquiera hace falta que aceptemos como si ha sido mediante ingsoc, una vez que el DCC, ya que su IP se encontrará visible en está establecida la conexión de DCC tenemos la propia petición, antes de establecer ninguna que comprobar rápidamente las conexiones conexión. El más famoso cliente de IRC, mIRC, que tenemos establecidas. Para ello podemos no nos servirá para esta tarea, ya que no nos utilizar el comando netstat desde una shell muestra los datos de una petición de DCC. Por de Linux/Unix, o desde una ventana MS-DOS. tanto, tenemos las siguientes opciones: Al ejecutar netstat veremos algo como esto: -En cualquier sistema: utilizar un cliente de Telnet. :-) En Linux: podéis utilizar Kvirc o XChat. En Windows: podéis utilizar algún script sobre mIRC que sí que muestre las peticiones de DCC completas, como por ejemplo IRCap. En Windows, si no nos gusta utilizar Podemos ver 2 conexiones: la primera es la scripts: podemos tener un sniffer escuchando conexión que tenemos establecida con el en el puerto de IRC (típicamente el 6667) y servidor de IRC, por lo que no nos interesa cuando nos llegue la petición de DCC, que ahora; en cambio, la segunda es precisamente mIRC nos mostrará incompleta, ver el paquete la conexión de DCC que hemos establecido completo en el log del sniffer. con Zer0Cul, por lo que ahí tenemos su IP visible (si, eso que he pixelado para que no Cuando nos llegue la petición veremos algo veáis la IP de mi amigo :P). Por cierto, Poseidón como esto en nuestra ventana de Status: es el nombre de la máquina en la que estoy ahora mismo. ¿A que mola poner nombres de [18:38] –Zer0Cul- DCC Chat dioses griegos a las máquinas de tu red local? (62.36.131.206) ¡Incluso cumple con las recomendaciones del - RFC1178! ;-) ·· Zer0Cul H4x0r@DDzACj.AQs89f.virtual Otra forma de comprobar la IP cuando nos DCC CHAT chat 1042580430 4510 ·· acepta un DCC, sobre todo si sospechamos que no nos va a dar tiempo a hacer un netstat Ahí podemos ver que la IP de Zer0Cul es (bien porque enviamos un archivo muy 62.36.131.206 (como ejercicio os propongo pequeño, o porque no podemos estar que lo comprobéis decodificando la IP), y que pendientes del momento en que acepta) es el puerto que ha utilizado para la petición es Página 24 PC PASO A PASO Nº 10