
로봇이 아닌 사용자를 위한 패시브 호스트명, 도메인 및 IP 조회 도구
로봇이 아닌 사용자를 위한 패시브 호스트명, 도메인 및 IP 조회 도구


wtfis는 다양한 OSINT 서비스를 사용하여 도메인, FQDN 또는 IP 주소에 대한 정보를 수집하는 명령줄 도구입니다. 다른 유사 도구와 달리, 사람이 직접 보기 위해 특별히 설계되어 보기 좋고(사람마다 다를 수 있음) 읽고 이해하기 쉬운 결과를 제공합니다.
이 도구는 무료 티어/커뮤니티 수준 계정을 사용한다고 가정하므로, 할당량과 요율 제한에 걸리지 않도록 API 호출을 최대한 적게 합니다.
프로젝트 이름은 "whois"를 활용한 말장난입니다.
| 서비스 | 조회에 사용 | 필수 | 무료 티어 |
|---|---|---|---|
| Virustotal | 모두 | 아니요 | 예 |
| AbuseIPDB | IP 주소 | 아니요 | 예 |
| Greynoise | IP 주소 | 아니요 | 예 |
| IP2Location | IP 주소 | 아니요 | 예 |
| IP2Whois | 도메인/FQDN | 아니요 | 예 |
| IPinfo | IP 주소 | 아니요 | 예 (가입 불필요) |
| IPWhois | IP 주소 | 아니요 | 예 (가입 불필요) |
| Shodan | IP 주소 | 아니요 | 아니요 |
| URLhaus | 모두 | 아니요 | 예 |
기본 정보 소스입니다. 다음을 가져옵니다:
AbuseIPDB는 신고된 악성 IP 주소의 크라우드소싱 데이터베이스입니다. wtfis는 그 API를 통해 다음을 표시합니다:
IP 주소용 대체 지리 위치 및 ASN 조회 소스입니다(기본값은 IPWhois). 다음을 가져옵니다:
IP2Whois와 IP2Location은 같은 서비스의 서로 다른 기능이므로 한 번만 가입하면 됩니다. API 키는 두 조회 모두에 사용할 수 있습니다.
자격 증명이 제공되면 선택적으로 사용됩니다. 다음을 가져옵니다:
IP2Whois는 여러 이유로 whois 데이터에 있어 Virustotal보다 권장됩니다:
IP 주소용 또 다른 대체 지리 위치 및 ASN 조회 소스입니다. 다음을 가져옵니다:
IP 주소용 기본 지리 위치 및 ASN 조회 소스입니다. 다음을 가져옵니다:
IPWhois는 도메인 Whois 데이터를 제공하는 IP2Whois와 혼동해서는 안 됩니다.
Greynoise의 커뮤니티 API를 사용하여 wtfis는 IP가 Greynoise 데이터셋 중 하나에 포함되는지 표시합니다:
데이터셋에 대한 자세한 정보는 여기를 참조하세요.
또한 API는 IP에 대한 Greynoise의 분류(사용 가능한 경우)도 반환합니다. 가능한 값은 benign, malicious, unknown입니다.
/shodan/host/{ip} 엔드포인트에서 데이터를 가져옵니다(문서 참조). 각 IP에 대해 다음을 조회합니다:
URLhaus는 신고된 악성 URL의 크라우드소싱 데이터베이스입니다. 이 강화 기능은 조회한 호스트명 또는 IP가 HTTP나 HTTPS를 통한 악성코드 유포에 현재 사용 중이거나 과거에 사용되었는지에 대한 통찰을 제공합니다. 제공되는 데이터는 다음과 같습니다:
$ pip install wtfis
conda(conda-forge)로 설치하려면 wtfis-feedstock을 참조하세요.
brew로 설치하려면:
brew install wtfis
wtfis는 다음 환경 변수를 사용합니다(모두 선택 사항):
VT_API_KEY - Virustotal API 키ABUSEIPDB_API_KEY - AbuseIPDB API 키IP2LOCATION_API_KEY - IP2Location API 키IP2WHOIS_API_KEY - IP2Whois API 키GREYNOISE_API_KEY - Greynoise API 키SHODAN_API_KEY - Shodan API 키URLHAUS_API_KEY - URLhaus API 키WTFIS_DEFAULTS - 기본 부울(boolean) 인자GEOLOCATION_SERVICE - 사용할 지리 위치 / ASN 조회 서비스이 변수들은 자신의 방식으로 설정하세요.
또는 홈 디렉터리에 위 옵션을 담은 ~/.env.wtfis 파일을 만드세요. 템플릿은 .env.wtfis.example을 참조하세요. 참고: 파일에 chmod 400을 꼭 실행하세요!
usage: wtfis [-h] [-A] [-s] [-g] [-a] [-u] [-m N] [-n] [-1] [-V] [--geolocation-service {ip2location,ipinfo,ipwhois}] entity
positional arguments:
entity Hostname, domain or IP
options:
-h, --help show this help message and exit
-A, --all Enable all possible enrichments
-s, --use-shodan Use Shodan to enrich IPs
-g, --use-greynoise Enable Greynoise for IPs
-a, --use-abuseipdb Enable AbuseIPDB for IPs
-u, --use-urlhaus Enable URLhaus for IPs and domains
-m N, --max-resolutions N
Maximum number of resolutions to show (default: 3)
-n, --no-color Show output without colors
-1, --one-column Display results in one column
-V, --version Print version number
--geolocation-service {ip2location,ipinfo,ipwhois}
Geolocation service to use (default: ipwhois)
기본적으로:
$ wtfis FQDN_OR_DOMAIN_OR_IP
그러면 위 이미지처럼 패널별로 정리된 결과를 얻을 수 있습니다.
무력화(defanged)된 입력도 허용됩니다(예: api[.]google[.]com).
터미널이 지원하는 경우 특정 필드와 제목은 해당 서비스 웹사이트로 연결되는 클릭 가능한 하이퍼링크입니다.
각 강화 플래그를 개별적으로 지정하는 대신 -A / --all 플래그를 사용하여 가능한 모든 강화 기능을 활성화할 수 있습니다. 이 플래그는 --use-* 플래그와 함께 사용할 수 없습니다.
-a 또는 --use-abuseipdb 플래그를 사용하여 호스트명, 도메인 및 IP에 대한 AbuseIPDB 강화 기능을 활성화하세요.

AbuseIPDB 필드 이름은(터미널이 지원하는 경우) 조회 항목에 대한 특정 AbuseIPDB 데이터베이스 페이지로 이동하는 하이퍼링크입니다.
Greynoise를 활성화하려면 -g 또는 --use-greynoise 플래그와 함께 실행하세요. API 할당량이 매우 낮기 때문에(2023년 3월 기준 주당 50회 요청) 이 조회는 기본적으로 꺼져 있습니다.

GreyNoise 필드 이름도(터미널이 지원하는 경우) Greynoise 웹 인터페이스의 IP 항목을 가리키는 하이퍼링크이며, 더 많은 컨텍스트가 표시됩니다.
Shodan은 IP의 열린 포트나 서비스, 일부 결과에서는 OS를 표시하는 데 사용할 수 있습니다. -s 또는 --use-shodan 플래그로 실행하세요.

터미널이 지원하는 경우 Services 필드는 Shodan 웹 인터페이스로 이동하는 클릭 가능한 하이퍼링크입니다.
-u 또는 --use-urlhaus 플래그를 사용하여 호스트명, 도메인 및 IP에 대한 URLhaus 강화 기능을 활성화하세요.

Malware URLs 필드 이름은(터미널이 지원하는 경우) 조회 항목에 대한 특정 URLhaus 데이터베이스 페이지로 이동하는 하이퍼링크입니다.
FQDN 및 도메인 조회에서 -m NUMBER 또는 --max-resolutions=NUMBER로 표시되는 IP 리졸루션의 최대 개수를 늘리거나 줄일 수 있습니다. 상한은 10입니다. 리졸루션이 전혀 필요하지 않으면 숫자를 0으로 설정하세요.
모든 패널을 한 열로 표시하려면 -1 또는 --one-column 플래그를 사용하세요.

-n 또는 --no-color를 사용하면 색상 없이 패널을 표시할 수 있습니다.
