Меню Kali Linux: восстановление, добавление и изменение программ

Меню Kali Linux: восстановление, добавление и изменение программ

@Torchik_Ru

Особенностью Kali Linux как дистрибутива для тестирования на проникновение является коллекция специализированных инструментов. Все эти инструменты собраны в меню.

Меню Kali Linux хорошо структурировано, программы разбиты на группы, некоторые из которых имеют свои подгруппы, популярные программы собраны в список избранных и т.д. – всё очень красиво. Очень красиво и, на самом деле, совершенно бесполезно, поскольку большинство инструментов – это утилиты командной строки, которые нужно запускать с набором опций. Кликая на название инструмента в меню, вы просто открываете справку для этого инструмента. Даже программы с графическим инструментом намного (!) быстрее запускать из консоли: достаточно начать набирать имя программы и использовать клавишу TAB для автозавершения. Таким образом программу можно запустить буквально за 2-3 секунды, в отличии от меню, в котором нужно вспомнить раздел, возможно, перейти в подраздел и там уже найти нужную программу.

Тем не менее, меню есть и, наверное, им кто-то пользуется. Эта заметка для них. В этой статье мы научимся создавать новые пункты меню, добавлять и удалять программы из меню.

Но прежде чем начать, мы научимся восстанавливать меню Kali Linux – на тот случай, если что-то пойдёт не так.

Как восстановить меню Kali Linux

Если вы поломали меню своей операционной системы, либо просто хотите всё вернуть к исходному состоянию, то воспользуемся инструкцией, которую написал ещё сам Blackmore:

Полностью удаляем вместе с настройками пакет kali-menu:

sudo apt remove --purge kali-menu && sudo apt clean

Удаляем папки, где могли остаться пользовательские ярлыки и конфигурационные файлы:

sudo rm -rf .local/share/applications
sudo rm -rf .config/menus
sudo rm -rf /usr/share/kali-menu/applications
sudo rm -rf /etc/xdg/menus/applications-merged

Перезагружаемся

sudo reboot

Вновь устанавливаем kali-menu:

sudo apt install kali-menu -y

К следующему шагу переходим только есть прооблема ещё не решилась.

Повторно устанавливаем kali-linux-full:

sudo apt install kali-linux-full -y

Программы для редактирования меню Kali Linux

Имеется две программы, которыми можно отредактировать меню: menulibre и alacarte. Можете установить их обе или только одну из них:

sudo apt install menulibre alacarte

В этой инструкции я будут изменять меню при помощи alacarte. Если вы захотите выбрать menulibre, то чтобы она заработала от пользователя root откройте файл /usr/lib/python3/dist-packages/menulibre/MenulibreApplication.py:

gedit /usr/lib/python3/dist-packages/menulibre/MenulibreApplication.py

Найдите там строку:

root = os.getuid() == 0

И замените на

root = False

Как в меню Kali Linux добавить или удалить ярлык или раздел

Запустите alacarte:

alacarte

У программы графический интерфейс, поэтому, надеюсь, разберётесь без меня.

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


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

Программы для анонимности в Kali Linux

Чтобы сделать меню более функциональным, я добавлю новый раздел «Анонимность». В этот раздел мы добавим такие программы как:

  • Tor Browser — является полностью настроенным и портативным браузером, для просмотра веб-сайтов через сеть Tor.
  • TorIptables2 — это анонимайзер, который настраивает iptables и tor для перенаправления всех служб и трафика, включая DNS, через сеть Tor
  • autovpn — это инструмент для автоматического подключения к случайному VPN в стране по вашему выбору.

Все эти программы не только отсутствуют в меню, но и ещё отсутствуют в системе, поэтому для их установки выполняем:

temp="$(curl -s https://www.torproject.org/download/download-easy.html.en)"; temp2='https://www.torproject.org'`echo "${temp}" | grep -E -o '[A-Za-z0-9/_.-]+[.]tar.xz' | head -n 1 | sed 's/..//' | sed 's/en-US/ru/'`; wget -O tor-browser-linux64.tar.xz "$temp2"; tar xvfJ tor-browser-linux64.tar.xz; rm tor-browser-linux64.tar.xz; sudo mv tor-browser_ru/Browser/ /opt/; rm -rf tor-browser*; sed -i 's/id -u/echo 1/' /opt/Browser/start-tor-browser; chown -hR root /opt/Browser/
sudo apt install tor
git clone https://github.com/ruped24/toriptables2
cd toriptables2/
sudo mv toriptables2.py /usr/local/bin/
cd ..
rm -rf toriptables2/

Откройте файл .bashrc в директории пользователя любым текстовым редактором:

gedit ~/.bashrc

И для создания новых переменных окружения добавьте следующие строки в этот файл:

export GOPATH=/home/git/go
export GOROOT=/usr/local/src/go
export PATH=${PATH}:$GOROOT/bin

Продолжаем:

source ~/.bashrc
wget `curl -s https://golang.org/dl/ | grep -E -o 'https://[a-z0-9./]{5,}go[0-9.]{3,}linux-amd64.tar.gz' | head -n 1`
tar zxf go*.linux-amd64.tar.gz
sudo mv go $GOROOT
sudo apt install openvpn
git clone https://github.com/adtac/autovpn
cd autovpn
go build autovpn.go
sudo mv autovpn /usr/local/bin/
cd ..
rm -rf autovpn/

Ну наконец-то всё!

Теперь создаём меню 00 – Анонимность:

Если хотите, выберите какую-нибудь иконку, например, много иконок в папке /usr/share/icons/hicolor/256×256/apps/ или просто побродите по папкам /usr/share/icons/ или (самое простое) нагуглите.

Теперь выбираем созданный пункт меню и нажимаем «Создать элемент». Там в качестве имени вводим «Браузер Tor» в качестве команды:

sh -c "/opt/Browser/start-tor-browser"

В качестве иконки выберите /opt/Browser/browser/chrome/icons/default/default48.png

Наш первый раздел и первый ярлык появились в меню:

Если на него кликнуть, то мы увидим… браузер Tor:

Мы, конечно, уже молодцы, но мы ещё не закончили.

С помощью TorIptables2 мы можем выполнять такие действия как:

  • подключиться к сети Tor и пропустить весь трафик ОС через эту сеть
  • отключиться от Tor

Поэтому мы не просто создаём ярлык на программу, а делаем ещё одно меню в разделе Анонимность. Это меню назовём TorIptables2.

Переходим в TorIptables2 и выбираем там «Создать элемент». В качестве имени вводим «Запуск TorIptables2», в качестве команды:

sh -c "sudo systemctl restart tor;sudo toriptables2.py -l;${SHELL:-bash}"

Поставьте галочку «Launch in Terminal».

Теперь «Создать элемент», имя – «Проверить IP адрес», команда

sh -c "curl suip.biz/ip/;${SHELL:-bash}"

Поставьте галочку «Launch in Terminal».

Важно, чтобы IP менялся и для консольных приложений, поскольку большинство инструментов Kali Linux это именно консольные утилиты. Предыдущая команда проверяет, будет ли скрыт истинный IP при работе программ с интерфейсом командной строки.

Теперь «Создать элемент», имя – «Сменить IP адрес», команда

sh -c "sudo kill -HUP $(pidof tor)"

Поставьте галочку «Launch in Terminal».

Теперь «Создать элемент», имя – «Отключить TorIptables2», команда

sh -c "sudo toriptables2.py -f; sudo systemctl stop tor;${SHELL:-bash}"

Поставьте галочку «Launch in Terminal».

Получается так:

Теперь в раздел Анонимность добавим autovpn. Если указать двухбуквенный код страны, то autovpn будет искать бесплатный VPN из этой страны. Поэтому создадим меню autovpn, а в нём несколько элементов, где мы будем запускать программу с разными опциями. Пример команд:

Если не указать страну, то будет искаться VPN из США:

sh -c "autovpn"

Для поиска VPN из Японии:

sh -c "autovpn JP"

Для поиска VPN из Таиланда:

sh -c "autovpn TH"

Для поиска VPN из РФ:

sh -c "autovpn RU"

Везде поставьте галочку «Launch in Terminal». Конечно, вы можете добавить любое количество ярлыков с любыми странами

После того, как TorIptables2 завершит работу, это окно можно закрыть, программа всё равно будет работать. Для отключения TorIptables2 мы создали отдельный ярлык. autovpn работает иначе: не нужно закрывать окно, чтобы программа не прекратила свою работу. Если вы хотите прекратить использование VPN, то нажмите CTRL+c и закройте окно.

Небольшое видео, где я демонстрирую только что созданные в меню анонимские причиндалы:

Добавление airgeddon и WiFi-autopwner в меню Kali Linux

Ещё парочка примеров добавления программ в меню. Установим airgeddon и WiFi-autopwner в Kali Linux:

git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
mv airgeddon /usr/local/bin/
echo -e '#!/bin/sh\ncd /usr/local/bin/airgeddon\nexec bash airgeddon.sh \"$@\"' > /usr/bin/airgeddon
chmod +x /usr/bin/airgeddon
git clone https://github.com/Mi-Al/WiFi-autopwner.git
mv WiFi-autopwner /usr/local/bin/
echo -e '#!/bin/sh\ncd /usr/local/bin/WiFi-autopwner\nexec bash ./wifi-autopwner.sh \"$@\"' > /usr/bin/wifi-autopwner
chmod +x /usr/bin/wifi-autopwner

В раздел Wireless Attack добавляем элемент с именем airgeddon и командой:

sh -c "airgeddon"

Аналогично для wifi-autopwner, команда:

sh -c "wifi-autopwner"

Теперь эти программы можно запускать из меню:

Обновление Kali Linux из меню

В разделе System Services создайте меню • Обслуживание системы, и добавьте пункты:

«Обновление системы» с командой:

sh -c "sudo apt update && sudo apt full-upgrade -y; ${SHELL:-bash}"

«Очистка системы» с командой:

sh -c "sudo apt autoremove -y; ${SHELL:-bash}"

«Очистка кэша» с командой:

sh -c "sudo apt clean -y; ${SHELL:-bash}"

Везде ставьте галочку «Launch in Terminal».

Теперь эти ежедневные операции можно запускать прямо из меню:

Как составлять команды для ярлыков

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

sh -c "КОМАНДА КОТОРУЮ НУЖНО ЗАПУСТИТЬ"

Можно указывать несколько команд через точку с запятой (;), либо объединив их символами &&. В первом случае, каждая команда будет выполнена в любом случае. Если же вы сгруппировали команды при помощи &&, то каждая последующая будет выполнена только если каждая предыдущая завершилась без ошибки.

Если нам нужно, чтобы была показана консоль, то мы ставим галочку «Launch in Terminal».

Если вам нужно, чтобы терминал не закрывался после выполнения команды, то через точку с запятой добавьте ${SHELL:-bash}

Разберём, как мы установили airgeddon. Мы клонировали файлы с ГитХаба:

git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git

Затем переместили всю папку airgeddon в директорию /usr/local/bin/, чтобы она была доступна для всех пользователей системы:

mv airgeddon /usr/local/bin/

В принципе, на этом можно было остановиться. Для запуска airgeddon, нам нужно перейти в его папку:

cd /usr/local/bin/airgeddon

и выполнить там

bash airgeddon.sh

Т.е. в ярлык мы могли добавить последовательность команд:

cd /usr/local/bin/airgeddon && bash airgeddon.sh

Этого достаточно для запуска airgeddon через меню.

Но мы выполнили две дополнительные команды:

echo -e '#!/bin/sh\ncd /usr/local/bin/airgeddon\nexec bash airgeddon.sh "$@"' > /usr/bin/airgeddon

Эта команда попросту создаётся файл /usr/bin/airgeddon со следующим содержимым:

#!/bin/sh
cd /usr/local/bin/airgeddon
exec bash airgeddon.sh "$@"

А команда

chmod +x /usr/bin/airgeddon

делает файл /usr/bin/airgeddon исполнимым.

Фактически, это небольшой Bash-скрипт, который включает в себя последовательность из двух команд. Команда cd /usr/local/bin/airgeddon переносит нас в папку /usr/local/bin/airgeddon, а команда exec bash airgeddon.sh "$@" запускает нужный файл.

 Благодаря своему расположению в папке /usr/bin/, мы можем его запустить из любой директории просто введя

airgeddon

Это более «красивый» способ установки – команда в меню получилась проще, и если мы заходим запустить airgeddon из консоли без использования меню, то мы просто набираем слово airgeddon (кстати, можно использовать автозавершение по TAB).

Заключение

В меню можно добавить разные часто повторяющиеся операции, добавить команды управления сервисом Tor, запуск и остановку веб-сервера и MySQL, команду для перевода Wi-Fi карты в беспроводной интерфейс, ярлыки на самостоятельно установленные программы и т.д.

Если у вас возникает проблема с написание команды запуска для ярлыка, то пишите ваши вопросы в комментариях – постараюсь помочь.

Связанные статьи:


Report Page