You are here: Home » Сбор информации » AQUATONE

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

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

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

Рекомендуемые статьи: