GNU/Linux >> Znalost Linux >  >> Linux

Komunitní ukázka:Raspberry Pi Zero W P4wnP1 A.L.O.A.

Komunita Kali tvrdě pracovala (jako vždy!) a my chceme předvést to, co si myslíme, že je velmi skvělý projekt Kali Linuxu na Raspberry Pi Zero W, „P4wnP1 A.L.O.A. (A L ittle O útok A aplikace)“.

Přebírá standardní obraz Kali Linuxu a přidává vlastní software a nějaký extra firmware navržený pro Raspberry Pi Zero W, aby z něj udělal švýcarský armádní nůž útoků a exfiltrace .

Tento blogový příspěvek bude stručným přehledem toho, jak začít používat webové rozhraní, nastavit spouštěč a nainstalovat další balíčky nalezené v Kali Linuxu. P4wnP1 obsahuje mnohem více, než překračuje tento blogový příspěvek, a proto zahrnuli jsme další materiály ke čtení od komunity, které pokrývají další scénáře útoků a také další užitečné zatížení, které lidé napsali, pokud chcete jít hlouběji!

Pokud máte Raspberry Pi Zero W, důrazně doporučujeme vyzkoušet tento obrázek. Vnímáme to jako skvělý nástroj v jakékoli sadě nástrojů pro testery!

Nákupní seznam

  • Raspberry Pi Zero W (ne Nula 2 W)
  • Přídavná deska Raspberry Pi Zero W USB-A (volitelná, ale doporučená)
  • Kabel MicroUSB na USB-A (vyžadován, pokud nepoužíváte výše uvedenou přídavnou desku)
  • Karta MicroSD (32 GB nebo větší)
  • Kali Linux Raspberry Pi Zero W P4wnP1 A.L.O.A. obrázek

Nastavení pro zahájení podnikání

Nejprve si stáhněte Kali P4wnP1 A.L.O.A. image.V době psaní tohoto článku je aktuální verze 2022.3:

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

Stažení ověříme také tím, že se vrátíme na stránku stahování a klikneme na sum odkaz na Raspberry Pi Zero W (P4wnP1 A.L.O.A) řádek pro získání kontrolního součtu 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

Nyní, když jsme si ověřili, že jsme soubor stáhli a shoduje se, zapíšeme jej na microSD kartu, která v našem systému je /dev/sdb - v vašem systému to může být jiné , NEPOUŽÍVEJTE pouze kopírování a vkládání co jsme sem vložili, protože BUDETE přepište vše, co máte v systému /dev/sdb pokud ano.

xzcat příkaz otevře komprimovaný soubor obrázku a převede jej do dd příkaz, který provede samotný zápis na microSD kartu. Použití xzcat je rychlý trik, protože odstraňuje nutnost nejprve skutečně dekomprimovat obrázek:

