Статья Код Доступа Termux ч.5-я

Бесследная проверка существования email

Давайте ощутим азартные эмоции /владыки -a: проверив за 50 секунд существует ли у Codeby почта, например, на Яндексе и без отправки писем и лишних следов активности (относительно Codeby).

Для анализа разведданных нам понадобятся два инструмента: в связке с , которые присутствуют в репозитории Termux.

Код:
$ pkg install dig netcat-openbsd
#Проверка существования emai: codeby@protonmail.com
$ dig protonmail.com MX
<<>> DiG 9.16.11 <<>> protonmail.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35040
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;protonmail.com. IN MX

;; ANSWER SECTION:​
protonmail.com. 315 IN MX 10 mailsec.protonmail.ch.
protonmail.com. 315 IN MX 5 mail.protonmail.ch.

Нас интересует ANSWER SECTION с наименьшим (желательно) MX (5): «mail.protonmail.ch»

Подключаемся к Protonmail для отправки писем, по факту устанавливаем соединение только ради завладения метаинформацией о почте.
$ nc mail.protonmail.ch 25
#сервер вернул статус кода 200+, всё хорошо.
$ HELO aria.ru #откуда
$ mail from:<termuxsupersoft@aria.ru> #и кто мы такие
#сервер вернул статусы кодов 200+, всё хорошо
#запрашиваем информацию об интересующих нас email(s)
rcpt to:<snoopproject@protonmail.com> rcpt to:<codeby@protonmail.com> rcpt to:<hosebarero@protonmail.com> Сервер возвращает статусы:
«200+» почта существует
«500+» почта не существует

dig.png


Как видим из скриншота у меня и у Codeby имеется почта на Protonmail, а вот hosebarero ещё не обзавелся защищённой почтой на Швейцарских мощностях.

Аналогично проверяем и почту codeby@yandex.ru на Яндексе без уведомлений Codeby.


OpenSSH

В Termux имеется полноценный . Установим соединение со своим сервером во Франкфурте-на-Майне.

Код:
$ pkg install openssh $ alias connectsserver='ssh -i 'key.pem' login@ip -p 4001' #создадим alias, чтобы не вводить длинную команду каждый раз на подключение к серверу, все алиасы хранятся в «~./bashrc».
$ bash #чтобы alias сразу стал активным без перезапуска приложения
$ connectsserver #подключаемся и производим любые операции на сервере

openssh.gif


Обратите внимание: в качестве первой линии обороны у меня на сервере изменён стандартный , но боты всё равно ежедневно пытаются взломать защиту и ворваться в мою цитадель.

Давайте проверим наш 4001 порт в легендарном сканере, который занимает своё достойное место среди остальных пакетов Termux.

Код:
$ pkg install nmap $ nmap -p 4001 IP -Pn -A #сканирую IP/порт 4001 и пытаюсь определить, что на нём крутится
$ nmap 192.168.0.1/24 -sP #заодно и быстро проверю свою локальную сеть на подключенные устройства

nmap.png


Из скриншота (частично закрашенного для пущей важности ) видим, что портированный nmap сканер в Termux рабочий и информирует нас о том, что на сервере на открытом 4001 порту крутится ssh, а в локальной сети присутствует 5 устройств. Всё честно, продолжаем...

PDFTK

Этот пакет позволяет работать с документами в pdf-формате (обрезка, удаление страниц, склейка, что для хацкера — заурядно). Выделяющаяся функция в — это сброс пароля на права у pdf-файла: разрешение на печать; копи-паста текста; редактирование.

Код:
$ pkg install pdftk $ pdftk protec_doc.pdf input_pw output defen_doc.pdf #пароль на редактирование сброшен (не путать с паролем на открытие файла)

pdftk.png


Из минусов, размер пакета pdftk тянет зависимость cups под 300Мб, что как бы неприемлемо много. Это не единственный софт, который «не уважает» старозападную защиту PDF-формата. Например, в OS GNU/Linux стандартный просмотрщик просто игнорирует защиту прав на pdf документах, позволяя пользователю скопировать текст/распечатать документ, как-будто он и не был защищён.

Визуализация данных

— это непростой для работы пакет: cli-программа трассировки лучей, проще говоря, создание графики на основе данных. Созидать Огни святого Эльма мне не по плечу, но кое-чему я всё же научился: единственное применение povray-волшебства — это обработка gps/локации. На соревнованиях в которых участвую — оживляю ландшафт.

Код:
$ pkg install povray $ povray data.pov #data pov конфиг/данные, которые содержат gps-координаты; координаты затенения/осветления; srtm-высоты и другие параметры.

povray.png


povray1.jpg


(Примечание — изображение пришлось ужать потеряв качество, чтобы движок форума принял его).

Povray «оживил» -ландшафт (3d): низменности и высоты теперь видны на основе реальных -данных, зеленным наложен gps-маршрут (старт и финиш), синим контрольные точки (пункты питания на соревнованиях). А уж как потрясно петлять gps-треком среди 3d-гор воодушевляет автора на созидание отдельной статьи для спорт-сообщества.

Gnuplot

Одним из любимых инструментов у аналитиков для работы с графиками, который не требует навыков программирования, является ПО .

Код:
$ pkg install gnuplot $ gnuplot #откроем среду
$ set terminal png size 1440, 720 #настроим будущее разрешение графика под смартфон
$ set output "storage/downloads/graph.png" #сохраним будущий график в общедоступном каталоге
$ plot sin(x) #простейший пример построения графика.

В каталоге «Download» появится картинка синус: graph.png

gnuplot.png


Plantuml

В первой части этой статьи я приложил блок схему «Код Доступа Termux» и написал, что она была создана в Termux. Приложенная блок схема была создана в .

Код:
$ pkg install plantuml
$ nano storage/shared/Download/plan
Код:
# Codeby
@startmindmap
scale 1480*740
title Создано в Termux
*[#lightgreen] **Termux**
** Мультимедиа
***_ mp3splt
***_ cmus
***_ cava
***_ ffmpeg
***_ <s>youtubedr</s> => yt-dlp
***_ cava
** Парсинг данных
***_ curl..wget
***_ примеры
** Автобэкап данных
***_ rclone
***_ 7-zip
***_ cronie
** Работа с письмами
***_ mutt
** OSINT
***_ check_emails(s)
***_ check_account(s)
left side
** Программирование на Android
***_ python..brainfuck
** Сравнение пакетов
***_ html2texl*
***_ links
** Пентест
***_ снифинг
***_ скан
***_ брутфорс
***_ дамп
***_ фишинг
** Системное администрирование
***_ chattr..nethogs
** Пользовательское ПО
***_ yaspeller
***_ povray
***_ gnuplot
***_ plantuml
***_ steghide
***_ gpg
***_ tor
** <&people>Установка и настройка среды
***_ pkg...proot-distro
@endmindmap

$ plantuml storage/shared/Download/plan #в каталоге “загрузки” появится наша блоксхема

Plantuml на RU.

Проверка цифровых gpg/pgp подписей в CLI

Для проверки цифровых подписей пользователю необходимо иметь установленный пакет; data (данные, которые требуется проверить); data.sig (подпись data-данных) и публичный ключ того, чьи данные мы проверяем.

Код:
$ pkg install gpgv gnupg
$ curl -s https://raw.githubusercontent.com/snooppr/snoop/master/PublicKey.asc | gpg --import - #импортируем публичный ключ «PublicKey»
$ gpg --output .gnupg/test-key --export 076DB9A00B583FFB606964322F1154A0203EAE9D #сохраняем ключ по отпечатку именно в каталог «.gnupg», это особенность Termux ссылаться на ключи в этом месте.
$ gpgv --keyring test-key storage/downloads/file.sig storage/downloads/file #проверяем подписанные данные, сначала указываем ключ, далее подпись и данные.

gpg.png


Аллилу е-е-еа, из скриншота видим, что подпись успешно прошла проверку/валидная, данные не повреждены и не скомпрометированы.

Защита данных от случайного и явного удаления или редактирования (требуется root)

Видел на различных форумах, как пользователи часто жаловались на проблему: когда сеть вдруг переставала работать в Parrot и пд. дистрибутивах. Проблема иногда заключается в перезаписи динамического файла /etc/resolv.conf после перезагрузки ПК. Чтобы решить эту проблему достаточно повесить бит неизменяемости на resolv.conf и файл больше не будет никем перезаписан до снятия бита. Так как Android — это часть Linux, то попробуем повесить бит из Termux на данные которыми мы дорожим, например, фотки/кэш приложения/любая_data чтобы случайно их не удалить, например, в ходе автоочистки каким-нибудь ПО/скриптом/экспериментом.

Код:
$ tsu $ chattr +i storage/downloads/test/Прослушка.\ Перехват\ информации.pdf # повесил защитный бит на pdf-документ

Пробуем удалить pdf-документ

TC.png


Работает! А то..

Снять защитный бит:
$ chattr -i storage/downloads/test/Прослушка.\ Перехват\ информации.pdf #после этой операции файл может быть удален/перемещён.
chattr поддерживает рекурсию и можно защищать целые каталоги с вложениями. Я нахожу эту фишку одной из самых полезных в Termux и активно её использую.

Скачивание видеороликов с YouTube

Для скачивания видеороликов с самого популярного видеохостинга у Termux имеется пакет «youtubedr»

Код:
$ pkg install youtubedr #установка пакета
$ mkdir storage/downloads/ролики #создание каталога «ролики»
$ cd storage/downloads/ролики # переход в каталог, куда будет скачан ролик
$ youtubedr download url_ролика #закачать ролик

Под конец 2021 года скорость закачки youtube-dl и производных форков обрезана до 70 Кб/с. Популярнейший проект кажется заброшен самим разработчиком. Проблема объединяющая форки описана здесь. Кратко — разработчик наконец-то занялся своими бытовыми делами.
Киберпанки не любят мериться с потерями (особенно с тем свободным ПО, которое являлось резонансным) и создают рабочие форки. Следуем за тенденциями: форк yt-dlp с которым на сегодняшний день всё в полном порядке.

Код для Termux немного отличен от кода установки на Github:
$ wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O ../usr/bin/yt-dlp #скачиваем скрипт
$ chmod a+rx ../usr/bin/yt-dlp #разрешаем его исполнение
$ bash $ yt-dlp url_ролика

yt-dlp.png


Синтаксис у скрипта схожий с прошлыми форками, однако ролики скачиваются с существенным быстродействием.

Преимущество Yt-dlp: например, можно скачать (несколько Мб) фрагмент ролика в любом качестве с определённой метки времени до заданной его длины без необходимости полной, предварительной загрузки многочасовго видео на своё дисковое пространство (в Гб/сотни Мб).
Bash:
yt-dlp --downloader ffmpeg --downloader-args "ffmpeg_i:-ss 01:09:57.00 -to 01:11:37.0" "https://www.youtube.com/watch?v=RRo3e-M2XO8" -f "134+139" #скачать за пару сек. отрывок с ютуба в ~5Мб/360p с отметки времени, когда АБВГАТ ругается по делу
yt-dlp url_ролика -F #проверить все доступные форматы ауудио/видео для загрузки

Из-за авторских прав прикладываю не сам отрывок, а ссылку с таймингом на метку времени:
Для такой хитрой операции требуется "ffmpeg" см.ниже.


Создание gif в Termux

В начале статьи я написал, что все gif созданы в Termux. Вот как легко создавать анимацию в CLI.

Код:
$ pkg install ffmpeg #установка популярнейшей кроссплатформенной библиотеки для редактирования/работы с аудиовизуальными данными
$ ffmpeg -i "/storage/emulated/0/Movies/chess.mp4" -r 15 -vf scale=480:-1 "/storage/emulated/0/Movies/chess.gif" # указываем входной видео-файл, выбираем качество 15 кадров/с, понижаем разрешение по ширине до 480p, а по вертикали автоподгон, сохраняем в gif. chess.gif — gif из второй части данной статьи.

ffmpeg.png


Нарезка mp3

Меня до сих пор непритворно удивляет ситуация с отсутствием нужного миру приложения для OS Android: на всех OS кроме Android имеются GUI-инструменты для того чтобы нарезать один большой mp3-файл на множество мелких с заданными параметрами (например частями по 20 мин. или, например, на 9 частей) Такие big-файлы встречаются всюду, например, аудиокниги в TG одним файлом, лекции и т.д. Я не смог найти ни одного приложения на Android решающих эту простейшую задачу, но нашёл и использовал всю ту же кроссплатформенную библиотеку на Termux, которая всё может: « ».

Код:
$ pkg install mp3splt $ mp3splt -S +20 -o +@n storage/downloads/Семинар\ rt.mp3 #нарезка многочасового «Семинар tr.mp3» на 20 одинаковых частей (можно, например, нарезать не на 20 частей, а нарезать по времени, например, каждую часть по 10мин, а последнюю с остатком).

mp3splt.png


Аудиомания в Termux

В Termux иногда люблю послушать радиоспектакли/аудио рассказы (онлайн).
Для прослушки музыки/радио в CLI необходимо установить два пакета и графический эквалайзер (необязательный пакет).

Код:
$ pkg install pulseaudio cmus cava $ cmus #запуск cli-аудиоплеера

Для добавления музыки/радиостанций в библиотеку код:
$ :add sdcard/music_path #разовая операция добавления треков в библиотеку
$ :add url_потока_radio #приятная особенность плеера он умеет воспроизводить онлайн радио потоки (https). .
$ :clear #если что-то пошло не так, например, музыка была удалена или перемещена из music_path, то очищаем библиотеку.

Управляется стрелками и клавишей «Tab», один из главных неприятных нюансов у плеера — это проигрывание одного трека и остановка (без автовоспроизведения следующей композиции). Настроить автовоспроизведение на плеере — нажать латинскую заглавную букву «С», удалить радиостанцию — «D».

cmus.gif


Для пафосного воспроизведения музыки как на скрине: экран разделён по горизонтали, в верхний его части — плеер, в нижней — пульсирующий эквалайзер код:
$ pkg install screen #установка физического терминала между несколькими процессами (аналог Tmux)
$ screen
$ cmus #запуск плеера
"ctrl+a+S" #разделить экран по горизонтали"
"ctrl+a+tab"; "ctrl+a+с" #перейти в нижний экран и активировать его (дальнейшие переключения между верхним и нижним CLI "ctrl+a+tab")
$ cava #запуск эквалайзера

Для обычного воспроизведения аудио код:
$ cmus

Системное администрирование

На Android 9+ разработчики транснациональной корпорации добавили новую функцию: «персональный dns-сервер» (настойки --> сеть и интернет --> дополнительно --> персональный dns-сервер) усилив защиту пользователя. Вот пример, как работает Android по умолчанию без активации «персонального dns».

Код:
$ pkg install tcpdump dnstop #для установки этих пакетов требуется root
$ tsu
$ tcpdump -pni wlan0 53 #снифим запросы dns
$ dnstop wlan0 --> 2 #снифим запросы dns, но более компактно

tcpdump1.png


На скриншоте один и тот же dns-поток, слева — tcpdump, справа — dnstop. CLI-сниферы информируют, что пользователь искал в поисковых системах «Github»; «Codeby» и заходил на их сайты.

Настройка персонального dns-сервера: настройки --> сеть и интернет --> дополнительно --> персональный dns сервер --> имя хоста поставщика «dns.google».
Настроив персональный dns-сервер — на 53 порту будет чисто, то есть снифить трафик уже не получится. Проэкспериментируем это утверждение.

tcpdump2.png


Вся защищенная DNS-движуха отображается уже не на 53 порту, а на 853 порту, что говорит нам об использовании пользователем .

Надеюсь вы поняли о чём речь и настроили свой персональный dns-сервер.

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

Код:
$ pkg install nethogs #требуется root
$ tsu $ nethogs

nethogs.png


В нижнем правом углу играет клип с YouTube, поэтому видим и активность антирекламного YouTube-приложения ; параллельно сёрфю в DDG-браузере, ну и в фоне TG высаживает батарею. Такая слабая активность приложений обусловлена тем, что ради экономии заряда батареи я приручил ПО на своём смартфоне (мне помогли root-права + свободная прошивка). Из минусов, в качестве расплаты по классике — куча багов OS, к которым просто подстраиваешься.

Техническая информация о текущем соединении

Код:
$ pkg install wavemon #требуется root
$ wavemon

wavemom.png


Запускаем и управляем TOR-сетью

Специально для портала Codeby не так давно я создал подробное видео по настройке и управлению TOR-сетью.

Код:
$ pkg install tor proxychains-ng python && pip install nyx
Расшарить (удалить символ '#') ControlPort 9051 в "/data/data/com.termux/files/usr/etc/tor/torrc"
Пакет tor — служит для запуска соединения пользователя с сетью Tor, пакет nyx - управляет соединением Tor, пакет proxychains направляет выбранные утилиты через сеть Tor.


Подробнее что на видео (см. тайм коды под описанием ролика на самом YouTube).

Управляем OS Android на уровне процессов

Завершает обзор данной статьи хедлайнер-пакет: Htop (требует root)

Htop — это системный cli-монитор, позволяющий в т.ч. мониторить, выявлять, уничтожать любые подозрительные и непослушные дочерние/процессы в парку касаний. Из минусов, htop не поддерживает мониторинг нагрузки дисковой подсистемы ( ), что является одним из важных параметров наблюдения в системе.

htop.png


Остальные утилиты Termux, которыми я пользуюсь, но не требуют, с моей точки зрения, ревью: ; ; ; ; ; ; silversearcher-ag

Некоторые полезности

Код:
создание alias иным способом, отличным от вышеописанного способа.
$ printf "alias his='history | grep -i '" >>.bashrc $ printf "alias ipls='curl ipinfo.io/ip'" >>.bashrc $ Bash && alias #проверка всех alias в среде

По команде "ipls" пользователь узнает свой внешний ip-адрес, а по команде "his ключ.слово" пользователь узреет все команды которые он вводил в терминал.

$ am start --user 0 -a android.intent.action.VIEW -d content://com.android.externalstorage.documents/document/primary%3Aкаталог%2Fкатлог%2Fфайл%2F #откроет из Termux стандартное приложение просмотрщик файлов перейдя в каталог. Аналогично можно из Termux запускать браузер с переходом по ссылке и п.д..

$ ctrl + d #выход из терминала.

Кроме всего вышеописанного, Termux популизирует т.к. в нём немало unix-утилит, что является хорошей тренировочной базой для изучения GNU/Linux пользователями новичками со своего Android девайса. Если после прочтения статьи читатели больше не считают Termux лишь жалкой обвязкой над busybox, то мой план по лоббированию Termux в массы — сработал.

ФИНИШ.gif


Предыдущие части:
Часть 1-я
Часть 2-я
Часть 3-я

Часть 4-я
 
Последнее редактирование:
Мы в соцсетях:

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