Anonima Geek

Anónima, Geek… bruja, guerrera, libre, liberada. Esta es la historia ficticia de mi particular guerra real.

LAB #09: Auditoría de Red Doméstica – Mapeo de Nodos Habitados

La soberanía digital no comienza en el cifrado de archivos, sino en el control físico de la infraestructura. Si no conoces la identidad de cada dispositivo que pulsa en tu red local, no eres el administrador de tu espacio; eres un huésped en él. En este laboratorio, desarrollaremos una sonda de red utilizando Python y la librería Scapy para realizar un escaneo de Capa 2 (Enlace de datos).

El Script: Sonda de Descubrimiento ARP

A diferencia de un simple ping (ICMP) que puede ser bloqueado por firewalls locales, utilizaremos peticiones ARP (Address Resolution Protocol). Esto nos permite solicitar la dirección física (MAC) de cada IP en el rango de la red, mapeando quién está realmente presente en el cobre o en el aire.

import scapy.all as scapy

def scan_network(ip_range):
«»»
Función para auditar dispositivos en la red local.
Utiliza el protocolo ARP para identificar nodos activos.
«»»# 1. Creamos una petición ARP para preguntar: "¿Quién tiene esta IP?" # pdst es el rango de IPs de destino (ej. "192.168.1.1/24") arp_request = scapy.ARP(pdst=ip_range) # 2. Creamos un frame Ethernet con destino Broadcast (ff:ff:ff:ff:ff:ff) # Esto asegura que la petición llegue a todos los dispositivos del segmento. broadcast_frame = scapy.Ether(dst="ff:ff:ff:ff:ff:ff") # 3. Combinamos ambos paquetes en uno solo utilizando el operador / arp_request_broadcast = broadcast_frame / arp_request # 4. Enviamos el paquete y esperamos respuesta. # timeout: tiempo de espera; verbose: desactivamos mensajes secundarios. # answered_list contendrá los pares (petición, respuesta). answered_list = scapy.srp(arp_request_broadcast, timeout=2, verbose=False)[0] # 5. Estructura de almacenamiento de resultados clients_list = [] for element in answered_list: client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrc} clients_list.append(client_dict) return clients_list

def display_results(results):
«»»Muestra los nodos detectados en la terminal.»»»
print(«——————————————«)
print(«IP\t\t\tMAC Address»)
print(«——————————————«)
for client in results:
print(f»{client[‘ip’]}\t\t{client[‘mac’]}»)

Punto de entrada del script

if name == «main«:
# Define aquí el rango de tu red local
target_range = «192.168.1.1/24»
scan_results = scan_network(target_range)
display_results(scan_results)

Análisis Técnico del Despliegue

  1. Capa de Enlace (L2): Al trabajar con la dirección MAC, obtenemos una huella digital única del hardware. Si aparece una MAC que no coincide con tus dispositivos conocidos, el perímetro ha sido comprometido.
  2. Identidad del Nodo: La relación IP-MAC en nuestra tabla de resultados permite identificar fabricantes. Un «nodo fantasma» suele delatarse por su identificador de fabricante (OUI) en la dirección MAC.
  3. Soberanía sobre el Tráfico: Conocer estos datos es el requisito previo para implementar un filtrado por MAC o asignar IPs estáticas fuera del rango DHCP convencional.

Reflexión Técnica: El Router como Punto de Ruptura

​En el ecosistema del Proyecto AGENA, el hardware es la primera línea de defensa y, simultáneamente, el agujero de seguridad más crítico. Un router mal configurado (con protocolos como WPS activos, servicios UPnP habilitados o firmwares privativos con backdoors) actúa como un faro de telemetría hacia el exterior.

​Si el nodo central —el router— no está bajo el control total del usuario, la integridad de cada paquete generado en el laboratorio es cuestionable. La auditoría manual de la LAN mediante scripts propios es el primer paso para recuperar la soberanía sobre la arquitectura del flujo de datos. Sin un mapa de la red, no hay defensa posible.

Proceder con sigilo.

Deja un comentario

Descubre más desde Anonima Geek

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo