OSINT / 威胁情报 CLI 工具。
作为 Harpoon 的先决条件,你需要安装 lxml 的依赖,在 Debian/Ubuntu 上:sudo apt-get install libxml2-dev libxslt-dev python3-dev。在 Fedora 上:sudo dnf install sqlite-devel automake bzip2 bzip2-devel bzip2-lib cython g++ gcc gcc-c++ kernel-devel libffi-devel libxlt libxml2 libxml2-devel libxslt libxslt-devel make openssl openssl-devel python3-dev python3-devel python3-lxml python-dev python-devel sqlite-devel。
你需要安装 geoipupdate 并正确配置才能正常使用地理定位功能(请确保在 EditionIDs 中包含了 GeoLite2-Country GeoLite2-City GeoLite2-ASN)。
你可以通过 pip install harpoon 直接从 pypi 安装该软件包。
如果以上安装步骤不起作用,你可以从源码构建工具,在终端中执行以下命令(假设你使用虚拟环境):
git clone https://github.com/Te-k/harpoon.git
cd harpoon
pip3 install .
你可能还想安装 harpoontools 以使用更多基于 harpoon 功能的命令。
要配置 harpoon,运行 harpoon config 并按提示填写所需的 API 密钥。
然后运行 harpoon update 以下载所需文件。通过 harpoon config -c 检查哪些插件已配置。
更多信息请查看 wiki。
如果你从 pypi 安装了 harpoon,只需执行 pip install -U harpoon。
如果你从 git 仓库安装了 harpoon,进入仓库目录并执行以下命令:
git pull origin master
pip install .
配置完成后,harpoon 命令中提供以下插件:
asn Gather information on an ASN
binaryedge Request BinaryEdge API
cache Requests webpage cache from different sources
censys Request information from Censys database (https://censys.io/)
certspotter Get certificates from https://sslmate.com/certspotter
circl Request the CIRCL passive DNS database
config Configure Harpoon
crtsh Search in https://crt.sh/ (Certificate Transparency database)
cybercure Search cybercure.ai intelligence database for specific indicators.
dns Map DNS information for a domain or an IP
dnsdb Requests Farsight DNSDB
email Gather information on an email address
fullcontact Requests Full Contact API (https://www.fullcontact.com/)
github Request Github information through the API
greynoise Request information from GreyNoise API (pick Community or Enterprise via api_type config)
hashlookup Request CIRCL Hash Lookup db
help Give help on an Harpoon command
hibp Request Have I Been Pwned API (https://haveibeenpwned.com/)
hunter Request hunter.io information through the API
hybrid Requests Hybrid Analysis platform
intel Gather information on a domain
ip Gather information on an IP address
ipinfo Request ipinfo.io information
ip2locationio Request IP2Location.io information
koodous Request Koodous API
malshare Requests MalShare database
misp Get information from a MISP server through the API
numverify Query phone number information from NumVerify
opencage Forward/Reverse Geocoding using OpenCage
otx Requests information from AlienVault OTX
permacc Request Perma.cc information through the API
pgp Search for information in PGP key servers
pt Requests Passive Total database
pulsedive Request PulseDive API
quad9 Check if a domain is blocked by Quad9
robtex Search in Robtex API (https://www.robtex.com/api/)
safebrowsing Check if the given domain is in Google safe Browsing list
save Save a webpage in cache platforms
securitytrails Requests SecurityTrails database
shodan Requests Shodan API
spyonweb Search in SpyOnWeb through the API
subdomains Research subdomains of a domain
telegram Request information from Telegram through the API
threatcrowd Request the ThreatCrowd API
threatgrid Request Threat Grid API
threatminer Requests TreatMiner database https://www.threatminer.org/
tor Check if an IP is a Tor exit node listed in the public list
totalhash Request Total Hash API
twitter Requests Twitter API
umbrella Check if a domain is in Umbrella Top 1 million domains
update Update Harpoon data
urlhaus Request urlhaus.abuse.ch API
urlscan Search and submit urls to urlscan.io
vt Request Virus Total API
xforce Query IBM Xforce Exchange API
zetalytics Search in Zetalytics database
你可以通过 harpoon help COMMAND 获取每个命令的帮助信息。
api_type 配置设置指定使用的 API 类型。两种类型都需要 API 密钥才能工作。感谢帮助改进 Harpoon 的人:@jakubd @marrouchi @grispan56 @christalib
Logo 设计感谢 @euphoricfall 和 PulseDive 团队
本代码采用 GPLv3 许可证发布。