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

Ссылки на инструкции будут добавлены позже.

Близкие программы:

  • SPARTA (100%)
  • RAWR (84.8%)
  • flashlight (78.5%)
  • EyeWitness (76.8%)
  • Intrigue-core (71.2%)
  • SpiderFoot (RANDOM - 56.1%)
  • Вы уже знаете о факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!

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

    Comments are Closed