Pwnagotchi
PWNAGOTCHI: DEEP REINFORCEMENT LEARNING FOR WIFI PWNING!
Pwnagotchi est une «AI» basée sur A2C alimentée par bettercap qui apprend de son environnement WiFi environnant afin de maximiser le matériel clé WPA craquable qu'il capture (soit par reniflement passif, soit en effectuant des attaques de désauthentification et d'association). Ce matériel est collecté sur disque sous forme de fichiers PCAP contenant toute forme de poignée de main craquable prise en charge par hashcat , y compris les poignées de main WPA complètes et à moitié ainsi que les PMKID
Présentation
Bonjour à toutes et à tous !
Je sais que la plupart de mes lecteurs ont à peu près mon âge et partagent à peu près les même activités que moi. Si je vous dis “Tamagotchi”, ça doit forcément vous parler, pas vrai ? Et si je vous dis “Handshake WPA”, ça vous dis quelque chose non ? Maintenant, imaginez un Tamagotchi dont l’objectif principal et de casser des réseaux Wifi en se basant sur une intelligence artificielle embarquée. Vous ne rêvez pas, il s’agit bien là du Pwnagotchi.
Créé il y a environ deux mois par le célèbre hacker et développeur @evilsocket, ce véritable jouet du hacker s’est déjà fait un nom dans le domaine. Votre objectif, en tant que propriétaire attentionné, est de le “nourrir” avec des Handshakes wifi
Intrigué par ce projet, j’ai donc décidé de me plonger dans ce dernier afin de pouvoir me forger un avis.
Le matériel nécessaire à sa mise en place est très simple:
Le logiciel du Pwnagotchi se sert d’un driver custom pour l’interface Wifi du RPI0W afin de le doter de capacités de monitoring. C’est grâce à ce mode que le Pwnagotchi va pouvoir “écouter” le trafic réseau et ainsi capturer les fameux Handshakes WPA. Ce mode va permettre aussi au Pwnagotchi de procéder à de la “désauthentification” de clients.
Contrairement à la méthode par désauthentification, le récupération de PMKID ne nécessite pas que des clients soient connectés au réseau ciblé. Ce qui permet, la plupart du temps, de récupérer très facilement un Handshake.
Une fois les Handshakes collectés, ces derniers peuvent être automatiquement envoyés à des plateformes de Crack en ligne afin de récupérer les mots de passes. Pour ce faire, il vous faut connecter votre petit compagnon en Bluetooth à votre smartphone et lui partager votre connexion internet. Une fois cela fait, le Pwnagotchi verra ses capactiés décuplées :
- Sauvegarde automatique sur serveur distant
- Mise à jour automatique
- Nettoyage automatique des Handshakes
- Mise en réseau sur la PwnGrid
- Messagerie instantanée sécurisée entre plusieurs Pwnagotchis
- Possibilité d’extinction “propre” via l’interface Web
En effet, le Pwnagotchi est aussi accessible via une interface Web. Pour s’y connecter, il faut imprativement que votre téléphone partage sa connexion avec votre compagnon et que ce dernier soit configuré correctement. Une fois cela fait, vous devrez vous rendre en http sur le port 8080 de votre Pwnagotchi. Vous verrez alors apparaître son visage mignon ainsi qu’un bouton “Shutdown” vous permettant de l’éteindre “proprement”.
Comme précisé en introduction, le Pwnagotchi dispose d’un réseau neuronal embarqué se mettant en route environ 20-30 minutes après le démarrage. Cette intelligence artificielle permet à votre compagnon de d’optimiser au maximum ces capacités de capture de Handshakes. Avec le temps, il apprendra quels canaux sont les plus fréquentés, sur lesquels il a le plus de chance d’avoir des Handshakes, etc.
Installation
Une fois que vous vous êtes dotés du matériel minimum requis, la mise en route de votre Pwnagotchi est très simple:
- Télécharger l’image système du Pwnagotchi depuis le github officiel
- Flasher l’image sur une carte SD de 8Go minimum
- Insérer la carte SD dans le Pwnagotchi
- Brancher le Pwnagotchi
- Enjoy !
Sachez que Evilsocket a pensé à tout et que son projet est vraiment bien abouti. La documentation du Pwnagotchi est extrêmement bien fournie, explicite et détaillée. Vous n’aurez donc aucun soucis à mettre en route votre compagnon ou à le configurer, sous réserve que vous vous intéressiez un minimum au sujet.
Avant d'inserer votre carte SD dans votre pwnagotchi. Configurer votre fichier config.yml et transfert votre fichier dans la carte SD.
- Configurer le nom de votre unité Pwnagotchi par défault
- Configurer votre WIFI
- Configurer votre ecran " Optionnel " waveshare_v2 pour ma part
- Brancher le Patienté quelques minute le temps que l'ecran soit réactif
- Voici un exemple de config.yml
main: name: 'pwnagotchi' whitelist: - 'Nom de votre box internet' plugins: grid: enabled: true report: true exclude: - 'Nom de votre box internet' ui: display: enabled: true type: 'waveshare_2' color: 'black'
Voici Mon fichier: Config.yml
Premier démarage!
J'utilise windows 10 pour ma part,
Brancher votre Pwnagotchi à votre pc hote via le port usb/donnée, votre unité sera détècter sur le port USB Gadget/RNDIS.
Driver RNDIS/GADGET: MOD-RNDIS
Une fois le driver télécharger aller sur le gestionnaires de pérépheriques, fait un click droit sur usb RNDIS/Gadget mettez le à jour avec les fichier télécharger!
Maintenant aller sur Panneaux de configuration, centre réseau et partage et en suite cliquer sur modifier les paramètres de la carte, Propriéter puis Partage.
Voila votre ordinateur peux maintenant partager la connexion à votre Pwnagotchi, il vous reste quelques etapes et le réglage de votre unité sera terminer
Définir une IP statique IPV4
Voila votre unité et préte pour une connection SSH!
Login par default du PI
Dossier Script: Windows
Utiliser ce script pour partager la connection
Cloner le repertoire git fourni par @Evilsocket dézipper le contenu sur votre bureau et ouvrer Terminal PowerShell en tant que ADMINISTRATEUR.
Selectionner le repertoire du script! Pour moi c'est: cd C:\Users\Qsolo\Desktop\DEVOPS\pwnagotchi-master\scripts.
Utiliser les deux commandes suivantes:
scripts/win_connection_share.ps1
Voilâ votre Pwnagotchi et prêt.
La documentation du Pwnagotchi est extrêmement bien fournie, explicite et détaillée. N'hésiter pas à aller voir les releases sur le site Officiel Pwnagotchi.ai
Interface web
Pour configurer l'interface web la methode et simple
Le fichier config.yml par default et deja regler pour retrouver votre interface une fois votre unité connecter.
Votre interface et configurer n'hésitez pas à regarder la documentation pour apprendre plus sur votre pwnagotchi
Pwnagotchi Créated by: @evilsocket
Tutoriel Créated by: @Qsolo