• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Android + Termux - карманный друг хакера.

Для КОНКУРСА

И так всем привет коллеги. Решил составить не большую конкуренцию конкурсантам , что бы было интереснее им бороться) Никого не хочу обидеть но новых векторов и подходов атаки пока так никто не описал, все имхо просто расписали паблик инфу прошлых лет в новом виденье , которую скоро будут преподавать в младших классах школы. Но это сугубо мое мнение - оно может быть совершенно ошибочным , и соглашаться с ним или оспаривать совсем не обязательно.

maxresdefault-3.jpg


Предисловие

Все мы знаем друзья что время не стоит на месте, так же не стоят на месте и возможности наших портативных устройств,телефонов , гаджетов и т.д. Все что новое придумает человек - тем или иным способом рано или поздно будет использовано против него же самого. О чем это я ? Да о том что все новые технология - это полигон как и для добрых аналитиков так и для злоумышленников.
Человек придумал электричество - при небрежном обращении с ним оно его убьет, придумали пластиковые окна - воры придумали как их вскрывать путем отжима или высверливанием отверстия для ручки, придумали умные машины с ПО - воры стали умнее и освоили техники угона с использованием взлома (радиохакинг, взлом ПО и т.д) Все это говорит о том что с появлением новых возможностей и технологий появляется новый модернизированый преступный мир в том числе и кибер преступники , стают сильнее и умнее , тем самым порождая новые угрозы и виды преступлений.
Сегодня же в нашей статье я хочу поведать банальный пример как обычный телефон на базе андроид может стать портативным орудием для взлома.

Вступление

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

Ну что же поехали:

Что такое И ?

Termux
- это android приложения , которое представляет из себя эмулятор терминала с chroot средой Linux , которое напрямую работает без рут доступа телефона так и с рут доступом по требованию. Является минимальной базовой системой с предустановленными пакетами, добавление инструментария осуществляется с помощи установки из репозитория пакетным менеджером

Приложения ставиться на телефон из Google Playmarket или же из F-Droid, по этому проблем с установкой не должно быть)
В плеймаркете

Screenshot_2017-11-06-18-45-54-698_com.android.vending.png


А так вот первый запуск:

Screenshot_2017-11-06-20-09-33-307_com.termux.png
Кратенькая справка об 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 ( )
    • Python ( )
    • Perl ( )
    • Ruby ( )
    • Texlive ( )
  • 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
Screenshot_2017-11-06-20-10-41-365_eu.chainfire.supersu.png
Далее следует установить OpenSSH
Код:
apt install openssh
Termux может работать как в режиме клиента по протоколу SSH так и в режиме сервера. Как клиент я буду использовать его для подключение к своим VPS серверам, а как сервер я его использую хотя бы один раз с целью удобной настройки необходимых инструментов ( так как с клавиатуре на компьютере намного удобнее выполнять настройку конфигов и вводить комманды нежели с сенсорной клавиатуры телефона)

Но сразу хочу заметить, что Termux не поддерживает парольную аутентификацию по SSH и поэтому нам будет нужно сгенерировать SSH ключи (делается это командой ssh-keygen ):
Screenshot_2017-11-06-20-42-40-210_com.termux.png
Запуск 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
Screenshot_2017-11-06-21-21-21-200_com.termux.png


Проверяем содержимое :
Код:
cat authorized_keys
Screenshot_2017-11-06-21-21-32-682_com.termux.png


Перезапускаем службу:
Код:
pkill sshd
sshd
Проверяем порт:
Код:
netstat -ntlp
Screenshot_2017-11-06-21-22-31-359_com.termux.png
Далее просто подключаемся по SSH на наш телефон:
5.PNG
Теперь настройку проводить куда удобнее) Идем дальше.

Давайте поставим curl и установим oh-my-zsh для termux ( Почему zsh а не баш , ну как по мне , то zsh имеет разные фифтиплюшки которые упрощают работу в консоли, например более гибкая табуляция и просто приятный вид))
Код:
apt install curl
bash -c "$(curl -fsSL https://git.io/oh-my-termux)"
7.PNG


8.PNG
Далее для работы с файлами , как локально так и удаленно (например перемещение файлов на VDS сервер) на понадобиться файловый менеджер. Мне очень нравиться для этих целей mc (Midnigt Commander) - он умеет передавать файлы по SFTP
Для примера работы mc давайте что то скачаем с VDS сервера, но сперва давайте закинем на VPS ssh ключ , что бы не вводить каждый раз пароль при подключении ( да и если вы не пользуетесь паролем - лучше его отключить и ходить по ссх ключам )
Делается это очень просто , команда ssh-copy-id закинет наш паблик кей на удаленный сервер, но для первого подключения понадобиться ввести пароль.

Так же для удобства можно создать алиас на быстрый коннект в VDS в конфиге zsh ( просто добавить наш алиас в конец файла ~/.zshrc ) Алиасы позволяют нам сокращать команды. Выглядит это так:
Код:
ssh-copy-id root@ip_address
10.PNG
создаем алиас vdscon для поключения к VDS
Код:
в файле ~/.zshrc пишем в конце файла
alias vdscon='ssh root@xxx.xxx.xxx.xxx'
сохраняем
11.PNG
обновляем конфиг zsh и запускаем алиас
Код:
source ~/.zshrc
vdscon
12.PNG
Давайте теперь посмотрим как работает MC , выкачаем с VDS тему для zsh:
14.PNG


16.PNG


17.PNG


18.PNG
А ну еще можно добавить для красоты всякие фифтиплюшки типо figlet (не особо нужно) )))
Код:
apt install figlet
figlet hello bro
26.PNG
Обзор Пентест Инструментов

Ну первым делом установим и репозиториев nmap
Код:
apt install nmap
и проверим на домашнем роутере:
29.PNG
Также в репозиториях есть и брутфорс Hydra
Код:
apt install hydra
31.PNG
Так же прекрасно устанавливается и метаслоит
32.PNG
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]
33.PNG
Так же возможно пригодиться скрипт для брута хешей 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]
34.PNG
Так же хочу познакомить с фреймворком для сбора информации 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
38.PNG
Ну вообщем этот список как вы поняли можно продолжать довольно таки долго)

ВЫВОДЫ

Ну вот вы прочитали всю эту статью и задались вопросом:
"Зачем этот 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
40.PNG


41.PNG
Видео к статье:

 

ghostphisher

местный
Grey Team
07.12.2016
2 602
3 413
BIT
0
Есть еще один простой способ получить Кали ( и не только ) у себя на девайсе =) Подробности ниже



Как видно из подробностей, можно сделать так:
Берем железку, получаем root права, ставим F-DROID, c F-DROID ставим BUSY-BOX, далее качаем по ссылке в хайде Linux Deploy и там выбираем какой дистр желаем. После чего дистибутив будет установлен.
8899638.png
 

Urfin--Juice

Gold Team
14.11.2017
203
74
BIT
0
Спасибо за статью!

У кого-нибудь были проблемы с root-правами при использовании?

1. Чтобы, к примеру, установить Metasploit, необходимо запустить .sh скрипт. С обычными правами просит root. Если дать рут при помощи tsu и попробовать запустить скрипт, получаю "Permission denied". Это происходит не только при запуске скрипта .sh, но и при обычных командах шелла, типа ls.

2. Почему подключение к серверу на Android идет из-под root@xxx.xxx.xxx.xxx., а получаем "не-рут" пользователя(в частности, u0_a73)

3. Как ПРАВИЛЬНО поставить драйвера для wi-fi адаптера?

Аппарат Samsung Galaxy S5 mini. Прошивка Cyanogenmod 13.
 
  • Нравится
Реакции: <~DarkNode~>

Dr.Lafa

Green Team
30.12.2016
507
1 049
BIT
0
Спасибо за статью!

У кого-нибудь были проблемы с root-правами при использовании?

1. Чтобы, к примеру, установить Metasploit, необходимо запустить .sh скрипт. С обычными правами просит root. Если дать рут при помощи tsu и попробовать запустить скрипт, получаю "Permission denied". Это происходит не только при запуске скрипта .sh, но и при обычных командах шелла, типа ls.
Для использовать root, нужен root на телефоне
 
  • Нравится
Реакции: <~DarkNode~>

Urfin--Juice

Gold Team
14.11.2017
203
74
BIT
0
Для использовать root, нужен root на телефоне
На телефоне выставлено " использование рут для приложений".
Полагаю без него и "tsu" бы не запустился...
[doublepost=1511434683,1511428192][/doublepost]
1. Чтобы, к примеру, установить Metasploit, необходимо запустить .sh скрипт. С обычными правами просит root. Если дать рут при помощи tsu и попробовать запустить скрипт, получаю "Permission denied". Это происходит не только при запуске скрипта .sh, но и при обычных командах шелла, типа ls.

С этим разобрался, вместо bash metasploit.sh я писал ./metasploit.sh. Но тем не менее root все-равно не дает хозяйствовать в каталогах... Но пока мне это и не нужно....
 
  • Нравится
Реакции: <~DarkNode~>

Urfin--Juice

Gold Team
14.11.2017
203
74
BIT
0
  • Нравится
Реакции: <~DarkNode~>

cherubot

Green Team
08.11.2017
40
19
BIT
0
Коллеги, есть тупой вопрос по подключению через ssh к девайсу. Сделал все по инструкции два ключа сгенерил на девайсе. Pub на ноуте. Думал putty лагает, поставил BitVise. Но при подключении все равно переключает с pybkey на password/kbdi и в логе

Код:
22:09:53.717 Started a new SSH2 session.
22:09:53.717 Connecting to SSH2 server 192.168.0.88:8022.
22:09:53.967 Connection established.
22:09:54.061 Server version: SSH-2.0-OpenSSH_7.6
22:09:54.061 First key exchange started. Cryptographic provider: Windows CNG (x86) with additions
22:09:54.381 Received host key from the server. Algorithm: RSA, size: 2048 bits, MD5 fingerprint: e9:26:f7:f2:21:a3:7d:75:73:c8:a7:c0:cd:29:ce:a8, Bubble-Babble: xobor-fytod-rytoh-ryded-lymev-ryped-rurek-mebom-hibod-tevig-vaxix, SHA-256 fingerprint: BjTnyULL97nG37XN/gsWGnJGxTwOKmc+owLiKoYFcU0.
22:09:54.612 First key exchange completed using diffie-hellman-group16-sha512. Session encryption and integrity: aes256-gcm, compression: none.
22:09:54.644 Attempting publickey authentication. Testing client key 'Global 1' for acceptance.
22:09:54.659 Authentication failed. The key has been rejected. Remaining authentication methods: 'publickey,keyboard-interactive'.
 

Urfin--Juice

Gold Team
14.11.2017
203
74
BIT
0
Есть кто ставил Nethunter через Termux?

Запускаю ./startkali, вижу вывод -
mkdir: cannot create directory /dev/net: Permission denied
и несколько строк вида ln: failed to create symlink... Permission denied

Root checker говорит рут на телефоне есть, да и SuperSU периодически уведомляет о предоставлении рут...

Какие еще нужны права??
 
N

NSIS

Есть кто ставил Nethunter через Termux?

Запускаю ./startkali, вижу вывод -
mkdir: cannot create directory /dev/net: Permission denied
и несколько строк вида ln: failed to create symlink... Permission denied

Root checker говорит рут на телефоне есть, да и SuperSU периодически уведомляет о предоставлении рут...

Какие еще нужны права??
Тоже с этим столкнулся. Попробуй bash startkali.sh
 

jonni_vu

Green Team
24.06.2017
43
8
BIT
0
не могу создать ssh тунель с н.буком. скопиривал publik_key в папку /.ssh/ в termux.
ssh root@<local.ip >
просит пароль, выдает ошибку при вводе.
в чем дело?
 
I

Illuminaria

Действительно полезная для начинающих статья, рассказывающая самые-самые основы работы с termux'ом.
Ну и выделила для себя несколько полезных моментов. Спасибо.
 

ghostphisher

местный
Grey Team
07.12.2016
2 602
3 413
BIT
0
не могу создать ssh тунель с н.буком. скопиривал publik_key в папку /.ssh/ в termux.
ssh root@<local.ip >
просит пароль, выдает ошибку при вводе.
в чем дело?


При генерации ключа на Пэррот, просили указать пароль, вот который указали и надо вводить при запросе от Термукс
 
N

NickNice

Какой ip нужно записывать в эту команду, и какой пароль там нужен? ssh-copy-id root@ip_address
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Какой ip нужно записывать в эту команду, и какой пароль там нужен? ssh-copy-id root@ip_address
Тот к которому тебе нужен доступ по ссх.
Даная команда при успешном логине копирует твой паблик ссх кей на удаленный хост.
 
  • Нравится
Реакции: rainS и id2746
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!