Pull to refresh

Изучаем MITRE ATT&CK. Mobile Matrices: Device Access. Часть 5

Reading time5 min
Views1.5K

Обзор (Discovery) и Боковое перемещение (Lateral Movement)


Ссылки на все части:

Часть 1. Первоначальный доступ к мобильному устройству (Initial Access)
Часть 2. Закрепление (Persistence) и Эскалация привилегий (Privilege Escalation)
Часть 3. Получение учетных данных (Credential Access)
Часть 4. Обход защиты (Defense Evasion)

Получив доступ к мобильному устройству противник, вероятно, попытается использовать штатные средства операционной системы, чтобы «осмотреться», понять какое преимущество получено, способствует ли оно достижению цели вторжения. Данный этап атаки называется «Обзор» (Discovery). Техники осуществления обзора направлены на получение информации о характеристиках скомпрометированного мобильного устройства, а также других доступных сетевых систем.

Оценив имеющиеся в атакуемой среде возможности, противник попытается получить доступ к удаленным системам, и, возможно, контроль над ними, предпримет попытки запуска на удаленных системах вредоносных инструментов. Описанную активность называют Боковым перемещением (Lateral Movement). Методы бокового перемещения так же включают средства сбора информации из удаленных систем без использования дополнительных инструментов, таких как утилиты RAT (Remote Access Tools).

Автор не несет ответственности за возможные последствия применения изложенной в статье информации, а также просит прощения за возможные неточности, допущенные в некоторых формулировках и терминах. Публикуемая информация является свободным пересказом содержания ATT@CK Mobile Matrices: Device Access.

Обзор (Discovery)


Обзор приложений (Application Discovery)


Платформа: Android, iOS
Описание: С целью выявления в атакуемой системе средств обеспечения безопасности злоумышленник может попытаться идентифицировать установленные на устройстве приложения, которые могут увеличить риск обнаружения вредоносной активности или наоборот, выявить приложения, на которые будет нацелена дальнейшая атака.

В Android, приложения могут использовать метод класса PackageManager для перечисления других приложений или иные объекты с доступом к командной строке для использования команды "pm". В iOS, приложения могут использовать приватные API-вызовы для получения списка приложений, установленных на устройстве. Однако, приложение, использующее приватные вызовы API, вероятно, не будет принято в AppStore.

Рекомендации по защите: Методы проверки приложений должны включать средства выявления приложений, использующих класс PackageManager для перечисления других приложений, но такой подход может быть непрактичен, т.к. многие приложения вызывают методы класса PackageManager в рамках штатной работы. В iOS средства проверки приложений аналогично могут искать приватные API-вызовы.

Обнаружение типа устройства (Device Type Discovery)


Платформа: Android
Описание: В Android информация о типе устройства доступна через класс android.os.Build. Информация об устройстве может использоваться для дальнейшего применения целевых эксплойтов, повышающих привилегии.

Рекомендации по защите: В ходе предварительной проверки могут выявляться приложения, использующие класс android.os.Build, однако эта мера не эффективна, потому что многие приложения используют этот функционал в рамках штатной работы.

Обнаружение файлов и каталогов (File and Directory Discovery)


Платформа: Android
Описание: Для перечисления содержимого файловой системы в Android можно использовать инструменты командной строки или Java API для работы с файлами. Однако, в Linux и SELinux доступ приложений к файлам обычно сильно ограничен (если не применить эксплойт для повышения привилегий). Как правило, приложениям доступно содержимое внешнего хранилища, поэтому хранение там конфиденциальных данных ненадлежащим образом должно вызывать опасение. Архитектура безопасности iOS обычно ограничивает возможность обнаружения файлов и каталогов без наличия расширенных привилегий.

Рекомендации по защите: Возможность повышения привилегий усложняется с каждой новой версией Android и iOS. В последних версиях Android была усилена песочница, ограничивающая способность приложений перечислять содержимое файловой системы.

Сканирование сетевых служб (Network Service Scanning)


Платформа: Android, iOS
Описание: С помощью сканеров портов и уязвимостей злоумышленники могут попытаться получить перечень служб, работающих на удаленных устройствах, включая те, которые имеют уязвимости с возможностью удаленной эксплуатацией. Наличие у мобильного устройства подключения к внутренней сети предприятия через локальное или VPN-соединение может восприниматься противником как потенциальное преимущество.

Обзор процессов (Process Discovery)


Платформа: Android
Описание: В Android до версии 5 приложения могут получать информацию о других процессах, выполняющихся через методы класса ActivityManager. В Android старше версии 7 приложения могут получать эту информацию, выполнив команду ps или «изучив» каталог /proc. Начиная с Android 7, использование функции hidepid ядра Linux не позволяет приложениям без повышенных привилегий получать информацию о других процессах.

Рекомендации по защите: Использование ОС Android версии 7 и выше.

Обзор информации о системе (System Information Discovery)


Платформа: Android, iOS
Описание: Злоумышленник может попытаться получить подробную информацию об операционной системе и оборудовании, включая версию, установленные исправления и архитектуру. На Android большая часть информации о системе доступна по через класс android.os.Build. На iOS также существуют методы, с помощью которых приложения могут получить доступ к информации о системе.

Обзор сетевой конфигурации (System Network Configuration Discovery)


Платформа: Android
Описание: В Android детали конфигурации встроенных сетевых интерфейсов доступны приложениям через класс java.net.NetworkInteface. Класс TelephonyManager можно использовать для сбора такой информации как IMSI, IMEI и номер телефона.

Рекомендации по защите: Предварительный анализ приложения должен включать проверку запрашивания приложением разрешений ACCESS_NETWORK_STATE (требуется для доступа к информации NetworkInterface) или READ_PHONE_STATE (требуется для доступа к информации TelephonyManager). Начиная с Android 6.0 приложения не могут получать доступ к MAC-адресам сетевых интерфейсов.

Обзор сетевых подключений (System Network Connections Discovery)


Платформа: Android
Описание: Приложения могут использовать стандартные API для сбора данных об исходящих и входящих сетевых подключениях. Например, приложение NetworkConnections, доступное в PlayMarket, предоставляет такую функциональность.

Боковое перемещение (Lateral Movement)


Атака ПК через USB-соединение (Attack PC via USB Connection)


Платформа: Android
Описание: С целью осуществления атак на подключаемые к мобильному устройству ПК противник (имея повышенные привилегии), может внести изменения в ОС, после которых мобильное устройство будет выдавать себя за USB-устройство: клавиатуру, мышь, накопитель информации или сетевое устройство. Этот метод был продемонстрирован на Android. О возможности реализации данной техники на iOS не известно.

Рекомендации по защите: Пользователям рекомендуется подключать мобильные устройства к ПК только при наличии обоснованной необходимости (например, если это необходимо в целях разработки и отладки мобильных приложений).

Эксплуатация корпоративных ресурсов (Exploit Enterprise Resources)


Платформа: Android, iOS
Описание: Противник может попытаться использовать корпоративные серверы, рабочие станции или другие ресурсы, доступные по сети. Этот метод используется в случае подключения мобильного устройства к корпоративной сети через локальное или VPN-соединение.
Tags:
Hubs:
+5
Comments0

Articles