GNU/Linux >> Linux Esercitazione >  >> Linux

Vetrina della community:Raspberry Pi Zero W P4wnP1 A.L.O.A.

La comunità di Kali ha lavorato sodo (come sempre!) e vogliamo mostrare quello che pensiamo sia un progetto molto interessante di Kali Linux su un Raspberry Pi Zero W, il "P4wnP1 A.L.O.A. (A L piccolo O ffensiva A applicazione)”.

Prende l'immagine standard di Kali Linux e aggiunge software personalizzato e alcuni firmware extra progettati per Raspberry Pi Zero W per trasformarlo in un coltellino svizzero di attacchi ed esfiltrazioni .

Questo post del blog sarà una breve panoramica di come iniziare a utilizzare l'interfaccia web, impostare un trigger e installare pacchetti aggiuntivi trovati in Kali Linux. C'è molto di più in P4wnP1 rispetto a questo post del blog, motivo per cui abbiamo incluso materiale di lettura aggiuntivo dalla community che copre ulteriori scenari di attacco e più payload che le persone hanno scritto se vuoi approfondire!

Se hai un Raspberry Pi Zero W, ti consigliamo vivamente di provare questa immagine. Lo vediamo come un ottimo strumento nel toolkit di qualsiasi tester!

Lista della spesa

  • Raspberry Pi Zero W (non Zero 2 W)
  • Scheda aggiuntiva Raspberry Pi Zero W USB-A (opzionale ma consigliata)
  • Cavo da microUSB a USB-A (necessario se non stai utilizzando la scheda aggiuntiva sopra)
  • Scheda MicroSD (32 GB o superiore)
  • Kali Linux Raspberry Pi Zero W P4wnP1 A.L.O.A. immagine

Preparazione per mettersi al lavoro

Per prima cosa, scarica Kali P4wnP1 A.L.O.A. image.Al momento in cui scrivo, la versione corrente è 2022.3:

[email protected]:~/Downloads$ ls
kali-linux-2022.3-raspberry-pi-zero-w-p4wnp1-aloa-armel.img.xz

Verificheremo anche il download, tornando alla pagina di download e cliccando sul sum link su Raspberry Pi Zero W (P4wnP1 A.L.O.A) riga per ottenere il checksum SHA256:

[email protected]:~/Downloads$ echo "210635bb3dc7876b638a7035cd4dc60e0b134b19a6aec42a75f5995036b45840 kali-linux-2022.3-raspberry-pi-zero-w-p4wnp1-aloa-armel.img.xz" | sha256sum -c
kali-linux-2022.3-raspberry-pi-zero-w-p4wnp1-aloa-armel.img.xz: OK

Ora che abbiamo verificato di aver scaricato il file e che corrisponde, lo scriviamo sulla scheda microSD, che sul nostro sistema è /dev/sdb - su il tuo sistema potrebbe essere diverso , NON copiare e incollare solo quello che abbiamo messo qui, perché LO FARÀ sovrascrivi tutto ciò che hai sul /dev/sdb del tuo sistema se lo fai.

Il xzcat il comando aprirà il file di immagine compresso e lo reindirizza al dd comando, che eseguirà la scrittura effettiva sulla scheda microSD. L'uso di xzcat è un trucco veloce, in quanto rimuove la necessità di decomprimere prima l'immagine:

[email protected]:~/Downloads$ xzcat kali-linux-2022.3-raspberry-pi-zero-w-p4wnp1-aloa-armel.img.xz | sudo dd of=/dev/sdb bs=1M status=progress
[sudo] password for kali:
6421807104 bytes (6.4 GB, 6.0 GiB) copied, 101 s, 63.6 MB/s
0+577993 records in
0+577993 records out
6442450944 bytes (6.4 GB, 6.0 GiB) copied, 162.961 s, 39.5 MB/s

Le velocità di cui sopra sono sul nostro sistema, variano in base al tuo sistema e alla velocità della scheda microSD che stai utilizzando.

Fatto ciò, possiamo scollegare la scheda microSD dalla macchina e collegarla al nostro Raspberry Pi Zero W. Se stai utilizzando un adattatore USB-A simile a quello a cui ci siamo collegati nella sezione "lista della spesa", puoi collegarlo al tuo computer per accenderlo, altrimenti alimenta il Raspberry Pi Zero W tramite la porta micro come al solito.

Dal primo avvio di Kali Linux farà cose come ridimensionare il filesystem e impostare le credenziali predefinite (utente:kali , password:kali ) i tempi varieranno in base alla velocità della scheda microSD.

Utilizzo di P4wnP1 A.L.O.A.

Una volta avviato, saprai che tutto è pronto per l'uso, quando vedrai la rete wireless predefinita :💥🖥💥 Ⓟ➃ⓌⓃ🅟❶ .Utile se non hai un monitor HDMI collegato!

Seleziona l'SSID sopra, quindi accediamo con la password :MaMe82-P4wnP1 .

Ora che siamo connessi, dovremmo vedere che il nostro dispositivo wireless è connesso e ha un indirizzo IP nel 172.24.0.xxx/24 gamma:

[email protected]:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 4096
    link/ether 00:03:7f:12:1f:ae brd ff:ff:ff:ff:ff:ff
    inet 172.24.0.12/24 brd 172.24.0.255 scope global dynamic noprefixroute wlan0
       valid_lft 297sec preferred_lft 297sec

Possiamo vedere che l'indirizzo IP del nostro wlan0 l'adattatore è 172.24.0.12 , quindi siamo connessi !Dato che siamo connessi correttamente, apriamo l'interfaccia web nel nostro browser.

L'IP predefinito l'indirizzo dell'immagine P4wnP1 A.L.O.A è 172.24.0.1 e il servizio è in ascolto sulla porta 8000 quindi andiamo a http://172.24.0.1:8000/ nel nostro browser.

Al login possiamo vedere l'elenco in alto:Impostazioni USB , Impostazioni Wi-Fi , Bluetooth , Impostazioni di rete , Azioni di attivazione , Script HID , Registro eventi e Impostazioni generiche .

Una cosa veloce da notare mentre stiamo attraversando l'interfaccia qui sotto. Sotto il menu di navigazione, ogni sezione ha vari pulsanti, a seconda della schermata attualmente visualizzata. Una legenda per il significato di questi pulsanti:

Nome Cosa fa
Distribuisci Attiva
Distribuisci archiviato Carica qualcosa che è stato salvato e attivalo
Ripristina Ritorna alle impostazioni predefinite
Negozio Salva
Carica memorizzato Carica qualcosa che è stato salvato
Esegui Esegui lo script HID corrente
Carica e sostituisci Carica uno script HID salvato e sostituisci il contenuto corrente con esso
Carica e anteponi Carica uno script HID salvato e aggiungilo all'inizio dello script corrente

Impostazioni USB

Qui possiamo modificare l'ID fornitore (VID) &ID prodotto (PID) del dispositivo , quindi se vuoi fingere di essere un dispositivo di archiviazione specifico, puoi farlo! Puoi anche modificare il Nome del produttore &Nome prodotto , nonché il numero di serie se vuoi davvero clonare un determinato dispositivo.Ottimo se stai cercando di essere furtivo e hai fatto i compiti esplorando l'ambiente.

Puoi anche modificare varie altre impostazioni per alterare il comportamento del dispositivo USB (permettendo tastiera, mouse, supporto di rete, memoria di massa e persino seriale)!

Una bella risorsa da sottolineare qui è The USB ID Repository, che è un ampio database di valori noti utilizzati per i dispositivi USB.

Impostazioni Wi-Fi

Le impostazioni Wi-Fi ti consentono di modificare il nome della rete SSID Wi-Fi , password (aka Pre Shared Key, PSK) e il canale che viene utilizzato. Modificando questi valori, puoi iniziare a confonderti con lo sfondo essendo meno distintivo (e più sicuro non utilizzando le credenziali predefinite) !

Per applicare le impostazioni, fare clic sul pulsante "Distribuisci". Tieni presente che quando modifichi le impostazioni e premi "Distribuisci" verrai disconnesso e dovrai riconnetterti con le nuove impostazioni.

La modalità Wi-Fi predefinita è Access Point (AP) , che consente ad altri dispositivi di connettersi alla rete wireless di P4wnP1.

In alternativa, puoi anche impostare P4wnP1 come client (modalità client) sulla rete, invece di un AP. Utilizzando le configurazioni predefinite, P4wnP1 si collegherà quindi alla rete e si comporterà come un altro dispositivo in rete.

L'ultima opzione, Client con Fallover su AP , ti offre il "meglio di entrambi i mondi" poiché P4wnP1 tenterà di connettersi come client e, se ciò fallisce, passa a essere un punto di accesso. Pulito!

Ad esempio, lo configureremo in questa modalità di caduta. Quindi se il kali Wi-Fi network è nel raggio e ha la chiave corretta, dovrebbe connettersi a quello come client, in caso contrario, se non siamo nel raggio o non può vederlo, avvierà il punto di accesso network .

