Guida Pwnagotchi, il Tamagotchi per hackerare reti Wifi

Stefano Novelli

Fondatore
Amministratore
19 Novembre 2007
7,113
821
8,179
3,236
Ultima modifica:
Pwnagotchi è un dispositivo che ci aiuta a crackare le reti Wi-Fi; con un Raspberry Pi Zero W, un battery pack e uno schermo e-Ink saremo in grado di ridare vita ad un Tamagotchi anni '90 in salsa hacker.

Potrai portare con te il Pwnagotchi ovunque tu voglia; le tue sessioni di Wardriving non saranno più le stesse, puoi giurarci! Un piccolo ma potente strumento per il Wi-Fi hacking, alla portata di tutti!

pwnagotchi.JPG

[TITOLO]Che cos'è Pwnagotchi[/TITOLO]
Tecnicamente un Pwnagotchi è un dispositivo basato su Raspberry Pi Zero W, al cui interno è presente un modello di addestramento che permette al Pwnagotchi di migliorarsi ogni volta che trova una rete, o un suo simile.

Attraverso tecniche di deauth o con gli association frame, Il Pwnagotchi genererà dei file .pcap; quest'ultimi potranno essere crackati in un successivo momento, tramite tecniche a forza bruta o dizionari, e anche tramite servizi online come OnlineHashCrack.

La genialità del tutto sta nella completa automazione del dispositivo, che cercherà autonomamente di crackare qualunque WiFi nel proprio raggio d'azione. Inoltre, è presente un feedback visivo tramite lo schermo e-Ink, oppure dall'interfaccia Web a cui ci si potrà collegare anche da smartphone.

[TITOLO]Come creare un Pwnagotchi[/TITOLO]
È possibile costruirsi un Pwnagotchi in diversi modi; benché ognuno è libero di farlo a modo proprio, consiglio – se non avete ancora fatto spesa – di comprare questi componenti:
  • Raspberry Pi Zero W: è la versione più piccola dei Raspberry Pi. È importante che sulla sigla ci sia la W (sta per Wireless). La versione WH ha i connettori presaldati (comodi). Sebbene sia pubblicizzata da molte parti con un costo da 10$, (almeno qui in Italia) non la si trova quasi mai sotto i 25€.
  • E-Ink Waveshare V2 2.13: lo schermo E-Ink. Consiglio la V2 (e non solo io) in quanto con un migliore refresh-rate. Il modello 2.13 è quello più compatto e in grado di stare in un mini-case.
  • MicroSD: preferiamo una microSD di classe UHS-I o superiore. Per pochi € una microSD di qualità può fare la differenza, specie laddove l'hardware non è molto performante.
  • Cavo microUSB: se vi manca (vi manca?) prendetene uno che permetta lo scambio dati. I più economici ricaricano e basta.
  • (Consigliato) HW Clock: quando il Pwnagotchi non sarà collegato ad Internet non potrà sincronizzare le proprie attività, restituendo valori falsati al modello A2C. Sebbene non indispensabile è fortemente raccomandato l'uso di un Hardware Clock (nel nostro caso un DS3231)
  • (Consigliato) Saldatore e Stagno: se avete scelto la strada dell'HW Clock (precedente) allora dovrete fare 5 semplici saldature. Se non ne avete uno potete comprarlo a meno di 30€ (se volete una "pro" vi consiglio una Weller). Procuratevi anche un po' di cavo elettrico (quelli forniti in bundle con il Waveshare V2 andranno bene).
  • (Consigliato) Nastro Kapton: i veri pro hanno sempre un po' di nastro Kapton! Questo lo si usa per isolare i contatti; in caso è possibile usare anche del normale nastro isolante.
  • (Opzionale) Battery Pack: per le vostre scorribande in Wardriving! Ovviamente, più è grande, meglio è!
  • (Opzionale) Case PiSugar: questo purtroppo non si può comprare. Io personalmente me lo sono stampato in 3D, se avete un amico che ha una stampante fategli stampare il case (nel mio caso la shell è XL) e il Pihat Cap.
Qualora ci fossero dubbi di compatibilità con materiale che avete già (tipo Raspberry Pi 4 o 3) o dimensioni e-Ink diversi, vi rimandiamo all'ottima Wiki ufficiale (in Inglese).

Step 1

Flash dell'immagine


In questo step andremo a flashare l'immagine del progetto all'interno della microSD, che andrà poi inserita nel Raspberry Pi Zero W. Il software che utilizzeremo sarà balenaEtcher, un programma disponibile per Windows, macOS e Linux.
  1. Scarica l'immagine di Pwnagotchi in formato .zip
  2. Scarica balenaEtcher e installalo
  3. Inserisci la microSD nel lettore del tuo PC
  4. Apri balenaEtcher, seleziona l'immagine (.zip o .img), seleziona la SD e clicca su Flash!
In alternativa

Se vogliamo usare il comando dd (da macOS o GNU/Linux) lanciamo (sostituendo il path del file scaricato):
> dd if=path/to/pwnagotchi-raspbian-lite-XXX.img of=/dev/sdcard bs=1M

Una volta finito di flashare la microSD non rimuoverla, dovremo effettuare la prima configurazione :)

Per discuterne: Pwnagotchi di @Ryo_saeba

Step 2

Prima configurazione


La prima configurazione si effettua dal file config.yml presente nella partizione /boot all'interno della microSD. Tale partizione può essere aperta da qualunque sistema operativo, in quanto ha un filesystem su base FAT32.

In questo file puoi definire il nome del tuo dispositivo, la rete Wi-Fi in tuo possesso (così da evitare di deautenticarti!), il tipo di dispositivo in uso e così via. Il file, una volta caricata la microSD nel Raspberry, sarà spostato all'interno del path /etc/pwnagotchi/config.yml . Dopo il primo boot, il file di configurazione che dovrai modificare (tramite SSH o comunque terminale) dovrai modificare il file /etc/pwnagotchi/config.yml .
  1. Con la microSD inserita nel tuo PC, cerca la partizione "boot"
  2. Al suo interno crea un file denominato config.yml
  3. All'interno del file inserisci il file di configurazione che segue, quindi salva il file e rimuovi la microSD in modalità sicura
Codice:
main:
  name: 'pwnagotchi'
  whitelist:
    - 'SSID (nome) della tua rete'
  plugins:
    grid:
      enabled: true
      report: true
      exclude:
        - 'SSID (nome) della tua rete'

ui:
    display:
      enabled: true
      type: 'waveshare_2'
      color: 'black'

Step 3

Assemblare il Pwnagotchi


Arrivati a questo punto possiamo iniziare ad assemblare il nostro Pwnagotchi. La procedura prevede l'installazione della microSD nel relativo slot, l'inserimento del Waveshare sullo slot GPIO e per finire l'alimentazione del dispositivo. Per facilitare l'operazione, abbiamo preparato uno schema per comprendere meglio dove e come fissare il tutto.

raspberry-pwnagotchi.jpg

Procediamo con ordine:
  1. Inseriamo la microSD nel relativo slot (ricorda, i pin vanno in giù)
  2. (Opzionale) Se hai una versione W (non WH) dovrai anche saldare i pin forniti sulla GPIO
  3. Posizioniamo sulla GPIO lo schermo Waveshare V2, in modo che i pin della GPIO combacino con i pin femmina dell'e-Ink
pwnagotchi1.jpg
pwnagotchi2.jpg

Step 4

(Opzionale) Saldare l'HW Clock



Questa è probabilmente la parte più complicata per chi non ha maneggevolezza con l'elettronica. Purtroppo non sono riuscito a trovare altre strade, se non saldare l'HW Clock direttamente sui 5 pin interni. La screen successiva fa capire meglio come andrebbe collegato.

iu-2.jpeg

Io ho preferito fare un cablaggio più comodo rispetto a quello consigliato dal sito ufficiale, che mi permette di avere più spazio qualora in futuro volessi espanderlo. La prossima immagine fa ben capire in che modo bisogna cablare.

pwnagotchi-assemb.jpg

