Machinae
Описание Machinae
Machinae — сборщик сведений, связанных с безопасностью.
Machinae — это инструмент для сбора сведений по кусочкам данных из общедоступных сайтов / каналов: IP адреса, доменные имена, URL, email адреса, хэши файлов и SSL отпечатки. Программа была вдохновлена утилитой Automater, другого замечательного инструмента по сбору информации. Проект Machinae был рождён из желания улучшить Automater в четырёх областях:
- Codebase — Доведение Automater до совместимости с python3 и делание кода более «питомным»
- Конфигурация — Использование более понятного человеку формата (YAML)
- Ввод — Поддержка из коробки парсинга JSON без необходимости писать регулярные выражения, но по прежнему поддерживает при необходимости выскабливание регулярными выражениями
- Вывод — Поддержка дополнительных типов вывода, включая JSON, при этом внешний вывод делается опциональным
Домашняя страница: https://github.com/HurricaneLabs/machinae
Автор:
Лицензия: MIT
Справка по Machinae
использование:
machinae [-h] [-c КОНФИГУРАЦИЯ] [--nomerge] [-d ЗАДЕРЖКА] [-f ФАЙЛ] [-i INFILE] [-o {D,J,N,S}] [-O {ipv4,ipv6,fqdn,email,sslfp,hash,url}] [-q] [-s САЙТЫ] [-a AUTH] [-H HTTP_PROXY] [--dump-config | --detect-otype] ...
позиционные аргументы: цели опциональные аргументы: -h, --help show this help message and exit -c КОНФИГУРАЦИЯ, --config КОНФИГУРАЦИЯ --nomerge -d ЗАДЕРЖКА, --delay ЗАДЕРЖКА -f ФАЙЛ, --file ФАЙЛ -i INFILE, --infile INFILE -o {D,J,N,S} -O {ipv4,ipv6,fqdn,email,sslfp,hash,url}, --otype {ipv4,ipv6,fqdn,email,sslfp,hash,url} -q, --quiet -s САЙТЫ, --sites САЙТЫ -a AUTH, --auth AUTH -H HTTP_PROXY, --http-proxy HTTP_PROXY --dump-config --detect-otype
Руководство по Machinae
Страница man отсутствует.
Конфигурационный файл Machinae
Machinae поддерживает простую систему слияния конфигураций, что позволяет вам делать подстройку конфигурации без изменения machinae.yml с которым поставляется программа, что позволяет переключаться между разными конфигурациями. Это работает так: ищется общесистемный файл конфигурации (по умолчанию /etc/machinae.yml), который объединяется с общесистемной локальной конфигурацией (/etc/machinae.local.yml) и, наконец, с пользовательской локальной конфигурацией (~/.machinae.yml). Общесистемный конфигурационный файл также может быть размещён в текущей рабочей директории, его можно установить переменной окружения MACHINAE_CONFIG, или, конечно, использованием опцией командной строки -c или --config. Слияние конфигураций можно отключить опцией --nomerge, которая сделает так, что Machinae будет загружать только общесистемную конфигурацию (или одну ту, которая указана в командной строке).
В качестве примера, допустим, нам нужно включить сайт Fortinet Category, который по умолчанию отключён. Вы можете отредактировать /etc/machinae.yml, но эти изменения буду перезаписаны обновлением. Вместо этого вы можете разместить следующее в /etc/machinae.local.yml или в ~/.machinae.yml:
fortinet_classify: default: true
Или, наоборот, для отключения сайта, к примеру, Virus Total pDNS:
vt_ip: default: false vt_domain: default: false
Использование Machinae
Использование Machinae очень схоже с Automater:
использование: machinae [-h] [-c КОНФИГУРАЦИЯ] [-d ЗАДЕРЖКА] [-f ФАЙЛ] [--nomerge] [-o {D,J,N}] [-O {ipv4,ipv6,fqdn,email,sslfp,hash,url}] [-q] [-s САЙТЫ] цель [цели ...]
- Подробности об опциях -c/--config и --nomerge смотрите выше.
- Machinae поддерживает опцию -d/--delay как и Automater. Тем не менее, по умолчанию Machinae использует 0.
- Вывод Machinae контролируется двумя аргументами:
- -o контролирует формат вывода и за ним может идти один символ, указывающий желаемый тип вывода:
- N — это вывод по умолчанию ("Normal")
- D — это вывод по умолчанию, но символы точки заменяются
- J — это вывод JSON
- -f/--file указывает файл, в который нужно записать вывод. По умолчанию это "-" для stdout (стандартного вывода).
- Machinae попытается автоматически определить тип переданной цели (Machinae обращается к целям как "observables" и к типу как "otype"). Это определение может быть перезаписано опцией -O/--otype. Вариантами являются ipv4, ipv6, fqdn, email, sslfp, hash, url.
- По умолчанию, Machinae работает в вербальном режиме. В этом режиме, она будет выводить в консоли информацию о статусе служб, к которым она делает запрос по мере этих запросов. Этот вывод всегда будет записываться в стандартный вывод (stdout) независимо от настроек вывода. Для отключения вербального режима, используйте -q
- По умолчанию, Machinae пройдётся по всем службам, которые применимы к каждой цели otype и не помечены как "default: false". Для модификации этого поведения вы можете:
- передать разделённый запятой список сайтов для обхода (используйте ключ верхнего уровня из конфигурации).
- Передать специальное ключевое слово all для прохода по всем службам, включая те, которые отмечены как "default: false"
Помните, что в обоих случаях, всё ещё применяется валидация otype.
- Machinae поддерживает проход по HTTP proxy, для этого в командной строке используйте аргумент -H/--http-proxy. Если прокси не указано, machinae будет искать стандартные переменные окружения HTTP_PROXY и HTTPS_PROXY, а также менее стандартные переменные окружения http_proxy и https_proxy.
- Наконец, нужно передать список целей. Все аргументы, кроме тех, которые перечислены выше, будут интерпретироваться как цели.
Источники данных «из коробки»
Machinae идёт с поддержкой «из коробки» следующих источников данных:
- IPVoid
- URLVoid
- URL Unshortener (http://www.toolsvoid.com/unshorten-url)
- Malc0de
- SANS
- FreeGeoIP (freegeoip.io)
- Fortinet Category
- VirusTotal pDNS (через web scrape - нужно раскомментировать)
- VirusTotal pDNS (через JSON API)
- VirusTotal URL Report (через JSON API)
- VirusTotal File Report (через JSON API)
- Reputation Authority
- ThreatExpert
- VxVault
- ProjectHoneypot
- McAfee Threat Intelligence
- StopForumSpam
- Cymru MHR
- ICSI Certificate Notary
- TotalHash (по умолчанию отключено)
- DomainTools Parsed Whois (Требует API ключ)
- DomainTools Reverse Whois (Требует API ключ)
- DomainTools Reputation
- IP WHOIS (Использует интерфейсы RIR REST)
Дополнительные источники данных на подходе.
Базовая HTTP аутентификация и конфигурация
Machinae поддерживает базовую HTTP аутентификацию через флаг --auth/-a для сайтов, которые её требуют. Вам нужно создать файл YAML с вашими учётными данными, которые будут включать ключи к сайтам, которые требуют учётных данных, и список из двух элементов: имени пользователя и пароля или API ключа. Например, для сайта PassiveTotal это могло бы выглядеть так:
passivetotal: ['myemail@example.com', 'my_api_key']
Внутри настройки сайта под request вы увидите ключ примерно так:
json: request: url: '...' auth: passivetotal
auth: passivetotal указывает на включ внутри конфига аутентификации, переданного через командную строку.
По умолчанию отключны
Следующие сайты отключены по умолчанию:
- Fortinet Category (fortinet_classify)
- Telize Geo IP (telize)
- TotalHash (totalhash_ip)
- DomainTools Parsed Whois (domaintools_parsed_whois)
- DomainTools Reverse Whois (domaintools_reverse_whois)
- DomainTools Reputation (domaintools_reputation)
- PassiveTotal Passive DNS (passivetotal_pdns)
- PassiveTotal Whois (passivetotal_whois)
- PassiveTotal SSL Certificate History (passivetotal_sslcert)
- PassiveTotal Host Attribute Components (passivetotal_components)
- PassiveTotal Host Attribute Trackers (passivetotal_trackers)
- MaxMind GeoIP2 Passive Insight (maxmind)
- FraudGuard (fraudguard)
- Shodan (shodan)
Выводные форматы
Machinae идёт с ограниченным набором форматов вывода: нормальный, нормальный с экранированием и JSON. Создатели планируют добавить дополнительные форматы вывода в будущем.
Примеры запуска Machinae
Сбор информации о сайте mi-al.ru:
machinae mi-al.ru [.] Requesting http://www.spamhaus.org/query/domain/mi-al.ru (GET) [.] Requesting http://www.urlvoid.com/scan/mi-al.ru (GET) [.] Requesting http://www.toolsvoid.com/unshorten-url (POST) [.] Requesting https://malc0de.com/database/index.php?search=mi-al.ru (GET) [.] Requesting https://freegeoip.io/json/mi-al.ru (GET) [.] Requesting https://www.fortiguard.com/ip_rep/index.php?data=mi-al.ru&lookup=Lookup (GET) [.] Requesting https://www.virustotal.com/vtapi/v2/domain/report?domain=mi-al.ru&apikey=308211ef74a1044ea98134424b3d20769451d25beda0b808a8b61036badc0ea1 (GET) [.] Requesting http://www.reputationauthority.org/lookup.php?ip=mi-al.ru (GET) [.] Requesting https://www.mcafee.com/threat-intelligence/domain/default.aspx?domain=mi-al.ru®ion=us (GET) [.] Requesting https://cymon.io/api/nexus/v1/domain/mi-al.ru (GET) ******************************************************************************** * Information for mi-al.ru * Observable type: fqdn (Auto-detected: True) ******************************************************************************** [!] Error from Spamhaus Domain BL: 503 Server Error: Service Temporarily Unavailable for url: https://www.spamhaus.org/query/domain/mi-al.ru [+] URLVoid results [-] IP from URLVoid: 185.26.122.50 [-] Domain Age from URL Void: 2009-07-31 (7 years ago) [-] Geo Coordinates from URLVoid: 55.75 / 37.6166 [-] Country from URLVoid: Russian Federation [-] Country from URLVoid: Russian Federation [+] URL Unshorten results [-] Unshortened URL: https://mi-al.ru/ [-] No Malc0de results [+] freegeoip.io results [-] GeoIP Country Code: RU [-] GeoIP Country: Russia [-] GeoIP Region Code: [-] GeoIP Region: [-] GeoIP City: [-] GeoIP Zip Code: [-] GeoIP Latitude: 55.75 [-] GeoIP Longitude: 37.6166 [-] GeoIP Timezone: [+] Fortinet Category results [-] Fortinet URL Category: Illegal or Unethical [+] VirusTotal pDNS results [-] pDNS data from VirusTotal: ('2014-09-30', '185.26.122.110') [-] pDNS data from VirusTotal: ('2016-02-25', '185.26.122.50') [-] Websense ThreatSeeker category: uncategorized [-] No Reputation Authority results [-] No McAfee Threat results [-] No Cymon.io Domain Lookup results
Сбор информации об IP 185.117.153.79:
machinae 185.117.153.79 [.] Requesting http://www.spamhaus.org/query/ip/185.117.153.79 (GET) [.] Requesting http://www.ipvoid.com/scan/185.117.153.79 (GET) [.] Requesting https://malc0de.com/database/index.php?search=185.117.153.79 (GET) [.] Requesting https://isc.sans.edu/api/ip/185.117.153.79 (GET) [.] Requesting https://freegeoip.io/json/185.117.153.79 (GET) [.] Requesting https://www.fortiguard.com/ip_rep/index.php?data=185.117.153.79&lookup=Lookup (GET) [.] Requesting https://www.virustotal.com/vtapi/v2/ip-address/report?ip=185.117.153.79&apikey=308211ef74a1044ea98134424b3d20769451d25beda0b808a8b61036badc0ea1 (GET) [.] Requesting http://www.reputationauthority.org/lookup.php?ip=185.117.153.79 (GET) [.] Requesting https://www.projecthoneypot.org/ip_185.117.153.79 (GET) [.] Requesting https://www.mcafee.com/threat-intelligence/ip/default.aspx?ip=185.117.153.79®ion=us (GET) [.] Requesting https://cymon.io/api/nexus/v1/ip/185.117.153.79/events/ (GET) [.] Requesting https://cymon.io/api/nexus/v1/ip/185.117.153.79/domains/ (GET) [.] Requesting https://cymon.io/api/nexus/v1/ip/185.117.153.79/urls/ (GET) [.] Requesting https://www.threatcrowd.org/searchApi/v2/ip/report/?ip=185.117.153.79 (GET) [.] Requesting https://api.passivetotal.org/v2/ssl-certificate/history?query=185.117.153.79 (GET) [.] Requesting https://api.fraudguard.io/ip/185.117.153.79 (GET) ******************************************************************************** * Information for 185.117.153.79 * Observable type: ipv4 (Auto-detected: True) ******************************************************************************** [+] IP Whois results [-] ASN Information: ('48666', '185.117.152.0/22', '2015-09-16', 'ripencc', 'RU') [-] Network Information: ('185.117.152.0/23', 'MAROSNET-185-117-152-0', '185.117.152.0 - 185.117.153.255') [-] Registration Info: ('Marosnet enterprise network', '2015-12-06', '2015-12-06') [-] Registration Locality: RU [!] Error from Spamhaus Zen BL: 503 Server Error: Service Temporarily Unavailable for url: https://www.spamhaus.org/query/ip/185.117.153.79 [+] IPVoid results [-] ISP from IPVoid: Unknown [-] No Malc0de results [!] Error from SANS: Timeout [+] freegeoip.io results [-] GeoIP Country Code: RU [-] GeoIP Country: Russia [-] GeoIP Region Code: [-] GeoIP Region: [-] GeoIP City: [-] GeoIP Zip Code: [-] GeoIP Latitude: 55.75 [-] GeoIP Longitude: 37.6166 [-] GeoIP Timezone: [+] Fortinet Category results [-] Fortinet URL Category: Not Rated [+] VirusTotal pDNS results [-] pDNS data from VirusTotal: ('2016-04-26', 'www.compforman.ru') [-] No Reputation Authority results [-] No ProjectHoneypot results [-] No McAfee Threat results [-] No Cymon.io IP Events results [-] No Cymon.io IP Domains results [-] No Cymon.io IP URLs results [-] No ThreatCrowd IP Report results [-] No PassiveTotal SSL Certificate History results
Установка Machinae
Установка в Kali Linux
sudo apt-get install python3-pip pip3 install machinae wget https://raw.githubusercontent.com/HurricaneLabs/machinae/master/machinae.yml -O ~/.machinae.yml ~/.local/bin/machinae kali.tools
Установка в BlackArch
Программа предустановлена в BlackArch.
sudo pacman -S python-pip machinae
Если появляется ошибка, то дополнительно:
sudo pip install machinae
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты Machinae
Инструкции по Machinae
Ссылки на инструкции будут добавлены позже.
Comments are Closed