Большую часть времени встроенное устройство будет подключаться к сотовой сети, к которой сможет. Сей факт не означает, что телефон с SIM картой оператора Vodafone будет подключается к сети O2, но означает, что если мы удалим встроенную SIM-карту, то можем вставить новую, и устройство будет подключаться к той сети, к которой мы пожелаем.
Автор: Ken Munro
В статье Взлом IoT-производителей и умных автомобилей через APN рассматривался весь сценарий атаки, связанный с APN-ключами. Эта заметка, где основное внимание фокусируется на взломе APN-ключей, является квинтэссенцией той статьи.
Шаг 1. Извлечение учетных APN-записей
Большую часть времени встроенное устройство будет подключаться к сотовой сети, к которой сможет. Сей факт не означает, что телефон с SIM картой оператора Vodafone будет подключается к сети O2, но означает, что если мы удалим встроенную SIM-карту, то можем вставить новую, и устройство будет подключаться к той сети, к которой мы пожелаем.
Вам понадобится фемтосота на базе технологии 3G и система «Network in a Box». Мы заказываем в компании Sysmocom.
Рисунок 1: Фемтосота на базе технологии 3G
Как только фемтосота и сеть заработали, вставляем сим-карту в целевое устройство (и при этом сохраняем встроенную сим-карту, которая пригодится в дальнейшем) и дожидаемся подключения к нашей сети. Во время подключения, мы можем проанализировать информацию, проходящую через Ethernet-интерфейс, и выяснить много интересного. Например:
Первые два пункта не будут рассматриваться в данной статье. В сети достаточно ресурсов, освещающих эту тему.
С другой стороны, об APN-аутентификации написано довольно мало. APN-аутентификация через 3G-сети происходит на базе протокола PPP CHAP. Протокол CHAP, впервые представленный в 1996 году в качестве предшественника MS-CHAP, использует тройственное «рукопожатие»: вызов, ответ, аутентификация/отказ.
Шаг 2. Обход APN-аутентификации
Приложение Osmocom, на базе которого работает наша 3G-сеть, на данный момент игнорирует запросы APN-аутентификации, и разрешает подключение любому устройству с любым APN-именем, именем пользователя и паролем. Однако тройственное «рукопожатие» все равно происходит.
Если вы при помощи tcpdump посмотрите, что происходит во время аутентификации, то увидите следующее:
Рисунок 2: Пакеты, отсылаемые во время аутентификации
На рисунке выше отмечены релевантные пакеты. Используя Wireshark видим, что пакет с актуальным содержимым называется (RUA) DirectTransfer (DTP) (SM) Activate PDP Context Request.
Рисунок 3: Просмотр содержимого пакетов при помощи Wireshark
Шаг 3. Получение пароля: использование hashcat для расшифровки хеша MD5
APN-имя и имя пользователя можно найти в незашифрованном виде. Но не пароль.
Если глянуть в RFC1994, описывающего протокол CHAP, выясняется, что ответ представлен в виде хеша.
Рисунок 4: Формат ответа, используемого в протоколе CHAP
Октет идентификатора запроса (в данном случае - «0x01»), за которым идет пароль, за которым идет аутентификационое значение протокола CHAP (в данном случае – «f3bcc7c0d43ff6a7dafcb4a7a388975d») соединены вместе и зашифрованы алгоритмом MD5.
Поскольку мы имеем дело с MD5, то можем воспользоваться соответствующим режимом, предусмотренным в hashcat, который предназначен для iSCSI CHAP-хешей. Номер режима – 4800. На входе ожидаются хеши в следующем формате:
[ CHAP-ответ ]:[ CHAP-запрос ]:[ Октет идентификатора запроса ]
В нашем случае содержимое будет следующим:
7e1062f19af0b4ff4611206457de99e4:f3bcc7c0d43ff6a7dafcb4a7a388975d:01
Hashcat легко управляется с хешами MD5. Слабые пароли неминуемо будут расшифрованы. Даже в RFC от августа 1996 года рекомендуется использовать пароли длиной не менее 16 символов.
Рисунок 5: Рекомендации по поводу выбора пароля
Наша машинка с несколькими GPU перебирает хеши MD5 со скоростью 10 GH/s, и на 9 символьный пароль, содержащий символы в верхнем/нижнем регистре плюс цифры, уходит около 20 минут. Следует учитывать, что мы использовали просто перебор без оптимизаций.
Рисунок 6: Результаты подбора пароля
Кроме того, для хешей MD5 для всех паролей до 9 символов или 10 символьных паролей, содержащих буквы в нижнем регистре и цифры, доступны радужные таблицы.
На перекрестке науки и фантазии — наш канал