Как сделать свое приветствие в termux

Обновлено: 05.07.2024

Мы поговорим о возможностях Termux и его настройки с точки зрения пентестера.

Что же такое Termux? И что он умеет ?

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

Cправка об Termux

  • Поиск пакета по репозиторию (pkg search php)
  • Установка пакетов из репозитория (apt install package_name "например apt install wget" )
  • Вывести информацию о пакете (pkg show curl)
  • Посмотреть список пакетов (pkg list-all)
  • Установка .deb (dpkg -i ./file.deb pkg или install ./file.deb)
  • Другие пакетные менеджеры c которыми умеет работать termux:NodeJS (npm)
  • Perl (cpan)
  • Python (pip)
  • Ruby (gem)
  • Texlive (tlmgr)
  • ITS_Pointles - пользовательский репозиторий на базе GitHub, включающий в себя scipy, gcc-7, r-cran (R language), octave, rustc cargo, gfortran. Для того что бы добавить репозиторий :
  • (Этот скрипт устанавливает gnupg на ваш телефон, после загружает и добавляет публичный ключ к вашему keychain)
  • Auxilus - пользовательский репозиторий , который содержит некоторые самописные утилиты

echo "deb [trusted=yes] https://Auxilus.github.io/files termux extras" >> $PREFIX/etc/apt/sources.list

cocodevienne - пользователи размещают свои скрипты на Python (cliclac enigma nox pitspy telly)

Что бы добавить :

echo "deb [trusted=yes] http://cocodevienne.gitlab.io/aptpackages/termuxpackages termux extras" >> $PREFIX/etc/apt/sources.list

Настройка Termux

Приступим к настройке базового инструментария.

Обновимся и поставим tsu (Termux SU), если захотим поставить Java - придется воспользоваться root доступом.


Установим OpenSSH

Termux может работать как в режиме сервера так и в режиме клиента по протоколу SSH.

Termux не поддерживает парольную аутентификацию по SSH и по этому генерируем SSH ключи


Запуск ssh-сервера осуществляется командой sshd после чего на порту 8022 открывается порт для подключения.

Чтобы подключиться к телефону по SSH необходимо добавить ssh публичный ключ нашей хостовой машины (в моем случае это Windows, ключ был создан в программе BitVise-SSH) в файл ~/.ssh/authorized_keys.

termux

Мы уже рассказывали, как сделать хакерский смартфон с помощью Termux и Kali. Сегодня я покажу как устанавливать пакеты в Termux.

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

Как установить пакеты в Termux

Установить Termux можно разными способами, самый простой — из Google Play.

Теперь установим некоторые важные базовые инструменты, которые необходимы для установки пакетов.

Обновление pkg

Установка всех необходимых версий Python

Установка pip

Установка git

Установка wget

Установка пакетов в Termux

Можно приступать к работе и устанавливать пакеты в Termux. За установку пакетов отвечает команда pkg install .

Удаление пакетов из Termux

С помощью следующей команды, вы можете удалить пакеты из Termux.

Пакет будет удален, но останутся файлы конфигурации. Если нужно их удалить, используйте команду apt purge .

Команда List отобразит все установленный пакеты.

Обновление пакетов в Termux

Перед установкой нового пакета настоятельно рекомендуется обновить установленные пакеты. Обновить пакеты можно с помощью команды:

Я рекомендую проверять наличие обновлений минимум раз в месяц или перед установкой новых пакетов.

Шпаргалка по командам

pkg autoclean Удаление устаревших файлов .deb из кеша.
pkg clean Удаление всех файлов .deb из кеша.
pkg files пакет > Список файлов, установленных указанным пакетом.
pkg list - all Список всех доступных пакетов.
pkg list - installed Список установленных пакетов.
pkg reinstall пакет > Переустановить пакет.
pkg search запрос > Поиск пакета.
pkg show пакет > Получение информации о пакете.

Репозитории Termux

Termux не поддерживает пакеты из репозиториев Debian, Ubuntu и других дистрибутивов Linux. Поэтому не пытайтесь поместить их в свой sources.list или вручную устанавливать файлы .deb.

Официальный репозиторий:

Неофициальные репозитории:

Репозиторий Команда добавления репозитория
Игровой pkg install game - repo
Обучающий pkg install science - repo
Для root pkg install root - repo
x11 пакеты (Android 7 и выше) pkg install x11 - repo
бета пакеты (Android 7 и выше) pkg install unstable - repo

На этом все. Теперь вы знаете, как устанавливать и управлять пакетами в Термукс.

termux services android

Многие продвинутые пользователи android зачастую так или иначе начинают работать с операционной системой так, как если бы они работали с обычным linux-дистрибутивом. Запущенный терминал, а иногда и ssh-сессия, использование линуксовых утилит, а иногда даже и запуск окружения рабочего стола. Запуск сервисов также является типовой задачей при таком использовании устройства. Под катом описываю, как запускать сервисы в termux на android.

Как это работает

Все сервисы внутри termux работают благодаря runit. Это замена стандартной системы инициализации, похожей на init. В некоторых дистрибутивах используется как родная система управления сервисами. Подробнее но в общих чертах о том что это такое можно прочитать здесь. А вот здесь находится вики-страница termux-services, это как раз то что потребуется.

Создание сервиса

Прежде всего необходимо установить пакет.

Далее необходимо создать каталог и файлы в нем, описывающие сервис. В моем случае каталог с описанием всех сервисов /data/data/com.termux/files/usr/var/service. Если посмотреть содержимое, там уже может находиться описание некоторых сервисов.

Создаем здесь папку с названием сервиса и переходим в нее.

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

Первая строчка в комментарии это путь к оболочке, далее сама команда.

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

Но в целом идея должна быть понятна: runit возмет именно этот файл за инструкцию как запускать сервис. Сохраняем изменения в файле и выходим (Ctrl+x и Enter). Далаем файл исполняемым.

И теперь можно запускать сервис

Если все прошло без ошибок (а если они будут вы увидите их в выводе), то процесс можно будет найти в списке

htop termux service android

Также рекомендую включить для termux блокировку от глубокого сна.

Необходимо подтвердить блокировку на самом устройстве (также как при подключении к ПК через ADB). Это для того, чтобы устройство не уходило в сон, а вместе с ним и все запущенные в окружении termux процессы.

ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план
Права доступа на файлы
chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:
4 – чтение (r)
2 – запись (w)
1 – исполнение (x)

Примеры:
chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.

Работа с SSH

ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user
ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file

Системная информация

date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
whoami – имя, под которым вы залогинены
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию

tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file

Сеть
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
dig domain – получить DNS информацию domain
dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачку

Читайте также: