1. Projekt Artropa: Ako vyrobiť z Raspberry Pi zlé zariadenie s NETom

Loading

Raspberry Pi Hacks – Facebook – Upozornenie: Tento text je niekoľko rokov starý a veľa vecí sa zmenilo. Najmä v ASP.NET Core (tu pod starým názvom ASP.NET 5). Článok ponechávam ako referenciu, ale všeobecne odporúčam nájsť novšie zdroje.

Páčia sa mi malé počítače, ASP.NET a som celkovo “zle” stvorený. Rozhodol som sa tieto odbory spojiť a rozchodiť na minipočítač Raspberry Pi nové ASP.NET 5 a urobiť z neho wifi Honeypot, ktorý bude lákať z hlúpych ľudí ich prihlasovacie údaje. No a rozhodol som sa postup dokumentovať a zverejniť ho tu ako návod. Nechávam na posúdenie láskavého čitateľa, či to vyhodnotí ako okolnosť poľahčujúcu alebo priťažujúcu.

Prečo Artropa?

Raspberry Pi je miniatúrny jednodoskový mikropočítač, ktorý je lacný a ľahko dostupný. Môže na ňom bežať kadečo, napríklad Linux alebo špeciálna edícia Windows 10. Posledne menovaný systém je ešte len v plienkach, takže ak chcete na RPI niečo vážnejšieho robiť, tak vám neostáva nič iné ako si začať s Linuxom.

Aby som sa nemusel vzdávať svojej obľúbenej technológie .NET, chcel som vyskúšať, ako je možné ASP.NET aplikácie (písané pomocou nového ASP.NET 5) reálne prevádzkovať na Linuxe za hranicami dema.

A pretože sa zaoberám počítačovou bezpečnosťou, napadlo ma z Raspberry Pi urobiť “zlý prístupový bod” (rogue AP). Bude vysielať Wi-Fi, ku ktorej keď sa niekto pripojí, zobrazí sa mu captive portál (ako je u mnohých pripojenie k Internetu bežné), kde sa z obete pokúsim vylákať citlivé prihlasovacie údaje.

Nie som sám, koho táto idea napadla. Na Raspberry Pi sa dá nahrať kompletný Kali Linux vrátane programu Mana Toolkit, ktorý toto všetko vie a ešte niečo navyše. Avšak, ja som si to chcel skúsiť naprogramovať v .NET a navyše nastaviť tak, aby bol celý program úplne autonómne a fungoval bez obsluhy, len po pripojení napájania, a aby fungoval aj bez pripojenia k Internetu.

A prečo sa to celé volá Atropa? Atropa Belladonna je latinský názov pre ľuľkovec zlomocný, prudko jedovatú rastlinu, ktorá sa vyskytuje takmer po celej Európe, vrátane Slovenskej republiky. Odhaduje sa, že otravu touto rastlinou tvoria zhruba polovicu všetkých vážnych otráv rastlinného pôvodu na našom území. Raspberry sú maliny, ale moje variácie na túto tému nie je zase až tak po chuti.

Samozrejme záleží na vás, ako so získanými informáciami naložíte. Drvivá väčšina postupov bude úplne bez problémov použiteľná pre vývoj akékoľvek, aj omnoho lepších aplikácí v ASP.NET pre RPI. “Zlé” veci budeme robiť len v dvoch dieloch.

Čo budete potrebovať?

  • Raspberry Pi. Ja pracujem s RASPBERRY Pi 2 Model B, ale mal by vám stačiť aj RASPBERRY Pi Model B +. Odporúčam si k nemu kúpiť aj nejakú krabičku.
  • Dostatočne silný zdroj s MicroUSB konektorom. Budete z neho napájať Raspberry a mal by mať aspoň 2 A. Ja používam k svojej spokojnosti 2 A zdroj od tabletu. Nabíjačka na mobil vám takmer určite stačiť nebude.
  • MicroSD kartu. Používam 16 GB Class 10, ale mala by vám, stačiť aj menšie, 8 GB určite, možno aj 4 GB. Tiež budete potrebovať patričnú čítačku pre vaše PC a prípadne redukciu z MicroSD na veľkú SD. Redukcia býva u niektorých kariet priamo súčasťou balenia.
  • Monitor s HDMI vstupom. To má väčšina novších monitorov, prípadne vám stačí DVI alebo DisplayPort vstup a patričná redukcia / kábel.
  • USB klávesnice. Akákoľvek štandardná klávesnica postačí.
  • USB Wi-Fi karta. Najlepšie sa mi osvedčila karta TP-LINK TL-WN722N. Je lacná, široko kompatibilná (Raspbian s ňou vie pracovať automaticky), má všetky funkcie potrebné aj pre pokročilejších Wi-Fi a externú anténu, miesto na ktoré je možné pripojiť inú.

Ďalej potom budete potrebovať bežný počítač s v podstate ľubovoľným operačným systémom. Ja používam poslednej preview Windows 10, ale nezíde na tom, pretože z tohto PC budeme potrebovať len kopírovať soubory a používať terminálový program. Využívať budeme tiež rôzne voľne dostupný softvér, na ktorý vás postupne upozorním v priebehu návoda.

Čo sa naučíte?

Seriál bude rozdelený do niekoľkých dielov, ktoré budú vychádzať postupne v týždňových intervaloch. Cieľovou skupinou sú .NET programátori, u ktorých nepredpokladám žiadnu skúsenosť s Linuxom a podobnými vecami, návody budú úplne konkrétne.

Reklamy

Jednotlivé diely budú mať nasledujúci obsah:

  1. Úvod, ktorý práve čítate.
  2. Sprevádzkovanie Raspberry Pi a Raspbian Linuxu.
  3. Inštalácia a konfigurácia Mono, ASP.NET 5 a rozchodenie prvej aplikácie.
  4. Inštalácia a konfigurácia nginx ako proxy a nastavenia ASP.NET pre ostrú prevádzku.
  5. Inštalácia a konfigurácia HostAPD, DnsMasq a captive portál pre WiFi.
  6. Tvorba captive portálu v ASP.NET 5.
  7. Návody, ako sa útokom tohto razenia brániť.

Diely 1-4 sú “dobré” a ich výsledkom bude platforma, na ktorej by mala bežať akákoľvek ASP.NET aplikácia. Diely 5-6 sú “zlé” a ukážu sa, ako uvedené technológie využívané na útoky na dôverčivých používateľoch. Diel 7 je najposlušnejší a ukáže vám, ako sa brániť.

Varovanie

Píšem o veciach, ktorým príliš nerozumiem. O Linuxe toho veľa neviem a tento seriál je z veľkej časti kompilátom návodov, ktoré som našiel niekde inde, upravil ich a aktualizoval. Nehovorím, že mnou zvolené riešenie je najlepšie, alebo dokonca jediné možné. Rovnako sa príliš nezaoberám bezpečnosťou, pretože neočakávam, že by sa na zariadenie tohto typu vyskytovali citlivé dáta prevádzkovateľa.

Píšem o veciach, ktoré sa rýchlo menia. Vychádzajú nové verzie knižníc, použitého softvéru, ASP.NET je v Bete … Možno vám niečo nebude fungovať, alebo sa to bude správať inak, než mne. To bol môj najväčší problém, keď som sa riadil radami iných. Odfiltrovať už neaktuálne a zastarané informácie.

Použitie výsledného zariadenia môže byť za určitých okolností nelegálne. Pri reálnom použití zariadenia tohto druhu sa môžete dopustiť širokej škály trestných činov, napríklad neoprávneného prístupu k počítačovému systému a nosiči informácií podľa § 230 Trestného zákona.

Podľa môjho názoru nepripadne extenzívnym – výklad zákona by samotné vydanie tohto článku mohol chápať ako trestný čin opatrenia a prechovávania prístupového zariadenia a hesla k počítačovému systému a iných takýchto dát podľa § 231 TRZ. Ja som presvedčený, že sa trestného činu nedopusťujem. Jednak mojím cieľom nie je spáchať trestné činy podľa § 182 a § 230 TRZ a tiež som presvedčený, že moje konanie má nulovú spoločenskú nebezpečnosť. Naopak, jeho cieľom je byť spoločensky prospešným.

Živím sa tým, že užívateľov aj programátorov učím správať sa a konať bezpečnejšie. Mám v tom dlhoročnú prax a jej dôležitou súčasťou je poznanie, že mi ľudia jednoducho neveria. Myslia si, že kybernetické útoky sú niečo, čo sa deje len v amerických filmoch, čo zvládnu len špičkoví hackeri, ktorých je v republike päť, a že k tomu potrebujú sofistikované špeciálne vybavenie za drahé peniaze. Že ich dáta nikomu nebudú za takú vec stáť. Viem, že ma účastníci mojich kurzov začnú brať vážne až vo chvíli, keď im ukážem, že škodiť sa dá aj s vecami, ktoré som len tak našiel po vreckách.

Nič z toho, čo tu popisujem, nie je novinka. Všetky tieto postupy sú známe a používajú sa bežne, dlhé roky a stretol som sa s nimi ako s reálnymi útokmi “in the wild”. Dúfam, že až si ich sami vyskúšate, začnete ich brať vážne.

Odkaz na nasledujúci – budúci článok.

  1. Projekt Artropa: Ako vyrobiť z Raspberry Pi zlé zariadenie s NETom
  2. Projekt Atropa: Sprevádzkovanie Raspberry Pi a Raspbian Linuxu
  3. Projekt Atropa: Ako spojazdniť ASP.NET 5 na Linuxe
  4. Projekt Atropa: Automaticé spustenie webu a publikaci prostredníctvom nginx
  5. Projekt Atropa: Vytvárame Honeypot
  6. Projekt Atropa: Vytvárame captive portál
  7. Projekt Atropa: Ako sa brániť?
Reklamy

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *