Macchanger. Añadiendo anonimato a nuestra conexión.

Macchanger es una utilidad muy simple pero que mejora el anonimato enormemente. Con macchanger podemos alterar la dirección MAC de nuestra tarjeta de red. Esta dirección es una cadena de 6 octetos, a través de los tres primeros octetos se puede determinar por ejemplo el fabricante. Es por así decirlo, un número de serie de fabricación que identifica inequívocamente a esa pieza de hardware.

¿Que que quiere decir esto? Que tu tarjeta de red tiene una MAC que la identifica y que es única y que cada vez que envías algo por una red, esa dirección MAC viaja dentro del paquete de datos tcp/ip, al menos al nivel de la red local, por ejemplo los routers mantiene una tabla ARP que conserva los datos de las MAC de los dispositivos conectados a la red local. Esto permitiría, una manera de seguimiento de un dispositivo.

Los sistemas operativos interrogan el chip de la tarjeta de red para obtener esta MAC por ejemplo, en Linux el comando ifconfig, nos permite visualizar esa información.

ifconfig | grep eth0
eth0      Link encap:Ethernet  HWaddr 0A:0e:31:46:2a:94  

Instalando macchanger en debian

apt-get install macchanger

Uso:

#Bajamos la interface a la que queremos cambiar la dirección MAC
#No se puede hacer en caliente
ifdown eth0;
#usamos -a para que parezca la MAC de un fabricante real
macchanger -a eth0;
#ahora levantamos eth0 
ifup eth0;

Ayuda:

macchanger --help
GNU MAC Changer
Usage: macchanger [options] device

  -h,  --help                   Print this help
  -V,  --version                Print version and exit
  -s,  --show                   Print the MAC address and exit
  -e,  --ending                Don't change the vendor bytes
  -a,  --another                Set random vendor MAC of the same kind
  -A                            Set random vendor MAC of any kind
  -p,  --permanent              Reset to original, permanent hardware MAC
  -r,  --random                 Set fully random MAC
  -l,  --list[=keyword]         Print known vendors
  -m,  --mac=XX:XX:XX:XX:XX:XX
       --mac XX:XX:XX:XX:XX:XX  Set the MAC XX:XX:XX:XX:XX:XX

Usos más comunes de macchanger:

Auditorías de redes wireless con filtrado por MAC. Muchas veces el auditor puede alterar su MAC para hacer macspoofing o para simular una MAC desconocida.

Mejorar el anonimato y la privacidad, por su puesto, la correlación de tráfico la cache de la tabla ARP de windows, de los routers etc, comparten esta información y de alguna manera luchar contra el espionaje masivo en internet.

Hacktivismo u otros. Evidentemente, frente a una detención que mejor prueba de inocencia que la falta de cualquier evidencia física. Por ejemplo si un juez preguntase a un perito informático si la dirección MAC de la tarjeta desde la que se realizó un ataque corresponde con la del acusado y este último a tenido la precaución de usar macchager, dicha información habrá sido falseada y no podrá ser contrastada con el hardware incautado y utilizado como prueba pericial.

MAC Changer GUI

Macchanger automático: Podemos hacer que la interface de red ejecute el script antes de levantar la interface de red. Cada vez que reiniciemos nuestra conexión local la MAC será substituida por otra diferente.

#Creamos un script
vi /etc/network/if-pre-up.d/macchanger
#añadimos estas lineas para el ejemplo eth0
/usr/bin/macchanger -a eth0
#le damos permisos de ejecución
sudo chmod +x /etc/network/if-pre-up.d/macchanger

Consideraciones:

Como ya muchos se imaginan al utilizar el torbundle , VPN, sshtunneling, etc, esta acción se hace automática en la mayoría de los casos, dado que por si estas conexiones modifican las cabeceras de los paquetes tcp/ip con sus propios datos de MAC e IP. No obstante mi recomendación lógica es seguir utilizándolo incluso en estos supuestos.

Compartir

5 Comentarios

  1. Actualmente, tanto wpasupplicant como NetworkManager (si es lo que usas para gestionar las redes en tu distro favorita), admiten dicha opción y se hace automáticamente cada vez que te conectas a una red. Incluso, hacen cambios de MAC durante el escaneo de redes, aumentando así más todavía la privacidad. Esta última parte está dando problemas con algunos dispositivos, sobre todo usb. Por poder, puedo decir que a mi me funciona correctamente y a cada conexión mi wifi tiene una MAC diferente a la original, tanto en el escaneo de redes como en el momento de realizar la conexión. Para el que esté interesado, solo tiene que buscar acerca de NetworkManager y mac.randomize, opción que puedes activar/desactivar en el archivo de configuración de NetworkManager.
    Para otros casos, systemd tiene un servicio macspoof que usa macchanger para realizar el cambio de mac al inicio, siendo este macspoof@.service, el cual «crea» otro servicio para cada interfaz de red, como por ejemplo macspoof@wlp3s0.service. Por otro lado, además, el mismo paquete macchanger provee su propio script situado en /etc/macchanger/ifupdown.sh, con lo que la mayoría de las veces basta con hacer un enlace simbólico al mismo desde /etc/network/if-pre-up.d/ llamándolo mismo macchanger. En mi sistema, Debian por supuesto, es como viene:

    @Ulthar:/etc/network/if-pre-up.d$ ls
    total 16K
    lrwxrwxrwx 1 root root 29 jun 26 17:48 bridge -> /lib/bridge-utils/ifupdown.sh*
    -rwxr-xr-x 1 root root 344 abr 28 2012 ethtool*
    lrwxrwxrwx 1 root root 28 feb 7 2015 macchanger -> ../../macchanger/ifupdown.sh*
    -rwxr-xr-x 1 root root 1,8K feb 4 2012 vde2*
    -rwxr-xr-x 1 root root 4,1K mar 24 2016 wireless-tools*
    lrwxrwxrwx 1 root root 32 des 7 18:24 wpasupplicant -> ../../wpa_supplicant/ifupdown.sh*

    Si, ya sé que el artículo es de hace dos años, a lo mejor no estaría de más realizar otro similar comentando esta «nueva» característica del cambio de mac aleatorio.

Deja una respuesta a your name Cancelar respuesta

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax