Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/hurricanelabs/machinae
OSINT (Open Source Intelligence)Threat Feeds & AggregatorsInformation GatheringThreat Intelligence
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와 호환되도록 만들고 코드를 더 파이썬답게(pythonic) 만듦
  2. 구성 - 더 사람이 읽기 쉬운 구성 형식(YAML) 사용
  3. 입력 - 정규 표현식을 작성할 필요 없이 바로 JSON 파싱을 지원하지만, 필요할 때는 정규식 스크래핑도 지원
  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

반대로 Virus Total 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는 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"로 표시되지 않은 모든 서비스를 실행합니다. 이 동작을 수정하려면 다음을 수행할 수 있습니다:

즉시 사용 가능한 데이터 소스

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 사이트의 경우 다음과 같을 수 있습니다:

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는 제한된 출력 형식 세트를 제공합니다: 일반(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)

버전 1.0.0 (2015-07-02)

  • 최초 릴리스

라이센스 정보

MIT 라이센스 (MIT)

Copyright (c) 2015 Hurricane Labs LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

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

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

  • Machinae는 명령줄에서 -H/--http-proxy 인수를 사용하여 HTTP 프록시 전달을 지원합니다. 프록시가 지정되지 않으면 machinae는 표준 HTTP_PROXY 및 HTTPS_PROXY 환경 변수와 덜 표준적인 http_proxy 및 https_proxy 환경 변수를 검색합니다.

  • 마지막으로 대상 목록을 전달해야 합니다. 위에 나열된 옵션 이외의 모든 인수는 대상으로 해석됩니다.

  • FraudGuard (fraudguard)
  • Shodan (shodan)
  • Hacked IP
  • Metadefender Cloud (API 키 필요)
  • GreyNoise (API 키 필요)
  • IBM XForce (API 키 필요)