Как установить Kali Linux на смартфон.

Как установить Kali Linux на смартфон.

Все мы видели в фильмах о хакерах сцены взлома с помощью мобильных телефонов. Обычно все, что там творится, — выдумка. Однако и эта выдумка медленно, но верно становится реальностью. Из этой статьи ты узнаешь, как приблизиться к кино и превратить свой телефон в настоящий хакерский инструмент.
Как установить Kali Linux на смартфон.
 

 

Что нужно знать и сделать перед установкой

Первое, о чем следует позаботиться, — это права root. Без них некоторые функции установленных нами утилит могут не поддерживаться или работать некорректно. Поэтому настоятельно рекомендую их заполучить. Особенно это касается пользователей с Android 10 и более поздних версий.

Получение root в каждом случае уникально, ведь оно напрямую зависит от конкретной модели устройства и версии Android. Я в этой статье буду использовать свой старенький Samsung Galaxy S6 (SM-G920F) на Android 7.0 Nougat, для рута в котором уже есть специальный инструмент. В остальных случаях придется погуглить и узнать, как получить рут конкретно на твоем устройстве. На форуме 4PDA почти всегда есть нужная инструкция.

 

Также нам понадобится Termux — простой и удобный терминал, дающий многие возможности среды Linux, который и позволит исполнять наши команды в подходящей среде и не возиться с предварительной настройкой окружения.

Рекомендую также установить утилиту tsu, которая предоставит тебе возможность выполнять команды от рута. Если она не работает должным образом, загляни в GitHub-репозиторий, который настраивает работу рута в Termux. Это нужно, чтобы Termux сразу имел рут-доступ, который может понадобиться для дальнейших операций.

Важный момент: при использовании в качестве рута Magisk (а на большинстве современных устройств альтернатив нет и не предвидится) не забудь в его настройках разрешить Termux рут-доступ, а также добавить в исключения для Magisk Hide, иначе все наши действия будут бесполезны.

Также рекомендую обновить список пакетов, как мы обычно делаем это в десктопе Kali:

$ apt-get update
 

Пара слов о Kali NetHunter

Если ты один из тех счастливчиков, чье устройство оказалось в списке поддерживаемых, рекомендую обратить внимание на проект Kali NetHunter. Это платформа, созданная разработчиками Kali Linux специально для телефонов на Android. В NetHunter сразу доступно много рабочего софта из десктопной версии Kali. Образы можно найти на официальном сайте. Это более мощный набор, чем тот, что ты можешь получить с помощью Termux.

Подробнее о Kali NetHunter читай в статье «Атака со смартфона: знакомимся с Kali NetHunter».

 

Устанавливаем Metasploit

Полное описание Metasploit — тема для отдельной статьи, поэтому пройдемся по нему вкратце. Metasploit Framework — фреймворк, предназначенный для создания, отладки и, конечно, применения эксплоитов.

Установить Metasploit Framework (MSF) на Android 7 или выше можно в две команды:

$ pkg install unstable-repo
$ pkg install metasploit

На Android 5.x.x–6.x.x MSF устанавливают несколько другим методом:

$ curl -LO https://github.com/termux/termux-packages/files/3995119/metasploit_5.0.65-1_all.deb.gz
$ gunzip metasploit_5.0.65-1_all.deb.gz
$ dpkg -i metasploit_5.0.65-1_all.deb
$ apt -f install

Все эти команды следует выполнять с правами обычного пользователя, если не оговорено иное. При выполнении от рута могут возникать трудноисправимые проблемы. В частности, при запуске apt от рута мы получим сбитые контексты SELinux, что потом помешает нам устанавливать пакеты.

Установка может затянуться. Не закрывай сессию Termux до конца установки MSF!

Не стоит обновлять MSF вручную редактированием $PREFIX/opt/metasploit, так как это может привести к проблемам с зависимостями.

Теперь, чтобы убедиться, что у нас все работает, запустим Metasploit:

$ msfconsole
Metasploit Framework
Metasploit Framework

Как видишь, все отлично и в твоем распоряжении 2014 эксплоитов. 🙂

 

Устанавливаем ngrok

Ngrok — это кросс-платформенный софт для создания защищенных сетевых туннелей от общедоступной конечной точки до локально работающей сетевой службы. Также утилита собирает весь трафик и логирует его для анализа.

Перед дальнейшими действиями убедись, что интернет подключен (через «мобильные данные») и активирована точка доступа, так как это необходимо для корректной работы ngrok.

Для начала обновляемся и ставим Python 2:

$ pkg update && pkg upgrade && pkg install python2

Теперь нам нужно зарегистрировать свой аккаунт ngrok.

Как только зарегистрируешься, тебя перебросит на страницу личного кабинета, где нужно будет найти и скопировать свой токен аутентификации, как показано на скриншоте.

AuthToken for ngrok
AuthToken for ngrok

Далее надо скачать архив с ngrok для Linux-based-систем с архитектурой ARM.

Download ngrok
Download ngrok

Дальше заходи в Termux и иди в ту директорию, куда скачал архив с ngrok. К примеру:

$ cd /sdcard/Downloads

Введи команду ls |grep ngrok и проверь, что архив здесь. Теперь нам нужно разархивировать его:

$ unzip ngrok-stable-linux-arm.zip

После этого еще раз введи ls |grep ngrok и проверь, появился ли у тебя исполняемый файл ngrok. Если его нет, то перед следующим шагом зайди в директорию с ним:

$ cd ngrok-stable-linux-arm

И перемести исполняемый файл в домашний каталог Termux:

$ mv -v ngrok /$HOME

Посмотри, куда был перемещен файл, и отправляйся туда с помощью команд cd и ls.

Теперь тебе нужно установить флаг исполнимости файла:

$ chmod +x ngrok

И сделать первый запуск:

$ ./ngrok

Помнишь, ты копировал свой токен для аутентификации? Впиши эту команду, чтобы ngrok знал, кто его использует:

$ ./ngrok authtoken токен

И запускай сервер:

$ ./ngrok http 80

Ты увидишь экран как на скриншоте.

Ngrok
Ngrok

Отлично, теперь ты готов атаковать любые цели! 🙂

 

Устанавливаем sqlmap

Цитата с официального сайта: «Sqlmap — это инструмент для тестирования на проникновение с открытым исходным кодом, который автоматизирует обнаружение и использование недостатков SQL-инъекций и захват серверов баз данных».

Подробнее о sqlmap ты можешь прочесть в архивной статье 2011 года «Sqlmap: SQL-инъекции».

С установкой все элементарно. Перед тобой есть выбор: поставить стабильную версию 1.4.3 или самую новую 1.4.5.34. Первая ставится проще некуда:

$ pkg install sqlmap

И все. Чтобы запустить утилиту, пропиши команду

$ sqlmap -u <URL>
Sqlmap 1.4.3
Sqlmap 1.4.3

Или же ты можешь поставить себе более новую версию, которая еще находится в разработке. Для этого нужно клонировать официальный проект sqlmap с GitHub:

$ git clone https://github.com/sqlmapproject/sqlmap.git

Далее переходи в папку с sqlmap:

$ cd sqlmap

И, используя python2, запускай sqlmap с таким же обязательным параметром:

$ python2 sqlmap.py -u ссылка
Sqlmap 1.4.5.34
Sqlmap 1.4.5.34

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

 

Устанавливаем aircrack-ng

Aircrack-ng — набор утилит, предназначенных для обнаружения беспроводных сетей, перехвата их трафика и аудита ключей шифрования WEP и WPA/WPA2-PSK.

Здесь уже все далеко не так просто. Думаю, ты слышал, насколько трудно перевести Wi-Fi-адаптер смартфона в режим мониторинга. В официальных репозиториях Termux на этот случай есть пакет утилиты iwconfig, которая управляет беспроводными сетями. Нам надо ее установить.

Для начала нужны вспомогательные утилиты:

$ pkg install root-repo

Теперь можно ставить iwconfig с остальными тулзами для работы с беспроводными сетями:

$ pkg install wireless-tools

И еще поставить отдельно iw:

$ pkg install iw

Теперь тебе надо будет зайти как рут и создать экземпляр монитора. Для этого мы сделаем так:

$ tsu
$ iw phy0 interface add mon0 type monitor

Проверим наши адаптеры и их статусы:

$ iwconfig

Если что-то отображается не так, проверь, работает ли Wi-Fi, и убедись, что он не подключен к каким-либо сетям.

Далее нам нужно поднять наш монитор:

$ ifconfig mon0 up

Конечно, не все устройства с Android поддерживают режим мониторинга. Проверить это можно приложением bcmon, которое среди прочего умеет включать режим мониторинга на совместимых чипах Broadcom (это устройства Nexus и некоторые другие). Для всех остальных придется купить переходник USB — OTG, в который воткнуть один из поддерживаемых десктопной Kali адаптеров. Для этого понадобится пересобрать ядро с нужными драйверами. Если у тебя нет опыта пересборки ядра, рекомендую обратиться в тему своего устройства на 4PDA или XDA-developers. Часто там есть сборки Kali с уже готовым ядром.

Теперь можем ставить aircrack-ng:

$ pkg install aircrack-ng

Смотрим короткий man:

$ man aircrack-ng
Aircrack-ng
Aircrack-ng

И можем запустить airodump-ng:

$ airodump-ng -i mon0

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

 

Устанавливаем Nmap

Nmap — утилита, предназначенная для сканирования сетей. Может находить открытые порты, делать трассировку, проверять на уязвимости с помощью NSE-скриптинга. Чтобы лучше ознакомиться с этим приложением, стоит прочитать две статьи из нашего журнала о NSE-скриптинге и его использовании для обхода файрволов, DoS-атак и многого другого.

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

$ pkg install nmap

Посмотрим короткий man:

$ nmap
Nmap
Nmap

Для интенсивного сканирования я использую такие параметры:

nmap -T4 -A -v
 

Ставим на телефон полноценный Kali Linux

На некоторые телефоны можно установить Kali NetHunter, но речь сейчас пойдет не о нем. Мы будем ставить образ полноценной Kali на наш телефон и подключаться к его десктопу через VNC. У тебя будет образ именно Kali Linux, что позволит пользоваться теми прогами, которые не удается завести на Termux (к примеру, BeEF-XSS).

Сначала нам понадобится скачать из Google Play установщик урезанных дистрибутивов — Linux Deploy, набор необходимых пакетов для корректной работы (BusyBox) и, конечно, VNC Viewer — клиент VNC. Не важно, что в реальности эта машина будет находиться на 127.0.0.1.

Также из интернета нужно скачать образ Kali для Android. Лично я скачивал полную версию с файловой системой ext4, которая подходит для архитектуры ARM (пятый файл сверху). Когда архив докачается, твоя задача — извлечь оттуда образ объемом 5,5 Гбайт и поместить его в директорию /storage/emulated/0 мобильного устройства. После этого переименуем файл в linux.img.

Теперь нужно уделить внимание BusyBox. Сейчас в Google Play очень много вариантов разных производителей. Дело в том, что некоторым устройствам приходится подыскивать нужный BusyBox, чтобы все утилиты поставились корректно. В моем случае подошел самый популярный пакет BusyBox Free, файлы которого я установил в /su/xbin. Запомни эту директорию, она важна при обновлении среды установщика.

Теперь заходим в Linux Deploy и справа внизу нажимаем на иконку настроек дистрибутива. Выбираем дистрибутив Kali Linux. Нужная архитектура выставится автоматически, но, если не получится, попробуй armhf.

Settings
Settings

Далее измени пароль пользователя, он находится ниже.

И в самом конце ты найдешь пункты, отвечающие за включение серверов SSH и VNC. Поставь галочки напротив них. Если не нужна графическая среда, то будет достаточно SSH. Потом можно будет скачать любой клиент SSH и подключаться к нашей машине с Kali по 127.0.0.1. Чтобы не качать лишние приложения, можешь воспользоваться обычным openssh-client прямо в Termux, для чего просто открой еще одну вкладку.

Если же тебе все же нужна графическая среда, то включи соответствующий пункт, и дальше я покажу, как подключиться к десктопу Kali по VNC.

SSH and VNC
SSH and VNC

Теперь нужно настроить рабочее окружение. В настройках переменной PATH укажи тот путь, куда BusyBox устанавливал пакеты.

SSH и VNC
SSH и VNC

И обнови рабочее окружение (кнопка ниже).

Далее нужно настроить наш контейнер. Выйди на главную страницу, в правом верхнем углу нажми на иконку меню и выбери пункт «Сконфигурировать».

Осталось только запустить наш контейнер. Жми кнопку Start внизу. Проверь, нет ли при запуске контейнера строчек с пометкой fail. Если есть, убедись, что ты правильно указал PATH рабочего окружения и сконфигурировал контейнер. Если все так, то попробуй сменить архитектуру на armhf и сделать все заново.

Теперь заходи в VNC Viewer или другой клиент VNC, добавляй соединение по локалхосту (127.0.0.1) и называй его. Далее подключайся, подтверждай, что хочешь продолжить пользоваться незашифрованным соединением, и вводи пароль пользователя, который ты указывал в Linux Deploy.

Готово!

Kali и Nmap
Kali и Nmap

Конечно, дистрибутив старый, но весь софт рабочий, и, как видишь, тот же Nmap функционирует без ошибок.

Для теста я использую команду

$ nmap -A -v <IP>

Параметр -A отвечает за включение сканирования ОС, ее версии, сканирования скриптами, а также трассировку маршрута (traceroute). Параметр -v выводит более подробную информацию.

Вывод результатов сканирования ты можешь видеть на скриншоте ниже.

Nmap results
Nmap results
 

Заключение

Теперь твое портативное устройство способно вскрывать базы данных, сканировать сети, перехватывать трафик и устраивать еще множество разных интересных атак. Используй эти возможности с умом!

Click to rate this post!
[Total: 1 Average: 5]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Leave a reply:

Your email address will not be published.