Amass

'

Описание Amass

Amass — это инструмент глубокого перечисления DNS и составления карты сети, написан на Go.

Проект OWASP Amass был создан при выполнении задачи показать, как организации выглядят в Интернете для стороннего исследования. Используемые для этого инструменты возвращали неполные результаты по сравнению с тем, что можно было бы получить вручную. Выявление этой прорехи в возможностях для экспертов по безопасности привили к рождению проекта Amass.

Программа OWASP Amass сфокусирована на техниках перечисления DNS и построения карты сетевой инфраструктуры. Эти техники включают: получения имён субдоменов анализируя веб-страницы, доступом к веб API, рекурсивным брут-форсом, обходом веб-архивов, пермутацией/изменением имён, обратным DNS преобразованием (everse DNS sweeping), отправка запросов к ASN и анализ IP адресов, ассоциированным с сетевыми блоками. Собранная во время перечисления информация используется для построения карты присутствия организации в Интернете.

Amass задействует более 30 пассивных источников данных для изучения о пространстве имён DNS целевого домена. По умолчанию Amass валидирует (проверяет на действительность) все имена, выполняя DNS запросы по пулу DNS преобразователей, что позволяет распределить активность, сгенерированную перечислением. Для всех IP адресов, собранных во время этого процесса, Amass делает запросы на ассоциированные сетевые блоки и ASN. По мере того, как становятся доступными дополнительные источники данных для информации об Интернет видимости, внутри Amass могут быть быстро разработаны реализации для их использования благодаря дизайну программы, основанному на простых интерфейсах.

Когда перечисление завершено, набор инструментов Amass способен конвертировать результаты в несколько различных форматах, принимаемых популярными движками визуализации структуры сети. Это помогает аналитикам и экспертам по информационной безопасности быстро идентифицировать структуру сети и внешние сети, используемые целевой организацией.

Если пользователи хотят поддерживать информацию, собранную программным обеспечением Amass, интерфейсы обработки данных взаимодействуют с системами хранения, такими как Neo4j. Дополнительные обработчики могут быть легко реализованы для поддержки других баз данных или даже пользовательских решений.

В проекте имеется программное обеспечение, которое может быть встроено в другие программы, оно написано на языке программирования Go. Это программное обеспечение включает в себя инструменты командной строки, локальную трансформацию для Maltego и пакет Go, который можно импортировать в другие проекты программного обеспечения. Программное обеспечение переносится в популярные операционные системы, такие как Windows, Linux, MacOS, FreeBSD и т. д. Инструменты командной строки могут быть получены с помощью нескольких механизмов, описанных на странице установки, например, через среду разработки Go, Snap-менеджер пакетов для Linux-систем.

Начиная с версии 2.6.x функциональность монолитного инструмента amass стала разбиваться на более маленькие инструменты.

«Сетевая» функциональность из Amass была перемещена в инструмент amass.netdomains, который перечисляет сертификаты и выполняет обратные DNS запросы, ища уникальные доменные имена. Эти доменные имена затем могут быть предоставлены в инструмент перечисления субдоменов amass.

Также создание файлов визуализации было перемещено в инструмент amass.viz. Операции с данными, используемые для построения графов, отображающих структуру внутренней сети, выполняются и сохраняются инструментом перечисления субдоменов amass, а затем предоставляются в качестве ввода в инструмент визуализации, чтобы сгенерировать различные файловые форматы.

В настоящее время пакет включает следующие программы:

  • amass
  • amass.netdomains
  • amass.viz
  • amass.db

Домашняя страница: https://www.owasp.org/index.php/OWASP_Amass_Project

Автор: Jeff Foley

Лицензия: Apache 2.0

Справка по Amass

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

amass [опции] <-d домен>

Опции:

Флаг Описание Пример
-active Включение активных методов разведки: попытка собрать zone transfers и имён из сертификатов amass -active -d example.com net -p 80,443,8080
-bl домен Перечисление доменов, которые исключаются из исследования и перечисления amass -bl blah.example.com -d example.com
-blf путь Путь до файла, в котором перечислен список субдоменов, исключённых из исследования amass -blf data/blacklist.txt -d example.com
-brute Поиск субдоменов с помощью брут-форса amass -brute -d example.com
-d домен Указывает домен, для которого выполоняется исследование и поиск субдоменов, домены можно указывать через запятую, также опцию можно использовать несколько раз amass -d example.com
-df путь Путь до файла, содержащего корневые домены для выполнения перечисления (то есть домены для которых нужно выполнить исследование) amass -df domains.txt
-do путь Путь до файла вывода, используется формат JSON amass -do data.json -d example.com
-h Показывает справку по пользованию программой amass amass -h
-ip Также выводить IP адреса для обнаруженных имён amass -ip -d example.com
-json путь Путь до файла вывода JSON, все обнаружения записываются в индивидуальные объекты JSON amass -json out.json -d example.com
-l Список всех доменов, используемых при перечислении amass -whois -l -d example.com
-log путь Вести журнал всех сообщений в файл amass -log amass.log -d example.com
-min-for-recursive число Количество требуемых обнаруженных субдоменов, после которого запускается рекурсивный брут-форсинг (По умолчанию: 1) amass -brute -min-for-recursive 3 -d example.com
-noalts Отключить генерацию новых имён, выполняемую путём изменения уже обнаруженных субдоменов amass -noalts -d example.com
-passive Исключительно пассивный режим выполнения: отключается DNS преобразование имён и сопутствующие функции amass --passive -d example.com
-norecursive Отключение рекурсивного брут-форсинга amass -brute -norecursive -d example.com
-o путь Путь до файла вывода для записи результатов в текстовом формате amass -o out.txt -d example.com
-oA префикс Вывести во все доступные форматы файлов, используя указанный префикс в качестве части имени файла amass -oA amass_scan -d example.com
-r IP Указать свои собственные DNS резолверы: IP адреса предпочитаемых DNS серверов имён, можно использовать несколько раз amass -r 8.8.8.8,1.1.1.1 -d example.com
-rf путь Указать DNS резолверы из файла: предпочитаемые DNS сервера имён будут браться из указанного файла amass -rf data/resolvers.txt -d example.com
-v Вывод будет включать источники данных и итоговую информацию amass -v -d example.com
-version Напечатать номер версии amass amass -version
-w путь Изменить словарь, используемый во время брут-форсинга amass -brute -w wordlist.txt -d example.com
-whois При поиске будет также использоваться обратная whois информация, которая может содержать домены amass -whois -d example.com

Справка по amass.netdomains

Предупреждение: если вы используете инструмент amass.netdomains, то он попытается обратиться к каждому IP-адресу в идентифицированной инфраструктуре и получить имена доменов из обратных DNS-запросов и сертификатов TLS. Это «громкая» техника, она может раскрыть ваши разведывательные действия в исследуемой организации.

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

amass.netdomains [--addr IP] [--cidr CIDR] [--asn номер] [-p номер]

Опции:

  -addr value
    	IP и диапазоны (192.168.1.1-254) разделённые запятой
  -asn номер
    	ASN разделённые запятой (можно использовать несколько раз)
  -cidr номер
    	CIDR разделённые запятыми (может использоваться несколько раз)
  -h	Показать справку использования программы
  -org строка
    	Строка используемая для поиска по описанию AS
  -p номер
    	Порты, разделённые запятыми (по умолчанию: 443)

Поиск ASN путём поиска описаний, зарегистрированных организациями:

amass.netdomains -org Facebook
32934, US, ARIN, FACEBOOK - Facebook, Inc., US
54115, US, ARIN, FACEBOOK-CORP - Facebook Inc, US
63293, US, ARIN, FACEBOOK-OFFNET - Facebook, Inc., US

Для обнаружения всех доменов, хостящихся внутри ASN, используйте следующую опцию:

amass.netdomains -asn 13374,14618

Для исследования целевых CIDR, используйте следующую опцию:

amass.netdomains -cidr 192.184.113.0/24,104.154.0.0/15

Для определённых IP или диапазонов адресов используйте эту опцию:

amass.netdomains -addr 192.168.1.44,192.168.2.1-64

