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

Особенностью 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 и закройте окно.

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

Кстати, у меня ведь есть YouTube-канал с собственным URL: youtube.com/АлексейМилосердов

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

Добавление 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 карты в беспроводной интерфейс, ярлыки на самостоятельно установленные программы и т.д.

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

Рекомендуется Вам:

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

  1. Velizar:

    Доброго времени.Ранее устанавливал все вышеописанное и пользовался,очень привык действительно удобно.Но пришлось переустановить кали и при попытке снова настроить-запустить toriptables2.py:вылезают ошибки

    sudo: toriptables2.py: command not found

    причина наверное в этом

    При обработке следующих пакетов произошли ошибки:
     python-twisted-core
     python-twisted
     dnmap
     python-twisted-web
     sslstrip
     python-faraday
     kali-linux-full
    Как исправить не знаю перечитал кучу форумов по аналогичным ошибкам dpkg dpkg: ошибка при обработке пакета python-twisted-web (--configure):
     проблемы зависимостей — оставляем не настроенным

    dpkg: ошибка при обработке пакета sslstrip (--configure):
     проблемы зависимостей — оставляем не настроенным и тд…

    Разные варианты пробовал не побеждается ни как подскажите пожалуйса в чем трабл
     

  2. Добрый день , установил alacarte в Kali Linux

    при запуске выдает вот такую вот ошибку:

    alacarte
    /usr/share/alacarte/Alacarte/MainWindow.py:22: PyGIWarning: GMenu was imported without specifying a version first. Use gi.require_version('GMenu', '3.0') before import to ensure that the right version gets loaded.
      from gi.repository import Gtk, GdkPixbuf, Gdk, GMenu
    
    (alacarte:2240): Gtk-CRITICAL **: 11:06:20.891: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed
    
    (alacarte:2240): Gtk-CRITICAL **: 11:06:20.891: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed

    хотя графический интерфейс и запускается , но добавить МЕНЮ не удается

    погуглил , но не нашел понятного решения … пока слабоват и знаний маловато

  3. Alexey Alexey:

    Приветствую! При добавлении нового элемента он «падает» вниз текущего раздела меню. Пустые разделы без программ не показываются. Возможно, вы просто не туда смотрите?

    Я только что проверил — у меня появляются эти же самые сообщения о критической ошибке, но как можно увидеть на скриншоте, ярлык добавился в программе и появился в меню:

  4. я так понимаю GTK версия не та ?
    вот проверил , что у меню установлено:

    dpkg-query -W libgtk-3-bin
    libgtk-3-bin    3.24.5-1

     

    а прога просит версию 3.0 , то-есть более старую

  5. Проверил , но ничего не добавляет,

    еще вот такая вот ошибка есть:

    (alacarte:3543): Gtk-CRITICAL **: 12:12:39.356: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed

    (alacarte:3543): Gtk-CRITICAL **: 12:12:39.356: gtk_accel_label_set_accel_closure: assertion 'gtk_accel_group_from_accel_closure (accel_closure) != NULL' failed

     

  6. Alexey Alexey:

    Первая строка — это просто предупреждение, в нём же уже содержится и ответ, что нужно сделать:

    открыть файл /usr/share/alacarte/Alacarte/MainWindow.py:

    gedit /usr/share/alacarte/Alacarte/MainWindow.py

    И перед строкой

    from gi.repository import Gtk, GdkPixbuf, Gdk, GMenu

    добавить строку

    gi.require_version('GMenu', '3.0')

    После этого первое предупреждение исчезнет.

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

    Возможно, у вас какие-то особенности системы? Например, окружение рабочего стола не GNOME, а что-то другое?

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

  7. спасибо первая ошибка ушла …

    у меня окружение Cinnamon , наверное поэтому и не добавляет пункты МЕНЮ,

    элементы добавляет , но только в пункт меню Usual Application ---> Прочие
    ну ничего и так сойдёт …

    очень хорошая темка … так держать … скоро поддержу проэкт материально ,

    полезное дело делаете Алексей …

  8. сделал все вручную:

    к примеру добавляю пункт меню в Wiress Attacks

    создаю файл kali-airgeddon.desktop в папке /usr/share/application

    вписываю туда:

    [Desktop Entry]
    Name=airgeddon
    Encoding=UTF-8
    Exec=sh -c "cd ~/airgeddon && sudo bash airgeddon.sh ; ${SHELL:-bash}"
    
    # папка проги находится в /Home/airgeddon
    
    Icon=kali-fern-wifi-cracker.png
    StartupNotify=false
    Terminal=true
    Type=Application
    Categories=06-wireless-attacks;

    даю права на запуск 644

    все арбайтен , вот только может быть немного безграмотно строка запуска:

    Exec=sh -c "cd ~/airgeddon && sudo bash airgeddon.sh ; ${SHELL:-bash}"

    если , что подправьте

    p.s. файл можно сохранять в архиве и после переустановки системы легко восстанавливать …

  9. Alexey Alexey:

    Мне нравится такой подход — я когда только начинал писать эту статью, если мне не изменяет память, именно о ручном создании и редактировании файлов и хотел написать — по крайней мере, я изучал структуру файлов, которые отвечают за меню. Но что-то пошло не так: то ли я сам запутался, так как файлы меню в Kali находятся в трёх или более разных местах, то ли я подумал, что это будет сложно для других, но в конце концов я остановился на готовых программах.

    Возможность сделать архив — это супер, вот я сменил систему и мне лень заново настраивать меню даже по этой статье smiley

  10. привет Алексей,

    пока вот нашел две директории хранения файлов МЕНЮ Application:

    /usr/share/kali-menu/applications

    /usr/share/applications

    но вот при создании пункта МЕНЮ с помощью Alacarte , в пункте прога закинула в Usual Application , но в выше указанных папках не нашел файла , у меня оболочка Cinnamon и вполне

    возможно , что проблема в этом ….

    структура файла простая , за место размещения отвечает последняя строка Categories

    пошарив по паре файлов все станосится ясно ....

    изучаю далее , будет интересная инфа , обязательно выложу здесь

    спасибо за статью …

     

     

  11. сегодня попробовал поиграться со второй прогой menulibre

    в окружении cinnamon , прога вообще испортила все меню,

    снёс все по вашей инструции:

    sudo apt remove --purge kali-menu && sudoapt 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

    после ребут переустановил:

    sudo apt install kali-menu -y

    и о чудо! мои вручную добавленные пунктики остались нетронутые!!!

    так , что ручные  пунктики рулят!

  12. все понял почему они остались!
    я работаю не в root (обычный пользователь в cinnamon) и являюсь владельцем файлов , хотя в названии есть типа kali-argeddon.desktop

    файлы остались на месте , так как удаление МЕНЮ было от root

     

     

  13. нашел наконец-то пункт меню AUTOVPN (file.desktop) , который сделал alacarte , название:

    alacarte-made-2.desktop

    при просмотре файловым менеджером название файла показывается по NAME внутри файла , тоесть как AUTOVPN …..

     

Добавить комментарий

Ваш e-mail не будет опубликован.