Se le onde radio sono monitorate, puoi semplicemente disattivare anche la rete Wi-Fi.

Bluetooth

Andando avanti, abbiamo le impostazioni Bluetooth.

In questa sezione, possiamo abilitare o disabilitare il Bluetooth.Se rilevabile , possiamo impostare il nome Bluetooth , (con l'impostazione predefinita P4wnP1 ).Possiamo anche impostare il PIN Bluetooth utilizzato per la connessione (il PIN predefinito è 1337 ) - Il PIN viene utilizzato solo se "Secure Simple Pairing (SSP)" è disattivato.

Per le impostazioni di rete Bluetooth, la P personale A rea N Viene utilizzato il profilo di rete (PAN). Tieni presente che in genere hai una portata di 10 metri (33 piedi) con connessioni Bluetooth.

Alcune definizioni rapide per le persone che potrebbero non avere familiarità con i profili Bluetooth Personal Area Network:

Profilo Definizione
PANU Connessione peer-to-peer (uno a uno)
PAN-GN Rete Ad-hoc (GN) di gruppo fino a 8 dispositivi
PAN-NAP Network Aggregation Point (NAP) può collegare la connessione Bluetooth alla connessione wireless

Quindi, se imposti il ​​P4wnP1 in modalità PAN-NAP (impostazione predefinita), puoi connettere fino a 10 dispositivi al P4wnP1 tramite Bluetooth e condividere la sua connessione di rete in questo modo.

Se dovessi configurarlo con PAN-GN, fino a 7 dispositivi aggiuntivi potrebbero connettersi al P4wnP1 e comunicare tra loro ma non c'è accesso a Internet.

E se dovessi utilizzare PANU, puoi trasferire i dati solo tra il dispositivo collegato al P4wnP1 e il P4wnP1 stesso.

Impostazioni di rete

La scheda successiva è Impostazioni di rete, dove possiamo modificare le opzioni per i diversi modi di connessione al P4wnP1 .

Puoi connetterti tramite Bluetooth (bteth) , USB (usbeth) , o come lo siamo attualmente, tramite Wi-Fi (wlan0) .

Per apportare modifiche, seleziona l'interfaccia e apporta le modifiche per tale interfaccia, incluso l'utilizzo di DHCP o impostando IP statico valori. Qui puoi anche modificare alcune opzioni DHCP. Sotto il cofano, viene utilizzato dnsmasq.

Ad esempio, potresti voler impostare il Wi-Fi in modalità client, utilizzando il server DHCP di rete e avere il Bluetooth abilitato come interfaccia di fallback, che esegue un server DHCP.

Azioni trigger

Ora abbiamo i trigger.

I trigger sono il modo principale per fare le cose con il P4wnP1, quando vengono soddisfatte determinate condizioni. Puoi pensare a un'azione di attivazione come a un carico utile . Qualunque cosa tu configuri qui, se le condizioni sono soddisfatte, le azioni che imposti si verificano .

I trigger sono molto potenti e il cielo è il limite durante la loro creazione. Per bagnarti i piedi, alcune azioni trigger sono:

  • Servizio avviato - Fai qualcosa quando un servizio è stato avviato su P4wnP1
  • Gadget USB connesso all'host - Fai qualcosa quando il P4wnP1 è collegato a un host
  • Gadget USB disconnesso dall'host - Fai qualcosa quando il P4wnP1 è disconnesso da un host
  • Il punto di accesso Wi-Fi è attivo - Fai qualcosa quando il punto di accesso del P4wnP1 è attivo
  • Accesso al Wi-Fi esistente - Fai qualcosa quando il P4wnP1 si collega a una rete Wi-Fi come client
  • Leasing DHCP rilasciato - Fai qualcosa quando viene rilasciato un lease DHCP a un dispositivo connesso al P4wnP1
  • Input su GPIO - Fai qualcosa in base all'input dei pin GPIO di Raspberry Pi
  • Accesso utente SSH - Fai qualcosa quando un utente accede al P4wnP1 tramite SSH

Se vuoi scavare un po' più a fondo (e semplificare il tuo flusso di lavoro con valori di denominazione significativi) , puoi utilizzare canali di gruppo . Come suggerisce il nome, puoi raggruppare le azioni insieme. Ciò consente quindi regole più facili da leggere, nonché una logica più complessa. Queste opzioni sono:

  • Un valore su un canale di gruppo:Fai qualcosa quando un valore specifico su un canale di gruppo corrisponde
  • Più valori su un canale di gruppo:Fai qualcosa una volta che più valori su un canale di gruppo corrispondono

Uno scenario di esempio potrebbe avere il risultato finale di "eseguire uno script bash su P4wnP1", ma le condizioni affinché ciò avvenga sono quando "Punto di accesso Wi-Fi è attivo" e "Gadget USB connesso all'host" sono entrambi incontrato. Quindi crei alcuni trigger:

  • Su "Wi-Fi Access Point è attivo" -> invia il valore "1" al gruppo "connesso"
  • Su “Gadget USB connesso all'host” -> invia il valore “2” al gruppo “connesso”

Possiamo seguire una logica ancora più complessa con le regole creando il terzo trigger. Possiamo controllare l'ordine usando la "sequenza ordinata esatta". Quindi importa se il dispositivo è collegato prima che il punto di accesso Wi-Fi sia attivo? Usando:

  • type "All (logical AND)" l'ordine non ha importanza per compiere l'azione
  • exact ordered sequence l'ordine conta per attivare l'azione

Con quello che abbiamo in mente, non richiediamo una certa sequenza di eventi, quindi utilizziamo multiple values on group channel"; values (1,2); type "All (logical AND)" -> Start bash script .

Qualcos'altro da tenere a mente quando vengono in mente le idee, è possibile abilitare la modalità "un colpo", che si attiverà solo una volta, anziché ogni volta che si verifica l'evento. Utile se il P4wnP1 è camuffato da un altro dispositivo, può quindi comportarsi "normalmente" dopo aver eseguito il carico utile la prima volta.

Script NASCOSTO

Passando alla scheda HIDScript, se hai mai usato DuckyScript, gli HIDscript sono simili, ma basati su JavaScript anziché su bash.

Gli "HIDScript" vengono eseguiti sul dispositivo Raspberry Pi e interagiscono con l'hardware "falso" enumerato che è collegato esternamente, tuttavia gli "script bash" vengono eseguiti sul sistema operativo Raspberry Pi "interno".

Per iniziare, P4wnP1 pre-popola con un semplice HIDScript (chiamato hidtest1.js ) che avvierà il blocco note su un computer Windows, digita una frase, quindi sposta il mouse e quindi la ripete senza ritardi. Maggiori informazioni su questo possono essere trovate nel nostro esempio di trigger.

Nelle Altre risorse alla fine di questo post puoi trovare payload aggiuntivi che le persone hanno scritto, se vuoi o hai bisogno di ispirazione, come ad esempio:

  • Estrarre le credenziali di Chrome e Internet Explorer, nonché tutte le informazioni sulle reti Wi-Fi archiviate e copiarle sul P4wnP1
  • Apri una pagina web
  • Esegui un comando come amministratore sul sistema di destinazione a cui è collegato P4wnP1
  • Utilizzando solo i comandi di PowerShell, crea una shell inversa con diritti di amministratore

Per aiutare a creare ed eseguire il debug di HIDscript, puoi fare clic su RUN pulsante in qualsiasi momento per eseguire, anziché dover eseguire gli eventi di un'azione di attivazione.

Registro eventi

La scheda Registro eventi è il punto in cui vengono registrati gli eventi, se hai impostato dei trigger per la registrazione.

Il registro eventi è solo per P4wnP1 A.L.O.A. eventi e non include i log sul sistema stesso.

Ciò è utile per eseguire il debug di payload e trigger che stai scrivendo, monitorare il processo di azioni e recuperare i contenuti dei payload,

Impostazioni generiche

E infine abbiamo le nostre Impostazioni generiche, dove possiamo fare cose come usare l'Editor modelli master per controllare quali sono le impostazioni predefinite ogni volta che si avvia e Riavvia o Spegnimento il dispositivo P4wnP1 ed effettuare anche un backup o ripristinare il database P4wnP1 (in modo da preservare le impostazioni e il duro lavoro).

Creazione del nostro trigger

Ora che abbiamo trattato l'utilizzo dell'interfaccia web del P4wnP1 A.L.O.A., mettiamo in pratica le informazioni che abbiamo acquisito. Ad esempio, impostiamo il P4wnP1 in modo che quando:

Collega il P4wnP1 a un computer Windows mentre in modalità gadget USB , verrà eseguito il predefinito HIDScript hidtest1.js per eseguire un comando e muovere il mouse.

Per prima cosa, entriamo nell'interfaccia web e facciamo clic su azioni di attivazione:

Quindi faremo clic su Aggiungi uno , che fa apparire la seguente finestra modale e per modificare le impostazioni, deve essere abilitata , quindi lo faremo rapidamente anche noi:

In questo caso, sceglieremo:USB gadget connected to host :

Ora selezioniamo l'azione da intraprendere, che è "Avvia un HIDScript":

Ora scegliamo quale HIDScript caricare. Per questo esempio caricheremo lo script HID di default che viene scritto, chiamato hidtest1.js , che avvierà il blocco note, digita "Hello from P4wnP1 run" e quindi sposta il mouse a destra, quindi a sinistra, quindi lo farà di nuovo, ma molto più velocemente, per mostrare la velocità alla quale il P4wnP1 può eseguirli.

Tutti gli HIDScript che scrivi o ricevi dalla community verranno visualizzati in questo elenco una volta aggiunti al tuo P4wnP1. L'elenco seguente è solo quello predefinito fornito con P4wnP1.

Infine, per salvare il nostro trigger, facciamo clic sul Update pulsante:

Buon hackeraggio!

Installazione di un pacchetto quando connesso tramite SSH

Quando hai accesso a Internet su P4wnP1, hai l'intero arsenale di repository di Kali a tua disposizione. Quindi qualsiasi pacchetto che puoi installare in Kali su un Raspberry Pi Zero W sarà disponibile per l'uso negli script bash che potresti scrivere. Puoi accedere a quegli script tramite i trigger.

Comunque tu sia connesso a P4wnP1, puoi usare SSH usando il kali e root utenti.Le credenziali predefinite sono:

  • kali / kali
  • root / toor

Ora installeremo il pacchetto dnscat2-client su P4wnP1, quindi ci connetteremo a un server dnscat2 che abbiamo già impostato da qualche altra parte.

Come promemoria, vogliamo sempre eseguire sudo apt update prima di installare i pacchetti, per assicurarci di ottenere l'ultima versione:

[email protected]:~$ sudo apt update
[...]
[email protected]:~$
[email protected]:~$ sudo apt -y install dnscat2-client
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  dnscat2-server
The following NEW packages will be installed:
  dnscat2-client
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
[...]

Ora possiamo semplicemente eseguire il comando suggerito durante la configurazione di dnscat2-server sull'altra nostra macchina:

[email protected]:~$ dnscat --dns server=10.0.13.37,port=53 --secret=5672ddb107fe2f33e490a83e8d1036ca
Creating DNS driver:
 domain = (null)
 host   = 0.0.0.0
 port   = 53
 type   = TXT,CNAME,MX
 server = 10.0.13.37

** Peer verified with pre-shared secret!

Session established!

Buon hacking (di nuovo)!

Crediti

L'autore originale di P4wnP1 A.L.O.A. è Marcus Mengs alias MaMe82.

Rogan Dawes ha assunto il ruolo di manutentore quando Marcus ha dovuto allontanarsi.

Promemoria

Ci piace vedere cosa costruisce la community su Kali Linux, se stai lavorando a un progetto faccelo sapere!

Puoi contattarci su Twitter o sul nostro Discord.

Altre risorse

Risorse del progetto :

  • P4wnP1 A.L.O.A. Pagina iniziale
  • P4wnP1 Twitter

Risorse Kali :

  • Kali Linux P4wnP1 A.L.O.A. Documentazione

Risorse della community :

  • Una custodia per P4wnP1 con uno spot per uno schermo OLED
  • Un menu da utilizzare con uno schermo OLED sul P4wnP1 A.L.O.A
  • Carico utile aggiuntivo per P4wnP1 A.L.O.A.
  • Hacking con Raspberry Pi Zero W
  • Kali Linux P4wnP1 A.L.O.A. Guida – Configurazione/Utilizzo/Esempi
  • P4wnP1 A.L.O.A.— Un avanzato dispositivo di attacco HID
  • Pi Zero come dispositivo HID \ USB (P4wnP1 A.L.A.O)
  • Video sull'utilizzo di uno schermo OLED con P4wnP1 A.L.O.A
  • Generatore di payload HID di Windows

Linux
  1. Cosa rende speciale la comunità Linux?

  2. Creare fiducia nella comunità Linux

  3. Temi della comunità di Kali

  4. Vetrina della community:Raspberry Pi Zero W P4wnP1 A.L.O.A.

  5. Lampone Pi 4 e Kali

Sistema operativo e plasma Raspberry Pi - Problema problematico

Raspberry Pi 4:un mini desktop praticabile?

Come installare il sistema operativo Raspbian su Raspberry Pi

Come fare in modo che Raspberry Pi si avvii nella GUI per impostazione predefinita

Come SSH in un Raspberry Pi [Suggerimento per principianti]

Come emulare il Raspberry Pi 2 su QEMU?