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

Machinae는 IP 주소, 도메인 이름, URL, 이메일 주소, 파일 해시 및 SSL 지문과 같은 다양한 보안 관련 데이터에 대해 공개 사이트/피드에서 인텔리전스를 수집하는 도구입니다. 이 도구는 정보 수집을 위한 또 다른 훌륭한 도구인 Automater에서 영감을 받았습니다. Machinae 프로젝트는 Automater를 다음 4가지 영역에서 개선하고자 하는 바람에서 탄생했습니다:
Machinae는 pip3를 사용하여 설치할 수 있습니다:
pip3 install machinae
또는 더 모험적인 방법으로 github에서 직접 설치할 수도 있습니다:
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에 다음 내용을 넣을 수 있습니다:
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는 출력 형식을 제어하며, 그 뒤에 단일 문자를 입력하여 원하는 출력 유형을 지정할 수 있습니다:
-f/--file은 출력을 쓸 파일을 지정합니다. 기본값은 stdout인 "-"입니다.Machinae는 전달된 대상의 유형을 자동 감지하려고 시도합니다(Machinae에서는 대상을 "observable"이라고 부르고 유형을 "otype"이라고 합니다). 이 감지는 -O/--otype 옵션으로 재정의할 수 있습니다. 선택 사항은 사용법에 나열되어 있습니다.
기본적으로 Machinae는 자세한(verbose) 모드로 작동합니다. 이 모드에서는 쿼리 중인 서비스에 대한 상태 정보를 콘솔에 출력합니다. 이 출력은 출력 설정과 관계없이 항상 stdout에 기록됩니다. 자세한 모드를 비활성화하려면 -q를 사용하십시오.
기본적으로 Machinae는 구성에서 각 대상의 otype에 적용되고 "default: false"로 표시되지 않은 모든 서비스를 실행합니다. 이 동작을 수정하려면 다음을 수행할 수 있습니다:
Machinae는 다음과 같은 데이터 소스를 즉시 지원합니다:
추가 데이터 소스도 계획 중입니다.
Machinae는 --auth/-a 플래그를 통해 HTTP Basic Auth를 지원합니다. 자격 증명이 포함된 YAML 파일을 생성해야 하며, 여기에는 자격 증명이 필요한 사이트의 키와 사용자 이름 및 비밀번호(또는 API 키)의 두 항목 목록이 포함됩니다. 예를 들어, 포함된 PassiveTotal 사이트의 경우 다음과 같을 수 있습니다:
passivetotal: ['[email protected]', 'my_api_key']
사이트 구성 내에서 request 아래에 다음과 같은 키가 표시됩니다:
json:
request:
url: '...'
auth: passivetotal
auth: passivetotal은 명령줄을 통해 전달된 인증 구성 내의 키를 가리킵니다.
다음 사이트는 기본적으로 비활성화되어 있습니다
fortinet_classify)telize)totalhash_ip)domaintools_parsed_whois)domaintools_reverse_whois)domaintools_reputation)passivetotal_pdns)passivetotal_whois)passivetotal_sslcert)passivetotal_components)passivetotal_trackers)maxmind)Machinae는 제한된 출력 형식 세트를 제공합니다: 일반(Normal), 점 이스케이핑이 있는 일반, 그리고 JSON입니다. 향후 추가 출력 형식을 추가할 계획입니다.
*** 곧 제공 예정 ***
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.
all 전달두 경우 모두 otype 유효성 검사가 계속 적용됩니다.
Machinae는 명령줄에서 -H/--http-proxy 인수를 사용하여 HTTP 프록시 전달을 지원합니다. 프록시가 지정되지 않으면 machinae는 표준 HTTP_PROXY 및 HTTPS_PROXY 환경 변수와 덜 표준적인 http_proxy 및 https_proxy 환경 변수를 검색합니다.
마지막으로 대상 목록을 전달해야 합니다. 위에 나열된 옵션 이외의 모든 인수는 대상으로 해석됩니다.
fraudguard)shodan)