По умолчанию проверяется 443 порт на сертификаты, но порт можно изменить следующим образом:

amass.netdomains -cidr 192.168.1.0/24 -p 80,443,8080

Справка по amass.viz

Создаёт разъясняющие визуализации сетевых графов, которые отображают структуру собранной вами информации. Этот инструмент в качестве файла ввода требует данные, собранные программой amass с флагом '-do'.

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

amass.viz -i infile --maltego of1 --visjs of2 --gexf of3 --d3 of4 --graphistry of5

Переключатели для вывода находок в DNS и инфрастуктуре при построении сетевых графов:

Флаг Описание Пример
-maltego Вывод в формате таблицы CSV графов Maltego amass.viz -maltego net.csv -i data_ops.json
-d3 Вывод в D3.js v4 одновременно принудительно HTML файл amass.viz -d3 net.html -i data_ops.json
-gexf Вывод в Graph Exchange XML Format (GEXF) amass.viz -gephi net.gexf -i data_ops.json
-graphistry Вывод в Graphistry JSON amass.viz -graphistry net.json -i data_ops.json
-visjs Выводо в HTML который использует VisJS amass.viz -visjs net.html -i data_ops.json

Справка по amass.db

Эта программа отправляет всю собранную о DNS и инфраструктуре информацию в базу данных графов. Этот инструмент в качестве ввода требует файл, сгенерированный в amass с флагом '-do'.

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

amass.db -i infile --neo4j URL

Опции:

  -h	Показывает справку
  -i путь
    	JSON файл с данными, полученными во время работы Amass
  -neo4j URL
    	URL к базе данных Neo4j

Пример запуска

amass.db -neo4j neo4j:DoNotUseThisPassword@localhost:7687 -i data_ops.json

Руководство по Amass

Страница man отсутствует.

Примеры запуска Amass

Самое базовое использование инструмента, которое включает обратные DNS поиски и альтерацию имён для поиска субдоменов:

amass -d example.com

В следующем примере для исследуемого домена (-d example.com) будет выполнен поиск субдоменов, для найденных субдоменов будет показан IP адрес (-ip), для каждой находки будет показан источник, а также в конце будет выведена обобщающая информация (-v), количество требуемых обнаруженных субдоменов, после которого запускается рекурсивный брут-форсинг установлено на 3 ( -min-for-recursive 3):

amass -v -ip -brute -min-for-recursive 3 -d example.com
[Google] www.example.com
[VirusTotal] ns.example.com
...
13139 names discovered - archive: 171, cert: 2671, scrape: 6290, brute: 991, dns: 250, alt: 2766

Одновременный поиск по нескольким доменом (опцию -d можно использовать многократно, при каждой опции можно указать несколько доменов через запятую):

amass -d example1.com,example2.com -d example3.com

Установка Amass

Установка в Kali Linux

Автор предлагает несколько вариантов установки, в том числе имеются уже собранные пакеты. Но эти пакеты по какой-то причине собираются не для каждого вышедшего релиза. Поэтому самым простым способом получить последнюю версию является сборка из исходного кода. Программа написана на Go и для её сборки нужен компилятор Go. Как его получить с помощью нескольких команд смотрите в заметке «Установка Go (компилятора и инструментов) в Linux».

После того, как установлен компилятор Go, выполните следующи команды:

go get -u github.com/OWASP/Amass/...
cd $GOPATH/src/github.com/OWASP/Amass
go install ./...
sudo mv $GOPATH/bin/amass* /usr/bin/
sudo mkdir -p /usr/share/amass/wordlists/
sudo mv $GOPATH/src/github.com/OWASP/Amass/wordlists/* /usr/share/amass/wordlists/

Словари будут находиться в папке /usr/share/amass/wordlists/.

Установка в BlackArch

Программа предустановлена в BlackArch.

sudo pacman -S amass

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Amass

Инструкции по Amass

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

  • CloudFail (100%)
  • Intrigue-core (96.3%)
  • SPARTA (85.7%)
  • dnsenum (81.7%)
  • AQUATONE (81.7%)
  • sqlmap (RANDOM - 4%)
  • Рекомендуется Вам:

    Comments are Closed