[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

Výše uvedené rychlosti jsou v našem systému, budou se lišit v závislosti na vašem systému a rychlosti karty microSD, kterou používáte.

Nyní, když je to hotovo, můžeme odpojit kartu microSD od stroje a připojit ji k našemu Raspberry Pi Zero W. Pokud používáte adaptér USB-A podobný tomu, na který jsme odkazovali v sekci „nákupní seznam“, můžete jej zapojit do počítače a zapnout, jinak napájejte Raspberry Pi Zero W přes micro port jako obvykle.

Od prvního spuštění Kali Linux provede věci, jako je změna velikosti souborového systému a nastavení výchozích přihlašovacích údajů (uživatel:kali , heslo:kali ) načasování se bude lišit v závislosti na rychlosti karty microSD.

Používání P4wnP1 A.L.O.A.

Jakmile se spustí, budete vědět, že je vše připraveno k použití, když uvidíte výchozí bezdrátovou síť :💥🖥💥 Ⓟ➃ⓌⓃ🅟❶ .Užitočné, pokud nemáte připojený monitor HDMI!

Vyberte výše uvedené SSID a poté se přihlásíme pomocí hesla :MaMe82-P4wnP1 .

Nyní, když jsme připojeni, měli bychom vidět, že naše bezdrátové zařízení je připojeno a má IP adresu v 172.24.0.xxx/24 rozsah:

[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

Vidíme, že IP adresa našeho wlan0 adaptér je 172.24.0.12 , takže jsme připojeni !Protože jsme úspěšně připojeni, stáhněte si webové rozhraní v našem prohlížeči.

Výchozí IP adresa obrázku P4wnP1 A.L.O.A je 172.24.0.1 a služba naslouchá na portu 8000 takže v prohlížeči přejdeme na http://172.24.0.1:8000/.

Po přihlášení můžeme vidět seznam nahoře:Nastavení USB , Nastavení Wi-Fi , Bluetooth , Nastavení sítě , Spouštět akce , HIDScript , Protokol událostí a Obecná nastavení .

Jedna rychlá věc, kterou je třeba poznamenat, když procházíme rozhraním níže. Pod navigační nabídkou má každá sekce různá tlačítka podle toho, jaká obrazovka je právě zobrazena. Legenda k tomu, co tato tlačítka znamenají:

Název Co to dělá
Nasadit Aktivovat
Nasazení uloženo Načtěte něco, co je uloženo, a aktivujte to
Resetovat Návrat k výchozímu nastavení
Obchod Uložit
Náklad uložen Načíst něco, co bylo uloženo
Spustit Spusťte aktuální skript HID
Načíst a vyměnit Načtěte uložený skript HID a nahraďte jím aktuální obsah
Načíst a přidat na začátek Načíst uložený skript HID a přidat jej na začátek aktuálního skriptu

Nastavení USB

Zde můžeme změnit Vendor ID (VID) &ID produktu (PID) zařízení , takže pokud chcete předstírat, že jste konkrétní úložné zařízení, můžete! Můžete také změnit Jméno výrobce &Název produktu a také sériové číslo pokud opravdu chcete klonovat určité zařízení.Skvělé, pokud se snažíte být nenápadní a udělali jste si domácí úkol tím, že si prohlédli prostředí.

Můžete také změnit různá další nastavení a změnit chování zařízení USB (umožňující klávesnici, myš, síťovou podporu, velkokapacitní úložiště a dokonce i sériové rozhraní)!

Pěkným zdrojem, na který je třeba upozornit, je úložiště USB ID, což je velká databáze známých hodnot používaných pro zařízení USB.

Nastavení Wi-Fi

Nastavení Wi-Fi umožňuje změnit název sítě Wi-Fi SSID , heslo (aka Pre Shared Key, PSK) a také kanál který se používá. Změnou těchto hodnot můžete začít splývat s pozadím tím, že budete méně rozlišovací (a bezpečnější, když nepoužijete výchozí přihlašovací údaje) !

Chcete-li nastavení použít, klikněte na tlačítko „Deploy“. Mějte na paměti, že když změníte nastavení a stisknete „Deploy“, budete odpojeni a budete se muset znovu připojit s novým nastavením.

Výchozí režim Wi-Fi je Přístupový bod (AP) , která umožňuje připojení dalších zařízení k bezdrátové síti P4wnP1.

Případně můžete také nastavit P4wnP1 jako klient (klientský režim) v síti místo AP. Pomocí předdefinovaných konfigurací se pak P4wnP1 připojí k síti a bude se chovat jako jiné zařízení v síti.

Poslední možnost, Client with Fallover to AP , vám dává „to nejlepší z obou světů“, protože P4wnP1 se pokusí připojit jako klient, a pokud to selže, přepne na přístupový bod. Skvělé!

Například jej nastavíme v tomto podzimním režimu. Pokud tedy kali Wi-Fi network je v dosahu a má správný klíč, měl by se k tomu připojit jako klient, pokud ne, pokud nejsme v dosahu nebo jej nevidí, spustí přístupový bod network .

Pokud je vysílání monitorováno, můžete také jednoduše deaktivovat síť Wi-Fi.

Bluetooth

Pokračujeme, máme nastavení Bluetooth.

V této části můžeme povolit nebo zakázat Bluetooth. Pokud je zjistitelné , můžeme nastavit Název Bluetooth , (výchozí nastavení je P4wnP1 ). Můžeme také nastavit Bluetooth PIN slouží k připojení (výchozí PIN je 1337 ) - PIN se použije pouze v případě, že je vypnuto „Secure Simple Pairing (SSP)“.

Pro nastavení sítě Bluetooth P osobní A rea N je použit síťový profil (PAN). Mějte na paměti, že s připojením Bluetooth máte obvykle dosah 10 metrů (33 stop).

Několik rychlých definic pro lidi, kteří nemusí být obeznámeni s profily Bluetooth Personal Area Network:

Profil Definice
PANU Peer-to-Peer připojení (jedna k jedné)
PAN-GN Skupinová ad-hoc síť (GN) až pro 8 zařízení
PAN-NAP Network Aggregation Point (NAP) může přemostit připojení Bluetooth k bezdrátovému připojení

Pokud tedy nastavíte P4wnP1 na PAN-NAP (výchozí nastavení), můžete k P4wnP1 připojit až 10 zařízení přes Bluetooth a sdílet jeho síťové připojení tímto způsobem.

Pokud byste jej nastavili pomocí PAN-GN, pak by se k P4wnP1 mohlo připojit až 7 dalších zařízení, která spolu mohou komunikovat, ale není zde přístup k internetu.

A pokud byste použili PANU, pak můžete přenášet data pouze mezi zařízením připojeným k P4wnP1 a samotným P4wnP1.

Nastavení sítě

Další záložkou je Nastavení sítě, kde můžeme změnit možnosti různých způsobů připojení k P4wnP1 .

Můžete se připojit přes Bluetooth (bteth) , USB (usbeth) nebo jako v současnosti prostřednictvím Wi-Fi (wlan0) .

Chcete-li provést jakékoli změny, vyberte rozhraní a proveďte změnu pro toto rozhraní, včetně použití DHCP nebo nastavení statické IP Hodnoty. Zde můžete také změnit některé možnosti DHCP. Pod kapotou se používá dnsmasq.

Můžete například chtít mít Wi-Fi nastavenou na klientský režim pomocí síťového serveru DHCP a mít povoleno Bluetooth jako záložní rozhraní, na kterém běží DHCP server.

Akce spouštěče

Nyní máme spouštěče.

Spouštěče jsou hlavním způsobem, jak dělat věci s P4wnP1, když jsou splněny určité podmínky. Spouštěcí akci můžete považovat za užitečné zatížení . Ať už zde nastavíte cokoli, pokud jsou splněny podmínky, proběhnou vámi nastavené akce .

Spouštěče jsou velmi silné a limitem při jejich vytváření je obloha. Aby se vaše nohy namočily, některé spouštěcí akce jsou:

  • Služba spuštěna – Udělejte něco, když se služba na P4wnP1 spustila
  • Gadget USB připojený k hostiteli – Udělejte něco, když je P4wnP1 připojen k hostiteli
  • Gadget USB je odpojen od hostitele – Udělejte něco, když je P4wnP1 odpojen od hostitele
  • Přístupový bod Wi-Fi je aktivní – Udělejte něco, když je přístupový bod P4wnP1 aktivní
  • Připojení k existující Wi-Fi – Udělejte něco, když se P4wnP1 připojí k síti Wi-Fi jako klient
  • Vydána zápůjčka DHCP – Udělejte něco, když se vydá zápůjčka DHCP pro zařízení připojené k P4wnP1
  • Vstup na GPIO – Udělejte něco na základě vstupu pinů GPIO Raspberry Pi
  • Přihlášení uživatele SSH – Udělejte něco, když se uživatel přihlásí k P4wnP1 přes SSH

Pokud se chcete ponořit trochu hlouběji (a zjednodušit si pracovní postup pomocí smysluplných hodnot pojmenování) , můžete použít skupinové kanály . Jak název napovídá, akce můžete seskupit. To pak umožňuje snazší čtení pravidel a také složitější logiku. Tyto možnosti jsou:

  • Hodnota ve skupinovém kanálu – Udělejte něco, když se konkrétní hodnota ve skupinovém kanálu shoduje
  • Více hodnot ve skupinovém kanálu – Udělejte něco, jakmile se více hodnot ve skupinovém kanálu shoduje

Příklad tohoto scénáře by mohl mít konečný výsledek „spustit bash skript na P4wnP1“, ale podmínkou k tomu je, když jsou oba „přístupový bod Wi-Fi zapnutý“ a „USB gadget připojený k hostiteli“. se setkal. Takže vytvoříte několik spouštěčů:

  • Na „Přístupový bod Wi-Fi je aktivní“ -> odeslat hodnotu „1“ do skupiny „připojeno“
  • Na „Gadget USB připojen k hostiteli“ -> odeslat hodnotu „2“ do skupiny „připojeno“

S vytvořením třetího spouštěče můžeme jít ještě složitější logikou s pravidly. Řazení můžeme řídit pomocí „přesného pořadí pořadí“. Záleží tedy na tom, zda je zařízení připojeno dříve, než je zapnutý přístupový bod Wi-Fi? Pomocí:

  • type "All (logical AND)" na pořadí nezáleží za účelem provedení akce
  • exact ordered sequence na objednávce záleží za účelem spuštění akce

S ohledem na to, co máme na mysli, nevyžadujeme určitou sekvenci událostí, takže používáme multiple values on group channel"; values (1,2); type "All (logical AND)" -> Start bash script .

Ještě něco, co je třeba mít na paměti při vymýšlení nápadů, můžete povolit režim „one shot“, který se spustí pouze jednou, nikoli pokaždé, když k události dojde. Užitečné, pokud je P4wnP1 maskovaný jako jiné zařízení, může se po prvním spuštění užitečného zatížení chovat „normálně“.

HIDScript

Když přejdeme na kartu HIDScript, pokud jste někdy používali DuckyScript, HIDscripty jsou podobné, ale založené spíše na JavaScriptu než na bash.

„HIDScripts“ běží na zařízení Raspberry Pi a komunikují s vyjmenovaným „falešným“ hardwarem, který je připojen externě, nicméně „bash skripty“ běží na „interním“ operačního systému Raspberry Pi.

Chcete-li začít, P4wnP1 se předem vyplní jednoduchým skriptem HIDScript (nazvaným hidtest1.js ), který spustí poznámkový blok na počítači se systémem Windows, napíše frázi, pohne myší a poté ji bez prodlení zopakuje. Více o tom lze nalézt v našem příkladu spouštěče.

V části Další zdroje na konci tohoto příspěvku můžete najít další užitečné údaje, které lidé napsali, pokud chcete nebo potřebujete nějakou inspiraci, například:

  • Extrahujte přihlašovací údaje prohlížeče Chrome a Internet Explorer a všechny uložené informace o sítích Wi-Fi a zkopírujte je do P4wnP1
  • Otevřete webovou stránku
  • Spusťte příkaz jako správce v cílovém systému, ke kterému je P4wnP1 připojen
  • Pouze pomocí příkazů PowerShellu vytvořte reverzní prostředí s právy správce

Chcete-li pomoci při vytváření a ladění skriptů HID, můžete kliknout na RUN tlačítko kdykoli spustit, spíše než provádět události spouštěcí akce.

Protokol událostí

Záložka Event Log je místo, kde se zaznamenávají události, pokud jste nastavili nějaké spouštěče k protokolování.

Protokol událostí je pouze pro P4wnP1 A.L.O.A. události a nezahrnuje protokoly samotného systému.

To je užitečné pro ladění jakýchkoli datových částí a spouštěčů, které zapisujete, sledování procesu akcí a načítání obsahu datových částí,

Obecná nastavení

A konečně máme naše Obecná nastavení, kde můžeme dělat věci, jako je použití Editoru hlavní šablony pro kontrolu, jaké jsou výchozí hodnoty při každém spuštění, stejně jako Reboot nebo Vypnutí zařízení P4wnP1 a také vytvořte zálohu nebo obnovit databázi P4wnP1 (takže vaše nastavení a tvrdá práce zůstanou zachovány).

Vytvoření našeho vlastního spouštěče

Nyní, když jsme se zabývali používáním webového rozhraní P4wnP1 A.L.O.A., uveďme získané informace do praxe. Jako příklad nastavíme P4wnP1 tak, že když:

Zapojte P4wnP1 do počítače se systémem Windows v režimu gadgetu USB , spustí výchozí HIDScript hidtest1.js spustit příkaz a pohybovat myší.

Nejprve přejděte do webového rozhraní a klikněte na spouštěcí akce:

Poté klikneme na Add One , která otevře následující modální okno a chcete-li změnit jakékoli nastavení, musí být povoleno , takže to rychle uděláme také:

V tomto případě zvolíme:USB gadget connected to host :

Nyní vybereme akci, která se má provést, tedy „Spustit HIDScript“:

Nyní vybereme, který HIDScript načteme. Pro tento příklad načteme výchozí skript HID, který je zapsán, nazvaný hidtest1.js , který spustí poznámkový blok, napište „Hello from P4wnP1 run“ a poté pohněte myší doprava, pak doleva, a pak to udělá znovu, ale mnohem rychleji, aby se zobrazila rychlost, jakou je P4wnP1 dokáže spustit.

Všechny HIDScripty, které napíšete nebo které získáte od komunity, se zobrazí v tomto seznamu, jakmile budou přidány do vašeho P4wnP1. Níže uvedený seznam je pouze výchozí seznam, který je dodáván s P4wnP1.

Nakonec, pro uložení našeho spouštěče, klikneme na Update tlačítko:

Šťastné hackování!

Instalace balíčku při připojení přes SSH

Když máte přístup k internetu na P4wnP1, máte k dispozici celý arzenál Kaliho úložišť. Takže jakýkoli balíček, který můžete nainstalovat v Kali na Raspberry Pi Zero W, bude k dispozici pro použití v bash skriptech, které můžete psát. K těmto skriptům můžete přistupovat prostřednictvím spouštěčů.

Ať už jste připojeni k P4wnP1, můžete SSH použít buď kali a root Uživatelé. Výchozí přihlašovací údaje jsou:

  • kali / kali
  • root / toor

Nyní nainstalujeme balíček dnscat2-client na P4wnP1 a poté se připojíme k serveru dnscat2, který jsme již nastavili někde jinde.

Připomínáme, že vždy chceme spouštět sudo apt update před instalací balíčků, abychom měli jistotu, že získáme nejnovější verzi:

[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.
[...]

Nyní můžeme jednoduše spustit navrhovaný příkaz při nastavování dnscat2-server na našem druhém počítači:

[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!

Šťastné hackování (znovu)!

Kredity

Původní autor P4wnP1 A.L.O.A. je Marcus Mengs aka MaMe82.

Rogan Dawes převzal správu, když Marcus potřeboval odejít.

Připomenutí

Rádi vidíme, co komunita staví na Kali Linuxu, pokud pracujete na projektu, dejte nám vědět!

Můžete nás kontaktovat na Twitteru nebo na našem Discordu.

Další zdroje

Zdroje projektu :

  • P4wnP1 A.L.O.A. Domovská stránka
  • P4wnP1 Twitter

Zdroje Kali :

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

Zdroje komunity :

  • Pouzdro pro P4wnP1 s bodem pro obrazovku OLED
  • Nabídka pro použití s ​​obrazovkou OLED na P4wnP1 A.L.O.A
  • Další užitečné zatížení pro P4wnP1 A.L.O.A.
  • Hackování s Raspberry Pi Zero W
  • Kali Linux P4wnP1 A.L.O.A. Průvodce – Nastavení / Použití / Příklady
  • P4wnP1 A.L.O.A. — Pokročilé útočné zařízení HID
  • Pi Zero jako zařízení HID \ USB (P4wnP1 A.L.A.O)
  • Video o použití obrazovky OLED s P4wnP1 A.L.O.A
  • Generátor užitečného zatížení systému Windows HID

Linux
  1. Jak otočit obrazovku na Raspberry Pi 3

  2. Témata komunity Kali

  3. Komunitní ukázka:Raspberry Pi Zero W P4wnP1 A.L.O.A.

  1. Čím je linuxová komunita výjimečná?

  2. Raspberry Pi 4 a Kali

  3. Mono na Raspberry Pi

  1. Budování důvěry v linuxovou komunitu

  2. Naučte se Linux s Raspberry Pi

  3. Máte nějaké zkušenosti s Javou na Raspberry PI?