domingo, 11 de mayo de 2008
arp spoof
Publicado en el Paraíso Ezine Demonios, numero 4 - -------------------------------------------------- ----------------------------- / \ / \ O \ / \ o \ / \ o \ / \ o \ / \ o \ / \ o \ / \ o \ o \ / \ / \ / \ / \ \ / \ / / \ / \ \ / \ / / \ ARP Spoofing Ilustrado. / \ \ / ^^^^^^^^^^^^^^^^^^^^^^^ \ / / \ / \ \ / De CA0S \ / / \ / \ \ / Caos@ezkracho.com.ar \ / / \ / \ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / 0. Introduccion. El ARP Spoofing es una de las muchas Variaciones del falso que aprovecha las vulnerabilidades del TCP / IP. Esta es una tecnica muy interesante y que seguramente nos va a ser util en mas de una ocasión. La teoria de esta tecnica es muy simple, lo que no lo es tanto es conocer el FUNCIONAMIENTO del protocolo ARP para comprender que es lo que estamos HACIENDO; por eso primero empezaremos con una breve y clara (espero..) explicacion del protocolo ARP y luego pasaremos a ver la tecnica del ARP Spoofing en si. ESPERO QUE DISFRUTEN DE LA LECTURA de este texto y les sirva como motivacion mas para investigar sobre el TCP / IP y todas las cosas interesantes y PODEMOS divertidas que hacer con el .. ;) 1. Protocolo ARP. Como todos saben el TCP / IP es lo que se llama una "suite" de protocolos en el cual se encuentra el ARP (Address Resolution Protocol) entre otros. En el mundo TCP / IP nos identificamos con las Direcciones IP (Ej.: 192.168.0.1), pero en una LAN roja del tipo ethernet o token ring nos vamos a identificar con la direccion de hardware (Ej. 00: E0: 7D: 77:4 E: 55) que cada placa de red posee; se usa este esquema DE IDENTIFICACION YA QUE por el mismo cable de la red PUEDEN pasar DISTINTOS tipos de protocolos y una direccion IP en solitario tiene sentido en la suite TCP / IP. Si por ejemplo queremos establecer una conexión con un host de la red, lo que va a hacer el protocolo ARP es fijarse la direccion IP del anfitrión y encargarse de conseguirnos la direccion de hardware. Conexiones dial-up tipicas como las que hacemos A TRAVES DE LA linea Telefónica no necesitan usar ARP, ya que no hay en juego Ninguna placa de el rojo y por lo tanto Direcciones de hardware que resolver. Si estamos usando Linux y TENEMOS configurada una placa de red EN NUESTRA PC, con el siguiente comando podremos ver su direccion de hardware: [root @ ezkracho /] # ifconfig eth0 eth0 Link encap: Ethernet HWaddr 00: E0: 7D: 77:4 E: 55 inet addr: 192.168.0.1 Bcast: 192.168.0.255 Mask: 255.255.255.0 UP BROADCAST MULTICAST MTU MARCHA: 1500 Metric: 1 RX packets: 0 errors: 0 caído: 0 sobrecostos: 0 frame: 0 TX packets: 0 errors: 0 caído: 0 sobrecostos: 0 carrier: 0 colisiones: 0 txqueuelen: 100 Interrupción: 5 Base dirección: 0xbc00 La direccion de hardware es grabada en la placa de red por el fabricante y es unica, cada direccion de hardware es de 48 bits al contrario de las Direcciones IP que son de 32 bits. Ahora que ya basicamente SABEMOS QUE ES LO QUE HACE ARP vamos a un VERLO poco mas en detalle, pero sin complicarnos demasiado. Supongamos que armamos una Peque ~ rojo con unos amigos y queremos hacer un telnet a la computadora de uno de ellos que tiene de acoger el nombre "ezkracho". Antes que nada nuestro cliente de telnet va a convertir el nombre ezkracho en una direccion IP de 32 bits, esto lo puede hacer buscando en el archivo / etc / hosts o en un servidor DNS que hayamos instalado. Una VEZ QUE TENEMOS LA DIRECCION IP del host ezkracho el cliente de telnet le va a decir al TCP que se encargue de establecer una conexión con esa direccion de IP; aqui el TCP va a enviar un datagrama IP solicitando una Conexión al host ezkracho. En nuestro ejemplo estamos en una roja local COMUN por el cual lo datagrama IP DIRECTAMENTE puede ir hacia ese host, pero en el caso de que quisieramos telnetear a un anfitrión en una remota rojo nuestro datagrama IP se rutearia DIRECTAMENTE hacia la salida predeterminada de la red, como por ejemplo un router de ahi y seguiria hasta el proximo salto hasta LLEGAR A destino. Como habiamos explicado en una LAN rojo nos debemos identificar con la direccion de hardware, por lo que ARP va a convertir Nuestra direccion IP de 32 bits EN NUESTRA direccion de hardware de 48 bits. Luego ARP va a enviar un pedido o lo que se llama un "petición ARP" al emisión, OSEA a cada anfitrión conectado EN NUESTRA rojo, en el ARP solicitud va incluido la direccion IP del anfitrión y ezkracho lo que hace es Preguntar "si sos el debido ~ o de esta direccion IP contestame con tu direccion de hardware ". El anfitrión va a ezkracho este RECIBIR emisión con el petición ARP preguntando por el y le va a contestar, esta Respuesta se llama "respuesta ARP» y por SUPUESTO que en ella va INCLUIDA su direccion de hardware. Una vez que se recibe el ARP respuesta con la direccion de hardware finalmente vamos a poder terminar de enviar el datagrama IP al host ezkracho párr entablar La Conexión. Y todo esto gracias a ARP:) Muy bien, ya que ahora comprendemos mejor el FUNCIONAMIENTO de ARP vamos a Explicar que es lo que se conoce como "ARP Cache". Para hacer mas Eficiente el trabajo de resolución de cual es la direccion de hardware de un anfitrión CADA VEZ QUE SE averiguar la necesita, existe el ARP Caché. CADA VEZ QUE algun host resuelve una direccion de hardware de otro de acogida, TODOS LOS DEMAS guardan una copia en el caché para despues no tener que volver a hacer ese mismo trabajo. Cada direccion de hardware que entra al ARP Cache es guardada por unos 20 minutos (segun el OS), luego de ello se Borra y si se la necesita se la tiene que volver a PEDIR uno menos que otro de acogida ya la haya pedido por lo cual vuelve ING uno al caché y durara 20 minutos mas. En Linux TENEMOS EL comando "arp" que nos sirve para manipular el cache ARP de nuestro Sistema. Si queremos ver el caché real TENEMOS que hacer: [root @ ezkracho /] # arp-a ezkracho (192.168.0.1) a 00: E0: 7D: 77:4 E: 55 powertech (192.168.0.3) a las 00:00: E8: 57:82:6 B La opcion "arp-a" nos muestra todas las entradas que hay en nuestro cache, como VEMOS APARECE primero el anfitrión, luego la direccion IP y luego LA DIRECCION de hardware. Tenemos otras opciones del comando arp que tambien nos PUEDEN ser muy utiles, por ejemplo la opcion "arp-d" que nos permite BORRAR Cualquier entrada del caché pero esto solo puede ser hecho por el root. Hay otras opciones interesantes QUE LAS PUEDEN investigar poniendo "el hombre arp" en La consola. Hay muchas otras cosas que SE PUEDEN Explicar sobre el protocolo ARP, pero al fin de este texto que es Explicar el ARP Spoofing con esto nos Alcanza. 2. ARP Spoofing. Llegamos a lo divertido! a esta altura los que estuvieron prestando atencion ya DEBEN tener una idea de que se trata esto del ARP Spoofing, pero como siempre hay ALGUNOS resagados vamos a explicarlo un poco. Supongamos que yo le envio a un host victima un Paquete con la direccion de hardware de mi placa de red pero con otra direccion IP de un anfitrión de la roja, lo que va a suceder es que el anfitrión victima va a esa Guardar informacion en su caché de ARP ya partir de ese momento va a creer que nosotros somos otro anfitrión de la roja, porque cuando quiera enviarle algo al anfitrión que suplantamos va a buscar la direcion IP en su caché y va a enviar todo a la direccion de hardware que Tenga asignada POR SUPUESTO que es la Nuestra. Esta tecnica como ya lo dije antes es muy simple y los usos que DIFERENTES se le PUEDA dar en solitario DEPENDE DE NUESTRA imaginacion. Como anecdota, en Algo lo que nos fue muy util esta tecnica fue cuando estabamos en una LAN en una reunión con gente de la escena Argentina y necesitabamos un sniffear una de las las COMPUTADORAS DE LA RED, el problema era que en la LAN no habian centros porque toda la época Interconexion A TRAVES de un interruptor por lo que el TRAFICO DE LA RED no pasaba por nosotros y simplemente no podiamos ponernos en modo promiscuo y capturar COMENZAR A Paquetes. La Solucion fue encontrada muy simple, le enviamos un Paquete NUESTRA una victima con Nuestra direccion de hardware pero con la direccion IP del gateway que nos Daba una salida Internet, luego creamos un alias de la direccion IP del gateway pero en Nuestra ethernet y luego lo forwardeamos al VERDADERO pasarela. En Nuestra SI victima, que por cierto son unos chicos que se creen muy bromistas, estuvieron saliendo a Internet sin darse cuenta que primero pasaban por nosotros y que sniffeando los estuvimos toda la noche. Quiero aprovechar para saludar una dr_fdisk ^ y Airlink que nos dieron una gran mano esa noche;) Hay muchos programas que SIRVEN PARA HACER TODO LO comentado pero les RECOMIENDO el arp-diversión de Ulandron (www.undersec.com) QUE ES MUY BUENO Y FACIL de usar. Veamos un ejemplo Practico con el arp-diversión: [root @ ezkracho /] # arp de diversión-i eth0-s 192.168.0.10-a 0A: 0B: 0C: 0D: 0E: 0F / / - d 192.168.0.3-m 00:00: E8: 57:82:6 B-v-c 2 El intento de enviar 2 paquetes Fuente IP: 192.168.0.10 Dest IP: 192.168.0.3 Todo muy bien, "hasta ahora. Vamos a construir el paquete Parece agradable, huh: 00 0000 57e8 6b82 0b0a 0d0c 0f0e 0608 0100 10 0008 0406 0200 0b0a 0d0c 0f0e a8c0 0a00 20 0000 57e8 6b82 a8c0 0300 1 paquete enviado, 0 segundos de espera 2 paquetes enviados, 0 segundos de espera Analizemos este ejemplo, aqui VEMOS que enviamos al anfitrión powertech QUE TIENE LA DIRECCION IP 192.168.0.3 y la direccion de hardware 00:00: E8: 57:82:6 B, Paquetes dos diciendole que somos el host cenobyte QUE TIENE LA DIRECCION IP 192.168.0.10 y la direccion de hardware 0A: 0B: 0C: 0D: 0E: 0F, el host cenobyte es el portal de Internet de una toda la LAN MEDIANTE una conexión dial-up, pero la direccion de hardware que pusimos para este receptor es inventada y no existe por lo que a partir de ahora nuestro amigo Powertech se va a quedar sin salida a Internet: P Este ejemplo de ARP Spoofing en particular no tiene mucha utilidad pero quien dice que no Podemos divertirnos un poco ... Las opciones del arp-diversión como muchos otros EJEMPLOS de los ARP Spoofing Pueden encontrar en el README de este programa. Esto es todo amigos. 3. Contacto Para realizarme Cualquier tipo de comentario, duda o me critica PUEDEN escribir a: caos@ezkracho.com.ar Les RECOMIENDO que visiten mi página principal en la cual no encontraran nada util pero puede ser muy DIVERTIDA;) www.ezkracho.com.ar / caos Finalmente para despedirme quiero agradecer una Krip7ik por haberme invitado escribir un párrafo Demonios Paraíso, y espero que este mar en solitario el primero de ARTICULOS muchos mas escritos por mi en esta e-revista. Un gran saludo a todos y hasta la proxima!
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario