La partie 3 concerne le répertoire 02 qui contient les fichiers suivants :
readme.txt -> Nous indique que cette epreuve nous donnera 2 mots de passe : 1 pour le sniff02, et un autre pour le sniff03. Il s’agit donc de 2 sous épreuves bien distinctes.
sniff02.pcapng.gz -> Archive de la capture 02
sniff02_readme.txt -> un texte qui nous donne deux infos utiles concernant la capture 02 :
– Le point d’accès apartient à un certain « Daniel »
– Il serait protegé par une « petite clef WEP »
sniff03.pcapng.gz ->Archive de la capture 03
sniff02.pcapng.gz
On commence par décompresser / convertir le fichier en .pcap afin de pouvoir le passer sur nos tools :
kriss@ROG ~> gunzip sniff02.pcapng.gz kriss@ROG ~> tcpdump -r sniff02.pcapng -w sniff02_.pcap
Puis on jette un œil à la capture dans Wireshark :
il s’agit bien d’une capture de trafic 802.11 avec un AP : 90:f6:52:7f:a5:cd, et un SSID qui change plusieurs fois au cours de la capture : WEP, IS, SECURE, IF, YOU, DONT, HAVE, ENOUGH, IVs.
Dans ce genre de cas, le tool aircrack-ng est souvent d’une grande aide : il permet de cracker une clef WEP à partir de paquets contenant des Vecteurs d’Initialisation.
Voyons voir :
Aircrack-ng 1.2 rc4 [00:00:04] Tested 132595 keys (got 303 IVs) KB depth byte(vote) 0 30/ 31 FB( 768) 01( 512) 02( 512) 03( 512) 08( 512) 10( 512) 11( 512) 1 81/ 1 FC( 512) 00( 256) 02( 256) 04( 256) 05( 256) 06( 256) 08( 256) 2 4/ 17 F2(1280) 46(1024) DD(1024) E8(1024) EB(1024) 05( 768) 11( 768) 3 2/ 10 47(1280) 08(1024) 0B(1024) 64(1024) 82(1024) B0(1024) E0(1024) 4 10/ 4 F7(1024) 10( 768) 11( 768) 1B( 768) 22( 768) 3B( 768) 4B( 768) Failed. Next try with 5000 Ivs.
Fail donc et pour cause : aircrack se base sur une analyse statistique pour casser la clef WEP et 303 IVs sont bien sûr très insufisants pour déterminer la clef.
C’est le moment de se souvenir que l’indice associé à la capture parle d’une « petite clef WEP ». Je sais pas vous, mais pour moi ça fait echo à « bruteforce »:P
La longueur des clefs WEP est fixe. La plupart des équipements acceptent des clefs de 40 bits, 104 ou 128 bits. En accord avec l’indice, nous allons d’abord nous concentrer sur des clefs de 40 bits = 10 caractères Hexa ou 5 caractères ASCII.
Qui dit bruteforce dit (entre autres) : John.
Pour aller droit a l’essentiel, et ne tester que des mots de passe de 5 caractères, passons par l’écriture d’une petite règle dans : /etc/john/john.conf
[Incremental:ASCII5] File = $JOHN/ascii.chr MinLen = 5 MaxLen = 5 CharCount = 95
Et on lance le bruteforce avec notre règle en passant l’output de john dans aircrack pour faire du bruteforce pur :
kriss@ROG ~> john --incremental=ASCII5 --stdout | aircrack-ng -n 64 -a 1 -b 90:f6:52:7f:a5:cd sniff02_.pcap -w-
Après un total de … 8 secondes sur un vieux PC portable, on a notre clef qui confirme en plus l’autre indice du chall : le proprio de l’AP s’appelle Daniel :
Aircrack-ng 1.2 rc4 [00:00:08] Tested 324327 keys (got 303 IVs) KB depth byte(vote) 0 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 1 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 2 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 3 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 4 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) KEY FOUND! [ 64:61:6E:69:31 ] (ASCII: dani1 ) Decrypted correctly: 96%
On peut confirmer la clef en déchiffrant le pcap en utilisant cette dernière :
kriss@ROG ~> airdecap-ng sniff02_.pcap -w 64616E6931 Total number of packets read 7375 Total number of WEP data packets 506 Total number of WPA data packets 0 Number of plaintext data packets 7 Number of decrypted WEP packets 506 Number of corrupted WEP packets 0 Number of decrypted WPA packets 0
Les paquets ainsi déchiffrés se présentent ainsi :
Rien de bien intéressant dans cette capture cela dit, mais on s’en moque, on a notre flag : Dani1
sniff03.pcapng.gz
Même chose pour extraire et convertir en pcap.
A l’ouverture, on se rend compte qu’on a à faire a du WPA2 cette fois :
J’ai pris le parti de passer ça directement dans aircrack avec la wordlist rockyou.txt :
kriss@ROG ~> aircrack-ng -w /usr/share/wordlists/rockyou.txt sniff03.pcap
Sur un vieux PC portable (toujours), il faut compter un peu plus d’une heure pour parser toute la wordlist : c’est bourin, mais c’est jouable.
Au final, on trouve la clef en 45 minutes :
Aircrack-ng 1.2 rc4 [00:41:30] 4628324/9822768 keys tested (1938.81 k/s) Time left: 44 minutes, 40 seconds 47.12% KEY FOUND! [ janeimeelyzza ] Master Key : B4 01 B7 44 64 DA FA 74 C3 D0 27 9D F5 EC 68 D1 E2 04 E0 22 7A 55 7F C9 7D 62 B8 29 45 EE 6E 3F Transient Key : 13 3D 5D 24 71 74 03 12 10 69 FB F5 99 8A 32 93 E0 02 10 70 7A DA BD D4 6C 3B AF 61 05 4B 1F B1 31 80 15 87 50 E4 16 B4 88 41 DA B5 37 8D 48 11 87 2A E5 FE C6 60 AA D3 75 26 C5 78 0D 5B 26 3D EAPOL HMAC : 82 57 97 17 C9 46 90 E0 1E 44 99 E7 B5 91 7A 07
Ce qui nous donne notre deuxieme flag : janeimeelyzza
./Kriss