Progetto Pwnag0dchi
Creato perché molte persone chiedevano informazioni sui plugin personalizzati e le configurazioni che uso. Seguendo questa guida, il tuo Pwnagotchi avrà un aspetto esattamente come quello che vedi sui miei social e video YouTube in circa 5 minuti massimi.
Troverai anche una guida completa per principianti alla costruzione di un Pwnagotchi + alcuni metodi comuni di risoluzione dei problemi.
Aggiornerò questo progetto il più possibile. Se hai un suggerimento o riscontri problemi nell'utilizzo di questo progetto, apri una Issue su GitHub e ne parliamo!
Indice
Modifiche del Progetto Pwnag0dchi
Funzionalità
- Attacchi di dizionario sul dispositivo appena trovati handshake (usando wordlist personalizzate più piccole)
- Attivazioni individuali per attacchi di associazione e deautenticazione per scegliere 1 dei 3 approcci di attacco:
- Completamente aggressivo (attacchi di associazione + deautenticazione)
- Meno aggressivo (solo attacco di associazione o deautenticazione)
- Completamente passivo (nessun attacco, solo cattura passiva di handshake)
- Handshake scaricabili dall'interfaccia web (risolto)
- Elementi dell'interfaccia modificati pesantemente (posizioni, dimensioni, caratteri, ecc.)
- Aggiunto spazio al valore "CH" per accomodare canali a 5GHz senza sovrapposizioni
- Modifiche ai plugin (per scopi estetici, riduzione del disordine e lieve miglioramento delle funzionalità (forse))
- Informazioni aggiunte allo schermo:
- Ultimo handshake craccato in testo semplice (secondo WPA-sec)
- Barra del livello e dell'XP (raccogli handshake per guadagnare XP e salire di livello)
- Attacchi abilitati (associazione, deautenticazione, entrambi o nessuno)
- Monitoraggio hardware (utilizzo memoria attuale, utilizzo CPU, frequenza CPU e temperatura)
- Stato della connessione/condivisione Internet
- Indirizzo IP dell'interfaccia corrente (aiuta per la connessione tramite SSH / web UI)
- Altre cose che potrei dimenticare
Video Dimostrativo & Tutorial

Installazione del Progetto Pwnag0dchi
- Copia i file dalla directory "Plugins" di questo repository GitHub in
/usr/local/share/pwnagotchi/custom-plugins/
- Copia i file dalla directory "Configurations" di questo repository GitHub in
/etc/pwnagotchi/
- Applica tutte le modifiche riavviando il tuo Pwnagotchi
Credenziali di Accesso (Web UI)
changeme:changeme
Impostazioni iniziali da modificare
Tramite Web UI: Plugin > webcfg
Tramite /etc/pwnagotchi/config.toml
Poi apporta le seguenti aggiunte/modifiche:
main.name dovrebbe essere il nome che vuoi dare al tuo Pwnagotchi (esempio: Pwnag0dchi)
main.whitelist.#0 e main.plugins.grid.exclude dovrebbero essere l'SSID della tua rete Wi-Fi di casa, così il tuo Pwnagotchi non la attacca (esempio: Shuriken-WiFi_2.4GHz)
main.plugins.wpa-sec.api_key dovrebbe essere la tua chiave API WPA-sec (vai qui prima e clicca su "Get key" per ricevere via email la tua chiave API gratuita)
NOTA: Quando copi e incolli la chiave API in main.plugins.wpa-sec.api_key, assicurati che non ci siano spazi all'inizio o alla fine della chiave API
- Riavvia il servizio Pwnagotchi per applicare le modifiche usando
sudo systemctl restart pwnagotchi.service. Sull'interfaccia web, puoi farlo cliccando su "Save and Restart" in alto nel plugin webcfg
Guida per Principianti di Pwnagotchi
Componenti da Acquistare
-
Display e-Ink Waveshare da 2.13 pollici (Amazon | Waveshare)
- Le versioni 3 e 4 funzionano meglio. Questo è indicato da un piccolo adesivo circolare sulla scheda (come questo)
- Ignora la scritta "Rev2.1" stampata sulla scheda; non ha nulla a che fare con la versione
- NON acquistare la variante tricolore con nero/bianco/rosso (variante "B"). Acquista solo la versione nero/bianco. Entrambe hanno un aspetto praticamente identico e costano uguale, quindi è facile acquistare quella sbagliata
-
Raspberry Pi Zero W - richiede saldatura (Amazon | Rapsberry Pi)
-
OPPURE Raspberry Pi Zero WH - nessuna saldatura richiesta (Amazon | Adafruit)
- È la stessa scheda con pin pre-saldate (la
H in WH sta per "Headers")
- La variante
WH potrebbe essere un po' più difficile da trovare rispetto a W
-
Scheda Micro-SD — 16 GB sono l'ideale, deve essere "UHS-I"
Installazione
- Collega il display Waveshare al Pi Zero (parte hardware completata!)
- Scarica un'immagine di rilascio v2.8.9 di jayofelony (testata approfonditamente) o v2.9.3 (funziona per quanto testato)
- Scarica / Installa Balena Etcher
- Inserisci la micro-SD del tuo Pwnagotchi in un lettore di schede e collegalo al computer
- Apri Balena Etcher
- Seleziona il file immagine di Pwnagotchi scaricato
- Seleziona attentamente anche la scheda micro-SD inserita
- Flashato!
- Dopo il completamento del flashing, inserisci la scheda micro-SD nel tuo Pwnagotchi e accendilo
- Al primo avvio, il tuo Pwnagotchi avrà bisogno di tempo per inizializzarsi (da 2 a 30 minuti). Durante questo periodo di inizializzazione, non farti prendere dal panico se non vedi nulla sul display o il messaggio
"Generating keys, do not turn off...". Una volta completato il processo, il tuo Pwnagotchi si riavvierà da solo e sarà pronto per l'uso
NOTA: Questo vale solo per il primo avvio. Non dovrai aspettare più di ~2-3 minuti per i successivi avvii
- È VIVOOOO!
Rendi il tuo Pwnagotchi accessibile tramite SSH / web UI
Tutorial: https://youtu.be/7nj5Euo5Bng?t=135
NOTA: Segui solo da 2:15 a 4:31
NOTA: Se hai bisogno di installare manualmente i driver RNDIS, scaricali da questo repository GitHub (directory "RNDIS Driver")
ssh [email protected] o ssh [email protected] abbreviato (password = raspberry)
Rendi il tuo Pwnagotchi accessibile tramite FTP
Per connetterti via FTP al tuo Pwnagotchi come utente root, devi prima inizializzare l'account utente root e anche abilitare gli accessi FTP come root:
- Connettiti via SSH al tuo Pwny come utente pi (come al solito)
sudo passwd root
- Inserisci la password dell'utente pi se richiesto (raspberry)
- Inserisci una nuova password per l'utente root
- Salva ed esci. Ora avrai un utente root. È ora di abilitare gli accessi FTP come root
sudo nano /etc/ssh/sshd_config
NOTA: sshd_config, non ssh_config
- Cambia la riga
PermitRootLogin prohibit-password in PermitRootLogin yes e decommenta la riga se è commentata (rimuovi il # all'inizio della riga)
- Salva ed esci
sudo service ssh restart
Tutorial: https://www.youtube.com/watch?v=X-5jN0WjurQ&t=88s
Configurazione della Condivisione Internet (Accesso a Internet per Pwnagotchi)
- Collega il tuo Pwnagotchi (porta dati, non alimentazione)
- Scarica
win_connection_share.ps1 da questo repository GitHub (directory "Internet Sharing")
- Apri PowerShell come amministratore (click destro > "Esegui come amministratore")
cd .\Downloads\
.\win_connection_share.ps1 -SetPwnagotchiSubnet
- Riavvia il computer Windows
.\win_connection_share.ps1 -EnableInternetConnectionSharing
- Start > digita "rete" > "Visualizza connessioni di rete"
- Click destro sul RNDIS del tuo Pwnagotchi > Proprietà > configurazione IPv4 > aggiungi nuovamente l'IP statico manualmente (10.0.0.1, 255.255.255.0, 10.0.0.1, 8.8.8.8)
- Click destro sulla tua ethernet principale > Proprietà > scheda "Condivisione" > seleziona entrambe le caselle + seleziona la condivisione per il RNDIS del tuo Pwnagotchi > OK
- Ricollega il Pwnagotchi (porta dati, non alimentazione)
- Prompt dei comandi >
ssh [email protected] (password = raspberry)
- Verifica la connettività Internet dopo che il Pwnagotchi si è completamente inizializzato usando
ping google.com
Ancora nessuna Internet?
sudo chattr +i /etc/resolv.conf
sudo nano /etc/resolv.conf
- Il contenuto di questo file dovrebbe essere solo questa singola riga:
nameserver 8.8.8.8
Cracking Locale degli Handshake (all'interno del Pwnagotchi stesso, senza Internet / WPA-sec)
Il plugin better_quickdic è responsabile di questo. Basta aggiungere le tue piccole wordlist personalizzate a /home/pi/wordlists/, e verrà eseguito un attacco di dizionario offline utilizzando tutte le wordlist in questa directory non appena viene catturato un handshake valido
NOTA: Disabilita / Rimuovi i plugin aircrackonly e hashie / hashieclean per ottenere i migliori risultati. Ho scoperto in alcuni miei test che questi plugin a volte eliminano anche handshake validi prima che better_quickdic possa iniziare a craccarli
NOTA: Se un handshake viene craccato usando questo plugin, NON verrà visualizzato sullo schermo del Pwnagotchi (anche con display-password abilitato). Dovrai controllare manualmente la directory /home/pi/handshakes per eventuali file che terminano in .pcap.cracked. Se hai molti handshake lì, puoi usare ls /home/pi/handshakes/ | grep crack per filtrare rapidamente solo quelli craccati
Puoi usare una semplice wordlist come quella di questo repository GitHub (directory "Wordlists"). Ho creato la wordlist basandomi sulle password predefinite e non complesse più comuni che ho trovato durante i miei test. Questo potrebbe essere diverso nel tuo caso a causa della tua regione / lingua / consapevolezza / requisiti / impostazioni predefinite ― quindi è sempre meglio usare più wordlist piccole e personalizzate.
Bluetooth-Tethering (breve e conciso)
Tutorial: https://www.youtube.com/watch?v=cnmrKCBzDRU
Utilizzo di Adattatori Wi-Fi Esterni
Puoi collegare un adattatore Wi-Fi esterno al Pwnagotchi per un aumento significativo della portata, o per il supporto a 5GHz, o entrambi.
NOTA: Non sarai in grado di connetterti via SSH al tuo Pwnagotchi tramite USB quando l'adattatore Wi-Fi esterno è abilitato perché la porta dati USB viene assegnata all'adattatore Wi-Fi esterno. Pertanto, si consiglia vivamente di configurare prima e confermare che il Bluetooth-tethering funzioni in modo da poter accedere al tuo Pwnagotchi tramite web UI o SSH senza la necessità di un cavo USB. Quando l'adattatore Wi-Fi esterno è disabilitato, puoi accedere al tuo Pwnagotchi normalmente usando un cavo USB
NOTA: La compatibilità degli adattatori Wi-Fi esterni dipenderà completamente dal chipset del tuo adattatore. Molti chipset sono prontamente supportati dal sistema Linux sottostante, ma altri richiederebbero l'installazione manuale del driver del chipset tramite SSH. Per prima cosa, prova i passaggi seguenti e verifica se il tuo adattatore funziona con il Pwnagotchi (non dimenticare di riavviare). In caso contrario, installa i driver manualmente
Abilitazione dell'Adattatore Wi-Fi Esterno
- Connettiti via SSH al tuo Pwnagotchi
sudo nano /boot/config.txt
- Individua la sezione
[all]
- Decommenta
dtoverlay=disable-wifi (rimuovi il # all'inizio della riga)
- Commenta
dtoverlay=dwc2 (aggiungi un # all'inizio della riga)
- Riavvia il Pwnagotchi con l'adattatore Wi-Fi collegato (porta dati, non alimentazione)
Disabilitazione dell'Adattatore Wi-Fi Esterno
- Connettiti via SSH al tuo Pwnagotchi
sudo nano /boot/config.txt
- Individua la sezione
[all]
- Commenta
dtoverlay=disable-wifi (aggiungi un # all'inizio della riga)
- Decommenta
dtoverlay=dwc2 (rimuovi il # all'inizio della riga)
- Riavvia il Pwnagotchi con l'adattatore Wi-Fi scollegato (porta dati, non alimentazione)
Personalizzazioni Aggiuntive
Tutorial Facce Personalizzate Pwnagotchi

Elenco Massiccio di Plugin (nomi, descrizioni, link, ecc.)
https://docs.google.com/spreadsheets/d/1os8TRM3Pc9Tpkqzwu548QsDFHNXGuRBiRDYEsF3-w_A
Risoluzione dei Problemi
Condivisione Internet non funzionante (o funzionava prima)
- Collega il Pwnagotchi (porta dati, non alimentazione)
- Start > digita "rete" > "Visualizza connessioni di rete"
- Click destro sulla tua ethernet primaria (Internet) > Proprietà > scheda "Condivisione" > deseleziona entrambe le caselle > OK
- Click destro sul RNDIS del tuo Pwnagotchi > Proprietà > configurazione IPv4 > aggiungi nuovamente l'IP statico manualmente (10.0.0.1, 255.255.255.0, 10.0.0.1, 8.8.8.8) > OK
- Click destro sulla tua ethernet principale > Proprietà > scheda "Condivisione" > seleziona entrambe le caselle + seleziona la condivisione per il RNDIS del tuo Pwnagotchi > OK
- Non è necessario riavviare nulla. Verifica la connettività Internet usando
ping google.com tramite SSH
Impossibile connettere il mio 'gotchi al computer dopo il passaggio all'adattatore esterno
Dovrai disabilitare l'adattatore Wi-Fi esterno per connettere il tuo Pwnagotchi al computer tramite la porta dati.
- Collega il Pwnagotchi tramite Bluetooth tethering (porta alimentazione, non dati)
- Connettiti via SSH al tuo Pwnagotchi (usando un'app come Termux)
sudo nano /boot/config.txt
- Individua la sezione
[all]
- Commenta
dtoverlay=disable-wifi (aggiungi un # all'inizio della riga)
- Decommenta
dtoverlay=dwc2 (rimuovi il # all'inizio della riga)
- Spegni il Pwnagotchi
- Collega al computer tramite cavo USB (porta dati, non alimentazione)
Il mio 'gotchi fa deauth anche quando il plugin "enable_deauth" è disattivato
Questo di solito accade con le sessioni nuove; il 'gotchi sembra "dimenticare" lo stato di abilitazione/disabilitazione quando viene spento. Soluzione semplice:
- Web UI > Plugin
- Abilita e poi disabilita "enable_deauth". Questo disabiliterà immediatamente i deauth, e l'interruttore del plugin ora funzionerà efficacemente (almeno per la sessione corrente)
Il mio 'gotchi fa associazioni anche quando il plugin "enable_assoc" è disattivato
Questo di solito accade con le sessioni nuove; il 'gotchi sembra "dimenticare" lo stato di abilitazione/disabilitazione quando viene spento. Soluzione semplice:
- Web UI > Plugin
- Abilita e poi disabilita "enable_assoc". Questo disabiliterà immediatamente le associazioni, e l'interruttore del plugin ora funzionerà efficacemente (almeno per la sessione corrente)
Ho la variante tricolore dello schermo Waveshare, e fa schifo. E ora?
- Prima di tutto — te l'avevo detto
- Collega il Pwnagotchi (porta dati, non alimentazione)
- Web UI > Plugin > webcfg
- Cerca
ui.fps, e cambia il valore in 1 o 2
- Scorri verso l'alto, clicca "Save and Restart". Lo schermo dovrebbe funzionare relativamente molto meglio ora
Non mi piace la modalità scura dell'interfaccia, come posso renderla bianca come predefinita?
- Collega il Pwnagotchi (porta dati, non alimentazione)
- Web UI > Plugin > webcfg
- Cerca
ui.invert, e cambia il valore in True
- Scorri verso l'alto, clicca "Save and Restart"
Elementi di memtemp-plus tagliati
- O modifica ai seguenti valori nel plugin tweak_view o aggiungili in
/etc/pwnagotchi/tweak_view.json:
"VSS.memtemp_header.xy": "145,82",
"VSS.memtemp_data.xy": "145,95",
"VSS.Lv.xy": "151,72"