Quell'adesivo giallo che vedete è il famoso Nastro Kapton. Se ne abbiamo, usiamolo per isolare l'HW Clock dal Raspberry, così da evitare che la batteria tocchi i contatti.

Vediamo come procedere alla saldatura:
  1. Giriamo il Raspberry Pi Zero W in modo da poter saldare i cavi dalla parte di sotto
  2. Spelliamo i cavi (io ho usato dei cavetti di Arduino maschio-maschio) e usiamo il saldatore per collegare i cavetti dell'HW Clock
  3. Dall'altro verso, colleghiamo l'HW Clock facendo estremamente attenzione a rispettare l'ordine dei Pin
  4. Copriamo tutto con del Nastro Kapton o Nastro Isolante per evitare i componenti si tocchino tra di loro
Step 5

(Opzionale) Assembliamo Il Pwnagotchi


Se siete i fortunati possessori di una stampante 3D, o avete amici che ne hanno una, procuriamoci la shell case (nel mio caso la shell è XL) e il Pihat Cap. Nella prossima immagine vediamo la shell scomposta e, in quella successiva, assemblata.

pwnagotchi-shell.jpg

raspberry-assemblato.jpg

Step 6

Primo avvio del Pwnagotchi


A questo punto possiamo avviare il Pwnagotchi. Il primo avvio richiede un po' di tempo, questo perché Pwnagotchi deve generare le chiavi RSA (ci vorranno un paio di minuti, se usiamo una microSD di qualità).

Possiamo scegliere, per il primo avvio, una delle due porte microUSB: in questa fase non è importante, è importante invece che non togliate l'alimentazione per nessuna ragione al mondo.

Step 7

Connettersi al Pwnagotchi


Una volta avviato, il Pwnagotchi permette di connettersi ad esso tramite cavo USB-microUSB. La porta da utilizzare è la Data Port (per intenderci, quella interna). Assicuriamoci di usare un cavo di qualità, alcuni infatti non permettono il trasferimento dati. La connessione verrà effettuata tramite un'interfaccia Ethernet virtuale che sarà creata dal tuo computer.
  1. Collegati al Pwnagotchi tramite la Data Port
  2. Sul tuo PC troverai una nuova scheda di rete che dovrà essere così configurata:
    IP: 10.0.0.1
    Netmask: 255.255.255.0
    Gateway: 10.0.0.1[/CODE] [B]DNS[/B] (se richiesti): [ICODE]1.1.1.1
  3. Se tutto va secondo i piani, dovremmo essere in grado di pingare l'IP 10.0.0.2 o l'hostname pwnagotchi.local (se il nome è stato cambiato, provare a piegare hostname+.local)
  4. È ora possibile collegarsi al Pwnagotchi usando il comando da terminale (o Powershell su Windows) ssh [email protected]:
    > ssh [email protected]

raspberry-pwnagotchi.jpg

È ora di iniziare a giocare col proprio Pwnagotchi!
Visita il sito ufficiale per capirne le potenzialità e iniziare ad usare correttamente il dispositivo.
Seguirà nuova guida per il Mastering del Pwnagotchi!
 
Sono riuscito ad assemblare correttamente il pwnagotchi seguendo la (ottima) guida ma ho un problema: quando spengo il pwnagotchi via ssh o web UI, non riesco più ad accenderlo! Ho provato a collegare sia il cavo di alimentazione che quello dati ma nulla...i led rimangono spenti. L'unico modo per farlo andare è reflashare l'immagine... come posso fare?
 
Sono riuscito ad assemblare correttamente il pwnagotchi seguendo la (ottima) guida ma ho un problema: quando spengo il pwnagotchi via ssh o web UI, non riesco più ad accenderlo! Ho provato a collegare sia il cavo di alimentazione che quello dati ma nulla...i led rimangono spenti. L'unico modo per farlo andare è reflashare l'immagine... come posso fare?
Decisamente strano.
Dopo il primo avvio (con cavo su porta 1) e aver atteso una decina di minuti, se lo stacchi e lo riattacchi da ancora lo stesso problema?