En este artículo, vamos a discutir cómo crear puntos de acceso falsos usando el módulo scapy en python
Esta tarea se puede realizar con la ayuda del paquete scapy-fakeap de Python . La intención detrás del uso de esta biblioteca no es solo hacer un punto de acceso falso, sino también probar los protocolos 802.11 y su implementación.
Scapy es un módulo de Python utilizado para interactuar con los paquetes en la red. Tiene varias funcionalidades a través de las cuales podemos falsificar y manipular fácilmente el paquete. Es un poderoso programa interactivo de manipulación de paquetes. Es capaz de falsificar o decodificar paquetes de una gran cantidad de protocolos, enviarlos por cable, capturarlos, emparejar requests y respuestas, y mucho más. Scapy puede manejar fácilmente la mayoría de las tareas clásicas como escaneo, enrutamiento de rastreo, sondeo, pruebas unitarias, ataques o descubrimiento de redes. Puede reemplazar hping, arpspoof, arp-sk, arping, p0f e incluso algunas partes de Nmap, tcpdump y tshark .
Instalación :
Para usar esta biblioteca, debe tener los siguientes paquetes de Python instalados en su sistema:
- espantoso
- ip
- airmon-ng
- dnsmasq (Opcional)
Todos estos paquetes de Python que se pueden instalar en pasos simples ejecutando el siguiente comando:
pip3 install scapy-fakeap
Nota:
- Para profundizar en el código, todos necesitamos mantener su dispositivo o red en el modo de monitor.
- Asegúrese de estar en el sistema basado en Unix o Linux.
Para mantener nuestro sistema más monitoreado, tenemos algunas utilidades, por ejemplo , aircrack-ng . Se puede instalar usando el siguiente comando:
apt-get install aircrack-ng
Pasos para entrar en el modo monitor:
- Habilite el modo de monitor usando el comando airmon-ng
- En primer lugar, elimine todo el proceso de su sistema usando este comando:
airmon-ng check kill
- Habilite su red WLAN para esto, ejecute el comando ifconfig para verificar las redes activas en su sistema y luego ejecute el siguiente comando:
airmon-ng start (your WLAN name)
Esto activará la conexión de su WLAN.
Ya está todo listo para continuar con el proceso de creación de un punto de acceso falso
Ahora generaremos una dirección MAC aleatoria y estableceremos un nombre para nuestro punto de acceso que queremos crear, y luego crearemos un marco 802.11, y los campos son:
- type=0: Esto indicará que se trata de un marco de gestión.
- subtipo: Esto indicará que este marco de gestión es un marco de baliza.
- addr1: Esto se referirá a la dirección mac de destino.
- addr2: Esto se referirá a la dirección MAC de origen o la dirección MAC del remitente.
- addr3: Esto se referirá a la dirección MAC del punto de acceso.
Ahora usaremos la misma dirección MAC de addr2 y addr3 , porque el remitente es el punto de acceso. Y luego crearemos nuestro marco de baliza con información de ssid y luego los apilaremos y los enviaremos usando el método sendp() del módulo scapy . A continuación se muestra la implementación:
Python3
# Import module from scapy.all import * # Make an variable interface and assign # this name of wlan connection name "my-Wlan" interface = "my_Wlan" # This will be sender's MAC address # This is there random MAC address generated sender = RandMAC() # Assign access point name access_point_name = "Test" # Here we will define 802.11 frame dot11 = Dot11(type=0, subtype=8, addr1="ff:ff:ff:ff:ff:ff", addr2=sender, addr3=sender) beacon = Dot11Beacon() # Assign ssid in frame e_SSID = Dot11Elt(ID="SSID", info=access_point_name, len=len(access_point_name)) # stack all the layers and add a RadioTap frame = RadioTap()/dot11/beacon/e_SSID # Send the frame in layer 2 every 100 milliseconds # using the iface interface sendp(frame, inter=0.1, iface=interface, loop=1)
Producción:
Cuando llegue a la última línea de su script y loop=0 , su sistema solo enviará 1 paquete como punto de acceso.
Cuando llegue a la última línea de código y loop=1 a continuación, se generará la salida a medida que el sistema envía continuamente los paquetes como un punto de acceso que será falso.
Al presionar ctrl+c , su sistema dejará de enviar los paquetes.