23
LECCIÓN 3 PUERTOS Y PROTOCOLOS

3 Puertos y protocolos.pdf

Embed Size (px)

Citation preview

  • LECCIN 3PUERTOS Y PROTOCOLOS

  • WARNINGThe Hacker Highschool Project is a learning tool and as with any learning tool there

    are dangers. Some lessons if abused may result in physical injury. Some additional dangersmay also exist where there is not enough research on possible effects of emanations fromparticular technologies. Students using these lessons should be supervised yetencouraged to learn, try, and do. However ISECOM cannot accept responsibility for howany information herein is abused.

    The following lessons and workbooks are open and publicly available under the followingterms and conditions of ISECOM:

    All works in the Hacker Highschool Project are provided for non-commercial use withelementary school students, junior high school students, and high school students whetherin a public institution, private institution, or a part of home-schooling. These materials maynot be reproduced for sale in any form. The provision of any class, course, training, orcamp with these materials for which a fee is charged is expressly forbidden without alicense including college classes, university classes, trade-school classes, summer orcomputer camps, and similar. To purchase a license, visit the LICENSE section of the HHSweb page at http://www.hackerhighschool.org/licensing.html.

    The HHS Project is an open community effort and if you find value in this project we ask thatyou support us through the purchase of a license, a donation, or sponsorship.

    AVISOEl proyecto Hacker Highschool es una herramienta de aprendizaje, y como tal existenriesgos. El mal uso de algunas lecciones puede terminar en dao fsico. Existen riesgosadicionales ya que no existen estudios suficientes sobre los posibles efectos de lasemisiones en algunas tecnologas. Los estudiantes que sigan estas lecciones deberan sersupervisados y motivados a aprenderlas, probarlas y utilizarlas. No obstante, ISECOM noacepta responsabilidad alguna por el mal uso de la informacin presentada.

    Las siguientes lecciones y cuadernos de trabajo son abiertos y accesibles al pblico bajo lossiguientes trminos y condiciones de ISECOM:

    Todas las obras del proyecto Hacker Highschool se proporcionan para su uso no comercialcon estudiantes de escuelas primarias, secundaria y bachillerato ya sea en centros pblicos,instituciones privada, o educacin en casa. Este material no puede ser reproducido para suventa bajo ningn concepto. Impartir cualquier clase, formacin o actividad con estosmateriales cobrando por ello est expresamente prohibido sin la adquisicin de una licencia,incluyendo cursos en escuelas, clases universitarias, cursos comerciales, cursos de verano,campamentos de informtica, y similares. Para adquirir una licencia, visite la seccinLICENCIA en la pgina web de Hacker Highschool enwww . hackerhighschool . org / licensing.html .

    El proyecto HHS es resultado del esfuerzo de una comunidad abierta. Si encuentra til esteproyecto, le pedimos que nos apoye mediante la compra de una licencia, una donacin opatrocinio.

    2

    Leccin 1: Ser un Hacker

  • ndice de contenidosIntroduccin y Objetivos...................................................................................................................... 5Conceptos bsicos de redes.............................................................................................................. 6

    Dispositivos......................................................................................................................................... 6Topologa .......................................................................................................................................... 6

    El modelo TCP/IP................................................................................................................................... 7Capas................................................................................................................................................ 7

    Aplicacin (Application)........................................................................................................... 8Transporte (Transport)................................................................................................................. 8Interred o red (Internetwork)..................................................................................................... 9Host-Red (Network Access)....................................................................................................... 9

    Aliments tu miente: Sorprenda a sus amigos por conocer la diferencia........................................9Protocolos ......................................................................................................................................... 9

    Protocolos del nivel de Aplicacin........................................................................................... 9Protocolos de la capa de Transporte..................................................................................... 10Protocolos de la capa de Internet......................................................................................... 10Protocolo de Mensajes de Control de Internet (ICMP)........................................................ 10

    Direcciones IPv4.............................................................................................................................. 11Alimenta tu Mente: IPv6..................................................................................................................... 13

    Formato de direcciones................................................................................................................ 14Implementacin de una pila IP doble (Dual IP Stack)............................................................... 15Puertos............................................................................................................................................. 15Encapsulacin................................................................................................................................ 17

    Alimenta tu Mente: El modelo OSI.................................................................................................... 20

    3

    Leccin 1: Ser un Hacker

  • Contributors

    Pete Herzog, ISECOM

    Marta Barcel, ISECOM

    Chuck Truett, ISECOM

    Kim Truett, ISECOM

    Gary Axten, ISECOM

    Glenn Norman, ISECOM

    Mario Platt

    Marco Ivaldi, @ Mediaservice.net

    Greg Playle, Serco

    Alfonso Arjona, @alfonsoarjona.net

    Adrin Crespo, [email protected]

    4

    Leccin 1: Ser un Hacker

  • Introduccin y Objetivos

    En un remoto pasado, antes de que existiera Internet, las comunicaciones electrnicaseran un autntico Vud. Cada fabricante de equipos tena su propia idea acerca decmo deban hablar las mquinas a travs de un cable. Y nadie consideraba siquiera laposibilidad de que un equipo Wang pudiera comunicarse con una mquina deBurroughs.

    El mundo cambi cuando cientficos y estudiantes experimentaron las bondades de usarun terminal para acceder a un ordenador central. Lleg el famoso PC de IBM, yrpidamente sus propietarios queran acceder al ordenador central desde su ordenadorpersonal. En poco tiempo, los mdems estaban haciendo conexiones de accesotelefnico y los usuarios estaban trabajando con emuladores de terminal. La creacin deredes (networking) se haba graduado en magia negra y los iniciados fueron llamados(ahora s) Gurs.

    Y cambi nuevamente de forma dramtica cuando Internet, que comenz como unproyecto militar privado, se hizo accesible al pblico. El networking siempre haba sidolocal, es decir, limitado a una oficina o como mucho a un campus. Cmo iban a hablartodos estos sistemas tan diferentes?

    La respuesta fue "calzar" un sistema universal de direcciones en las redes existentes, elsistema que generalmente llamamos Protocolo de Internet (IP). Piensa en esto de laforma siguiente: imagina que tu amigo en el extranjero te enva un paquete. Estepaquete puede viajar en avin, tren o automvil, pero la realidad es que no necesitassaber el horario de la aerolnea o la ubicacin de la estacin de tren ms cercana. Elpaquete, con el tiempo, llegar a tu domicilio que es en ltima instancia lo nico queimporta. Tu direccin IP es muy parecida a esto: los paquetes pueden viajar como loselectrones, haces de luz o las ondas de radio, pero esos sistemas no importan. Lo nicoimportante es tu direccin IP y la direccin IP del sistema con el que ests hablando.

    Pero en el mundo real, hay algo que complica esta idea, y es que ms de una personapuede estar viviendo en una misma direccin. En el mundo de las redes, eso es lo queocurre cuando un servidor proporciona los recursos habituales de HTTP y HTTPS, as comode FTP. Te has dado cuenta de la P que est al final, o cerca de este, en esas siglas? Esosiempre es un claro indicativo de protocolo, que slo es otra manera de decir "un tipo decomunicacin".

    Esta leccin te ayudar a entender cmo funcionan los protocolos y sus puertos enWindows, OSX y Linux. Tambin te familiarizar con varias utilidades que exploran lascapacidades de la red de tu sistema.

    Al terminar esta leccin deberas tener unos conocimientos bsicos de:

    El concepto de redes, y como tiene lugar la comunicacin.

    Las direcciones IP, y

    Los puertos y protocolos.

    5

    Leccin 1: Ser un Hacker

  • Conceptos bsicos de redes

    Dispositivos

    En el futuro, en tu carrera como hacker, vers una gran cantidad de diagramas de red.Es til reconocer los smbolos ms comunes:

    PC o Estacin detrabajo

    Hub Switch Router

    Un hub es similar a los viejos party-line telefnicos: Todo el mundo est en el mismo cable,y puede escuchar las conversaciones de los dems. Esto hace que una LAN se vuelvaruidosa rpidamente.

    Un switch es mejor: filtra el trfico de modo que slo los dos computadores que estnhablando entre ellos puedan oir la conversacin. Pero como ocurre con los hubs, slo seusa en una LAN.

    Un router se encuentre entre LANs y se usa para acceder a otras redes e Internet,utilizando direcciones IP. Examina los paquetes que se envan y decide cul es la red a laque pertenecen los paquetes. Si el paquete pertenece a "otra" red, acta como unagente de trfico, y enva el paquete donde corresponda.

    Topologa

    Topologa es otra forma de decir "la forma en la que las cosas se conectan". Lasdecisiones que tomemos con respecto a nuestra topologa pueden afectarnos en elfuturo, tanto positiva como negativamente, en funcin de las tecnologas que se utilicen,las limitaciones tecnolgicas y fsicas, el rendimiento y los requisitos de seguridad, eltamao y la naturaleza de la organizacin, etctera.

    El punto de partida para la creacin de redes es la red de rea local (LAN). Una LANpermite compartir recursos a los ordenadores de un espacio fsico comn, comoimpresoras o discos, y a los administradores controlar ese acceso. Una estructura fsica deLAN puede parecerse a cualquiera de las siguientes topologas fsicas:

    6

    Leccin 1: Ser un Hacker

  • En una topologa de bus, todos los computadores estn conectados a un nico cable, ycada computador puede comunicarse directamente con cualquiera de los otros. Pero sise rompe el bus en cualquier parte, todo el mundo se encontrar desconectado.

    En una configuracin de anillo (ring), cada ordenador est conectado con el siguiente,el ltimo se conecta con el primero, y cada computador slo puede comunicarsedirectamente con sus dos adyacentes. Ya que este diseo utiliza normalmente un anillodoble, hay cierta tolerancia a fallos.

    La topologa de anillo se usa raramente hoy en da. Pero los anillos se utilizan a menudopara un "campus", por lo general con dos anillos, y enviando el trfico en direccionesopuestas, dada su fiabilidad.

    En la topologa de estrella (star), ninguno de los computadores est conectadodirectamente con los otros. En lugar de eso, lo hace a travs de un hub o switch quereenva la informacin de un equipo a otro.

    Si se conectan entre si varios hubs o switches, lo que obtendrs es una topologa enestrella extendida (extended star).

    En una estrella o estrella extendida, todos los puntos se denominan pares (peers), esdecir, que son esencialmente iguales. Esta es la topologa de red ms comn hoy en da.

    Sin embargo, si conectas dos estrellas o dos estrellas extendidas entre si usando un puntocentral que controle o limite el trfico entre las dos redes, lo que tendrs ser unatopologa de red jerrquica. Esta es la que se despliega habitualmente en las grandesempresas.

    El modelo TCP/IP

    TCP/IP fue desarrollado por el DOD (Department of Defense Departamento de Defensa)de los Estados Unidos y DARPA (Defense Advanced Research Project Agency - Agenciade Investigacin de Proyectos Avanzados de Defensa) en los 70. Se dise para ser unestndar abierto que cualquiera pudiera usar para conectar computadores entre si eintercambiar informacin entre ellos. Esto se convirti, finalmente, en la base de Internet.

    En general, la forma ms simple del modelo TCP / IP se llama Modelo DoD, y por ah espor donde vamos a empezar.

    Capas

    7

    Bus Ring Star ExtendedStar Hierarchic

    Leccin 1: Ser un Hacker

  • El modelo sencillo DoD define cuatro capas totalmente independientes, que dividen elproceso de comunicacin entre dos dispositivos. Las capas por las que pasa lainformacin entre dos dispositivos son:

    Aplicacin (Application)

    La capa de aplicacin es exactamente lo que con toda probabilidad piensas que es: lacapa donde trabajan las aplicaciones como Firefox, Opera, clientes de correoelectrnico, sitios de redes sociales, mensajera instantnea y aplicaciones de chat. Enrealidad slo unas pocas aplicaciones acceden a Internet: algunas aplicaciones deoficina, por ejemplo, se conectan a galeras de imgenes en lnea para que puedasaadir grficos prediseados. La capa de aplicacin crea la carga til que llevarntodas las otras capas. Una buena analoga es un sistema postal. La aplicacin crea elpaquete y lo envuelve con instrucciones sobre cmo debe ser utilizado el paquete.Luego, entrega el paquete a la sala de correo: la capa de transporte.

    Transporte (Transport)

    La capa de transporte establece las conexiones de red, que se llaman sesiones. En elmundo de Internet, el protocolo principal en la capa de transporte es TCP, el Protocolode Control de Transmisin. TCP agrega otro "envoltorio" a la parte exterior del paquete,con instrucciones sobre qu paquete es (por ejemplo, 1 de 3), la forma de asegurarse deque el paquete lleg a su destino, y si el paquete est intacto.

    Supongamos que vas a enviar una carta a tu madre. La carta puede ser corta o larga,pero es demasiado grande para enviarse a travs de Internet de una sola pieza. Por eso,TCP rompe la carta en segmentos, trozos pequeos que se numeran consecutivamente,con un poco de cdigo de comprobacin de errores al final. Si un paquete se daa

    8

    Leccin 1: Ser un Hacker

  • durante el transporte, TCP pide una retransmisin. En el extremo receptor, TCP une lacarta en el orden correcto y tu madre la recibe en su correo electrnico.

    Interred o red (Internetwork)

    Esta capa aade informacin acerca de las direcciones y puertos de origen y destino,adems de donde empieza el paquete y donde termina. Es como una empresa demensajera que entrega paquetes en la direccin correcta. No le importa si llegan todoslos paquetes o si estn intactos: eso es el trabajo de la capa de Transporte. El protocoloms importante en este nivel es, apropiadamente, IP, Internet Protocol. Esta es la capaque utiliza las direcciones IP para entregar los paquetes en el lugar adecuado y por lamejor ruta.

    Host-Red (Network Access)

    Esta capa es la red fsica de bajo nivel que usas para conectarte a Internet. Si usas unacceso telefnico a redes, lo sentimos, ya que ests usando una burda conexin PPP. Sitienes DSL puede que ests utilizando ATM o Metro Ethernet. Y si tienes Internet por cableestars utilizando DOCSIS. No importa lo que uses, porque TCP/IP hace que todofuncione. La capa Host-Red consiste en el cable Ethernet y la tarjeta de red (NIC), o en latarjeta inalmbrica y el punto de acceso. Maneja los unos y ceros de nivel ms bajo (bits)a medida que van de un punto a otro.

    Aliments tu miente: Sorprenda a sus amigos por conocer la diferencia

    Mira El modelo OSI al final de esta leccin para ver una versin alternativa delmodelado de redes.

    Protocolos

    As que ahora ya ests conectado a Internet. Parece bastante simple, peroconsideremos una situacin habitual en la que te puedes encontrar: ests llevando acabo una investigacin inocente, pero importante, en Internet mientras que tu queridohermano o hermana se dedica a perder el tiempo viendo una pelcula por streaming.Por qu no se mezclan los dos trficos? Qu hace la red para distinguirlos?

    La respuesta son los protocolos, que son como los idiomas que hablan los distintos tiposde trfico. El trfico Web utiliza un protocolo, las transferencias de archivos usan otro, y elcorreo electrnico otro diferente. Como todas las cosas digitales, en realidad losprotocolos no utilizan nombres en el nivel de red: usan direcciones IP y nmeros depuerto.

    Protocolos del nivel de Aplicacin

    El FTP o File Transfer Protocol se utiliza para transmitir archivos entre dos dispositivos. Utilizaun puerto para entregar los datos, y otro para enviar seales de contro (Archivorecibido! Gracias!). Los puertos ms habituales son el 20 y 21.

    El HTTP o Hyper-Text Transfer Protocol se usa para pginas web. Este trfico usanormalmente el puerto 80.

    SMTP o Simple Mail Transfer Protocol es el protocolo que enva emails. El puerto habituales el 25.

    9

    Leccin 1: Ser un Hacker

  • DNS o Domain Name Service es la forma en que un dominio cmo ISECOM.org se dirigehacia una direccin IP tal que 216.92.116.13. El puerto ms utilizado es el 53.

    Protocolos de la capa de Transporte

    TCP no es el nico protocolo de la capa de Transporte: hay dos protocolos principalesque se utilizan en esta capa para transferir datos.

    TCP o Transmission Control Protocol establece una conexin logica (una sesin) entre doshosts en una red. Establece esta conexin usando una negociacin (handshake) de tresvas:

    1. Cuando mi computador quiere conectarse al tuyo, enva un paquete SYN, quebsicamente dice: Vamos a sincronizar nuestros relojes para que podamosintercambiar datos usando marcas de tiempo (timestamps)

    2. Tu computador (si va a aceptar la conexin) responde con un paquete deconfirmacin SYN/ACK.

    3. Mi computador cierra el trato mandando un ACK, y ya estaremos conectados. Peroesto slo ocurre con TCP.

    UDP o User Datagram Protocol es un protocolo de transporte al que ni siquiera le importasi tienes conexin. Es como el beber agua de una manguera: si atrapas el chorrobebers, y si no... pues no. Esto hace que UDP sea muy rpido, as que es til para cosascomo hacer streaming de vdeo, donde si pierde un paquete (frame) no importa mucho,o en juegos en lnea, donde perder un fotograma tampoco importa (bueno, esodepende de a qu lado de la bala ests).

    Protocolos de la capa de Internet

    IP o Internet Protocol acta como un protocolo universal para permitir que doscomputadores cualquiera se comuniquen a travs de cualquier red en cualquiermomento. Es como el cartero que entrega el correo, lo nico que hace es entregar lospaquetes en su direccin de destino.

    Protocolo de Mensajes de Control de Internet (ICMP)

    ICMP es el protocolo que utilizan los dispositivos en red y los administradores de redespara resolver problemas y mantener la red. Incluye cosas como el PING (Packet Inter NetGroper) y otros comandos parecidos que sirven para probar la red e informar de errores.

    Puestos en conjunto , los puertos y protocolos se representan as:

    10

    Leccin 1: Ser un Hacker

  • Direcciones IPv4

    Los nombres de Domino son muy tiles para los seres humanos, porque somos buenosrecordando nombres como ISECOM.org. Pero en la actualidad, las redes no losentienden; slo comprenden nmeros de direccin IP. As que cuando quieres ir aISECOM.org, tu computador hace una bsqueda rpida usando el DNS (Domain NameService) para encontrar la direccin IP correspondiente.

    Las direcciones IP son como las direcciones postales. Si quieres recibir correo, tienes quetener una. IPv4 consiste en 32 bits que se dividen en cuatro octetos (8 bit) que se separanpor puntos. Parte de la direccin IP identifica la red, y el resto identifica individualmente alos computadores de esa red. Esto significa que hay 232 (o 4.294.967.296 ) direccionesnicas en Internet bajo IPv4. Imagina que estas partes son como la ciudad/pas (la red) yla calle (el host).

    Volviendo a la analoga del servicio postal: IP es el furgn de reparto que intenta llevarel paquete a la oficina de correos correcta. TCP es el envoltorio exterior con la lista decuantos paquetes tiene el envo, y cual es este. El nivel host de la direccin es la casaparticular (computador) en la cual debe entregar el paquete.

    Hay direcciones IP pblicas y privadas (no enrutables). Las direcciones privadas se usanen redes privadas, y por un estndar industrial no pueden enviarse fuera de la red,

    11

    Leccin 1: Ser un Hacker

  • aunque los computadores de dos redes privadas diferentes (pero desconectadas entreellas) pueden tener direcciones IP duplicadas. Las direcciones IP que ha definido IANA(Internet Assigned Numbers Authority) para utilizar en redes privadas son:

    10.0.0.0 hasta 10.255.255.255 (Clase A)

    172.16.0.0 hasta 172.31.255.255

    192.168.0.0. hasta 192.168.255.255 (Clase B)

    Las direcciones IP se dividen en clases basndose en qu parte de la direccin se usapara identificar la red, y que parte se usa para identificar computadores individuales.

    Dependiendo del tamao asignado a cada parte, se permitirn ms dispositivos dentrode la red, o se permitirn ms redes. Las clases vigentes son:

    - Clase A: El primer bit siempre es cero, as que esta clase incluye las direcciones entre0.0.0.0 (que, por convenio, nunca se usa) y 126.255.255.255. Nota: la direcciones127.x.x.x estn reservadas para los servicios de loopback o localhost. Mira lo quesignifica esto ms adelante.

    - Clase B: Los dos primeros bits del primer octeto son '10', as que esta clase incluye lasdirecciones entre 128.0.0.0 y 191.255.255.255.

    - Clase C: Los tres primeros bits del primer octeto son '110', luego esta clase incluye lasdirecciones entre192.0.0.0 y 223.255.255.255.

    - Clase D: Los cuatro primeros bits del primer octeto son '1110', por tanto esta claseincluye las direcciones entre 224.0.0.0 y 239.255.255.255. Estas direcciones estnreservadas para implementaciones de grupos multicast.

    - Las direcciones restantes se usan para experimentar o se reservan para posiblesasignaciones en el futuro.

    Llegados a este punto, vemos que las Clases no se usan para distinguir entra la parte dela direccin usada para identificar la red, y la parte que identifica dispositivosindividuales. Para eso, usamos las mscaras. En la mscara, un bit a '1' representa laparte que contiene la identificacin de la red, y un bit a '0' hace lo mismo para la parteque identifica los dispositivos individuales. Por eso para identificar un dispositivo, ademsde la direccin IP es necesario especificar la mscara de red:

    12

    Leccin 1: Ser un Hacker

  • IP: 172.16.1.20

    Mscara: 255.255.255.0

    Las IP 127.x.x.x se reservan para usarse como direcciones de loopback o localhost, esdecir, que se refieren directamente al computador local. Cada computador tiene comodireccin localhost 127.0.0.1, y por tanto esa direccin no puede utilizarse para identificarun dispositivo diferente. Hay otras que tampoco pueden utilizarse, que son las dedirecciones red (network) y las direcciones de multidifusin (broadcast).

    La direccin de red es una en la cual la parte que se especificara el dispositivo es todoceros. Esta direccin no puede usarse, ya que identifica la red completa y por tanto nopuede ser empleada para especificar un dispositivo en concreto.

    IP: 172.16.1.0

    Mscara: 255.255.255.0

    La direccin de multidifusin es aquella en la cual la parte que identifica un dispositivo,identifica a todos. Esta direccin tampoco puede usarse para identificar un equipoespecfico, porque es la direccin que se usa para enviar informacin a todos loscomputadores que se encuentran en una red concreta.

    IP: 172.16.1.255

    Mscara: 255.255.255.0

    Alimenta tu Mente: IPv6

    El ICANN/IANA asign los 8 bloques finales de direcciones IPv4 a los RegistrosRegionales de Internet en febrero de 2011.

    IPv6 (Internet Protocol version 6) es una versin del Protocolo Internet (IP) desarrolladopor la Internet Engineering Task Force (IETF), que est destinado a reemplazar IPv4como el protocolo de comunicaciones dominante para el trfico de Internet

    IPv6 ofrece la mejor solucin para el problema del agotamiento de direcciones IPv4en Internet, mediante el uso de una direccin de 128 bits en lugar de los 32 bits deIpv4.

    La longitud de direccin ampliada que ofrece el IPv6 elimina la necesidad de utilizartcnicas tales como traducir direcciones de red o puertos (NAT / PAT).

    Por convenio IPv6 utiliza 32 nmeros hexadecimales, organizados en 8 cuartetos de 4dgitos hexadecimales separados por dos puntos, para representar una direccinIPv6 de 128 bits. Por ejemplo:

    2001:0 db8: 85a3: 0000:0000:8 A2E: 0370:7334

    13

    Leccin 1: Ser un Hacker

  • IPv6 incluye muchos tipos diferentes de direcciones, incluyendo las unicast y mulitcast

    IPv6 Address Types

    Tipo dedireccin

    Propsito Prefijo Prefijo HEX sencillo

    GlobalUnicast

    Paquetes Unicast enviados a travsde Internet.

    2000::/3 2 3

    Localnica

    Estas direcciones se destinanexclusivamente a conjuntos de sitioscooperantes. Se introdujeron en IPv6para reemplazar a las direccioneslocales. Estas direcciones tambinproporcionan un nmeropseudoaleatorio de 40-bits quereduce el riesgo de conflictos dedirecciones.

    FD00::/8 FD

    Link Local Es el prefijo de enlace local queofrece IPV6. Este prefijo de direccinindica que la direccin slo es vlidaen el enlace fsico local.

    FE80::/10 FE80

    Multicast Multicasts que permanecen en lasubred local.

    FF02::/16 FF02

    Formato de direcciones

    Una direccin IPv6 se representa por 8 grupos de 16 bits en hexadecimal, separadospor dos puntos (:). Por ejemplo:2001:0db8:85a3:0000:0000:8a2e:0370:7334

    Los nmeros en hexadecimal no son sensible a maysculas/minsculas.

    Una direccin IPv6 puede abreviarse con las siguientes reglas:

    1. Omitiendo los ceros a la izquierda en los valores de 16 bits.

    2. Reemplazando uno o ms grupos consecutivos de ceros por dos puntosdobles. Por ejemplo:

    Direccin fe80 : 0000 : 0000 : 0000 : 0202 : b3ff : fe1e : 8329

    Despuesde laRegla 1

    fe80 0 0 0202

    b3ff

    fe1e

    8329

    Despuesde laRegla 2

    fe80202

    b3ff

    fe1e

    8329

    Estas son las representaciones en texto de estas direcciones:

    fe80:0000:0000:0000:0202:b3ff:fe1e:8329

    14

    Leccin 1: Ser un Hacker

  • fe80:0:0:0:202:b3ff:fe1e:8329

    fe80::202:b3ff:fe1e:8329

    Otro ejemplo interesante es la direccin de loopback:

    0:0:0:0:0:0:0:1

    ::1

    Implementacin de una pila IP doble (Dual IP Stack)

    Significa que el host tiene tanto una direccin de IPv4 como una IPv6 asociada a cadatarjeta de red. Por tanto, puede enviar paquetes IPv4 a hosts IPv4 y paquetes IPv6 ahosts Ipv6.El enfoque de doble pila puede ser un enfoque razonable para migrar una empresa aIPv6.

    Puertos

    TCP y UDP usan los puertos para intercambiar informacin con las aplicaciones. Unpuerto es una extensin de una direccin, algo parecido a aadir el nmero de casa oapartamento a la direccin de una calle. Una carta con la direccin de la calle llegaral edificio de apartamentos correcto, pero sin saber el nmero de apartamento no sepodr entregar en el buzn correcto. Los puertos trabajan de forma muy parecida. Unpaquete puede entregarse en la direccin IP correcta, pero sin el puerto asociado nohay forma de saber qu aplicacin debe utilizar ese paquete. El nmero de puerto es unvalor de 16 bits, lo que significa que tiene valores decimales entre 0 y 65535 (2 elevado a16).

    Otra forma de verlo podra ser esto: cada computador es una oficina de correos y cadaaplicacin tiene su propio apartado de correos: dos aplicaciones no pueden tener elmismo apartado de correos. Por tanto, el nmero de puerto es como el apartado decorreos.

    Una vez que se han definido los puertos, ya es posible que los distintos tipos deinformacin que se han enviado a una direccin IP lleguen a la aplicacin adecuada.Usando puertos, un servicio que se ejecuta en un computador remoto puede determinarel protocolo que necesita para enviar esa informacin y mantener conexionessimultneas con distintos clientes.

    Por ejemplo, si un computador local intenta conectarse a la pgina webwww.osstmm.org, cuya direccin IP es 62.80.122.203 con un servidor web corriendo en elpuerto 80, el computador local podr conectar al remoto usando esta direccin desocket:

    62.80.122.203:80

    Con objeto de mantener un nivel de estandarizacin en los puertos ms comunes, IANAestableci que los puertos entre 0 y 1024 se usarn para servicios comunes, privilegiadoso bien conocidos. El resto de puertos, hasta 65535, se usan para asignaciones dinmicaso servicios particulares.

    Los puertos ms usados (bien conocidos) asignados por IANA son estos:

    15

    Leccin 1: Ser un Hacker

  • Port Assignments

    Number Keywords Description

    5 rje Remote Job Entry

    0 Reservado

    1-4 Sin asignar

    7 echo Eco (Echo)

    9 discard Discard

    11 systat Active Users

    13 daytime Fecha y hora actual (Daytime)

    15 netstat Who is Up or NETSTAT

    17 qotd Quote of the Day

    19 chargen Character Generator

    20 ftp-data File Transfer [Default Data]

    21 ftp File Transfer [Control]

    22 ssh SSH Remote Login Protocol

    23 telnet Telnet

    25 smtp Simple Mail Transfer

    37 time Time

    39 rlp Resource Location Protocol

    42 nameserver Host Name Server

    43 nicname Who Is

    53 domain Domain Name Server

    67 bootps Bootstrap Protocol Server

    68 bootpc Bootstrap Protocol Client

    69 tftp Trivial File Transfer

    70 gopher Gopher

    75 any private dial out service

    77 any private RJE service

    79 finger Finger

    80 www-http World Wide Web HTTP

    95 supdup SUPDUP

    101 hostname NIC Host Name Server

    102 iso-tsap ISO-TSAP Class 0

    110 pop3 Post Office Protocol - Version 3

    113 auth Authentication Service

    16

    Leccin 1: Ser un Hacker

  • Port Assignments

    117 uucp-path UUCP Path Service

    119 nntp Network News Transfer Protocol

    123 ntp Network Time Protocol

    137 netbios-ns NETBIOS Name Service

    138 netbios-dgm NETBIOS Datagram Service

    139 netbios-ssn NETBIOS Session Service

    140-159 Unassigned

    160-223 Reserved

    Encapsulacin

    Cuando un elemento de informacin (un e-mail, por ejemplo) se enva de uncomputador a otro, se ve sometido a una serie de transformaciones. La capa deaplicacin genera los datos, que se envan a la capa de transporte. La capa detransporte toma esta informacin y le aade una cabecera (header). Esta cabeceracontiene informacin, como las direcciones IP de origen y destino, y explica que es loque se debe hacer con el dato para entregarlo en el destino apropiado. La siguientecapa aadir otra cabecera, y as sucesivamente. Este procedimiento se conoce comoencapsulacin.

    Cada capa tras la primera encapsula los datos de la capa anterior, hasta que se llega ala ltima capa, en la cual se hace la transmisin de los datos. La siguiente imagenmuestra la encapsulacin de forma grfica:

    17

    Leccin 1: Ser un Hacker

  • Cuando la informacin encapsulada llega a su destino, debe desencapsularse. Comocada capa pasa la informacin a la siguiente capa de la pila, se elimina la informacininnecesaria que contiene la cabecera colocada por la capa inferior.

    El pedacito final de informacin de este gran esquema de direccionamiento es unadireccin nica que est en la tarjeta de red del computador: la Media AccessController (MAC). Esta direccin se escribe normalmente mediante grupos de doscaracteres alfanumricos separados por dos puntos (:) o un guin (-). Es la direccin fsicade la tarjeta de red, y no cambia. Por ejemplo:

    00-15-00-06-E6-BF.

    Ejercicios

    3.1. Usando los comandos que has aprendido en las lecciones 1 y 2, obtn tu direccin IP,mscara de red, servidor de DNS y la direccin MAC. Comprala con la de tuscompaeros. Qu es parecido, y qu diferente? Dado el esquema de direcciones IPque est utilizando la red se trata de una red pblica o privada?

    3.2. netstat

    El comando netstat te da estadsticas de tu red: con quin ests conectado, cuntotiempo ha estado activada la red, y muchas cosas ms. En Linux, Windows o OSXpuedes abrir una terminal de lnea de comandos (CLI) y escribir:

    netstat

    En la ventana de CLI, vers una lista con las conexiones establecidas. Si quieres verlasen forma numrica, escribe:

    netstat -n

    Para ver las conexiones y los puertos activos (escuchando o abiertos), escribe:

    netstat -an

    Para ver la lista de opciones, escribe:

    netstat -h

    En la salida de netstat, observa las columnas que muestran las IP local y remotas, y lospuertos que estn usando:

    Proto Recv-Q Send-Q Local Address Foreign Address (state)

    tcp4 0 0 192.168.2.136.043 66.220.149.94.443 ESTABLISHED

    Los puertos son los nmeros que estn detrs de las direcciones IP; pueden estarseparados por un punto (.) o dos puntos (:). Por qu los puertos utilizados por lasdirecciones remotas son distintos de los usados por las direcciones locales?

    Abre varias pginas web en distintas ventanas o pestaas del navegador, y ejecutanetstat de nuevo.

    Si hay varias pestaas abierta, Cmo sabe el navegador que informacin va encada ventana?

    Por qu no hay un puerto de escucha cuando usamos un navegador?

    Qu protocolos se usan?

    18

    Leccin 1: Ser un Hacker

  • Qu pasa si usamos un protocolo en ms de una instancia?

    3.3. Mi primer servidorPara este ejercicio, necesitas el programa netcat. BackTrack lo incluye por defecto,OSX tambin, pero puedes bajarte instaladores con distintas versiones para variossistemas operativos.

    1. En una ventana CLI, escribe:

    nc -h

    Esto mostrar las opciones disponibles en netcat.

    Para crear un servidor sencillo, escribe:

    nc -l -p 1234 (Linux, Windows)

    o

    nc -l 1234 (Mac)

    Acabas de arrancar un servidor que escucha en el puerto 1234.

    2. Abre una segunda ventana CLI y escribe:

    netstat a

    Esto verificar si hay un nuevo servicio escuchando en el puerto 1234.

    Para comunicarte con el servidor necesitas un cliente!Escribe en tu segunda ventana CLI:

    nc localhost 1234

    Este comando crea una conexin con el servidor que escucha en el puerto 1234.Ahora, cualquier cosa que escribas en cualquiera de las dos ventanas aparecer enla otra.

    Considera las repercusiones que tiene esto. Disctelas en clase. Alguien puedeaprovechase de esta capacidad para atacar tu sistema?

    Netcat enva todo el trfico en claro. Existe una alternativa segura?(Pista:cryptcat esuna de ellas)

    3. Detn tu servidor volviendo a la primera ventana CLI, y pulsando Control-C.

    4. Ahora crea un archivo de texto que contenga la frase Bienvenido al servidor deHacker Highschool! y llmalo test.

    Una vez que hayas terminado, mira el siguiente comando y explcaselo al profesor:qu hace cada parte? Luego, escribe en tu primera ventana CLI:

    nc -l -p 1234 < test

    Desde otra ventana CLI, conctate al servidor escribiendo:

    nc localhost 1234

    Cuando el cliente se conecte al servidor, deberas ver la salida del archivo test.

    Qu protocolo se ha usado para conectar al servidor?

    Netcat permite cambiar esto? Si es as, cmo?

    19

    Leccin 1: Ser un Hacker

  • Alimenta tu Mente: El modelo OSI

    El modelo OSI se desarroll en los ochenta (casi diez aos despus del modeloTCP/IP) por ISO, la Organizacin de Estndares Internacionales. OSI significaInterconexin de Sistemas Abiertos (Open Systems Interconnection), y fue un intentode estandarizar la arquitectura de red por parte de una organizacin que no estabainvolucrada realmente en el desarrollo de las redes.

    El modelo OSI es un modelo por capas con un puado de reglas sencillas. Lasfunciones similares se agrupan en una misma capa, y (por favor, no te olvides deesto) cada capa es atendida por su capa inferior, y sirve a la capa que seencuentra sobre ella.

    Este modelo por capas es una buena idea, porque cada capa (en teora) seencarga de sus propias comunicaciones y los nuevos desarrollos de cada capa norompen nada de las otras. Esta caraterstica explica por si mismas el boom deInternet que hemos visto desde el 2000, con nuevas aplicaciones y serviciosapareciendo cada da.

    Aparte de las dos reglas del modelo OSI que hemos discutido previamente(lasfunciones similares estn agrupadas, y cada capa recibe servicio de la capa inferiory sirve a la superior) este estndar tiene una regla estricta ms. Cada capaimplicada en la comunicacin desde un computador, se comunica directamentecon la misma capa del otro computador. Esto significa que cuando escribeswww.google.com en tu navegador, hay una interaccin directa entre en la interfazde la capa 7 de tu computador (el navegador) y el servidor web de Google (quetambin est en la capa 7). Lo mismo ocurre con todas las dems capas.

    20

    Leccin 1: Ser un Hacker

  • As que en primer lugar, vamos a definir las capas del modelo OSI y sus respectivasresponsabilidades.

    Capa de aplicacin(Application Layer)

    Responsable de la interaccin directa entre las aplicaciones ylos interfaces de la aplicacin de usuario. Por ejemplo, unnavegador web como IE o Firefox

    Capa depresentacin

    (Presentation Layer)

    Responsable de garantizar que los datos se intercambian deforma comprensible entra ambas partes. En todos los serviciosque usen encriptacin, esta debe tener lugar en la capa depresentacin.

    Capa de sesin(Session Layer)

    Responsable del control de comunicacin entre computadores.Bsicamente, establece, controla y termina las conexiones quese dan entre dos computadores.

    Capa de transporte(Transport Layer)

    Proporciona una transferencia transparente de los datos entredos computadores, ofreciendo servicios de transferencia dedatos confiables a las capas superiores. Esto significa que es laresponsable de ensamblar todos los datos que se envan enpequeos fragmentos para poder enviarlos a una red de datos.Si un paquete se pierde o no se recibe, la capa de transporte esla responsable de asegurarse de que slo ese paquete esretransmitido y reensamblado en el orden correcto.

    Capa de red(Network Layer)

    Esta capa es responsable del direccionamiento de la conexin.No slo debe asegurarse de que cada direccin en nica enInternet, si no que adems debe asegurarse de que cualquiercamino disponible (ya sea bueno o malo) entrega lainformacin donde tiene que ir, y de que nuestra informacinser enviada de salto en salto (hop) hasta que alcance sudestino final.

    Capa de enlace dedatos

    (Data link layer)

    La capa de enlace de datos fue diseada para garantizar quela capa fsica pueda recuperarse de los errores que puedanocurrir y hacer frente a los distintos medios de conexin.Bsicamente prepara o encaps ula los datos de forma quepuedan ser transmitidos por el medio fsico necesario (ondas deradio, fibra ptica, cables de cobre).

    Capa Fsica(Physical layer)

    Esta capa define las especificaciones fsicas y elctricas de losdispositivos, y qu se necesita hacer para transmitir lainformacin a travs del medio elegido. En una conexin WiFi,sera enviar una seal de radio, en fibra ptica sera la luz que seemitir, o en el caso de una conexin por cable de cobre, laelectricidad que se enva por los hilos.

    21

    Leccin 1: Ser un Hacker

  • Estas siete capas incluyen todo lo que se necesita para una comunicacin confiableentre computadoras.

    As es como se ven los distintos modelos que hemos discutido, lado a lado:

    22

    Leccin 1: Ser un Hacker

  • Introduccin y ObjetivosConceptos bsicos de redesDispositivosTopologa

    El modelo TCP/IPCapasAplicacin (Application)Transporte (Transport)Interred o red (Internetwork)Host-Red (Network Access)

    Aliments tu miente: Sorprenda a sus amigos por conocer la diferenciaProtocolosProtocolos del nivel de AplicacinProtocolos de la capa de TransporteProtocolos de la capa de InternetProtocolo de Mensajes de Control de Internet (ICMP)

    Direcciones IPv4

    Alimenta tu Mente: IPv6Formato de direccionesImplementacin de una pila IP doble (Dual IP Stack)PuertosEncapsulacin

    Alimenta tu Mente: El modelo OSI