ARP Una herramienta bastante desconocida




Comando ARP
Muestra y modifica las tablas de conversión de direcciones IP en direcciones físicas que usa el protocolo de resolución de direcciones. El protocolo arp (address resolution protocol) es el encargado de “traducir” las direcciones ip a las correspondientes direcciones de hardware. En ethernet & Token ring estas direcciones suelen tener 48 bits. La traducción inversa la hace el protocolo RARP o (Reverse ARP). Cuando un computador necesita resolver una dirección IP a una MAC, lo que hace es efectuar una petición arp (Arp request) a la broadcast de dicho segmento de red, FF:FF:FF:FF:FF:FF, solicitando que el equipo con dicha IP responda con su dirección ethernet (MAC).
para conocer el sintax completo de la orden solo debes escribir:
c:>arp /?
Tomemos un ejemplo muy sencillo. Supongamos que tengo una red compuesta de varias máquinas. Dos de ellas que están en mi red son team con dirección IP 10.0.0.1 y spy con dirección IP 10.0.0.2. Ahora team quiere hacer ping hacia spy para ver si está viva, pero, ¡vaya!, team no tiene idea de dónde está spy. De manera que cuando team decide hacer ping hacia spy necesita realizar una consulta ARP. Esta consulta ARP es algo así como si team gritase en la red «¡spy (10.0.0.2)! ¿Dónde estás?» Como resultado de esto, cada máquina de la red escuchará el grito de team, pero sólo spy (10.0.0.2) responderá. spy enviará entonces una respuesta ARP directamente a team, que viene a ser como si spy dijese, «team (10.0.0.1), estoy aquí en 00:60:94:E9:08:12». Después de esta sencilla transacción que sirve para localizar a su amigo en la red, team es capaz de comunicarse con spy hasta que olvide (su caché arp) dónde está spy (normalmente tras 15 minutos).
Si deseas conocer las direcciones de otros equipos que conforman la red, haremos uso de la cache arp de nuestro equipo, mediante el comando arp -a. Este comando nos mostrará la relación IP/MAC de los equipos que la cache tiene almacenados en ese momento (Si quieres obtener la dirección ethernet, de una maquina, primero le hacess un ping. De esta forma almacenarás la dirección MAC en tu cache y mediante arp -a podrás obtener su dirección MAC). Cada vez que desees comunicar con un equipo de la red, debes conocer su dirección MAC. Para ello enviarás un arp-request a la dirección de Broadcast, solicitando la MAC de la ip del equipo con el que quieres hacer contacto. Este responderá con un arp-reply informando de su MAC. La cual, será almacenada el la cache arp, durante algunos minutos, para futuros contactos. De esta forma no tendrás que volver a solicitar la dirección MAC. Aquí es donde comienza el problema.
Con el fin de reducir el tráfico en la red, cada arp-reply que llega a la tarjeta de red es almacenado en la cache, incluso si la petición no la realizas tu. Es decir, todo arp-reply que llega es almacenado en la cache. Este factor es el que usaras para realizar arp-spoofing.
Arp-Spoofing
Este método coloca la interfaz de red en modo promiscuo. En realidad esto no es necesario porque los paquetes son para tu pc y el switch enrutará los paquetes hacia ti. Veamos como es la cosa. El método consiste en “envenenar” la cache arp de las dos máquinas que quieres sniffear. Una vez que las caches estén envenenadas, los dos hosts comenzarán la comunicación, pero los paquetes serán para ti, los sniffeas y los enrutas de nuevo al host apropiado. De esta forma la comunicación es transparente para los dos hosts. L a única forma de descubrir que existe “un intruso” en nuestra conexión sería ver la cache arp de nuestra máquina y comprobar si existen dos maquinas con la misma dirección MAC. El esquema de la comunicación es sencillo: Desde nuestra máquina enviaremos paquetes de tipo arp-reply falsos a las dos host que queremos sniffear. En estos reply’s debemos de decirle al host 1 que la dirección ethernet del segundo host es la nuestra, quedando esta información almacenada en su cache arp. Este equipo enviará ahora los paquetes al host 2 pero con nuestra dirección MAC. Los paquetes ya son tuyos. :D
Para evitar que se refresque la verdadera coinexión entre los dos host enviamos un flujo constante de arp-reply al host 1 y host 2 con los siguientes datos:
HOST 1 : arp-reply informando que 192.168.0.2 tiene dirección MAC 03:03:03:03:03:03
HOST 2 : arp-reply informando que 192.168.0.1 tiene dirección MAC 03:03:03:03:03:03
De esta forma estamos “envenenando” las cache arp. A partir de ahora lo paquetes que se envíen entre ambas nos llegarán a nosotros, pero para que ambos hosts no noten nada extraño, deberemos de hacer llegar los paquetes a su destino final. Para ello deberemos de tratar los paquetes que recibamos en función del host de origen:
Paquetes procedentes de HOST 1 -----------------> reenviar a 02:02:02:02:02:02
Paquetes procedentes de HOST 2 -----------------> reenviar a 01:01:01:01:01:01
De esta forma la comunicación entre ambos no se ve interrumpida, y puedes “ver” todo el tráfico entre ellos. Solo tienes que utilizar un sniffer para poder capturar y filtrar el tráfico entre amos, ya sea login/passwd de telnet, ftp, POP3,..., o incluso la sesión completa. Eso ya depende de la habilidad y el interés que tengas. Existen varios programas para usar con el arp-spoofing: Arptool, Arp-Fun, ettercap. Este último esta muy completo, ya que permite varios tipos de sniffeo: Por IP, MAC y Arp-Spoofing. Pudiendo ejecutarse bien en modo comando, o mediante un entorno de ventanas. En este entorno se mostrará al inicio un listado de los hosts encontrados en la LAN. Para realizar esta búsqueda, el programa envía un ARP-REQUEST de las IP teniendo en cuenta la IP del host donde se está ejecutando y la máscara de red. Obteniendo a continuación los ARP-REPLYs podremos componer la lista de los hosts presentes en la red. Hay que tener mucho cuidado con la máscara de red que usemos, porque si es de clase B (255.255.0.0) el programa realizará 255*255=65025 ARP-REQUEST, lo cual le llevará su tiempo ya que el retardo entre cada petición es de 1 milisegundo.
Puedes usar el ARP para:
1.- espiar en nuestra red. 2.- ataques DoS (Denegación de servicio)
3.- Cualquier otro :D


Otras artículos de interés:

Eliminar archivos o carpetas que tengan mas de x minutos, dias, meses en Linux
Hace unos días un cliente nos solicitó un script para que se eliminase de la carpeta compartida publica temporal en el servidor de la empresa. Serían eliminados aquellos archivos o carpeta que tuviesen más de 30 minutos de haber sido c...
Arrancar Ghost for GNU/Linux desde una unidad USB
Ghost for Linux es una de las mejores herramientas para realizar backup’s de nuestros equipos y en algunos casos por comodidad o porque no disponemos de una unidad de cd-rom, tenemos la necesidad de arrancarlo desde una unidad USB. A continuaci...
Topología de redes
Se llama topología de una Red al patrón de conexión entre sus nodos, es decir, a la forma en que están interconectados los distintos nodos que la forman. Los Criterios a la hora de elegir una topología, en general, buscan que eviten el coste del...
Hardlink para reducir el espacio ocupado en disco (GNU/Linux)
Hardlink es una herramienta que detecta múltiples copias de un archivo (iguales) y las reemplaza con enlaces duros, teniendo como resultado una reducción de espacio utilizado en el disco. Su instalación es bas...
Administrar en forma remota con OpenSSH y OpenSSL
Algunas veces es necesario administrar de forma remota un servidor y para ello debemos establecer una comunicación segura entre dicho host y el sistema desde el cual establecemos la conexión. Hay varias aplicaciones que lo hacen como...
Instalar QuiteRSS en Ubuntu - LinuxMint y derivados
QuiteRSS es un excelente lector de RSS / XML bastante rápido y ligero, muy fácil de usar y configurar. Está escrito en Qt y C++ y es código abierto. Esta disponible para diferentes sistemas operativos. Para Instalar QuiteRSS...
Ver Arbol jerárquico de archivos y directorios (tree) por consola
A veces necesitamos ver el arbol jerárquico de archivos y directorios que conforman nuestro equipo, y aún cuando contamos con gestores de archivos (Nemo, Thunar etc) a veces es necesario hacerlo por consola (terminal). Abrir consola:...
Praxis en la Política de Privacidad en los websites: legalidad (I)
En este artículo vamos a analizar los aspectos legales de las llamadas Políticas de Privacidad, entendiendo por tal expresión aquélla alusiva a cómo y bajo qué parámetros va a llevar a cabo, el web de que se trate, el tratamiento de los datos ...
Colocar OpenOffice en español en Ubuntu
Si has instalado OpenOffice usualmente viene por defecto en Ingles si deseas cambiarlo a español solo ejecuta estos 2 comandos por consola: sudo apt-get install openoffice.org-help-es sudo apt-get install openoffice.org-l10...
Configurar bluetooth en GNU/Linux
Esta es una guía rápida de como configurar un adaptador de bluetooth en sistemas GNU/Linux (en este caso tomando de ejemplo la distribución Debian). Lo necesario para comenzar: Instalar el adaptador en algun pu...

Brindanos
un o una


Redes Sociales

Publicidad


Gana Bitcoins desde tu casa

Categorías


Planeta Vaslibre

Blog Roll




Nube de tags

  • anonimato
  • anonimo
  • antivirus
  • apache
  • arp
  • bastante
  • blog
  • bsd
  • bug
  • centos
  • chrome
  • cifrado
  • computer
  • debian
  • desconocida
  • exploits
  • fedora
  • fice
  • firefox
  • forense
  • freebsd
  • gentoo
  • github
  • gnome
  • gnu
  • gpl
  • gtk
  • hack
  • hacking
  • herramienta
  • hosting
  • informatica
  • internet
  • isos
  • libre
  • licencias
  • linux
  • linuxmint
  • lxde
  • micros
  • mint
  • mit
  • mozilla
  • mysql
  • noticia
  • opensource
  • pgp
  • php
  • sabayon
  • seguridad
  • system
  • tecnologia
  • thunar
  • thunderbird
  • tor
  • troyanos
  • tware
  • ubuntu
  • underground
  • vaslibre
  • virus
  • viserproject
  • vivaldi
  • vulnerabilidades
  • web
  • website
  • windows
  • xanadu
  • xfce
  • xombra