symp
symp

Pwnagotchi

  • QSolo
  • 07 December 2019
  • 5

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:

  • Un Raspberry PI Zero W.
  • Un écran à encre électronique. ( Conseiller waveshare v2 ) #Pas obligatoire vous pouvez passer par une interface web.
  • Un minimum de café.

  • Ce dernier se sert de 2 méthodes de récupération de Handshakes:
  • Désauthentification et sniff classique.
  • Récupération de PMKID

  • 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:

    1. Télécharger l’image système du Pwnagotchi depuis le github officiel
    2. Flasher l’image sur une carte SD de 8Go minimum
    3. Insérer la carte SD dans le Pwnagotchi
    4. Brancher le Pwnagotchi
    5. 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.

    1. Configurer le nom de votre unité Pwnagotchi par défault
    2. Configurer votre WIFI
    3. Configurer votre ecran " Optionnel " waveshare_v2 pour ma part
    4. Brancher le Patienté quelques minute le temps que l'ecran soit réactif
    5. 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

  • IP: 10.0.0.1
  • Masque de réseau: 255.255.255.0
  • Passerelle par default: 10.0.0.1
  • DNS: 8.8.8.8
  • Vous pouvez faire un teste ping sur 10.0.0.2 ou pwnagotchi.local "pwnagotchi ou nom de votre unité".
    Voila votre unité et préte pour une connection SSH!

    Login par default du PI

  • USER: pi
  • PASSWORD: raspberry

  • 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:

  • powershell -ExecutionPolicy ByPass -File .\win_connection_share.ps1 -SetPwnagotchiSubnet
  • powershell -ExecutionPolicy ByPass -File .\win_connection_share.ps1 -EnableInternetConnectionSharing
  • Selectionner votre carte ethernet principale
  • Selectionner votre Pwnagotchi USB ETHERNET/RNDIS Gadget
  • Windows 10 scripts/win_connection_share.ps1 lien


    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

    webui

    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.

  • pwnagotchi.local:8080 <--- screen

  • pwnagotchi.local <--- bettercap
  • webui

    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

    Next Post