?>/script>'; } ?> Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic) Widgets Magazine

Autor Tema: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)  (Leído 47172 veces)

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

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 16029
Recalco que es para intentar incluir soporte en airmon-ng clasico , el que genera la interface monX y el que usan todavia el 90% de automatismos.

Paso uno ...

teniedo la tarjeta conectada y reconocida , que os da el comando

Código: [Seleccionar]
ls -l "/sys/class/net/wlan0/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'

ojo ...donde pone wlan0 ... si la tarjeta con dicho chip es wlan1 , pues lo cambiamos por

Código: [Seleccionar]
ls -l "/sys/class/net/wlan1/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'

« Última modificación: 15-02-2017, 23:59 (Miércoles) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 16029
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #1 en: 16-02-2017, 00:00 (Jueves) »
¿si ejecutais airmon-ng a secas sin parametros ni nada os aparece algo en la seccion driver?


bzbs

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #2 en: 17-02-2017, 01:22 (Viernes) »


Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 16029
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #3 en: 17-02-2017, 01:38 (Viernes) »
pues no entiendo entonces.

si el driver es detectado correctamente , es que las entradas del driver hacia sistema, estan en su sitio.


¿no funcion ni airmon-ng start ni airmon-zc start ?



Desconectado drvalium

  • *******
  • Mensajes: 17367
  • Misántropo
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #4 en: 17-02-2017, 09:07 (Viernes) »
Citar
The airmon-ng script is incompatible with the driver.

Monitor mode is enabled using WEXT (Wireless Extension) and not nl80211, which is unexpected in 2017 (or 2010 for that matter)

mas claro el agua >:D

quizás esto si te sirva:

https://wireless.wiki.kernel.org/en/developers/documentation/wireless-extensions

http://linuxwireless.org/wext-statement/

« Última modificación: 17-02-2017, 09:18 (Viernes) por drvalium »

bzbs

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #5 en: 17-02-2017, 09:49 (Viernes) »
Pero no se supone que airmon también funciona con nl80211? (pregunto desde la ignorancia)

Citar
Airmon-ng supports mac80211's interface management features (nl80211) using a tool called iw (not to be confused with iwconfig). iw is called automatically by the airmon-ng script, or you might also call it directly to set up monitor interfaces.

Iw is not part of the aircrack-ng suite. You can download it from here. Choose the latest version, or at least 0.9.5. Iw requires a recent version of libnl (1.0-pre8 minimum, 1.1 recommended).

Installing iw

1. Download iw (look for the latest version).

2. Extract the iw tarball.

3. Run “make” in the iw directory. If you get lots of “undefined” errors or “netlink/genl/genl.h: No such file of directory”, then you need to install libnl-devel, or update libnl. This can be risky, you might also need to update networkmanager, wpa_supplicant, hostapd and wlassistant, as older versions of them only work with 1.0-pre6 and earlier!

4. Run “make install” to install the resulting binary.

5. Test iw by executing “iw dev <name of your interface> info”. It is normal if it gives no output, however it shouldn't give any errors.

 https://www.aircrack-ng.org/doku.php?id=mac80211


Torpedo

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #6 en: 18-02-2017, 04:14 (Sábado) »
Recalco que es para intentar incluir soporte en airmon-ng clasico , el que genera la interface monX y el que usan todavia el 90% de automatismos.

Paso uno ...

teniedo la tarjeta conectada y reconocida , que os da el comando

Código: [Seleccionar]
ls -l "/sys/class/net/wlan0/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'

ojo ...donde pone wlan0 ... si la tarjeta con dicho chip es wlan1 , pues lo cambiamos por

Código: [Seleccionar]
ls -l "/sys/class/net/wlan1/device/driver" | sed 's/^.*\/\([a-zA-Z0-9_-]*\)$/\1/'




Desconectado drvalium

  • *******
  • Mensajes: 17367
  • Misántropo
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #7 en: 18-02-2017, 08:14 (Sábado) »
Pero no se supone que airmon también funciona con nl80211? (pregunto desde la ignorancia)

lo que no funciona con nl80211 es el driver, airmon si lo hace.


bzbs

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #8 en: 18-02-2017, 11:50 (Sábado) »
ok, había entendido mal entonces, al decir Astsam que el driver sí es compatible con nl80211 pero no con airmon (lo que no entiendo entonces es si ambos son compatibles con el mac80211 debe ser otra cosa¿?)
Cita de: astsam
The airmon-ng script is incompatible with the driver. This driver supports nl80211 interface for switching channels and proper frame injection. Therefore the driver is compatible with utilities like reaver, airodump etc.

y digo yo (desde la ignorancia, como siempre) en vez de "arreglar" airmon, o el driver, no sería mas fácil crear una opción con iw? me refiero al igual que hay varios tipos de ataques ya programados en el script y poder elegir entre varias opciones, hacer lo mismo con modo monitor y que se pueda elegir entre airmon o iw.


Desconectado drvalium

  • *******
  • Mensajes: 17367
  • Misántropo
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #9 en: 18-02-2017, 12:52 (Sábado) »
airmon-ng no es compatible con ese driver por que le falta iw que es una aplicación aparte, lo que si son compatibles son el resto de aplicaciones que componen la suite aircrack-ng.

al menos eso es lo que entiendo yo:

Airmon-ng support

Airmon-ng supports mac80211's interface management features (nl80211) using a tool called iw (not to be confused with iwconfig). iw is called automatically by the airmon-ng script, or you might also call it directly to set up monitor interfaces.

Iw is not part of the aircrack-ng suite. You can download it from here. Choose the latest version, or at least 0.9.5. Iw requires a recent version of libnl (1.0-pre8 minimum, 1.1 recommended).
Installing iw

Cita de: traducción
Airmon-ng admite las funciones de administración de la interfaz mac80211 (nl80211) utilizando una herramienta llamada iw (que no debe confundirse con iwconfig). Iw es automáticamente llamado por el script airmon-ng, o también puede llamarlo directamente para configurar las interfaces del monitor.

Iw no es parte de la suite aircrack-ng. Puedes descargarlo desde aquí. Elija la versión más reciente, o al menos 0.9.5. Iw requiere una versión reciente de libnl (1.0-pre8 mínimo, 1.1 recomendado).

Lo que no entiendo es que si Wifislax si lleva instalado iw, esto siga sin funcionar.

De las capturas me llama la atención, que reconoce el Driver pero no el chipset ???

esto de no tener uno para poder probar es una p... ))))) :P

a ver que dice USUARIONUEVO

« Última modificación: 18-02-2017, 13:08 (Sábado) por drvalium »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 16029
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #10 en: 18-02-2017, 20:08 (Sábado) »
yo tampoco lo tengo ,asi que no puedo decir mucho mas.

para que los automatismos funcionen solo se me ocurre crear una interface monX  a manopla.

y ya despues abrir los automatismos, aunque algunos, lo primero que hacen es "desmontar", todo lo que este ya en modo monitor para empezar en limpio.


por eso queria ver , para que al ejecutar airmon-ng , se pusiera en modo monitor ...que use iw no es problema, ya que se escribiria una regla de tipo if

if DRIVER = BLA BLA BLA

iw xxxx

creo que se entiende.

el airmon-ng viejo ..trabaja de esa forma ...tiene varias reglas para algunos chips especificos.

Al principio pense que el driver no era reconocido , pero si que lo es ...lo unico que veo es que al pasar a mon ,se pierde algun dato.


lego_regan

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #11 en: 22-02-2017, 01:58 (Miércoles) »
El problema con el driver es que no funcionan las interfaces virtuales. Vamos que estas se crean pero no funcionan bien de ahí que la tarjeta no sea compatible con airmon-ng.

Se puede modificar el script de airmon-ng y que al montar la interfaz en modo monitor no muestre mon0 sino wlan0, algo como esto:
Código: [Seleccionar]
--- airmon-ng 2016-12-21 22:25:30.000000000 +0100
+++ airmon-modificado 2017-02-20 13:54:43.076451965 +0100
@@ -234,7 +234,14 @@
     then
         CHIPSET="Atmel   "
     fi
-
+   
+    if [ x$DRIVER = "x8812au" ]
+    then
+ USE_IWCONFIG=1
+ USE_IW=0
+        CHIPSET="Realtek "
+    fi
+   
     if [ x$DRIVER = "xb43" -o x$DRIVER = "xb43legacy" -o x$DRIVER = "xbcm43xx" -o x$DRIVER = "xwl" ]
     then
         CHIPSET="Broadcom"
@@ -620,57 +627,66 @@
     printf "$iface\t\t$CHIPSET\t$DRIVER - [$PHYDEV]"
     if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
     then
-        if [ $USE_IW = 1 ]
-        then
-            IW_ERROR=`iw dev $iface interface add $MONDEV type monitor 2>&1 | grep "nl80211 not found"`
-            if [ x$IW_ERROR = "x" ]
-            then
-                sleep 1s
- if [ ! -z $3 ]
-                then
-                if [ $3 -lt 1000 ]
-                then
-                iwconfig $MONDEV channel $3 >/dev/null 2>&1
-                else
-                iwconfig $MONDEV freq "$3"000000 >/dev/null 2>&1
-                fi
-            fi
-                ifconfig $MONDEV up
-                printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
-            else
-                if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ]
-                then
-                    echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface
-                    sleep 1s
-                    if [ $3 -lt 1000 ]
-                    then
-                        iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1
-                    else
-                        iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1
-                    fi
-                    ifconfig $MONDEV up
-                    printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
-                else
-                    printf "\n\nERROR: nl80211 support is disabled in your kernel.\nPlease recompile your kernel with nl80211 support enabled.\n"
-                fi
-            fi
-        else
-            if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ]
-            then
-                echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface
-                sleep 1s
-                if [ $3 -lt 1000 ]
-                then
-                    iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1
-                else
-                    iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1
-                fi
-                ifconfig $MONDEV up
-                printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
-            else
-                printf "\n\nERROR: Neither the sysfs interface links nor the iw command is available.\nPlease download and install iw from\n$IW_SOURCE\n"
-            fi
-        fi
+ if [ $USE_IWCONFIG = 1 ]
+ then
+   iwconfig $iface mode monitor >/dev/null 2>&1
+   MONDEV=$iface
+   ifconfig $MONDEV up
+          printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
+  
+        else
+     if [ $USE_IW = 1 ]
+     then
+ IW_ERROR=`iw dev $iface interface add $MONDEV type monitor 2>&1 | grep "nl80211 not found"`
+ if [ x$IW_ERROR = "x" ]
+ then
+     sleep 1s
+     if [ ! -z $3 ]
+     then
+ if [ $3 -lt 1000 ]
+ then
+     iwconfig $MONDEV channel $3 >/dev/null 2>&1
+ else
+     iwconfig $MONDEV freq "$3"000000 >/dev/null 2>&1
+ fi
+     fi
+     ifconfig $MONDEV up
+     printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
+ else
+     if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ]
+     then
+ echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface
+ sleep 1s
+ if [ $3 -lt 1000 ]
+ then
+     iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1
+ else
+     iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1
+ fi
+ ifconfig $MONDEV up
+ printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
+     else
+ printf "\n\nERROR: nl80211 support is disabled in your kernel.\nPlease recompile your kernel with nl80211 support enabled.\n"
+     fi
+ fi
+     else
+ if [ -f /sys/class/ieee80211/"$PHYDEV"/add_iface ]
+ then
+     echo -n "$MONDEV" > /sys/class/ieee80211/"$PHYDEV"/add_iface
+     sleep 1s
+     if [ $3 -lt 1000 ]
+     then
+ iwconfig $MONDEV mode Monitor channel $3 >/dev/null 2>&1
+     else
+ iwconfig $MONDEV mode Monitor freq "$3"000000 >/dev/null 2>&1
+     fi
+     ifconfig $MONDEV up
+     printf "\n\t\t\t\t(monitor mode enabled on $MONDEV)"
+ else
+     printf "\n\nERROR: Neither the sysfs interface links nor the iw command is available.\nPlease download and install iw from\n$IW_SOURCE\n"
+ fi
+     fi
+ fi
     fi
     if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
     then
@@ -755,6 +771,21 @@
     continue
  fi
 
+ if [ x$DRIVER = "x8812au" ]
+ then
+ printf "$iface\t\tRealtek 8812au"
+    if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
+    then
+        startStdIface $iface $CH
+    fi
+    if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
+    then
+        stopStdIface $iface
+    fi
+    echo
+    continue
+ fi
+
  if [ x$DRIVER = "xipw2100" ] || [ x"`iwpriv $iface 2>/dev/null | grep set_crc_check`" != "x" ]
  then
     printf "$iface\t\tIntel 2100B\tipw2100"

Esto funciona con algunos Scripts de wifislax y mientras usen airmon-ng, supongo que para airmon-nz pues se podría hacer algo parecido. Lo que si he visto es que el script de airmon-nz tiene una función (startDeprecatedIface) comentada en la cual ponen en modo monitor tarjetas antiguas (usando iwconfig) pero genera una salida en plan (monitor enabled for the interface) en vez de (monitor enabled on mon0) y a lo mejor esa salida no la procesan bien los scripts automatizados.


Saludos


bzbs

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #12 en: 02-03-2017, 12:17 (Jueves) »
+    if [ x$DRIVER = "x8812au" ]
+    then
+   USE_IWCONFIG=1
+   USE_IW=0
+        CHIPSET="Realtek "
Muy buena, super simple... que pena no saber nada de linux jajaj (me quede en c++ aunque la lógica es siempre igual). Lo has probado? o es a nivel "teórico"? me gustaría editarlo yo mismo para no molestar mucho pero para que veas mi nivel tuve que sacar el contenido de los xzm de wifislax con 7zip, pero claro ni idea de como compilarlo de vuelta ;D


lego_regan

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #13 en: 02-03-2017, 15:22 (Jueves) »
Funciona más o menos (problemas sobretodo del driver).

Por ejemplo GeminisAuditor tira más o menos bien. Escanea y tal, pero al lanzar reaver se queda esperando el "beacon frame" y sólo se soluciona si se ejecuta iwconfig wlan0 mode monitor de nuevo en otra ventana y a partir de entonces ya permite realizar cualquier ataque a los objetivos (WEP, WPS). En casa de mis padres tengo un router mitrastar, activé el WPS en la red 5G y no tardó nada en reventarlo.

También he probado el script de Vodker (wifimosys) y si se consigue el handshake pero no monta el ap (el script se bloquea cuando intenta reiniciar la interfaz con ifconfig) y viendo el dmesg no para de mostrar "_alloc_mgtxmitframe(wlan0) alloc xmitbuf fail", que sólo se soluciona desconectando el adaptador usb y volviéndolo a conectar (el script continua pero no lo hace correctamente). Habría que ver si el driver funciona con hostapd (con airbase-ng si que funciona).

Las pruebas las hago en máquina virtual y el adaptador no es un Alfa pero utiliza el mismo driver aunque el chip sea diferente (rtl8811au en vez de rtl8812au).

El código que puse en el comentario anterior es un parche, lo puedes pegar en un archivo llamado airmon.patch
Y luego ejecutas:
Código: [Seleccionar]
patch /usr/sbin/airmon-ng airmon.patch
De todas formas es recomendable que hagas una copia de seguridad del airmon-ng original antes de aplicar el parche por si el parche no funciona:
Código: [Seleccionar]
cp /usr/sbin/airmon-ng /usr/sbin/airmon-ng_bak

Saludos


Desconectado Vodker

  • ******
  • Mensajes: 311
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #14 en: 02-03-2017, 18:27 (Jueves) »

También he probado el script de Vodker (wifimosys) y si se consigue el handshake pero no monta el ap (el script se bloquea cuando intenta reiniciar la interfaz con ifconfig) y viendo el dmesg no para de mostrar "_alloc_mgtxmitframe(wlan0) alloc xmitbuf fail", que sólo se soluciona desconectando el adaptador usb y volviéndolo a conectar (el script continua pero no lo hace correctamente). Habría que ver si el driver funciona con hostapd (con airbase-ng si que funciona).


(Paréntesis Offtopic): como no tengo este adaptador estaré atento a las novedades sobre el driver y si en un tiempo prudencial no hay solución puedo hacer compatible Wifimosys con este chip al igual que hice con el  8187L (asumiendo como dices que sí funciona con airbase).
Saludos.

« Última modificación: 02-03-2017, 20:07 (Jueves) por Vodker »

lego_regan

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #15 en: 03-03-2017, 02:28 (Viernes) »
(Paréntesis Offtopic): como no tengo este adaptador estaré atento a las novedades sobre el driver y si en un tiempo prudencial no hay solución puedo hacer compatible Wifimosys con este chip al igual que hice con el  8187L (asumiendo como dices que sí funciona con airbase).
Muchas gracias por el interés =).

Acabo de hacer algunas pruebas y el mensaje que aparecía varias veces (vamos un flood en toda regla) era justo después de entrar en modo ahorro de energía (y eso que en el makefile aparece como desactivado), a si que he aplicado lo que hace este parche https://github.com/LibreELEC/LibreELEC.tv/pull/322/files y ya no llena el dmesg con esos mensajes, lo cual ayuda a determinar mejor la raíz del problema.
Aunque se ha bloqueado el script un par de veces (que tocará averiguar por que ocurre), otras veces ha continuado la ejecución.

Hostapd funciona (lo he probado a pelo) pero pone la tarjeta en modo Master y cuando se inyectan paquetes cambia a Monitor y deja de funcionar hostapd. Vamos que no se pueden inyectar paquetes a la vez que está ejecutándose hostapd.

Por otro lado me he tomado la libertad y he modificado la linea donde comparas si es el driver 8187 cambiando por grep -ie "8187\|8812" y entonces el script funciona "correctamente". Expulsa a los usuarios y monta el AP falso con airbase. Me puedo conectar sin problemas al AP falso y se muestra bien que me he conectado pero al cabo de un rato deja de funcionar (desaparece el AP y ya no me expulsa de la red original), puede ser por problemas del driver o porque ando en máquina virtual y no va tan fino (cuando tenga tiempo quemo un USB para ejecutar Wifislax directamente y ver si el comportamiento es similar o diferente).

Saludos


bzbs

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #16 en: 03-03-2017, 12:14 (Viernes) »
lego_regan, va perfecto, mil gracias  >:(


Desconectado drvalium

  • *******
  • Mensajes: 17367
  • Misántropo
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #17 en: 03-03-2017, 19:45 (Viernes) »
hi

yo tengo uno de estos (Alfa AWUS036ACH), en cuanto tenga un rato libre me pongo con el.

los drivers que uso son estos: https://github.com/astsam/rtl8812au.git ¿son los que estáis modificando?

« Última modificación: 03-03-2017, 19:57 (Viernes) por drvalium »

lego_regan

  • Visitante
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #18 en: 05-03-2017, 14:28 (Domingo) »
lego_regan, va perfecto, mil gracias  >:(
De nada =), aunque no sea algo oficial permite probar esta tarjeta con los scripts y que sea más sencillo el hecho de poner esta tarjeta en modo monitor.

hi

yo tengo uno de estos (Alfa AWUS036ACH), en cuanto tenga un rato libre me pongo con el.

los drivers que uso son estos: https://github.com/astsam/rtl8812au.git ¿son los que estáis modificando?
Lo que se ha modificado ha sido el airmon-ng, los drivers que usamos son esos que indicas (por ahora son los que van mejor), aunque dan algunos problemas que supongo con el tiempo se irán resolviendo.

Saludos


Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 16029
Re: Trabajo para intenar incluir soporte rtl8812au en airmon-ng (classic)
« Respuesta #19 en: 05-03-2017, 16:02 (Domingo) »
¿entonces solo se ha tocado airmon-ng la version classic?

lo digo ,por que si confirman que les va bien con los automatismos con ese modificado ... por meterlo en la iso.

viendo el exito , tal vez meta tambien un updater para el driver , pero leo siempre que hay dos variantes , una con control tx y otra "normal"

¿cual va mejor?  ... podria hacer que eligierais , y compilar y crear el xzm , del que elijais en el updater "tx-power o normal"