Android + Termux - карманный друг хакера
Предисловие
Все мы знаем друзья что время не стоит на месте, так же не стоят на месте и возможности наших портативных устройств,телефонов , гаджетов и т.д. Все что новое придумает человек - тем или иным способом рано или поздно будет использовано против него же самого. О чем это я ? Да о том что все новые технология - это полигон как и для добрых аналитиков так и для злоумышленников.
Человек придумал электричество - при небрежном обращении с ним оно его убьет, придумали пластиковые окна - воры придумали как их вскрывать путем отжима или высверливанием отверстия для ручки, придумали умные машины с ПО - воры стали умнее и освоили техники угона с использованием взлома (радиохакинг, взлом ПО и т.д) Все это говорит о том что с появлением новых возможностей и технологий появляется новый модернизированый преступный мир в том числе и кибер преступники , стают сильнее и умнее , тем самым порождая новые угрозы и виды преступлений.
Сегодня же в нашей статье я хочу поведать банальный пример как обычный телефон на базе андроид может стать портативным орудием для взлома.
Вступление
Согласитесь в ситуации когда вам нужно провести анализ безопасности в помещении какой то компании , прийдя в какой то офис , или просто находясь в очереди отделения банка - то открытый ноутбук и непонятный , для большей части населения , вид консольных комманд в терминале , или открытые окна каких то не понятных программ вызовут как минимум подозрении у охраны и могут иметь не желанные для вас последствия.
Для того что бы избежать подобного нам на помощь приходит наш дружок - телефон.
И сегодня мы поговорим о возможностях Termux и его настройки с точки зрения пентестера.
Ну что же поехали:
Что такое Termux? И что он умеет ?
Termux - это android приложения , которое представляет из себя эмулятор терминала с chroot средой Linux , которое напрямую работает без рут доступа телефона так и с рут доступом по требованию. Является минимальной базовой системой с предустановленными пакетами, добавление инструментария осуществляется с помощи установки из репозитория пакетным менеджером
Приложения ставиться на телефон из Google Playmarket или же из F-Droid, по этому проблем с установкой не должно быть)
Кратенькая справка об Termux
- Установка пакетов из репозитория (apt install package_name "например apt install wget" )
- Посмототреть список всех пакетов (pkg list-all)
- Поиск пакета по репозиторию (pkg search php)
- Вывести информацию об пакете(pkg show curl)
- Установка .deb файлов ( pkg install ./file.deb или dpkg -i ./file.deb )
- Другие пакетные менеджеры c которыми умеет работать termux:NodeJS (npm)
- Python (pip)
- Perl (cpan)
- Ruby (gem)
- Texlive (tlmgr)
- ITS_Pointles (Живая Мечта) - пользовательский репозиторий на базе гитхаб , который включает в себя такие пакеты как scipy, r-cran (R language), gcc-7, octave, rustc cargo, gfortran Для того что бы добавить репозиторий выполните команду :
curl -L https://its-pointless.github.io/setup-pointless-repo.sh | sh
- (Этот скрипт утсанавливает gnupg на ваш девайс затем загружает и добавляет публичный ключ к вашему keychain )
- Auxilus - пользовательский репозиторий , который содержит некоторые самописные утилиты (большинство утилит еще будут добавлены) -
pkg install apt-transport-https echo "deb [trusted=yes] https://Auxilus.github.io/files termux extras" >> $PREFIX/etc/apt/sources.list pkg update
cocodevienne - В этом репозитории пользователи размещають свои самописные скриптны на питоне. Туда входят cliclac enigma nox pitspy telly
Что бы добавить :
pkg install apt-transport-https echo "deb [trusted=yes] http://cocodevienne.gitlab.io/aptpackages/termuxpackages termux extras" >> $PREFIX/etc/apt/sources.list pkg update
Настраиваем свой термукс под себя
И так со справкой немного ознакомились, для более подробной информации можете почитать на офф. сайте termux. Давайте приступим к базовой настройки нужного инструментария.
Первым делом обновимся и поставим tsu (Termux SU ) , который нам возможно понадобиться для работы от рута. ( По умолчанию Termux запускаеться под обычным юзером, но если мы захотим поставить Java - прийдется воспользоваться рут доступом)
apt update apt install tsu tsu
Далее следует установить OpenSSH
apt install openssh
Termux может работать как в режиме клиента по протоколу SSH так и в режиме сервера.
Как клиент я буду использовать его для подключение к своим VPS серверам, а как сервер я его использую хотя бы один раз с целью удобной настройки необходимых инструментов ( так как с клавиатуре на компьютере намного удобнее выполнять настройку конфигов и вводить комманды нежели с сенсорной клавиатуры телефона)
Но сражу хочу заметить , что Termux не поддерживает парольную аутентификацию по SSH и по этому нам будет нужно сгенерировать SSH ключи (делается это командой ssh-keygen ):
Запуск ssh-сервера осуществляется командой sshd после чего на порту 8022 открывается порт для подключения:
Далее что бы подключиться к нашему телефону по SSH в среду Termux нам необходимо добавить ssh публичный ключ нашей хостовой машины ( в моем случае это Windows , ключ был создан в программе BitVise-SSH) в файл ~/.ssh/authorized_keys. Сделать это можно разными способами, можно просто скопировать его на SD карту и копировать далее его в нашу папку термукса. Я же сделал простым выкачиванием с хостовой машины по http:
cd .ssh
wget http://192.168.0.105:8000/term.pub
cat term.pub >> authorized_keys
Проверяем содержимое :
cat authorized_keys
Перезапускаем службу:
pkill sshd
sshd
Проверяем порт:
netstat -ntlp
Далее просто подключаемся по SSH на наш телефон:
Теперь настройку проводить куда удобнее) Идем дальше.
Далее давайте поставим curl и установим oh-my-zsh для termux ( Почему zsh а не баш , ну как по мне , то zsh имеет разные фифтиплюшки которые упрощают работу в консоли, например более гибкая табуляция и просто приятный вид))
apt install curl bash -c "$(curl -fsSL https://git.io/oh-my-termux)"
Далее для работы с файлами , как локально так и удаленно (например перемещение файлов на VDS сервер) на понадобиться файловый менеджер. Мне очень нравиться для этих целей mc (Midnigt Commander) - он умеет передавать файлы по SFTP
Для примера работы mc давайте что то скачаем с VDS сервера, но сперва давайте закинем на VPS ssh ключ , что бы не вводить каждый раз пароль при подключении ( да и если вы не пользуетесь паролем - лучше его отключить и ходить по ссх ключам )
Делается это очень просто , команда ssh-copy-id закинет наш паблик кей на удаленный сервер, но для первого подключения понадобиться ввести пароль.
Так же для удобства можно создать алиас на быстрый коннект в VDS в конфиге zsh ( просто добавить наш алиас в конец файла ~/.zshrc ) Алиасы позволяют нам сокращать команды. Выглядит это так:
ssh-copy-id root@ip_address
создаем алиас vdscon для поключения к VDS
в файле ~/.zshrc пишем в конце файла alias vdscon='ssh root@xxx.xxx.xxx.xxx' сохраняем
обновляем конфиг zsh и запускаем алиас
source ~/.zshrc vdscon
Давайте теперь посмотрим как работает MC , выкачаем с VDS тему для zsh:
А ну еще можно добавить для красоты всякие фифтиплюшки типо figlet (не особо нужно) )))
apt install figlet figlet hello bro
Обзор Пентест Инструментов
Ну первым делом установим и репозиториев nmap
apt install nmap
и проверим на домашнем роутере:
Также в репозиториях есть и брутфорс Hydra
apt install hydra
Так же прекрасно устанавливается и метаслоит
SQLmap ставиться уже с гит репозитория:
[LIST=1] [*] apt update && apt upgrade -y [*] apt install git -y [*] git clone https://github.com/sqlmapproject/sqlmap [*] cd sqlmap [*]apt install python -y [*]chmod 777 sqlmap.py [*]python sqlmap.py [/LIST]
Так же возможно пригодиться скрипт для брута хешей HashBuster:
[LIST=1] [*]apt update && apt upgrade -y [*]apt install python2 && apt install git -y [*]git clone https://github.com/UltimateHackers/Hash-Buster [*]cd Hash-Buster [*]python2 hash.py [/LIST]
Так же хочу познакомить с фреймворком для сбора информации RedHawk
работает он на php и довольно богат на функционал:
[0] Basic Recon (Site Title, IP Address, CMS, Cloudflare Detection, Robots.txt Scanner)
[1] Whois Lookup
[2] Geo-IP Lookup
[3] Grab Banners
[4] DNS Lookup
[5] Subnet Calculator
[6] NMAP Port Scan
[7] Subdomain Scanner
[8] Revrse IP Lookup & CMS Detection
[9] SQLi Scanner (Finds Links With Parameter And Scans For Error Based SQLi)
[10] Bloggers View (Information That Bloggers Might Be Interested In)
[11] WordPress Scan (Only If The Target Site Runs On WP)
[12] Crawler
[13] MX Lookup
[A] Scan For Everything – (The Old Lame Scanner)
[F] Fix (Checks For Required Modules and Installs Missing Ones)
[Q] Quit!
[*]apt install python && apt install git -y [*]git clone https://github.com/Tuhinshubhra/RED_HAWK [*]cd RED_HAWK [*]apt install php -y [*]php rhawk.php
Ну вообщем этот список как вы поняли можно продолжать довольно таки долго)
ВЫВОДЫ
Ну вот вы прочитали всю эту статью и задались вопросом:
"Зачем этот termux когда есть Kali Nethunter и там все есть?"
Я отвечу так:
- Алтернатива Kali NetHunter
- Kali Nethunter не идеально портируеться на всех устройствах
- Termux поддерживает NPM , PIP , CMAN , GEM пакетные менеджеры , что делает его универсальным терминальной средой для андроид устройст ( Он может запускать много скриптовых утилит благодаря этому)
- И да, он умеет портировать Kali Nethunter в chroot среде)
[*] apt update && apt upgrade [*] git clone https://github.com/Hax4us/Nethunter-In-Termux.git [*] cd Nethunter-In-Termux [*] chmod +x kalinethunter [*] ./kalinethunter [*]./startkali.sh