Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
machinae — Автоматизированный сборщик данных об угрозах безопасности, который запрашивает публичные источники и API для получения информации об угрозах по IP-адресам, доменам, URL, хэшам и SSL-отпечаткам, с конфигурацией на основе YAML и выводом в JSON. | Kitploit
Инструменты/GitHubGitHub/hurricanelabs/machinae
OSINT (Разведка открытых источников)Фиды и агрегаторы угрозСбор информацииРазведка угроз
GitHubhurricanelabs/machinae

machinae

Автоматизированный сборщик данных об угрозах безопасности, который запрашивает публичные источники и API для получения информации об угрозах по IP-адресам, доменам, URL, хэшам и SSL-отпечаткам, с конфигурацией на основе YAML и выводом в JSON.

Репозиторий
5361012 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Build Status CII Best Practices Quality Gate Status

Machinae Logo

Machinae — сборщик данных разведки безопасности

Machinae — это инструмент для сбора информации об угрозах с публичных сайтов/каналов, касающихся различных данных безопасности: IP-адресов, доменных имён, URL, адресов электронной почты, хешей файлов и SSL-отпечатков. Он был вдохновлён инструментом Automater, ещё одним отличным средством для сбора информации. Проект Machinae родился из желания улучшить Automater в 4 направлениях:

  1. Кодовая база — перенести Automater на Python3, сделав код более питоничным.
  2. Конфигурация — использовать более человекочитаемый формат конфигурации (YAML).
  3. Входные данные — обеспечить поддержку разбора JSON «из коробки» без необходимости писать регулярные выражения, но при этом сохранить возможность извлечения данных через regex, когда это необходимо.
  4. Вывод — поддерживать дополнительные типы вывода, включая JSON, сделав второстепенный вывод опциональным.

Установка

Machinae можно установить с помощью pip3:

root@kitploit:~
pip3 install machinae

Или, если вы любите приключения, напрямую из github:

root@kitploit:~
pip3 install git+https://github.com/HurricaneLabs/machinae.git

Для этого в вашей системе должны быть установлены необходимые зависимости для компиляции модулей Python (на системах на базе Debian — python3-dev), а также пакет разработки libyaml (на системах на базе Debian — libyaml-dev).

Также вам потребуется скачать последнюю версию файла конфигурации и поместить её в /etc/machinae.yml.

Файл конфигурации

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:

root@kitploit:~
fortinet_classify:
  default: true

Или, наоборот, отключить сайт, например VirusTotal pDNS:

root@kitploit:~
vt_ip:
  default: false
vt_domain:
  default: false

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

Использование Machinae очень похоже на Automater:

root@kitploit:~
usage: machinae [-h] [-c CONFIG] [--nomerge] [-d DELAY] [-f FILE] [-i INFILE] [-v]
            [-o {D,J,N,S}] [-O {ipv4,ipv6,fqdn,email,sslfp,hash,url}] [-q]
            [-s SITES] [-a AUTH] [-H HTTP_PROXY]
            [--dump-config | --detect-otype]
            ...
  • Подробнее об опциях -c/--config и --nomerge см. выше.

  • Machinae поддерживает опцию -d/--delay, как и Automater. Однако Machinae по умолчанию использует 0.

  • Вывод Machinae управляется двумя аргументами:

    • -o задаёт формат вывода; после него может следовать один символ, указывающий желаемый тип вывода:
      • N — вывод по умолчанию («Обычный»)
      • D — вывод по умолчанию, но точки заменяются
      • J — вывод в JSON
    • -f/--file задаёт файл, в который должен быть записан вывод. По умолчанию используется "-" для stdout.
  • Machinae попытается автоматически определить тип переданной цели (в Machinae цели называются «наблюдаемыми объектами», а тип — «otype»). Это определение можно переопределить опцией -O/--otype. Доступные варианты перечислены в справке.

  • По умолчанию Machinae работает в подробном режиме. В этом режиме он выводит информацию о состоянии запрашиваемых сервисов в консоль по мере их опроса. Этот вывод всегда направляется в stdout независимо от настроек вывода. Для отключения подробного режима используйте .

Встроенные источники данных

Machinae поставляется со встроенной поддержкой следующих источников данных:

  • IPVoid
  • URLVoid
  • URL Unshortener (http://www.toolsvoid.com/unshorten-url)
  • Malc0de
  • SANS
  • FreeGeoIP (freegeoip.io)
  • Fortinet Category
  • VirusTotal pDNS (через веб-скрапинг — закомментирован)
  • 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 (через REST-интерфейсы RIR)
  • Hacked IP
  • Metadefender Cloud (требуется API-ключ)
  • GreyNoise (требуется API-ключ)
  • IBM XForce (требуется API-ключ)

В планах — добавление новых источников данных.

HTTP Basic-аутентификация и конфигурация

Machinae поддерживает HTTP Basic Auth для сайтов, требующих её, через флаг --auth/-a. Вам потребуется создать YAML-файл с вашими учётными данными, который будет содержать ключ для сайта, требующего учётные данные, и список из двух элементов: имя пользователя и пароль или API-ключ. Например, для включённого сайта PassiveTotal это может выглядеть так:

root@kitploit:~
passivetotal: ['[email protected]', 'my_api_key']

В конфигурации сайта в разделе request вы увидите такой ключ, как:

root@kitploit:~
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)

Форматы вывода

Machinae поставляется с ограниченным набором форматов вывода: обычный, обычный с экранированием точек и JSON. В будущем мы планируем добавить дополнительные форматы.

Добавление новых сайтов

*** СКОРО ***

Известные проблемы

  • У некоторых провайдеров на IPvoid встречаются дважды закодированные HTML-сущности, которые не декодируются повторно.

Будущие возможности

  • Добавить функциональность поиска правил IDS (VRT/ET)
  • Добавить ссылку «Подробнее» для сайтов
  • Добавить опцию «dedup» в настройки парсера
  • Добавить возможность настройки запросов по типу цели
  • Добавить собственный вывод для кодов ошибок на каждый сайт

История версий

Версия 1.4.9 (2020-11-25)

  • Исправлена ошибка в обработке JSON as_time, когда время является эпохальным, но имеет тип str

Версия 1.4.1 (2018-08-31)

  • Новые возможности
    • Автоматическое обезвреживание (Defanging) вывода
    • Поддержка MISP (пример добавлен в machinae.yml)

Версия 1.4.0 (2016-04-20)

  • Новые возможности
    • Опция "-a"/"--auth" для передачи файла конфигурации аутентификации
      • Спасибо johannestaas за доработку
    • Опция "-H"/"--http-proxy" и поддержка переменных окружения для HTTP-прокси
  • Новые сайты
    • Passivetotal (различные формы, спасибо johannestaas)
    • MaxMind
    • FraudGuard
    • Shodan
  • Обновлённые сайты
    • FreeGeoIP (freegeoip.net заменён на freegeoip.io)

Версия 1.3.4 (2016-04-01)

  • Исправления ошибок
    • Преобразование исключений в строки при выводе в JSON
      • Должно окончательно закрыть #14

Версия 1.3.3 (2016-03-28)

  • Исправления ошибок
    • Корректная обработка результатов ошибок при выводе в JSON
      • Закрывает #14
      • Спасибо Den1al за сообщение об ошибке

Версия 1.3.2 (2016-03-10)

  • Новые возможности
    • «Краткий» режим вывода — просто выводит да/нет/ошибку для каждого сайта
    • Опция "-i"/"--infile" для передачи файла со списком целей

Версия 1.3.1 (2016-03-08)

  • Новые возможности
    • Добавление префикса "http://" к URL-целям, если они не начинаются с http:// или https://

Версия 1.3.0 (2016-03-07)

  • Новые сайты
    • Cymon.io — агрегатор/трекер угроз от eSentire
  • Новые возможности
    • Поддержка простых постраничных ответов
    • Поддержка кодирования «target» в URL-запросе
    • Поддержка декодирования URL-значений в результатах

Версия 1.2.0 (2016-02-16)

  • Новые возможности
    • Поддержка сайтов, возвращающих несколько JSON-документов
    • Возможность указания формата времени для параметров относительного времени
    • Возможность разбора Unix-меток времени в результатах и отображения в формате ISO-8601
    • Возможность указания кодов состояния, которые следует игнорировать для конкретного API
  • Новые сайты
    • DNSDB — база данных пассивного DNS от FarSight Security (премиум)

Версия 1.1.2 (2015-11-26)

  • Новые сайты
    • Telize (премиум) — GeoIP-сайт (премиум)
    • Freegeoip — GeoIP-сайт (бесплатный)
    • CIF — поддержка API CIFv2 от csirtgadgets.org
  • Новые возможности
    • Возможность указания меток для результатов JSON с несколькими совпадениями в одной строке
    • Возможность указания параметров относительного времени с помощью библиотеки relatime

Версия 1.0.1 (2015-10-13)

  • Исправлена ложноположительная ошибка со Spamhaus (Github#10)

Версия 1.0.0 (2015-07-02)

  • Первый выпуск

Информация о лицензии

Лицензия MIT (MIT)

Copyright (c) 2015 Hurricane Labs LLC

Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного программного обеспечения и сопутствующей документации (далее — «Программное обеспечение»), на безвозмездное использование Программного обеспечения без ограничений, включая, без ограничений, права на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешение лицам, которым предоставляется данное Программное обеспечение, делать это при соблюдении следующих условий:

Вышеуказанное уведомление об авторских правах и данное разрешение должны быть включены во все копии или значительные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ В КОЕМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, УБЫТКАМ ИЛИ ИНЫМ ТРЕБОВАНИЯМ, ВОЗНИКАЮЩИМ ИЗ ДОГОВОРА, ДЕЛИКТА ИЛИ ДРУГИХ ДЕЙСТВИЙ, СВЯЗАННЫХ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ЕГО ИСПОЛЬЗОВАНИЕМ, ДАЖЕ ЕСЛИ БЫЛИ УВЕДОМЛЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.

Скачать инструмент
-q
  • По умолчанию Machinae выполняет все сервисы из конфигурации, которые подходят по типу цели и не помечены как default: false. Чтобы изменить это поведение, вы можете:

    • Передать список сайтов через запятую (используйте ключ верхнего уровня из конфигурации).
    • Передать специальное ключевое слово all, чтобы запустить все сервисы, включая те, что помечены как default: false.

    Обратите внимание, что в обоих случаях проверка otype по-прежнему применяется.

  • Machinae поддерживает передачу HTTP-прокси в командной строке с помощью аргумента -H/--http-proxy. Если прокси не указан, machinae ищет стандартные переменные окружения HTTP_PROXY и HTTPS_PROXY, а также менее стандартные http_proxy и https_proxy.

  • И наконец, следует передать список целей. Все аргументы, кроме перечисленных выше опций, будут интерпретироваться как цели.

  • FraudGuard (fraudguard)
  • Shodan (shodan)
  • Hacked IP
  • Metadefender Cloud (требуется API-ключ)
  • GreyNoise (требуется API-ключ)
  • IBM XForce (требуется API-ключ)