
spyse.com에서 호스팅되는 도구들을 위한 Python API 래퍼 및 명령줄 클라이언트입니다.
Python API 래퍼 및 spyse.com에 호스팅된 도구들을 위한 명령줄 클라이언트입니다.
"Spyse는 인터넷 보안 전문가, 기업 및 원격 시스템 관리자, SSL/TLS 암호화 인증서 제공자, 데이터 센터 및 비즈니스 분석가를 위한 완전한 DAAS(Data-As-A-Service) 솔루션 개발사입니다. 모든 Spyse 온라인 솔루션은 정보 수집, 처리 및 집계를 위한 단일 플랫폼을 가진 주제별 서비스로 제공됩니다." - spyse.com
다음 API를 지원합니다:
domains_starts_with* 옵션 지원 (라이브러리 전용)pip3 install spyse.py
pip3 install --no-cache-dir spyse.py
-target-param-page-apikey--rawSpyse에서는 데이터베이스에서 IP, IP 범위, 도메인 이름, URL 등을 검색할 수 있습니다. param 인자는 입력의 유형을 지정하는 데 사용됩니다.
2019년 7월 6일 기준으로 대부분의 함수는 기본값을 재정의하지 않는 한 param을 설정할 필요가 없습니다.
예를 들어 --domains-on-ip의 기본 매개변수는 ip이지만, 이 매개변수를 재정의하여 CIDR이나 조직별로 검색할 수 있습니다. 일반적으로는 오류 메시지가 표시될 때만 이렇게 하면 됩니다. 매개변수 감지 기능이 추가되었기 때문입니다.
감지는 매우 간단합니다:
# detect whether input is cidr or ip or search query (q)
if "/" in args.target:
param = "cidr"
elif ":" in args.target:
param = "q"
else:
param = "ip"
감지는 함수마다 다르며, 특정 함수는 다른 기본 매개변수가 필요합니다.
cidrdomainippageurlhashqShodan과 마찬가지로 Spyse에서도 검색 쿼리를 사용할 수 있습니다.
spyse -target "org: Microsoft" --ssl-certificates
spyse -target xbox.com --subdomains
spyse -target 52.14.144.171 --domains-on-ip
spyse -target hotmail.com --ssl-certificates
spyse -target "org: Microsoft" --ssl-certificates
spyse -target xbox.com --dns-all
spyse -target hackerone.com -param domain --subdomains
export SPYSEKEY="yourkeyhere"
spyse -target xbox.com -apikey $SPYSEKEY -page 2 ---ssl-certificates
처음 이 클라이언트를 작성할 때 명령줄에서의 유연성에 중점을 두고 싶었기 때문에 --raw 옵션이 있습니다. 이를 통해 API가 반환하는 원시 JSON을 활용할 수 있습니다.
spyse -target hackerone.com --dns-soa --raw | jq
spyse -target hackerone.com -param domain --subdomains --raw | aquatone
usage: spyse [-h] [-target TARGET] [-param PARAM] [-page PAGE]
[-apikey APIKEY] [--raw] [--dns-ptr] [--dns-soa] [--dns-mx]
[--dns-aaaa] [--dns-ns] [--dns-a] [--dns-txt] [--dns-all]
[--domains-with-same-ns] [--domains-using-as-mx]
[--domains-on-ip] [--domains-with-same-mx]
[--domains-using-as-ns] [--download-dns-aaaa]
[--download-dns-soa] [--download-dns-ns] [--download-dns-ptr]
[--download-dns-mx] [--download-dns-a] [--download-dns-txt]
[--download-dns-all] [--ip-port-lookup]
[--ip-port-lookup-aggregate] [--ssl-certificates] [--subdomains]
Client for Spyse.com
optional arguments:
-h, --help show this help message and exit
-target TARGET target
-param PARAM parameter to use (ip, domain, cidr, url, hash)
-page PAGE page
-apikey APIKEY set the api key
--raw show raw json
--dns-ptr show dns ptr records
--dns-soa show dns soa records
--dns-mx show dns mx records
--dns-aaaa show dns aaaa records
--dns-ns show dns ns records
--dns-a show dns a records
--dns-txt show dns txt records
--dns-all show all dns records
--domains-with-same-ns
show domains with same ns
--domains-using-as-mx
show domains using as mx
--domains-on-ip show domains on ip
--domains-with-same-mx
show domains with same mx
--domains-using-as-ns
show domains using as ns
--download-dns-aaaa download dns aaaa records
--download-dns-soa download dns soa records
--download-dns-ns download dns ns records
--download-dns-ptr download dns ptr records
--download-dns-mx download dns mx records
--download-dns-a download dns a records
--download-dns-txt download dns txt records
--download-dns-all download all dns records
--ip-port-lookup show ip port lookup
--ip-port-lookup-aggregate
show ip port lookup aggregate
--ssl-certificates show ssl certificates associated with a target
--subdomains show subdomains
Usage: spyse -target hackerone.com --subdomains
from spyse import spyse
s = spyse()
subdomains = s.subdomains("xbox.com", param="domain")
from spyse import spyse
# Using the API key allows us to go through multiple pages of results
s = spyse('API_TOKEN_GOES_HERE')
subdomains = s.subdomains_aggregate("xbox.com", param="domain", page=2)
from spyse import spyse
s = spyse()
results = s.domains_on_ip("172.217.1.0/24", param="cidr")
from spyse import spyse
s = spyse()
results = []
with open("domains.txt") as d:
for line in d:
# default value for param="domain", so we don't
# need to specify here
r = s.subdomains_aggregate(line)
results.append(r)
print(results)
https://api-doc.spyse.com/ 에 나열된 모든 메서드입니다.
API_METHODS = {
"DNS_PTR": "/dns-ptr",
"DNS_SOA": "/dns-soa",
"DNS_MX": "/dns-mx",
"DNS_AAAA": "/dns-aaaa",
"DNS_NS": "/dns-ns",
"DNS_A": "/dns-a",
"DNS_TXT": "/dns-txt",
"domains_with_same_ns": "/domains-with-same-ns",
"domains_using_as_mx": "/domains-using-as-mx",
"domains_on_ip": "/domains-on-ip",
"domains_with_same_mx": "/domains-with-same-mx",
"domains_using_as_ns": "/domains-using-as-ns",
"download_dns_aaaa": "/download-dns-aaaa",
"download_dns_soa": "/download-dns-soa",
"download_dns_ns": "/download-dns-ns",
"download_dns_ptr": "/download-ns-ptr",
"download_dns_mx": "/download-dns-mx",
"download_dns_a": "/download-dns-a",
"download_dns_txt": "/download-dns-txt",
"download_domains_with_same_mx": "/download-domains-with-same-mx",
"download_domains_on_ip": "/download-domains-on-ip",
"download_domains_with_same_ns": "/download-domains-with-same-ns",
"download_domains_using_as_ns": "/download-domains-using-as-ns",
"download_domains_using_as_mx": "/download-domains-using-as-mx",
"ip_port_lookup_aggregate": "/ip-port-lookup-aggregate",
"ip_port_lookup": "/ip-port-lookup",
"ssl_certificates": "/ssl-certificates",
"ssl_certificate_raw": "/ssl-certificate-raw",
"ssl_certificates_aggregate": "ssl-certificates-aggregate",
"ssl_certificate": "/ssl-certificate",
"ssl_certificate_public_key": "/ssl-certificate-public-key",
"ssl_certificate_json": "/ssl-certificate-json",
"subdomains": "/subdomains",
"subdomains_aggregate": "/subdomains-aggregate",
"domains_starts_with": "/domains-starts-with",
"domains_starts_with_aggregate": "/domains-starts-with-aggregate"
}