AQUATONE
Описание AQUATONE
AQUATONE — это набор инструментов для выполнения разведки по доменным именам. Используя открытые источники, он может обнаружить поддомены на заданном домене, а также используя более универсальный подход — полный перебор вариантов. После обнаружения поддоменов, AQUATONE может затем просканировать хосты на обычные веб-порты и HTTP заголовки, HTML тела и скриншоты могут быть собраны и консолидированы в отчёт для удобного анализа поверхности атаки.
Функция сбора скриншотов в AQUATONE зависит от графического окружения рабочего стола системы, на которой запущена программа.
Домашняя страница: https://github.com/michenriksen/aquatone
Автор:
Лицензия: MIT
Справка по AQUATONE
AQUATONE состоит из трёх инструментов: aquatone-discover, aquatone-scan и aquatone-gather. Каждый из них имеет собственную справку и опции. Функции инструментов раскрыты далее, в разделе Пример запуска.
aquatone-discover
Использование:
aquatone-discover ОПЦИИ
Опции:
-d, --domain ДОМЕН Доменное имя для оценки --nameservers СЕРВЕРА_ИМЁН Сервера имён для использования --fallback-nameservers СЕРВЕРА_ИМЁН Резервные сервера имён --[no-]ignore-private Игнорировать хосты, преобразуемые к частным IP-адресам --set-key KEY VALUE Сохранить ключ в хранилище ключей --list-collectors Просмотр информацию по сборщикам --only-collectors COLLECTORS Запустить только указанные сборщики --disable-collectors COLLECTORS Отключить указанные сборщики -t, --threads ПОТОКИ Количество одновременно используемых потоков -s, --sleep СЕКУНДЫ Секунды сна между запросами -j, --jitter PERCENTAGE Коэффициент джиттера для интервалов сна -h, --help Показать справку
aquatone-scan
Использование:
aquatone-scan ОПЦИИ
Опции:
-d, --domain ДОМЕН Доменное имя для оценки -p, --ports ПОРТЫ Порты для сканирования --timeout СЕКУНДЫ Тай-маут в секундах для зондирования портов -t, --threads ПОТОКИ Количество одновременных потоков -s, --sleep СЕКУНДЫ Количество секунд сна между зондированиями портов -j, --jitter ПРОЦЕНТЫ Коэффициент джиттера для интервалов сна -h, --help Показать справку
aquatone-gather
Использование:
aquatone-gather ОПЦИИ
Опции:
-d, --domain ДОМЕН Доменное имя для оценки -t, --threads ПОТОКИ Количество одновременных потоков --timeout СЕКУНДЫ Тайм-аут рендеринга страницы -s, --sleep СЕКУНДЫ Секунды сна между запросами -j, --jitter ПРОЦЕНТЫ Коэффициент джиттера для интервалов сна -h, --help Показать справку
Руководство по AQUATONE
Страница man отсутствует.
Примеры запуска AQUATONE
Обнаружение
Первой стадией в оценке AQUATONE является стадия обнаружения, на которой ищутся субдомены целевого домена, для этого задействуются открытые источники, службы и перебор по словарю самых популярных вариантов.
aquatone-discover --domain example.com
aquatone-discover найдёт целевые сервера имён и перемешает между ними DNS запросы. Если не получится сделать запрос на серверах имён целевого домена, aquatone-discover будет использовать резервные DNS, в качестве которых по умолчанию выступают публичные DNS сервера Google. Резервные DNS сервера можно изменить опцией --fallback-nameservers:
aquatone-discover --domain example.com --fallback-nameservers 87.98.175.85,5.9.49.12
Тонкая настройка
aquatone-discover по умолчанию использует 5 потоков для одновременного выполнения DNS запросов. Это обеспечивает разумную производительность, но это значение можно настроить, сделав его более или менее агрессивным опцией --threads:
aquatone-discover --domain example.com --threads 25
Забивание DNS сервера запросами с ошибками поиска потенциально может обратить на себя внимание систем обнаружения вторжений, поэтому если вас это беспокоит, вы можете сделать aquatone-discover чуточку незаметнее опциями --sleep и --jitter. Ключ --sleep принимает количество секунд, на которую будет сделана пауза между каждым DNS запросом, а --jitter принимает проценты от --sleep, на это значение будет произвольно увеличиваться или уменьшаться интервал паузы, чтобы сделать её менее предсказуемой.
aquatone-discover --domain example.com --sleep 5 --jitter 30
Обратите внимание, что использование опции --sleep сократит количество потоков до одного. Опция --jitter учитывается только если также установлена опция --sleep.
API ключи
Некоторым из пассивных сборщиков для работы требуются API ключи или подобные учётные данные. Эти значения можно установить опцией --set-key:
aquatone-discover --set-key shodan o1hyw8pv59vSVjrZU3Qaz6ZQqgM91ihQ
Все ключи будут сохранены в ~/aquatone/.keys.yml.
Результаты
Когда aquatone-discover завершится, он создаст файл hosts.txt в папке ~/aquatone/<domain>, например, для сканирования example.com он будет размещён в ~/aquatone/example.com/hosts.txt. Его формат — разделённый запятой список имён доменов и их IP, например:
example.com,93.184.216.34 www.example.com,93.184.216.34 secret.example.com,93.184.216.36 cdn.example.com,192.0.2.42 ...
В дополнение к файлу hosts.txt, программа также сгенерирует hosts.json, который включает туже информацию, но в формате JSON. Этот вывод будет предпочтительным, если вы хотите использовать эту информацию в своём скрипте и инструментах. hosts.json также будет использоваться инструментами aquatone-scan и aquatone-gather.
Сканирование
На стадии сканирования AQUATONE перебирает все обнаруженные хосты по TCP портам, обычно используемым для веб-служб:
aquatone-scan --domain example.com
Опция --domain будет искать hosts.json в директории AQUATONE, куда были сохранены результаты сканирования, т. е. в нашем примере это ~/aquatone/example.com/hosts.json. Этот файл должен существовать, если предварительно был запущен aquatone-discover --domain example.com.
Порты
По умолчанию aquatone-scan просканирует следующие TCP порты: 80, 443, 8000, 8080 и 8443. Это самые попуялрные порты для веб-служб, они обеспечивают разумное покрытие. Если вы хотите указать ваш собственный список портов, то для этого вы можете использовать опцию --ports:
aquatone-scan --domain example.com --ports 80,443,3000,8080
Вместо списка разделённых запятой портов, вы также можете указать один из встроенных псевдонимов списка:
- small: 80, 443
- medium: 80, 443, 8000, 8080, 8443 (как по умолчанию)
- large: 80, 81, 443, 591, 2082, 2095, 2096, 3000, 8000, 8001, 8008, 8080, 8083, 8443, 8834, 8888, 55672
- huge: 80, 81, 300, 443, 591, 593, 832, 981, 1010, 1311, 2082, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567, 4711, 4712, 4993, 5000, 5104, 5108, 5280, 5281, 5800, 6543, 7000, 7396, 7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8083, 8088, 8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333, 8337, 8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080, 9090, 9091, 9200, 9443, 9800, 9981, 11371, 12443, 16080, 18091, 18092, 20720, 55672
Пример:
aquatone-scan --domain example.com --ports large
Тонкая настройка
Как и в aquatone-discover, вы можете сделать сканирование более или менее агрессивным опцией --threads, которая принимает число потоков для одновременного сканирования портов. Значение по умолчанию равно 5.
aquatone-scan --domain example.com --threads 25
Очевидно, что поскольку aquatone-scan выполняет сканирование портов, то на него могут обратить внимание системы обнаружения вторжений. Хотя он будет пытаться снизить риск обнаружения сканируя хосты и порты в случайном порядке, вы можете в настрйоках увеличить скрытность опциями --sleep и --jitter, которые работают аналогичным опциям для aquatone-discover. Помните, что установка опции --sleep принудительно установить количество потоков на один.
Результаты
Когда aquatone-scan завершиться, он создаст файл urls.txt в директории ~/aquatone/<domain>, например, для сканирования example.com он располагался бы в ~/aquatone/example.com/urls.txt. Форматом является список URL, например:
http://example.com/ https://example.com/ http://www.example.com/ https://www.example.com/ http://secret.example.com:8001/ https://secret.example.com:8443/ http://cdn.example.com/ https://cdn.example.com/ ...
Этот файл может быть загружен в другие инструменты, такие как EyeWitness.
aquatone-scan также сгенерирует файл open_ports.txt, который представляет собой разделённый запятой список хостов и их открытых портов, например:
93.184.216.34,80,443 93.184.216.34,80 93.184.216.36,80,443,8443 192.0.2.42,80,8080 ...
Сбор
Последней стадией является сбор, когда результаты со стадий обнаружения и сканирования используются для запроса к обнаруженным веб-службам, чтобы получить и сохранить заголовки HTTP ответов и HTML тела, а также получения скриншотов с видами веб-страниц в веб-браузере для упрощения анализа.
aquatone-gather --domain example.com
aquatone-gather будет искать файлы hosts.json и open_ports.txt в папке для указанного домена, директории оценки AQUATONE и делать запросы и скриншоты каждого IP адреса для каждого имени домена для максимального покрытия.
Тонкая настройка
Как в aquatone-discover и aquatone-scan, вы можете сделать сбор более или менее агрессивным опцией --threads, принимающей число потоков для одновременных запросов. Значением по умолчанию является число в 5 потоков.
aquatone-gather --domain example.com --threads 25
Поскольку aquatone-gather взаимодействует с веб-службами, на неё также могут обратить внимания системы обнаружения вторжений. Для уменьшения риска обнаружения, программа будет получать данные в перемешенном порядке для хостов и портов. Для увеличения скрытности, могут использоваться уже описанные опции --sleep и --jitter. Настройка опции --sleep также устанавливает количество потоков на один.
Результаты
Когда aquatone-gather завершиться, будут созданы несколько директорий в папке оценки домена AQUATONE:
- headers/: Содержит текстовые файлы с заголовками HTTP ответов от веб-страниц
- html/: Содержит текстовые файлы с HTML телами каждой веб-страницы
- screenshots/: Содержит PNG изображения как выглядит каждая страницы в веб-браузере
- report/ Содержит файлы отчётов в HTML, отображающие собранную информацию для упрощения анализа
Установка AQUATONE
Установка в Kali Linux
sudo ln -s /usr/bin/nodejs /usr/bin/node git clone git://github.com/npm/npm cd npm sudo make install sudo gem install aquatone sudo npm install nightmare
Установка в BlackArch
Программа предустановлена в BlackArch.
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты AQUATONE
Инструкции по AQUATONE
Ссылки на инструкции будут добавлены позже.
Comments are Closed