MiTM Mobile състезава как мобилните комуникации са били повредени на PHDays V
Условия и технологии на конкурса
Чрез DarkNet сте получили информация, която може да бъде полезна:
1. Кодовете за получаване на публикация се изпращат периодично на номера на главния счетоводител на корпорацията - 10000.
Приблизително такова въведение беше представено на участниците в CTF като част от състезанието MiTM Mobile, проведено на PHDays V.
И така, всичко е ясно с външните атрибути на клетъчния оператор, сега нека разгледаме внедряването на мрежата. Устройство с просто име UmTRX (уебсайт на производителя: umtrx.org/hardware) действаше като "желязо" решение и на негова база беше изградена безжичната част на мрежата. GSM функционалността и функционалността на базовата станция, а именно софтуерната част, са реализирани директно от софтуерния стек Osmocom/OpenBTS.
Сърцето на MiTM Mobile е UmTRX
Първо малко теория:
IMSI - Международна идентичност на мобилния абонат, съхранявана в SIM-карта.
MSISDN—мобилен абонатен ISDN номер телефонен номер, присвоен на IMSI в инфраструктурата на оператора
TMSI - Временна идентичност на мобилен абонат, произволно назначена от мрежата на всеки мобилен телефон в района, в момента, в който е включен.
В нашия случай със SIM карта sysmocom 901 е кодът на държавата, 70 е кодът на оператора, 0000005625 е идентификаторът на абоната в мрежата на оператора (вижте фигурата).
Второ нещо, което трябва да запомните: MSISDN, вашият мобилен номер (например +79171234567) НЕ се съхранява на SIM картата. Съхранява се в базата данни на оператора. По време на разговор базовата станция замества този номер според таблицата за търсене на IMSI MSISDN (в реална мрежа това е функция MSC / VLR). Или не замества (анонимно обаждане).
въоръжензнания, продължете.
Отваряме две конзоли. При първото изпълнение на командата:
/osmocom-bb-master/src/host/osmocon/osmocon -p /dev/ttyUSB0 -m c123xor -c
Във втората конзола изпълнете командата:
/osmocom-bb-sylvain/src/host/layer23/src/misc/ccch_scan -a 774 -i 127.0.0.1
Тази команда имплементира слой 2-3 на OSI модела. А именно, слушане на ефира в търсене на пакети CCCH (Common Control Channel).
-a 774 - показва ARFCN, на който излъчваме. Да, да, никой не трябва да търси канала, по който работи нашият оператор. Всичко за вас, скъпи участници :)
-i 127.0.0.1 е интерфейсът, към който ще изпращаме нашите пакети.
И стартирайте Wireshark. Той ще направи всичко за нас, а именно ще събере необходимите пакети в SMS, ще анализира формата TPDU / PDU и ще ни покаже всичко в четима форма.
Виждаме SMS-и, които междувременно са в ефир. Поздравления, изпълнихте първото си предизвикателство! И ако бяхте на PHDays V в момента, тогава в ефир можете да видите SMS с код за получаване на публика. Кодът се излъчваше непрекъснато в продължение на два дни, на всеки 5 минути, дори и през нощта.
Завтората задачасъщо трябва да стартирате слой 1 (или не е нужно да го изключвате след последния път).
Във втората конзола стартирайте като слой 2-3
/osmocom-bb-master/src/host/layer23/src/mobile/mobile -i 127.0.0.1
$ telnet 127.0.0.1 4247
В конзолата ще се отвори подобен на Cisco интерфейс. Активиране на разширен режим:
Следва списък на наличните команди:
По време на конференцията се опитвахме да изпратим SMS на номер, който не беше онлайн. И ако участникът се е досетил да замени TMSI, поискан от базовата станция като параметър на командата за клониране, тогава тойще получи следващия флаг с кода на валутата!
OsmocomBB# клонинг 1 5cce0f7f
И беше много лесно да се види заявката на базовата станция към абоната. Беше възможно да се търсят в Wireshark за gsmtap пакети с искане за пейджинг тип 1 (заявка за базова станция при извършване на повикване).
Или във втората конзола, където работи mobile:
Регистрираме TMSI и получаваме SMS, предназначен за първоначалния абонат.
OsmocomBB# повикване 1 2000
Сега вземаме Motorola и слушаме кода. Ако участниците са направили всичко правилно, те ще чуят кода. Иначе ще чуят виц :)
В допълнение към много приложения, които разкриват информация, която е достатъчна за ключове с груба сила, ние внимателно подчертахме в червено приложение, което не изисква никакви секретни ключове за достъп. Нека го анализираме отделно:
Последните два байта от SIM отговора са байтове за състояние, където например 0x9000 означава, че командата е завършена успешно. В този случай получаваме 0x9124, което означава, че има 36 байта, които картата иска да ни върне. Нека променим малко програмния код и да видим какви данни са:
Декодираме и получаваме:
>>> „D0228103012100820281028D1704596F752061726520636C6F73652C2062616420434C419000 1\x02\x8d\x17\x04Вие сте близо, лошо CLA\x90\x00'
Преминаваме през всички възможни CLA и INS за инструкции, изпратени в двоичен SMS - и получаваме нашия флаг:
>>> 'D0378103012100820281028D2C04596F757220666C61673A2035306634323 00'.decode('hex') '\xd07\x81\x03\x01!\x00\x82\x02\x81\x02\x8d,\x0 4 Вашият флаг:50f428eb7bb1c1242218336d50a37b9e\x90\x00'
Това е всичко за задачите.
Победители и изненади от състезанието.
Не само екипите на CTF, но и всички посетители на PHDays можеха да опитат силите си в състезанието MiTM Mobile: желаещите получиха цялото необходимо оборудване и виртуална машина. В резултат на това повече от десет души участваха в състезанието, без да се броят отборите на CTF.
Въпреки това, единственият, който успя да прихване SMS до средата на първия ден, бешеГлеб Чербов, който стана победител в състезанието.
Само екипът наОще пушено пиле с лугаизпълни три задачи до началото на втория ден. Четвъртата задача беше достъпна само за участниците в CTF, но никой не успя да я изпълни.
Посетителите на форума можеха да забележат периодичната загуба на LTE, 3G, а понякога и цялата мрежа, когато се приближиха до зоната на действие на GSM заглушителите, която изглеждаше така:
Някои са получавали съобщения от номер 74957440144 или от "Анонимни" с текст "SMS_от_банка" или друг "безобиден спам". Това се дължи на работата на клетъчната мрежа MiTM Mobile.
И в края на втория ден някои "късметлии" получиха следното съобщение:
P.S. За тези, които искат да организират състезание, подобно на нашия MiTM Mobile - малко повече за мрежовите компоненти.
Самият UmTRX е SDR (софтуерно дефинирано радио), тоест „просто радио“. Всички инструкции за настройка могат да бъдат намерени на umtrx.org или osmocom.org. Можете също така да споменете готовото "кутийно" решение от UmTRX - UmDESK, всичко вече е инсталирано в него. Достатъчно е да попълните конфигурациите според ръководството - и да започнете да излъчвате.
И да, PL2303, FT232 могат да бъдат намерени почти навсякъде. Запояването на 2,5 мм минижак е лесно.
Sims и кабел можете да поръчате тук:shop.sysmocom.de
Телефоните могат да бъдат намерени на Avito, в подлеза или поръчани в Китай: изходната цена е около 300 рубли на брой.
На момчетата от Fairwaves (те са тези, които правят UmTRX, UmDESK, UmROCKET и т.н.) специални благодарности за съветите и за предоставеното оборудване за тестване; вършат ГОЛЯМА работа! Специални благодарности на Иван.