Gaming mat Wifi op ESP32

Gaming mat Wifi op ESP32

Wat mir d'Iddi ginn e Pocket-Tool ze maachen fir WiFi Netzwierker ze analyséieren war dësen Artikel.

Merci hinnen fir d'Iddi. Ech hat just näischt ze maachen.

All Aarbecht gouf am Kader vun engem Hobby gemaach fir Spaass ze hunn a mäi Wëssen am Beräich vun den Netzwierktechnologien auszebauen. Lues a lues, 1..4 Stonnen d'Woch, zanter Ufank vun dësem Joer.
Ech hu keng praktesch Notzung geplangt. Déi. Dëst ass NET engem Hacker Tool.

Am Moment funktionnéieren all geplangte Funktionalitéit. All Quellen, komplett prett fir Assemblée, hei gepost. Et ginn och Montageinstruktiounen, etc.. An dëser Notiz wäert ech d'Informatioun net op github duplizéieren. Ech wäert Iech nëmmen soen wat ech néideg fannen fir separat ze beschreiwen.

Meng Meenung iwwer de "Universal Tool" an de Grond fir d'ESP32 ze wielen

Ech behaapten net d'Wourecht ze sinn. Jiddereen huet seng eege. Ech wäert probéieren meng Wiel vun Hardware ze justifiéieren.

Am Artikel proposéiert de Benotzungsfall vun enger Kombinatioun vu Linux (ursprénglech Raspberry Pi) + "Peripheriegeräter" a Form vun engem Controller (STM32) + CC1110 (8051 Kär) an de Plang fir alles dran ze kräischen (125kHz, NFC, 433mHz, USB, iButton, Bluetooth, ?) huet fir mech net gëeegent geschéngt. Allerdéngs, dësem Projet Et gesäit aus wéi wann et privat a zou bleift (flipper-null github "Dës Organisatioun huet keng ëffentlech Repositories.") a goung op net ganz allgemeng Hardware.

Vläicht hunn ech falsch, an an Zukunft wäerten d'Auteuren d'Softwarequellen ëffentlech verfügbar maachen. Awer wann net, da géif ech net sou e Stéck Hardware kafen ouni de Quellcode.

Meng Ufuerderunge fir den "Tool"

D'Këscht soll kleng sinn (wat méi kleng, wat besser).

Dofir:

  • Nee gebaut-an Batterie néideg. Mat engem Stroum > 100 mA wann Dir mat Wifi schafft, wäert d'integréiert Batterie entweder grouss sinn oder net laang daueren. Dofir, loosst d'"Këscht" vun enger Standard Power Bank ugedriwwe ginn. Jiddefalls hunn ech ëmmer eng Powerbank an der Täsch/Auto.
  • Halt eng Linux "Këscht" mat Tools dobannen, geschriwwen iwwer vill Joer an alle Sproochen Mat engem klenge Bildschierm an engem mëllen Set vu Kontrollknäpper mécht et kee Sënn. D'Resultater kënnen op engem normale Laptop mat enger voller Tastatur an Écran gekuckt / veraarbecht ginn.
  • Komponente solle liicht zougänglech a wäit bekannt sinn (verfügbar SDK, vill Beispiller an Dokumentatioun).

Als Resultat, fir mech, war d'Wiel offensichtlech - ESP32.

Fir all d'Aufgaben, déi am Artikel uginn, déi mech opgefuerdert hunn ze handelen, sinn d'Fäegkeeten vum ESP32 ganz genuch. Och wann dat meescht wat ech nach wëll maachen ass:

  • Spillt ronderëm mat Bluetooth.
  • Spillt ronderëm mat der 433mHz Gamme mat der einfachster Hardware (nëmmen Amplitudemodulatioun, wat genuch ass fir praktesch Bedierfnesser).

Fléien am Sallef an ESP32

  • D'ESP32 SDK (IDF) ass e bësse knaschteg.
  • E puer vun der Funktionalitéit (WiFi Stack, zum Beispill) kënnt ouni Quellcode a Form vu versammelt statesche Bibliothéiken.
  • D'5gHz Band gëtt net ënnerstëtzt an et ginn e puer Aschränkungen a Kloerheet beim Aarbecht mat WiFi.

Awer de Präis / Gréisst kompenséiert dës Mängel komplett.

Main Software Funktionalitéit

Ech beschreiwen kuerz d'Funktionalitéit a meng Meenung iwwer ...

Gestioun Astellungen an Eroplueden Fichier'en aus SD

All extern Kontroll gëtt duerch eng einfach Websäit gemaach, lancéiert an engem separaten Menüpunkt. Den ESP32 fänkt am WiFi AP Modus un a weist eng Säit op enger fixer IP Adress.

Och wann d'ESP32 Cores zimlech séier sinn, wéi Experimenter gewisen hunn, sinn d'simultan Operatioun vum agebaute Webservice an zum Beispill de Router Modus net ganz kompatibel. Dofir gëtt et keng dynamesch Kontroll an d'Säit ass net an all anere Modi verfügbar.
Ausserdeem ass dynamesch Kontroll net fir Fuerschungszwecker gebraucht.

Modus fir mat Beacon Packagen ze schaffen

D'Modi sinn banal an net ganz interessant. Gemaach "well et méiglech ass." Fir kontrolléieren.
Et gi Beispiller an den offiziellen Espressif Beispiller.

AP Lëscht Scannen Modus.
Eigentlech kann all Smartphone dëst maachen.
Gutt, an dësem Modus gëtt d'AP Lëscht gespäichert.
Beacon Spammer.
Den ESP32 fänkt als AP mat engem verstoppte SSID an engem zoufällegem MAC un a fänkt un [Beacon Frame] ze schécken no enger virgeschaafter Lëscht vun SSIDs (manuell erstallt oder virdru kritt duerch Scannen vun der AP Lëscht)

Wi-Fi Package Sniffing Modus

Espressif Entwéckler hunn d'Fäegkeet fir Applikatiounssoftware bäigefüügt fir all WiFi Pakete "an der Loft fléien" duerch d'Rufffunktioun ze kréien. Eigentlech net alles, well Dir kënnt nëmmen de Modus fir ee fixe Kanal astellen.

Ganz strikt Zäitbeschränkungen ginn op d'Veraarbechtung vun enger Callback Funktioun opgesat. Wann dëst keng Probleemer fir den einfache Statistik Sammlungsmodus verursaacht, dann fir den PCAP-Datei-Opnammodus op der SD-Kaart hunn ech missen denken, d'Opnahm organiséieren duerch eng Schlaang an Erënnerung a Semaphoren. Wann Dir d'Besonderheet berécksiichtegt datt de Prozess deen den Callback nennt op engem Kär leeft, an de Prozess deen op SD an engem aneren schreift.

Wärend "Kaméidi Loft" ginn e puer Päck verluer (et gëtt keng Plaz an der Schlaang a si ginn verworf), awer mat enger typescher "Loft" vun engem Appartement am Owend (5..7 APs bannent Visibilitéit), Opnam an PCAP ass ouni Paketverloscht ofgeschloss.

Zousätzlech, fir PCAP Iwwerwaachung an Opnam gëtt et e Filtermodus baséiert op der MAC Lëscht an de Packet Header.

Zum Beispill, Dir kënnt d'Erscheinung vun enger Persoun an engem Club / Café verfollegen ier hien iwwerhaapt erakënnt oder a Siicht erschéngt. Puer Leit deaktivéieren WiFi an automatesch Verbindunge mat bekannten APs. (Ech schalten et elo aus..)

Opgeholl Traffic zu Wireshark kucken ass pädagogesch an interessant fir Kaarten ze verstoen - et funktionnéiert alles.

Modus fir mat Deauth Packagen ze schaffen

Par défaut ass d'Schécken vun dëse Packagen an der libnet80211.a Bibliothéik verbueden, déi ouni Quelle kënnt. Awer et ass einfach ze fixéieren andeems Dir e puer Stécker tweaking. Am Ufank hunn ech gezweiwelt ob et derwäert war Patch ze posten. Awer nodeems ech op verschidde Plazen ronderëm mam Deauthentifikatiounsframe Scannen Modus ageschalt sinn, hunn ech geduecht: "wat d'Häll." Ausserdeem, am esp8266 ass d'Liwwerung vun dëse Packagen net zougemaach an et gi Versammlungen op github fir esp8266.

Op ville Plazen (ech wäert net soen wou) Ënnerdréckung vun ongewollten APs duerch dës Method gëtt benotzt. An dat sinn net "Biller" ...

An ech war och iwwerrascht datt meng Internetverdeelung vu mengem Telefon op e puer Plazen net funktionnéiert ...

De Modus fir d'Zuel an d'RSSI vun esou Päck ze verfolgen ass ganz nëtzlech fir ze verstoen "wou déi lénks APs et net gär hunn."

Router Modus

Dës Feature ass wahrscheinlech déi interessantst vun allem fir z'entdecken.

ESP32 ënnerstëtzt simultan Operatioun am STA + SoftAP Modus. Dofir kënnt Dir e klassesche NAT Router drop implementéieren.

Fir den Netzstack z'ënnerstëtzen, benotzt Espressif eng Gabel (quasi onverännert) vun der lwip Bibliothéik.

Awer, par défaut, am Standard Build, bitt d'esp-lwip Bibliothéik keng Forwarding tëscht den netif Interfaces 'ap' (SoftAP) an 'st' (STA).

Natierlech kënnt Dir et ouni NAT maachen, awer et gëtt e Problem mat der gläichzäiteg Verbindung vun zwee oder méi STAs un der 'ap' Interface an d'Synchroniséierung vun IP Adressen vun der 'st' op 'ap' Netzwierk Interface. Also d'Schwieregkeeten sinn et net wäert an et ass méi einfach duerch NAT.

Ausserdeem gëtt et eng Gabel esp-lwip vum Martin-ger, déi eng einfach Implementatioun vun NAT fir IP4 bäidréit.

Och wann meng Hänn gejot hunn et reng kosmetesch nei ze maachen (an menger Meenung no war et méi einfach ouni Gabel vum Projet, awer duerch LWIPHOOK Funktiounen definéiert während der Assemblée), awer d'Faule huet sech duerchgesat an d'Optioun vum Martin-ger gëtt benotzt wéi et ass.

Am Router Modus gëtt den erakommen an erausginn IP4 Traffic gekuckt.

Besonnesch déi folgend gëtt aus et extrahéiert fir um Bildschierm ze weisen an Statistiken an eng Datei ze sammelen:

  • Numm vum Apparat dat mat SoftAP ESP32 (DHCP Pakete) verbonnen ass
  • URL vun DNS Ufroen (UDP Port 53) vun engem Apparat verbonne mat SoftAP ESP32.

Zousätzlech kënnt Dir Traffic-Opnam op eng PCAP-Datei aktivéieren.

Dëse Modus ass ganz nëtzlech, zum Beispill, fir ze verstoen, zum Beispill, wat Ären Telefon an d'Netz schéckt a wou et geet.

Dir kënnt un aner Weeër denken fir dëse Modus ze benotzen, andeems Dir d'Fäegkeet berécksiichtegt fir de softAP ESP32 erakommen an erausginn Traffic um Netzwierk Interface Niveau komplett ze kontrolléieren: Ehernet Header (destMAC[6]+srcMAC[6]+Typ[2]) + Notzlaascht (IP4, IP6, DCHP, etc. Typ).

Prinzipiell këmmert den ESP32 ganz gutt mat der WiFi->WiFi Router Funktioun, ouni speziell Verspéidungen duerch den normale Verkéier. Subjektiv, Verspéidungen an engem Telefon, deen iwwer e Router op engem ESP32 verbonne sinn, sinn net bemierkbar.

Leider huet d'Espressif API net d'Fäegkeet fir e Filter fir MAC ze setzen verbonne mat SoftAP EPS32. Amplaz gëtt et proposéiert "Äddi" (esp_wifi_deauth_sta) zu scho verbonne STAs ze soen, déi "net gewënscht" sinn.

Filtering vum MAC fir verbonne STAs huet missen duerch den esp_wifi_deauth_sta () Uruff gemaach ginn

Conclusioun

Och wann ech am Kader vun der Aarbecht mat ESP32 näischt Neies komm sinn, ass vläicht d'Resultat (Quellcode) interessant fir een.

Ech wëll bemierken datt de Code nëmme fir pädagogesch Zwecker geschriwwe gouf. Fir "Hacken", asw., gouf et bewosst net ganz bequem gemaach.

Ech hunn net e gedréckte Circuit Board gemaach, well et 1.5-2 Stonnen gedauert huet fir déi fäerdeg Schal mat Draht ze solderen.

A wann Dir et maacht, musst Dir et net aus fäerdege Brieder sammelen, awer aus eenzelne Komponenten. Da ginn d'Dimensiounen nach méi kleng.

Source: will.com

Setzt e Commentaire