Geamannan le wifi air ESP32

Geamannan le wifi air ESP32

Is e an rud a thug dhomh am beachd inneal pòcaid a dhèanamh airson mion-sgrùdadh a dhèanamh air lìonraidhean WiFi an artaigil seo.

Mòran taing dhaibh airson a’ bheachd. Cha robh agam ach rud sam bith ri dhèanamh.

Chaidh a h-uile obair a dhèanamh mar phàirt de chur-seachad airson spòrs a bhith agam agus leudachadh air an eòlas agam ann an raon teicneòlasan lìonraidh. Gu mall, 1..4 uairean san t-seachdain, bho thoiseach na bliadhna seo.
Cha do dhealbhaich mi cleachdadh practaigeach sam bith. An fheadhainn sin. CHAN EIL inneal hacker a tha seo.

Aig an àm seo, tha a h-uile gnìomh dealbhaichte ag obair. A h-uile stòr, gu tur deiseil airson co-chruinneachadh, air a phostadh an seo. Tha stiùireadh co-chruinneachaidh ann cuideachd, msaa. Anns an nota seo, cha bhith mi a’ dùblachadh an fhiosrachaidh a chaidh a phostadh air github. Chan innis mi dhut ach na tha mi a’ meas a tha riatanach airson a mhìneachadh air leth.

Mo bheachd air an “inneal uile-choitcheann” agus an adhbhar airson an ESP32 a thaghadh

Chan eil mi ag agairt gur e an fhìrinn a th’ ann. Tha a chuid fhèin aig a h-uile duine. Feuchaidh mi ri mo roghainn bathar-cruaidh fhìreanachadh.

Air a mholadh san artaigil cùis cleachdaidh measgachadh de Linux (Raspberry Pi an toiseach) + “iomaill” ann an cruth rianadair (STM32) + CC1110 (8051 core) agus am plana gus a h-uile dad a tha comasach a thoirt a-steach an sin (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) cha robh e coltach riumsa. Ach, am pròiseact seo Tha e coltach gum fuirich e prìobhaideach agus dùinte (flipper-zero github “Chan eil stòran poblach aig a’ bhuidheann seo. ”) agus chaidh e a dh’ ionnsaigh bathar-cruaidh nach eil cho cumanta.

Is dòcha gu bheil mi ceàrr, agus san àm ri teachd cuiridh na h-ùghdaran na stòran bathar-bog rim faighinn gu poblach. Ach mura h-eil, cha bhithinn a’ ceannach a leithid de phìos bathar-cruaidh às aonais a’ chòd stòr.

Na riatanasan agam airson an "inneal"

Bu chòir gum biodh am bogsa beag (nas lugha na b 'fheàrr).

Mar sin:

  • Chan eil feum air bataraidh togte. Le sruth> 100 mA nuair a bhios tu ag obair le Wifi, bidh am bataraidh togte mòr no cha mhair e fada. Mar sin, leig leis a’ “bhogsa” a bhith air a stiùireadh le banca cumhachd àbhaisteach. Co-dhiù, bidh banca cumhachd agam an-còmhnaidh nam phòcaid / càr.
  • Cùm “bogsa” Linux le innealan a-staigh, sgrìobhte thar iomadh bliadhna anns a h-uile cànan Le scrion beag agus seata beag de phutanan smachd, chan eil e a’ dèanamh ciall. Faodar na toraidhean fhaicinn / làimhseachadh air laptop àbhaisteach le meur-chlàr slàn agus scrion.
  • Bu chòir co-phàirtean a bhith ruigsinneach agus aithnichte gu farsaing (SDK ri fhaighinn, mòran eisimpleirean agus sgrìobhainnean).

Mar thoradh air an sin, dhòmhsa, bha an roghainn follaiseach - ESP32.

Airson a h-uile gnìomh a chaidh ainmeachadh san artaigil a thug orm gnìomh a dhèanamh, tha comasan an ESP32 gu math gu leòr. Ged is e an rud as motha a tha mi fhathast airson a dhèanamh:

  • Cluich mun cuairt le Bluetooth.
  • Cluich mun cuairt leis an raon 433mHz leis a’ bhathar-cruaidh as sìmplidh (dìreach atharrachadh leudachaidh, a tha gu leòr airson feumalachdan practaigeach).

Ag itealaich san ointment ann an ESP32

  • Tha an ESP32 SDK (IDF) caran cliobach.
  • Tha cuid den ghnìomhachd (WiFi stack, mar eisimpleir) a’ tighinn às aonais còd stòr ann an cruth leabharlannan statach cruinnichte.
  • Chan eil an còmhlan 5gHz a’ faighinn taic agus tha cuid de chuingealachaidhean agus neo-chomas ann a bhith ag obair le WiFi.

Ach tha a’ phrìs/meud gu tur a’ dèanamh dìoladh airson na h-uireasbhaidhean sin.

Prìomh fheartan bathar-bog

Bheir mi cunntas goirid air a’ ghnìomhachd agus mo bheachd air...

Stiùirich roghainnean agus luchdaich suas faidhlichean bho SD

Tha a h-uile smachd bhon taobh a-muigh air a dhèanamh tro dhuilleag lìn shìmplidh, air a chuir air bhog ann an rud clàr air leth. Bidh an ESP32 a’ tòiseachadh ann am modh WiFi AP agus a’ taisbeanadh duilleag aig seòladh IP stèidhichte.

Ged a tha na coraichean ESP32 gu math luath, mar a tha deuchainnean air sealltainn, chan eil obrachadh aig an aon àm den t-seirbheis lìn togte agus, mar eisimpleir, modh an router gu math co-chòrdail. Mar sin, chan eil smachd fiùghantach ann agus chan eil an duilleag ri fhaighinn anns a h-uile modh eile.
A bharrachd air an sin, chan eil feum air smachd fiùghantach airson adhbharan rannsachaidh.

Modh a bhith ag obair le pacaidean Beacon

Tha na modhan banal agus chan eil iad gu math inntinneach. Air a dhèanamh “leis gu bheil e comasach.” Airson seic.
Tha eisimpleirean ann an eisimpleirean oifigeil Espressif.

Modh sganaidh liosta AP.
Gu dearbh, faodaidh fòn cliste sam bith seo a dhèanamh.
Uill, sa mhodh seo thèid an liosta AP a shàbhaladh.
Spamadair beacon.
Bidh an ESP32 a ’tòiseachadh mar AP le SSID falaichte agus MAC air thuaiream agus a’ tòiseachadh a ’cur [frèam beacon] a rèir liosta ro-chruthaichte de SSIDn (air a chruthachadh le làimh no air fhaighinn nas tràithe le bhith a’ sganadh liosta AP)

Modh sniffing pacaid WiFi

Tha luchd-leasachaidh Espressif air comas a thoirt do bhathar-bog tagraidh a h-uile pacaid WiFi fhaighinn “ag itealaich san adhar” tron ​​​​ghnìomh gairm air ais. Gu dearbh chan eil a h-uile càil, oir chan urrainn dhut ach am modh a shuidheachadh airson aon seanal stèidhichte.

Tha cuingealachaidhean ùine gu math teann air a bhith a’ làimhseachadh gnìomh gairm air ais. Mura h-adhbhraich seo duilgheadasan leis a’ mhodh cruinneachaidh staitistig shìmplidh, an uairsin airson modh clàraidh faidhle PCAP air a’ chairt SD bha agam ri tinker, a’ cur a’ chlàraidh air dòigh tro ciudha mar chuimhneachan agus semaphores. A’ gabhail a-steach cho sònraichte sa tha am pròiseas a bhith a’ gairm a’ ghairm air ais a’ ruith air aon chridhe, agus am pròiseas a sgrìobhas gu SD ann an tè eile.

Rè “èadhar fuaimneach”, tha cuid de phasganan air chall (chan eil àite anns a’ chiudha agus tha iad air an toirt air falbh), ach le “adhair” àbhaisteach de àros san fheasgar (5..7 AP taobh a-staigh faicsinneachd), a’ clàradh ann am PCAP air a chrìochnachadh gun chall pacaid.

A bharrachd air an sin, airson sgrùdadh agus clàradh PCAP, tha modh sìoltachaidh stèidhichte air liosta MAC ann an cinn a’ phacaid.

Mar eisimpleir, faodaidh tu sùil a chumail air coltas neach ann an cluba / cafaidh mus tèid e a-steach no mus nochd e san t-sealladh. Is e glè bheag de dhaoine a tha a’ cuir dheth WiFi agus ceanglaichean fèin-ghluasadach ri APan aithnichte. (Tha mi ga chuir dheth a-nis ..)

Tha a bhith a’ coimhead air trafaic clàraichte ann an Wireshark foghlaim agus inntinneach airson mapaichean a thuigsinn - tha e uile ag obair.

Modh airson a bhith ag obair le pacaidean deauth

Gu gnàthach, tha e toirmisgte na pacaidean sin a chuir anns an leabharlann libnet80211.a, a thig às aonais stòran. Ach tha e furasta a cheartachadh le bhith a’ tweaking no dhà. An toiseach bha mi teagmhach an robh e luachmhor am paiste a phostadh. Ach às deidh dhomh coiseachd timcheall diofar àiteachan leis a’ mhodh sganaidh frèam dì-dhearbhadh air a thionndadh air, smaoinich mi: “Dè an ifrinn.” A bharrachd air an sin, ann an esp8266 chan eil lìbhrigeadh nam pasganan sin dùinte agus tha co-chruinneachaidhean air github airson esp8266.

Ann an iomadh àite (cha chan mi càite) thathas a’ cleachdadh cuir às do APn nach eileas ag iarraidh tron ​​​​dòigh seo. Agus chan e “burraidhean” a tha seo...

Agus chuir e iongnadh orm cuideachd nach robh an sgaoileadh eadar-lìn bhon fhòn agam ag obair ann an cuid de dh'àiteachan ...

Tha am modh airson sùil a chumail air àireamh agus RSSI nam pacaidean sin glè fheumail a thuigsinn “far nach toil leis na APan clì e.”

modh router

Is dòcha gur e am feart seo am fear as inntinniche dhiubh uile ri sgrùdadh.

Bidh ESP32 a’ toirt taic do ghnìomhachd aig an aon àm ann am modh STA + SoftAP. Mar sin, faodaidh tu router NAT clasaigeach a chuir an gnìomh air.

Gus taic a thoirt don chruach lìonra, bidh Espressif a’ cleachdadh forc (cha mhòr gun atharrachadh) den leabharlann lwip.

Ach, gu gnàthach, anns an togail àbhaisteach, chan eil an leabharlann esp-lwip a’ toirt seachad gluasad air adhart eadar eadar-aghaidh netif ‘ap’ (SoftAP) agus ‘st’ (STA).

Gu dearbh, faodaidh tu a dhèanamh às aonais NAT, ach tha duilgheadas ann le bhith a’ ceangal dà STA no barrachd ris an eadar-aghaidh ‘ap’ aig an aon àm agus a’ sioncronadh seòlaidhean IP bhon eadar-aghaidh lìonra ‘st’ gu ‘ap’. Mar sin chan fhiach na duilgheadasan agus tha e nas fhasa tro NAT.

A bharrachd air an sin, tha forc esp-lwip ann bho martin-ger, a chuireas ri buileachadh sìmplidh NAT airson IP4.

Ged a bha mo làmhan sgìth airson a dhèanamh dìreach gu cosmaigeach (nam bheachd-sa, bha e na b’ fhasa às aonais forc den phròiseact, ach tro LWIPdubhan gnìomhan air am mìneachadh aig àm co-chruinneachadh), ach bha leisg ann agus tha an roghainn bho martin-ger air a chleachdadh mar a tha.

Ann am modh router, thathas a’ coimhead air trafaic IP4 a tha a’ tighinn a-steach agus a-mach.

Gu sònraichte, tha na leanas air a thoirt a-mach às airson a thaisbeanadh air an sgrion agus a 'cruinneachadh staitistig ann am faidhle:

  • Ainm an inneil a bha ceangailte ri SoftAP ESP32 (pacaichean DHCP)
  • URL bho iarrtasan DNS (port UDP 53) bho inneal ceangailte ri SoftAP ESP32.

A bharrachd air an sin, faodaidh tu clàradh trafaic a chomasachadh gu faidhle PCAP.

Tha am modh seo glè fheumail, mar eisimpleir, airson tuigsinn, mar eisimpleir, dè a chuireas am fòn agad chun lìonra agus càite an tèid e.

Faodaidh tu smaoineachadh air dòighean eile gus am modh seo a chleachdadh, a’ toirt aire don chomas smachd a chumail air trafaic bogAP ESP32 a’ tighinn a-steach agus a-mach aig ìre eadar-aghaidh an lìonraidh: bann-cinn Ehernet (destMAC[6] +srcMAC[6]+type[2]) + pàigheadh ​​​​(seòrsa IP4, IP6, DCHP, msaa).

Ann am prionnsabal, tha an ESP32 a 'dèiligeadh gu math ris a' ghnìomh WiFi-> WiFi router, a 'dol tro thrafaig àbhaisteach gun dàil sònraichte sam bith. Gu cuspaireil, chan eil dàil ann am fòn ceangailte tro router air ESP32 ri fhaicinn.

Gu mì-fhortanach, chan eil an comas aig API Espressif criathrag a shuidheachadh airson MAC ceangailte ri SoftAP EPS32. An àite sin, thathas a’ moladh “beannachd” (esp_wifi_deauth_sta) a ràdh ri STAn a tha ceangailte mar-thà nach eil “ag iarraidh”.

Dh'fheumadh sìoladh le MAC airson STAn ceangailte a dhèanamh tron ​​ghairm esp_wifi_deauth_sta()

Ann an co-dhùnadh

Ged nach do nochd mi dad ùr taobh a-staigh frèam a bhith ag obair le ESP32, is dòcha gum bi an toradh (còd stòr) inntinneach do chuideigin.

Bu mhath leam a thoirt fa-near gun deach an còd a sgrìobhadh airson adhbharan foghlaim a-mhàin. Airson “hacking”, msaa, chaidh a dhèanamh a dh’aona ghnothach nach eil gu math goireasach.

Cha do rinn mi bòrd cuairteachaidh clò-bhuailte oir thug e 1.5-2 uair a thìde airson na sgarfaichean crìochnaichte a shàrachadh le uèir.

Agus ma nì thu, feumaidh tu a chruinneachadh chan ann bho bhùird deiseil, ach bho phàirtean fa leth. An uairsin bidh na tomhasan eadhon nas lugha.

Source: www.habr.com

Cuir beachd ann