Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
machinae — 공개 피드 및 API를 쿼리하여 IP, 도메인, URL, 해시 및 SSL 지문에 대한 위협 데이터를 수집하는 자동화된 보안 인텔리전스 수집기입니다. YAML 기반 구성과 JSON 출력을 지원합니다. | Kitploit
도구/GitHubGitHub/hurricanelabs/machinae
OSINT (Open Source Intelligence)Threat Feeds & AggregatorsInformation GatheringThreat Intelligence
GitHubhurricanelabs/machinae

machinae

공개 피드 및 API를 쿼리하여 IP, 도메인, URL, 해시 및 SSL 지문에 대한 위협 데이터를 수집하는 자동화된 보안 인텔리전스 수집기입니다. YAML 기반 구성과 JSON 출력을 지원합니다.

저장소 보기
536101263개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Build Status CII Best Practices Quality Gate Status

Machinae Logo

Machinae 보안 인텔리전스 수집기

Machinae는 IP 주소, 도메인 이름, URL, 이메일 주소, 파일 해시 및 SSL 지문과 같은 다양한 보안 관련 데이터에 대해 공개 사이트/피드에서 인텔리전스를 수집하는 도구입니다. 이 도구는 정보 수집을 위한 또 다른 훌륭한 도구인 [Automater][1]에서 영감을 받았습니다. Machinae 프로젝트는 Automater를 다음 4가지 영역에서 개선하고자 하는 바람에서 탄생했습니다:

  1. 코드베이스 - Automater를 python3와 호환되도록 만들고 코드를 더 파이썬답게(pythonic) 만듦
  2. 구성 - 더 사람이 읽기 쉬운 구성 형식(YAML) 사용
  3. 입력 - 정규 표현식을 작성할 필요 없이 바로 JSON 파싱을 지원하지만, 필요할 때는 정규식 스크래핑도 지원
  4. 출력 - 추가 출력 유형(JSON 포함)을 지원하면서 불필요한 출력은 선택적으로 만듦

설치

Machinae는 pip3를 사용하여 설치할 수 있습니다:

pip3 install machinae

또는 더 모험적인 방법으로 github에서 직접 설치할 수도 있습니다:

pip3 install git+https://github.com/HurricaneLabs/machinae.git

시스템에 Python 모듈 컴파일에 필요한 종속성(Debian 기반 시스템에서는 python3-dev)과 libyaml 개발 패키지(Debian 기반 시스템에서는 libyaml-dev)가 설치되어 있어야 합니다.

또한 [최신 구성 파일][2]을 다운로드하여 /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에 다음 내용을 넣을 수 있습니다:

fortinet_classify:
  default: true

반대로 Virus Total pDNS와 같은 사이트를 비활성화하려면:

vt_ip:
  default: false
vt_domain:
  default: false

사용법

Machinae 사용법은 Automater와 매우 유사합니다:

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는 Automater와 마찬가지로 -d/--delay 옵션을 지원합니다. 하지만 Machinae는 기본값으로 0을 사용합니다.

  • Machinae 출력은 두 가지 인수로 제어됩니다:

    • -o는 출력 형식을 제어하며, 그 뒤에 단일 문자를 입력하여 원하는 출력 유형을 지정할 수 있습니다:
      • N은 기본 출력("Normal")
      • D는 기본 출력이지만 점(.) 문자가 대체됨
      • J는 JSON 출력
    • -f/--file은 출력을 쓸 파일을 지정합니다. 기본값은 stdout인 "-"입니다.
  • Machinae는 전달된 대상의 유형을 자동 감지하려고 시도합니다(Machinae에서는 대상을 "observable"이라고 부르고 유형을 "otype"이라고 합니다). 이 감지는 -O/--otype 옵션으로 재정의할 수 있습니다. 선택 사항은 사용법에 나열되어 있습니다.

  • 기본적으로 Machinae는 자세한(verbose) 모드로 작동합니다. 이 모드에서는 쿼리 중인 서비스에 대한 상태 정보를 콘솔에 출력합니다. 이 출력은 출력 설정과 관계없이 항상 stdout에 기록됩니다. 자세한 모드를 비활성화하려면 -q를 사용하십시오.

  • 기본적으로 Machinae는 구성에서 각 대상의 otype에 적용되고 "default: false"로 표시되지 않은 모든 서비스를 실행합니다. 이 동작을 수정하려면 다음을 수행할 수 있습니다:

    • 실행할 사이트의 쉼표로 구분된 목록 전달(구성의 최상위 키 사용)
    • "default: false"로 표시된 서비스를 포함하여 모든 서비스를 실행하려면 특수 키워드 all 전달

    두 경우 모두 otype 유효성 검사가 계속 적용됩니다.

  • Machinae는 명령줄에서 -H/--http-proxy 인수를 사용하여 HTTP 프록시 전달을 지원합니다. 프록시가 지정되지 않으면 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 (웹 스크래핑을 통해 - 주석 처리됨)
  • 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 인터페이스 사용)
  • Hacked IP
  • Metadefender Cloud (API 키 필요)
  • GreyNoise (API 키 필요)
  • IBM XForce (API 키 필요)

추가 데이터 소스도 계획 중입니다.

HTTP 기본 인증 및 구성

Machinae는 --auth/-a 플래그를 통해 HTTP Basic Auth를 지원합니다. 자격 증명이 포함된 YAML 파일을 생성해야 하며, 여기에는 자격 증명이 필요한 사이트의 키와 사용자 이름 및 비밀번호(또는 API 키)의 두 항목 목록이 포함됩니다. 예를 들어, 포함된 PassiveTotal 사이트의 경우 다음과 같을 수 있습니다:

passivetotal: ['[email protected]', '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)
  • Hacked IP
  • Metadefender Cloud (API 키 필요)
  • GreyNoise (API 키 필요)
  • IBM XForce (API 키 필요)

출력 형식

Machinae는 제한된 출력 형식 세트를 제공합니다: 일반(Normal), 점 이스케이핑이 있는 일반, 그리고 JSON입니다. 향후 추가 출력 형식을 추가할 계획입니다.

추가 사이트 추가

*** 곧 제공 예정 ***

알려진 문제

  • IPvoid의 일부 ISP에는 이중 인코딩된 HTML 엔터티가 포함되어 있으며, 이는 이중 디코딩되지 않습니다

예정된 기능

  • IDS 규칙 검색 기능 추가(VRT/ET)
  • 사이트에 "자세히 보기" 링크 추가
  • 파서 설정에 "dedup" 옵션 추가
  • otype별 요청 설정 옵션 추가
  • 오류 코드에 대한 사용자 지정 사이트별 출력 추가

버전 내역

버전 1.4.9 (2020-11-25)

  • 시간이 epoch 시간이지만 str 유형인 경우 JSON as_time 처리의 버그 수정

버전 1.4.1 (2018-08-31)

  • 새로운 기능
    • 출력 자동 디팽(defang)
    • MISP 지원 (machinae.yml에 예제 추가됨)

버전 1.4.0 (2016-04-20)

  • 새로운 기능
    • 인증 구성 파일 전달을 위한 "-a"/"--auth" 옵션
      • 제출해 주신 johannestaas님 감사합니다
    • HTTP 프록시를 위한 "-H"/"--http-proxy" 옵션 및 환경 변수 지원
  • 새로운 사이트
    • Passivetotal (다양한 형태, johannestaas님 감사합니다)
    • MaxMind
    • FraudGuard
    • Shodan
  • 업데이트된 사이트
    • FreeGeoIP (freegeoip.net에서 freegeoip.io로 변경)

버전 1.3.4 (2016-04-01)

  • 버그 수정
    • JSON으로 출력할 때 예외를 str로 변환
      • 실제로 #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:// 또는 https://로 시작하지 않는 URL 대상 앞에 "http://" 추가

버전 1.3.0 (2016-03-07)

  • 새로운 사이트
    • Cymon.io - eSentire의 위협 인텔리전스 수집기/추적기
  • 새로운 기능
    • 간단한 페이지 매김 응답 지원
    • 요청 URL에서 'target'의 URL 인코딩 지원
    • 결과에서 URL 디코딩 값 지원

버전 1.2.0 (2016-02-16)

  • 새로운 기능
    • 여러 JSON 문서를 반환하는 사이트 지원
    • 상대 시간 매개변수에 대한 시간 형식 지정 기능
    • 결과에서 Unix 타임스탬프를 구문 분석하고 ISO-8601 형식으로 표시하는 기능
    • API별로 무시할 상태 코드 지정 기능
  • 새로운 사이트
    • DNSDB - FarSight Security Passive DNS 데이터베이스(프리미엄)

버전 1.1.2 (2015-11-26)

  • 새로운 사이트
    • Telize (프리미엄) - GeoIP 사이트 (프리미엄)
    • Freegeoip - GeoIP 사이트 (무료)
    • CIF - csirtgadgets.org의 CIFv2 API 지원
  • 새로운 기능
    • 단일 라인 다중 일치 JSON 출력에 대한 레이블 지정 기능
    • relatime 라이브러리를 사용한 상대 시간 매개변수 지정 기능

버전 1.0.1 (2015-10-13)

  • Spamhaus의 가양성 버그 수정 (Github#10)
도구 다운로드