Amass: карта внешней поверхности

OWASP Amass — проект OWASP для картографии внешних ресурсов организации: домены, поддомены, IP-адреса, сети и ASN. Он сочетает пассивные источники (API, журналы сертификатов, архивы, поисковики) и, по желанию, активные методы вроде перебора имён и проверки сертификатов. Лицензия Apache 2.0, написан на Go.
Коротко
- Что даёт: поддомены и связанные с ними IP, сети и организации, сохранённые в локальной базе.
- Режим по умолчанию — пассивный. Активные проверки включаются отдельно:
-active,-brute. - Версия на момент проверки: 5.1.3. Интерфейс сильно отличается от старых версий, многие инструкции в сети устарели.
- Когда брать: нужен глубокий поиск и накопление данных по компании. Для быстрого списка поддоменов проще Subfinder.
Что изменилось в версии 5
Справка amass -h показывает такие подкоманды: assoc, engine, enum, subs, track, viz. Подкоманды intel в ней уже нет, хотя пользовательское руководство в репозитории всё ещё её описывает. Флаг -passive объявлен устаревшим «поскольку пассивный режим используется по умолчанию». Сбор идёт через движок (по умолчанию http://127.0.0.1:4000), результаты складываются в базу активов asset.db (SQLite) в рабочей папке.
README при этом показывает установку из старого модуля v4. Для версии 5 путь другой.
Установка
brew tap owasp-amass/amass
brew install amass
amass -versionИз исходников (Go сам скачает нужную версию компилятора, если ваша старая):
go install -v github.com/owasp-amass/amass/v5/cmd/amass@latestЕсть готовые архивы на странице релизов и образ Docker caffix/amass.
Запуск
$ amass enum -d example.com -timeout 1 -dir ./amass-data
Session Scope
FQDN:
example.comЭто реальный запуск: для example.com за минуту ничего не нашлось. Для доменов с большим следом работа идёт заметно дольше, потому что -timeout задаёт, сколько минут можно идти без прогресса (по умолчанию 30), а не общее время. В папке после запуска появляются config.yaml, datasources.yaml, asset.db и журнал сессии.
| Что нужно | Параметр |
|---|---|
| домен или список | -d example.com / -df domains.txt |
| активные методы: сертификаты, зоны DNS | -active |
| перебор имён по словарю | -brute |
варианты имён (api2, dev-api) | -alts |
| выбрать или исключить источники | -include / -exclude |
| список источников | -list |
| файл настроек и ключей API | -config config.yaml |
| папка с данными | -dir ./amass-data |
| тихо, без вывода | -silent |
После сбора смотрите результат так:
amass subs -d example.com -names -dir ./amass-datasubs печатает найденные поддомены (-ip добавит адреса), track показывает новые активы с прошлого запуска, viz строит граф.
Как читать результат
- Находки из пассивных источников не доказывают, что сервер сейчас работает. Подтвердите отдельным запросом.
- Ключи API в
datasources.yamlсильно расширяют результат: без них часть источников молчит. - Перебор и альтернативные имена дают много лишнего. Не включайте их без необходимости.
- Если
subsпишет «No names were discovered», сбор мог не дойти до записи: дождитесь окончанияenumи проверьте, что-dirодинаковый.
Подводные камни
- Активные режимы обращаются к целевой инфраструктуре. Запускайте их только по своим доменам и с разрешением владельца.
- Долгий сбор. Для крупных доменов полный запуск идёт десятки минут. Ограничивайте источники и
-timeout. - Документация отстаёт. Если команда из чужой инструкции не работает, сверьтесь с
amass enum -h. - Закон. Пассивный сбор открытых данных обычно допустим, активные проверки чужого — нет.
Дальше
Subfinder: быстрее и проще, SpiderFoot: автоматизация с веб-интерфейсом, theHarvester, разведка по домену.
Проверено 25 октября 2026 года по Amass 5.1.3: README, пользовательское руководство, amass -h, amass enum -h, установка из исходников и запуск на example.com. Полный сбор с результатом на реальном домене я не доводил до конца.