Soft Chomp scan - Утилита которая помогает при пентесте

Доброго времени суток! Сегодня я хочу рассказать об утилите, которая помогает при тесте на проникновение и ловли багов. Речь пойдет о Chomp scan

28572

Данная утилита помогает автоматизировать, иногда утомительные, процессы разведки, при этом объединив самые быстрые и эффективные утилиты.
Теперь нет надобности искать нужные словари, запоминать, что вы уже тестировали, а что нет, и также не нужно искать во всем компьютере отдельные логи программ после теста.

Chomp scan умеет фокусироваться на список потенциальных и интересных поддоменов, позволит вам сохранить ваше драгоценное время и сообщит вас о завершении через

Если вы раньше не сталкивались с этой программой, то если вы будете следовать простым советам, то все будет работать прекрасно.

1. При переходе на сайт, вы получаете определенный идентификатор в виде notica.us/?xxxxxxxx:

28573


2. После того, как вы зашли на сайт, нужно разрешить этому сайту высылать уведомления:

28574


3. После команды быстрой установки:

$ echo 'notica() { curl --data "d:$*" "https://notica.us/?mGEnf3M" ; }' >> ~/.bashrc && source ~/.bashrc

Вы можете активно использовать эту функцию.

Немного об утилите
Список интересных слов включает в себя, например, такие слова: dev, test, uat, staging и т. д. Так же домены, которые содержат эти слова, помечены.

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

Так же, в новой версии Chomp Scan'a включена утилита rescope. Rescope парсит все полученный домены, которые были найдены Chomp Scan'ом и генерирует .json файл, который можно импортировать в Burp Suite (подробнее вы можете узнать на github странице утилиты). Данная опция может использоваться при настройке переменной ENABLE_RESCOPE либо в файле конфигурации, либо при начале работы, простой командой -r.

Прошу отметить, что Champ scan активно развивается, и различные новые утилиты скоро будут добавлены разработчиками. Поэтому, если вам эта утилита пришлась по душе, заглядывайте на ее github страницу, что бы быть в курсе всех нововведений!

Утилиты, которые использует chomp scan

Для поиска поддоменов:
Для создания скриншотов:
Для скана портов:
Для сбора информации:
Для поиска информации:
Файл конфигурации

Chomp scan теперь имеет опцию парсинга файла конфигурации, которая обеспечивает более детальный контроль над тем, какие утилиты запущены, и какие из них являются менее «тяжелыми» для передачи большого количества аргументов в CLI. Данную опцию можно использовать, при вводе -L перед началом работы в строку терминала. Пример файла конфигурации включен в этот репозиторий, вы можете его использовать как шаблон для построения своего.

Разбор файла конфигурации

Файл конфигурации Chomp Scan'а дает вам полный гранулярный контроль (простыми словами, более строгий) над всеми утилитами и опциями, который могут быть выбраны. Это самое простое и более предпочтительное использование Chomp Scan'а. По сути, этот как бланк, который вы заполняете, и отдаете потом утилите, которая работает только по нему.

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

Для добавления посторонних ресурсов, существует лишь 3 возможных варианта: пропуск (то есть не использование данной функции) либо имя встроенного списка слов, либо путь к файлу.

В других случаях, утилита может работать не корректно, либо вообще не работать :)

Пример файла:
Код:
[general] #основные настройки
# Ввод домена. Не вводите https:// или http://, Chomp Scan введет все сам, для успешной работы.
DOMAIN=
# Использовать HTTP вместо установленного HTTPS.
ENABLE_HTTP=
# Выбор папки для хранения информации о полученных результатах после работы программы, ввод пути
OUTPUT_DIR=
# Использовать все обнаруженные домены, вместо обычных "интересных" обнаруженных доменах.
USE_ALL=
# Ввод ссылки Notica с параметром для уведомлений.
NOTICA=
# Выбор собственного файла с запрещенными ссылками, ввод пути
BLACKLIST=
# Выбор собственного словаря с "интересными" словами, ввод пути
INTERESTING=
# Выбор пути для собственных программ. Это должен быть полный путь к директории, которая содержит загруженные утилиты с github'а
TOOL_PATH=
# Подключение утилиты Rescope
ENABLE_RESCOPE=YES
[subdomain enumeration] # перечисление поддоменов
# Выбор запуска утилит
ENABLE_DNSCAN=YES
ENABLE_SUBFINDER=YES
ENABLE_SUBLIST3R=YES
ENABLE_ALTDNS=YES

# Выбор словаря
# Возможные варианты словарей: SMALL, MEDIUM, LARGE или путь к собственным

SUBDOMAIN_WORDLIST=
[content discovery] # поиск информации
# Выбор запуска утилит
ENABLE_INCEPTION=YES
ENABLE_WAYBACKURLS=YES
ENABLE_FFUF=YES
ENABLE_GOBUSTER=YES
ENABLE_DIRSEARCH=YES

# Выбор словаря
# Возможные варианты словарей: SMALL, MEDIUM, LARGE, XL, XXL, или путь к собственным
CONTENT_WORDLIST=

[information gathering] # сбор информации
# Выбор запуска утилит
ENABLE_SUBJACK=YES
ENABLE_CORSTEST=YES
ENABLE_S3SCANNER=YES
ENABLE_BFAC=YES
ENABLE_WHATWEB=YES
ENABLE_WAFW00F=YES
ENABLE_NIKTO=YES

[port scanning] #сканирование портов
# Выбор запуска утилит
ENABLE_MASSCAN=YES
ENABLE_NMAP=YES

[screenshots] #создание скриншотов
# Задействуем aquatone
ENABLE_SCREENSHOTS=YES

Словари

Вариация словарей используется как для брутфорса поддоменов, так и для поиска информации. Chomp scan активно использует Seclists , а так же словари . Разные словари могут использоваться для парсинга. Можно использовать, как кастомные, то есть собственного производства, так и встроенные. Но встроенные словари не везде могут использоваться, ниже можете ознакомиться с этим:

Для брутофорс поддоменов:


Аругмент

Название файла

Количество слов

Описание

SHORT

subdomains-top1mil-20000.txt

22к

Из Seclists

LONG

sortedcombined-knock-dnsrecon-fierce-reconng.txt

102к

Из Seclists

HUGE

huge-200k.txt

199к

Различная комбинация словарей включая Seclists

Для поиска информации:


Аргумент

Название файла

Количество слов

Описание

SMALL

big.txt

20к

Из Seclists

MEDIUM

raft-large-combined.txt

167к

Комбинация списков из Seclists

LARGE

seclists-combined.txt

215к

Огромная комбинация из всех Discovery/DNS списков в Seclists

XL

haddix_content_discovery_all.txt

373к

Все словари для поиска информации

XXL

haddix-seclists-combined.txt

486к

Комбинация из двух предыдущих словарей

Более детально можете ознакомиться с ними здесь.

Установка
1. Скопируйте этот репозиторий:

git clone https://github.com/SolomonSklash/chomp-scan/

2. При запуске installer.sh утилита автоматически установит все необходимые для ее работы утилиты в папке ~/bounty/tools, но вы можете указать свой собственный путь: ./installer.sh [путь к нужной вам папке]

3. После запуска установщика, убедитесь, что вы создали папку ~/go/bin и запустили source ~/.profile в вашем терминале, что бы добавить бинарный путь Go в переменную $PATH

Использование

28575


Chomp Scan всегда выполняет перечисление поддоменов, поэтому домен нужно вводить после флага -u. Как я уже описывал раньше, домен не должен содержать http:// либо htpps://. По умолчанию, протокол HTTPS используется всегда, поэтому, если вам нужен протокол HTTP, укажите флаг -H. Словарь является необязательным, и, например, если он не указан, то утилита продолжит работу, используя встроенный небольшой словарь на 20 тысяч слов.

Остальные сканеры могут быть не использованы. При обнаружении информации, утилита может брать любой словарь в .txt формате. Если словарь не будет указан, то утилита будет использовать свой: 22 тысячи слов.

После успешной работы утилиты, окончательные результаты будут сохранены в виду 3 текстовых файлах в выходной папке. Все найденные уникальные домены, хранятся в all_discovered_domains.txt, а все обнаруженные уникальные IP-адреса хранятся в all_discovered_ips.txt. Все домены, которые можно разложить на IP, сохранены в all_resolved_domains.txt.

К сожалению, утилита стабильно работает только на:
  • Kali Linux
  • Debian 9
  • Ubuntu 18.04
ИМХО, если установить все необходимые утилиты и библиотеки ручками, то, думаю, она работать должна неплохо.

Ниже наводиться таблица, которая поможет вам в работе с утилитой:

-u [домен]Домен, который нужно просканировать
-L [файл конфигурации]Путь к файлу конфигурации, который дает более строгий контроль
-d [словарь]Словарь, который будет использоваться для перечисления поддоменов
-cВключение фазы поиска информации. Будет использован встроенный словарь
-C [словарь]Словарь, который будет использоваться для поиска информации
-P [путь к файлу]Выбрать собственный путь для размещения утилит
-sВключение создания скриншотов утилитой aquatone
-iВключение поиска информации такими утилитами как: subjack, S3Scanner и т.д.
-pВключение опции сканирования портов, используя masscan (запускать только как администратор) и nmap
-I Включение интерактивного мода (выбор определенных функции в утилитах и выходных данных)
-DНе задействование интерактивного режима, при этом опции остаются такими:
  • Словарь для перечисления поддоменов: short.
  • Словарь для поиска информации: small.
  • Aquatone создает скриншоты: yes.
  • Сканирование портов: yes.
  • Поиск информации: yes.
  • Домены для сканирования: все что были обнаружены.
-b [словарь]Выбрать пользовательский черный список доменов
-X [словарь]Выбрать пользовательский список «интересных» слов
-o [директория]Выбрать собственную директорию для получения выходной информации
-aИспользовать все уникальный домены которые были обнаружены для сканирования первым, чем домены с «интересными» словами
-AИспользовать для сканирования только домены с «интересными словами»
-HИспользовать только HTTP для соединения с сайтами, вместо HTTPS
-rВключение создания JSON файла rescope'ом
-h Выведет подсказку по использовании утилиты

Так же хочу отметить, что домены с «интересными» словами, это те домены, которые имеют в себе слова из списка interesting.txt, то есть, к примеру такие слова:
  • stg
  • svn
  • test
  • testing
  • tools
  • trial
  • uat
  • upload
  • vpn
И при работе приложения, они отмечаются таким образом:

28576


На своей github странице, автор поделился некоторыми идеями, которые будут реализованы в ближайшем будущем, а именно:
  1. Внедрение новых утилит.
  2. Генерация утилитой HTML рапорта
По этому, как я уже писал выше, если вам понравилась утилита, посещайте периодически github страницу, что бы быть первым кто будет ее использовать!

Спасибо за внимание!
 

vnatin

Green Team
06.03.2019
21
11
BIT
8
Такая вот проблема у меня с запуском данного инструмента,
The path or the file specified by the path for subfinder does not exit.
сам subfinder отдельно работает, но в chomp-scan не желает заводится, подскажите куда копать, или можно как то выпилить subfinder из скрипта?
 

g00db0y

Red Team
11.06.2018
139
692
BIT
1
Такая вот проблема у меня с запуском данного инструмента,
The path or the file specified by the path for subfinder does not exit.
сам subfinder отдельно работает, но в chomp-scan не желает заводится, подскажите куда копать, или можно как то выпилить subfinder из скрипта?
А сам subfinder находиться вместе со всеми приложениями?

Возможен такой вариант, что вы указали не тот путь при установке, и приложение всего-навсего не может его найти

@clevergod Увы, не могу уже редактировать статью
 

Iskus

Green Team
13.11.2017
287
468
BIT
0
вы, прежде чем пиарить свои скрипты, хотя бы потрудитесь, чтобы они запускались, и проверка на название дистрибутива с помощью grep это не есть профессионально, например я использую Parrot, под капотом тот же дебиан, и та же кали, почему я должен править инсталлер. чтобы установить ваш скрипт? А для того чтобы узнать имя дистрибутива, его кодовое название и версию не надо ничего грепать, достаточно запомнить одну команду
Bash:
lsb_release -a
Всё таки прежде чем писать серьёзный софт, нужно поднабраться серъёзного опыта.
Кстати у меня тоже на все попытки запустить это выдает ошибку The path or the file specified by the path for subjack does not exit.
Я уже даже не буду лезть разбираться что ему там не нравится, скрипт не рабочий, пока он не делает то чего от него ждут, не стоит пиарить нерабочее прогрммное обеспечение.
 
  • Нравится
Реакции: am29f010b

g00db0y

Red Team
11.06.2018
139
692
BIT
1
вы, прежде чем пиарить свои скрипты, хотя бы потрудитесь, чтобы они запускались, и проверка на название дистрибутива с помощью grep это не есть профессионально, например я использую Parrot, под капотом тот же дебиан, и та же кали, почему я должен править инсталлер. чтобы установить ваш скрипт? А для того чтобы узнать имя дистрибутива, его кодовое название и версию не надо ничего грепать, достаточно запомнить одну команду

Bash:
lsb_release -a

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

Кстати у меня тоже на все попытки запустить это выдает ошибку The path or the file specified by the path for subjack does not exit.

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

Ну стоит начать с того, что я не являюсь автором этого скрипта, и ни в коем случае не пытаюсь его как-то пиарить.


Если у Вас возникают какие-либо проблемы со скриптом, обращайтесь к автору на Гитхабе во вкладке issues.
 
  • Нравится
Реакции: Сергей Попов

vnatin

Green Team
06.03.2019
21
11
BIT
8
Запустил на Parrot-e, в скрипте installer.sh добавил вот эти строки:

grep 'Parrot' /etc/issue 1>/dev/null;
Parrot="$?";

if [[ "$UBUNTU" == 0 ]]; then
install_ubuntu;
elif [[ "$DEBIAN" == 0 ]]; then
install_debian;
elif [[ "$KALI" == 0 ]]; then
install_kali;
elif [[ "$Parrot" == 0 ]]; then
install_kali;


Остальное делал по ману.
 
  • Нравится
Реакции: g00db0y

xenon97

Green Team
03.01.2018
59
18
BIT
29
вы, прежде чем пиарить свои скрипты, хотя бы потрудитесь, чтобы они запускались, и проверка на название дистрибутива с помощью grep это не есть профессионально, например я использую Parrot, под капотом тот же дебиан, и та же кали, почему я должен править инсталлер. чтобы установить ваш скрипт? А для того чтобы узнать имя дистрибутива, его кодовое название и версию не надо ничего грепать, достаточно запомнить одну команду
Bash:
lsb_release -a
Всё таки прежде чем писать серьёзный софт, нужно поднабраться серъёзного опыта.
Кстати у меня тоже на все попытки запустить это выдает ошибку The path or the file specified by the path for subjack does not exit.
Я уже даже не буду лезть разбираться что ему там не нравится, скрипт не рабочий, пока он не делает то чего от него ждут, не стоит пиарить нерабочее прогрммное обеспечение.
Крч была такая же ошибка, вот как я устанавливал:
1)в свою домашнюю папку копировал репозиторий
Код:
git clone https://github.com/SolomonSklash/chomp-scan.git
2)
Код:
cd chomp-scan && sudo ./installer.sh
Потом перехожу в домашнюю папку и набираю в ней:
Код:
source ~/.profile
3)Перезапустил тачку, и вот:
30883
 
  • Нравится
Реакции: g00db0y

tarantot

Green Team
18.02.2020
19
3
BIT
0
Кто-нибудь пробовал установить и запустить на Мак?
 
Мы в соцсетях:

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