Logħob bil-Wifi fuq ESP32

Logħob bil-Wifi fuq ESP32

Dak li tani l-idea li nagħmel għodda tal-but għall-analiżi tan-netwerks WiFi kien Dan l-artiklu.

Grazzi lilhom tal-idea. I biss kelli xejn x'nagħmel.

Ix-xogħol kollu sar bħala parti minn passatemp bil-għan li nieħu pjaċir u nkabbar l-għarfien tiegħi fil-qasam tat-teknoloġiji tan-netwerk. Bil-mod, 1..4 sigħat fil-ġimgħa, mill-bidu ta 'din is-sena.
Ma ppjanajt l-ebda użu prattiku. Dawk. Din MHIX għodda tal-hacker.

Bħalissa, il-funzjonalità kollha ppjanata qed taħdem. Is-sorsi kollha, kompletament lesti għall-assemblaġġ, stazzjonati hawn. Hemm ukoll struzzjonijiet ta 'assemblaġġ, eċċ. F'din in-nota, mhux se nidduplika l-informazzjoni mibgħuta fuq github. Ngħidlek biss dak li nqis meħtieġ li niddeskrivi separatament.

L-opinjoni tiegħi dwar l-"għodda universali" u r-raġuni għall-għażla tal-ESP32

Jien ma nippretendux li jien il-verità. Kulħadd għandu tiegħu. Se nipprova niġġustifika l-għażla tiegħi tal-ħardwer.

Propost fl-artiklu il-każ ta 'użu ta' kombinazzjoni ta 'Linux (inizjalment Raspberry Pi) + "periferali" fil-forma ta' kontrollur (STM32) + CC1110 (8051 qalba) u l-pjan li cram dak kollu possibbli hemmhekk (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) ma deherx adattat għalija. Madankollu, dan il-proġett Jidher li se jibqa' privat u magħluq (flipper-zero github "Din l-organizzazzjoni m'għandha l-ebda repożitorji pubbliċi.") u marret lejn ħardwer mhux komuni ħafna.

Forsi jien żbaljat, u fil-futur l-awturi se jagħmlu s-sorsi tas-softwer disponibbli pubblikament. Imma jekk le, allura ma nixtrix biċċa ħardwer bħal din mingħajr il-kodiċi tas-sors.

Ir-rekwiżiti tiegħi għall-"għodda"

Il-kaxxa għandha tkun żgħira (l-iżgħar l-aħjar).

Għalhekk:

  • Ebda batterija integrata meħtieġa. B'kurrent > 100 mA meta taħdem bil-Wifi, il-batterija integrata jew tkun kbira jew ma ddumx. Għalhekk, ħalli l-"kaxxa" titħaddem minn power bank standard. Xorta waħda, dejjem għandi power bank fil-but/il-karozza.
  • Żomm "kaxxa" Linux b'għodda ġewwa, miktuba fuq ħafna snin fil-lingwi kollha Bi skrin żgħir u sett żgħir ta 'buttuni ta' kontroll, ma jagħmilx sens. Ir-riżultati jistgħu jitqiesu/proċessati fuq laptop normali b'tastiera u skrin sħiħ.
  • Il-komponenti għandhom ikunu aċċessibbli faċilment u magħrufa ħafna (SDK disponibbli, bosta eżempji u dokumentazzjoni).

Bħala riżultat, għalija, l-għażla kienet ovvja - ESP32.

Għall-kompiti kollha ddikjarati fl-artiklu li qanqalni nieħu azzjoni, il-kapaċitajiet tal-ESP32 huma pjuttost biżżejjed. Għalkemm l-aktar li għadni rrid nagħmel huwa:

  • Ilgħab bil-Bluetooth.
  • Ilgħab mal-firxa ta '433mHz bl-aktar ħardwer sempliċi (modulazzjoni ta' amplitudni biss, li hija biżżejjed għal bżonnijiet prattiċi).

Fly fl-ingwent fl-ESP32

  • L-ESP32 SDK (IDF) huwa kemmxejn goff.
  • Xi wħud mill-funzjonalità (munzell WiFi, pereżempju) tiġi mingħajr kodiċi tas-sors fil-forma ta 'libreriji statiċi immuntati.
  • Il-medda ta '5gHz mhix appoġġjata u hemm xi limitazzjonijiet u goffax fil-ħidma bil-WiFi.

Iżda l-prezz/daqs jikkumpensa kompletament għal dawn in-nuqqasijiet.

Funzjonalità tas-softwer prinċipali

Se niddeskrivi fil-qosor il-funzjonalità u l-opinjoni tiegħi dwar...

Il-ġestjoni tas-settings u t-tlugħ ta' fajls minn SD

Il-kontroll estern kollu jsir permezz ta 'paġna Web sempliċi, imnedija f'oġġett tal-menu separat. L-ESP32 jibda fil-modalità WiFi AP u juri paġna f'indirizz IP fiss.

Għalkemm il-qalba tal-ESP32 huma pjuttost veloċi, kif wrew l-esperimenti, it-tħaddim simultanju tas-servizz tal-Web integrat u, pereżempju, il-mod tar-router mhumiex kompatibbli ħafna. Għalhekk, m'hemm l-ebda kontroll dinamiku u l-paġna mhix disponibbli fil-modi l-oħra kollha.
Barra minn hekk, kontroll dinamiku mhuwiex meħtieġ għal skopijiet ta 'riċerka.

Mod ta 'ħidma ma' pakketti Beacon

Il-modi huma banali u mhux interessanti ħafna. Magħmul "għax huwa possibbli." Għall-kontroll.
Hemm eżempji fl-eżempji uffiċjali Espressif.

Mod tal-iskannjar tal-lista AP.
Fil-fatt, kwalunkwe smartphone jista 'jagħmel dan.
Ukoll, f'dan il-mod il-lista AP se tiġi ssejvjata.
Beacon spammer.
L-ESP32 jibda bħala AP b'SSID moħbi u MAC każwali u jibda jibgħat [frame beacon] skont lista ta' SSIDs maħluqa minn qabel (maħluqa manwalment jew miksuba qabel billi tiskennja l-lista AP)

Modalità tax-xamm tal-pakkett WiFi

L-iżviluppaturi Espressif żiedu l-abbiltà li s-softwer tal-applikazzjoni jirċievi l-pakketti WiFi kollha "jtiru fl-arja" permezz tal-funzjoni ta 'callback. Fil-fatt mhux kollha, peress li tista 'tissettja biss il-mod għal kanal fiss wieħed.

Restrizzjonijiet ta 'żmien stretti ħafna huma imposti fuq l-ipproċessar ta' funzjoni ta 'callback. Jekk dan ma jikkawżax problemi għall-modalità ta 'ġbir ta' statistika sempliċi, allura għall-mod ta 'reġistrazzjoni tal-fajl PCAP fuq il-karta SD kelli nagħmel tbagħbis, norganizza r-reġistrazzjoni permezz ta' kju fil-memorja u s-semafori. B'kont meħud tal-partikolarità li l-proċess li jsejjaħ il-callback jimxi fuq qalba waħda, u l-proċess li jikteb lil SD f'ieħor.

Waqt "arja storbjuża", xi pakketti jintilfu (m'hemm l-ebda spazju fil-kju u jintremew), iżda b'"arja" tipika ta' appartament filgħaxija (5..7 APs fil-viżibilità), reġistrazzjoni fil-PCAP jitlesta mingħajr telf ta' pakkett.

Barra minn hekk, għall-monitoraġġ u r-reġistrazzjoni tal-PCAP, hemm modalità ta 'filtrazzjoni bbażata fuq il-lista MAC fl-intestaturi tal-pakketti.

Pereżempju, tista 'ssegwi d-dehra ta' persuna f'klabb/kafè qabel ma tidħol jew tidher fil-vista. Ftit nies jiskonnettjaw il-WiFi u l-konnessjonijiet awtomatiċi għal APs magħrufa. (Qed nitfiha issa ..)

Il-wiri tat-traffiku rreġistrat f'Wireshark huwa edukattiv u interessanti biex wieħed jifhem il-mapep - kollox jaħdem.

Mod biex taħdem ma 'pakketti ta' deauth

B'mod awtomatiku, li jintbagħtu dawn il-pakketti huwa pprojbit fil-librerija libnet80211.a, li tiġi mingħajr sorsi. Iżda huwa faċli li tirranġa billi tirranġa xi ftit bits. Għall-ewwel iddubejt jekk kienx ta 'min ippustja garża. Imma wara li ddawwar f’postijiet differenti bil-mod ta’ skannjar tal-qafas tad-diżawtentikazzjoni mixgħula, ħsibt: “X’infern.” Barra minn hekk, f'esp8266 il-kunsinna ta' dawn il-pakketti mhix magħluqa u hemm assemblaġġi fuq github għal esp8266.

F'ħafna postijiet (mhux se ngħid fejn) tintuża s-soppressjoni ta 'APs mhux mixtieqa permezz ta' dan il-metodu. U dawn mhumiex "bullies"...

U kont sorpriż ukoll li d-distribuzzjoni tiegħi tal-Internet mit-telefon tiegħi ma ħadmitx f'xi postijiet...

Il-mod għall-intraċċar tan-numru u l-RSSI ta 'pakketti bħal dawn huwa utli ħafna biex wieħed jifhem "fejn l-APs tax-xellug ma jogħġobux."

modalità router

Din il-karatteristika hija probabbilment l-aktar interessanti minn kulħadd biex tesplora.

ESP32 jappoġġja tħaddim simultanju fil-modalità STA + SoftAP. Għalhekk, tista 'timplimenta router NAT klassiku fuqha.

Biex jappoġġja l-munzell tan-netwerk, Espressif juża furketta (virtwalment mhux mibdula) tal-librerija lwip.

Iżda, b'mod awtomatiku, fil-build standard, il-librerija esp-lwip ma tipprovdix twassil bejn l-interfaces netif 'ap' (SoftAP) u 'st' (STA).

Naturalment, tista 'tagħmel dan mingħajr NAT, iżda hemm problema bil-konnessjoni simultanja ta' żewġ STAs jew aktar mal-interface 'ap' u s-sinkronizzazzjoni tal-indirizzi IP mill-interface tan-netwerk 'st' għal 'ap'. Allura d-diffikultajiet ma jiswewx u huwa aktar faċli permezz tan-NAT.

Barra minn hekk, hemm furketta esp-lwip minn martin-ger, li żżid implimentazzjoni sempliċi ta 'NAT għall-IP4.

Għalkemm idejja kienu ħakk biex nirrefawh purament kożmetikament (fl-opinjoni tiegħi, kien aktar faċli mingħajr furketta tal-proġett, iżda permezz tal-LWIPHOOK funzjonijiet definiti waqt l-assemblaġġ), iżda l-għażż kien jipprevali u l-għażla minn martin-ger tintuża kif inhi.

Fil-modalità tar-router, jidher it-traffiku IP4 deħlin u ħerġin.

B'mod partikolari, dan li ġej huwa estratt minnu biex jintwera fuq l-iskrin u jiġbor l-istatistika f'fajl:

  • Isem tal-apparat li kkonnettja ma' SoftAP ESP32 (pakketti DHCP)
  • URL minn talbiet DNS (port UDP 53) minn apparat konness ma' SoftAP ESP32.

Barra minn hekk, tista 'tippermetti r-reġistrazzjoni tat-traffiku għal fajl PCAP.

Din il-modalità hija utli ħafna, pereżempju, biex tifhem, pereżempju, dak li jibgħat it-telefon tiegħek lin-netwerk u fejn imur.

Tista' taħseb f'modi oħra biex tuża din il-modalità, filwaqt li tqis il-kapaċità li tikkontrolla kompletament it-traffiku softAP ESP32 li jidħol u ħierġa fil-livell tal-interface tan-netwerk: Ehernet header (destMAC[6]+srcMAC[6]+type[2]) + tagħbija (tip IP4, IP6, DCHP, eċċ).

Fil-prinċipju, l-ESP32 ilaħħaq pjuttost tajjeb mal-funzjoni tar-router WiFi->WiFi, li jgħaddi minn traffiku normali mingħajr ebda dewmien speċjali. Suġġettivament, id-dewmien fi telefon konness permezz ta 'router fuq ESP32 mhuwiex notevoli.

Sfortunatament, l-API Espressif m'għandhiex il-kapaċità li tissettja filtru għal MAC konness ma 'SoftAP EPS32. Minflok, huwa propost li tgħid "addiju" (esp_wifi_deauth_sta) lil STAs diġà konnessi li huma "mhux mixtieqa".

L-iffiltrar mill-MAC għal STAs konnessi kellu jsir permezz tas-sejħa esp_wifi_deauth_sta()

Bħala konklużjoni

Għalkemm ma ħriġtx b'xi ħaġa ġdida fil-qafas ta 'ħidma ma' ESP32, forsi r-riżultat (kodiċi tas-sors) se jkun interessanti għal xi ħadd.

Nixtieq ninnota li l-kodiċi nkiteb biss għal skopijiet edukattivi. Għal "hacking", eċċ., Kien magħmul apposta mhux konvenjenti ħafna.

Ma għamiltx bord ta 'ċirkwit stampat minħabba li ħadet 1.5-2 sigħat biex issaldjar ix-xalpi lesti bil-wajer.

U jekk tagħmel hekk, trid tiġborha mhux minn bordijiet lesti, iżda minn komponenti individwali. Imbagħad id-dimensjonijiet se jkunu saħansitra iżgħar.

Sors: www.habr.com

Żid kumment