badKarma: Продвинутый набор инструментов для сетевой разведки


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

Обычно это довольно типичный набор действий, который варьирует от обнаруженных на хосте запущенных сетевых служб. Поэтому уже есть разные инструменты автоматизации, которые могут просканировать диапазон сети и, например, запустить брут-форс найденных служб.

Я хочу рассказать об ещё одном инструменте — это badKarma.

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

Как установить badKarma

Установить badKarma очень просто. Но дело в том, что это всего лишь графическая оболочка для запуска инструментов. То есть вам нужно установить все инструменты, которые программа использует. Поэтому я рекомендую работать с badKarma в Kali Linux, в которой (почти) всё необходимое уже присутствует.

Для установки badKarma в Kali Linux выполните команды:

sudo apt install python3-pip python3-gi phantomjs mitmproxy ffmpeg gir1.2-gtk-vnc-2.0 gir1.2-gtksource-3.0 gir1.2-vte-2.91 gir1.2-osmgpsmap-1.0 gir1.2-webkit2-4.0 knockpy ncat gobuster
git clone https://github.com/r3vn/badKarma.git
cd badKarma
sudo pip3 install -r requirements.txt
chmod +x badkarma.py
./badkarma.py

Как пользоваться badKarma

Начните с того, что введите цель. Можно указать адрес сайта, IP адрес или диапазон IP адресов:

Также можно выбрать профиль сканирования. Доступны следующие варианты:

  • nmap_default — обычное сканирование с помощью Nmap,
  • nmap_intense_scan — интенсивное сканирование с Nmap, используются опции -T4 -A -v -oX
  • nmap_intense_scan_all_tcp — интенсивное сканирование всех TCP портов с Nmap, используются опции -p 1-65535 -T4 -A -v -oX
  • nmap_intense_scan_no_ping — интенсивное сканирование с Nmap без проверки, доступен ли хост (без пинга), используются опции -T4 -A -v -Pn -oX
  • masscan_full_tcp — полное сканирование с помощью Masscan, используются опции -p0-65535 —rate 10000 —banner
  • get-from-shodan — не проводить сканирование, а получить данные из shodan. Чтобы это работало, вы должны предварительно указать свой API ключ от shodan. В Kali Linux API ключ от shodan нужно прописать в файле ~/bin/badKarma/conf/shodan.conf. А в BlackArch API ключ от shodan нужно прописать в файле /usr/share/badkarma/conf/shodan.conf

Я в качестве цели добавлю локальную сеть, через которую выхожу в Интернет: 192.168.50.0/24

Результаты сканирования будут представлены в виде списка доступных хостов:

Если кликнуть на хост, то будут показаны открытые порты и запущенные сетевые службы:

Под списком запущенных служб располагается другая дополнительная информация (если она собрана) об операционной системе, расположении, MAC-адрес и прочее:

Теперь у нас два варианта: можно продолжить исследовать хост в целом, либо сосредоточится на его отдельных службах. Для просмотра доступных опций по работе с хостом, кликните на нём правой кнопкой мыши:


Там доступны различные виды сканирования с помощью Nmap, разные опции для поиска субдоменов, исследования DNS записей и другие способы получения информации по хосту.

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


Например, для SSH можно запустить брут-форс:

Можно запустить поиск эксплойтов с помощью nmap, searchsploit или sploitus:

В этом случае будет определён точный номер версии службы (если это не было сделано ранее) и для неё будет выполнен поиск эксплойтов по популярным базам данных.

Особенно много разных опций для веб-служб:

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

имеется WebSession (работает с mitmproxy):

Получаемые во время работы данные не просто выводятся на экран, но и сохраняются в файле сессии /tmp/badkarma.sqlite. Если вы хотите сохранить этот файл, то после завершения работы обязательно скопируйте его в безопасное место, так как папка /tmp автоматически очищается при каждой перезагрузке компьютера.


Также вы можете сохранить проект и загрузить ранее сохранённый проект.

Дополнительные подробности о работе с программой смотрите также здесь: https://kali.tools/?p=4273

Заключение

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

Программа находится в стадии активной разработки. В целом большая часть функционала работает, хотя некоторые команды не запускались из-за неправильно используемых опций, некоторые из-за их отсутствия в системе — даже в Kali Linux. Какие-то необходимые утилиты можно установить из стандартных репозиториев, но некоторые (например, dirsearch и WAFW00F) там отсутствуют и нужно самостоятельно их правильно установить (так, чтобы они были доступны для вызова по имени программы, а не по указанию пути до файла).

Удобно, что программа централизованно сохраняет полученные результаты.

Как можно понять при работе с программой, набор операций для каждой службы подбирается интеллектуально, в зависимости от вида службы. Если в этом списке не хватает какого-то вашего любимого инструмента, то это не является проблемой: badKarma является модульной программой и вы можете добавить свой собственный модуль.


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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *