Volver a la página principal
miércoles 20 noviembre 2024
48

Hackeo de Wi-Fi usando PyWifi

Requisitos previos:

  • Debes tener instalado Python 3.6 o 3.7 en tu computadora.

Pywifi: Este módulo ofrece una biblioteca Python multiplataforma para manipular interfaces inalámbricas.

Instálalo con:

pip install pywifi

Los perfiles de Wi-Fi se guardan en formato XML en nuestras computadoras. Existe un procedimiento que debemos seguir para añadir nuevos perfiles y conectarnos a ellos. Un perfil incluye información como el SSID y otros datos necesarios para conectarse al Wi-Fi.

Este es un método de fuerza bruta, por lo que tomará mucho tiempo dependiendo de cuánto sepas sobre la clave y la longitud de la lista de palabras.

Parte de programación

Vista general del código:

# Importación de bibliotecas generales
import argparse
import sys, os, platform
import time

# Importación de la biblioteca pywifi
import pywifi
from pywifi import const, Profile

# Cambiar según sea necesario:
client_ssid = "Dfone"  # Nombre del Wi-Fi que deseas hackear
path_to_file = r"C:\Users\John\Desktop\password.txt"  # Ruta del archivo de contraseñas

El script utiliza el módulo PyWifi para realizar intentos de conexión con diversas contraseñas de un archivo de texto. Las partes principales del código incluyen:

1. Colores para la consola: Para hacer el terminal más interactivo y visual.

2. Inicialización de PyWifi: Configura la interfaz inalámbrica de la computadora para permitir la interacción.

3. Uso de argparse: Facilita la interacción mediante línea de comandos para pasar el SSID y la lista de palabras.

Ejecución del script:

python3 pywifi_medium.py -s NOMBRE_DEL_WIFI -w RUTA_DE_LA_LISTA

Si prefieres, puedes cambiar directamente las variables client_ssid y path_to_file en el código.

Explicación del código:

1. Inicialización del módulo PyWifi:

PyWifi se configura para escanear redes cercanas y preparar la conexión con perfiles generados en el script.

2. Gestión de argumentos:

Utiliza argparse para aceptar la entrada desde la línea de comandos o usar valores predefinidos.

3. Función pwd:

Abre el archivo de lista de contraseñas, lee cada contraseña y la pasa a la función principal.

4. Función principal (main):

  • Genera un perfil Wi-Fi con los parámetros necesarios (SSID, tipo de autenticación, contraseña).
  • Intenta conectar con cada contraseña de la lista hasta encontrar la correcta.
  • Si la conexión es exitosa, imprime la contraseña; si no, pasa a la siguiente.

Ejemplo del perfil generado en formato XML:

<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
 <name>Dfone</name>
 <SSIDConfig>
  <SSID>
   <hex>...</hex>
   <name>...</name>
  </SSID>
 </SSIDConfig>
 <connectionType>ESS</connectionType>
 <connectionMode>auto</connectionMode>
 <MSM>
  <security>
   <authEncryption>
    <authentication>WPA2</authentication>
    <encryption>AES</encryption>
   </authEncryption>
   <sharedKey>
    <keyType>passPhrase</keyType>
    <keyMaterial>CONTRASEÑA</keyMaterial>
   </sharedKey>
  </security>
 </MSM>
</WLANProfile>

Conclusión:

Este artículo muestra cómo usar el módulo PyWifi para realizar un ataque de fuerza bruta en redes Wi-Fi.

📢 Advertencia: Este conocimiento debe usarse solo con fines educativos y éticos.
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer