如何自动执行情报搜集?蜘蛛脚入门指南
- 依旧是开源情报工具。今天介绍的工具是近半年来在社区很流行的 一个 ,由于其功能强大而闻名。零基础版指南。
Spiderfoot 是诸多强大的工具之一;它可以自动执行大量查询,这些搜集工作如果你手动做的话肯定会花掉很长的时间才能完成。
我们曾经简要介绍过它,见《新生情报工具(3):挖掘推特、搜查加密货币、刮刀和定向追踪》。
它带有广泛的模块,可以自动搜索电子邮件地址、IP地址、域、电话号码、用户名,和其他各种类型的数据。
这篇文章将向您展示如何从头开始安装和设置 Spiderfoot,以及如何进行一些基本的查询演示。
Spiderfoot 在浏览器中运行,但首先需要进行一些命令行设置。
本指南是零基础版,我们将假设您毫无经验,所以它可以适合任何人。
如果您想了解更多有关在命令行中设置基于 Python 的开源情报调查工具的信息,欢迎阅读/回顾以下内容:
蜘蛛脚现在更新到3.0了,增加了 IPv6地址、电话号码、电子邮件地址、用户名、实名、社交网络挖掘。
马上开始。
配置
Spiderfoot 可在 Linux、Mac OS 和 Windows 上运行。它使用 Python 2.7(已在 Linux 和 Mac OS 中预装),但是要在 Windows 中进行设置,您需要首先做一些其他事。
Windows
Spiderfoot 2.12 版是预编译的exe文件,您可以在此处下载并单击以运行。
如果您在 Windows 环境中工作,这是启动 Spiderfoot 的一种简便方法,但是请注意,更高版本的 Spiderfoot 将无法通过这种方式工作,因此您必须安装适用于Windows的Python和Pip并从 Github 存储库中保持更新。
如果您对Git、Pip和命令行不完全满意,这是在 Windows 中开始使用 Spiderfoot 的最简单方法。
MacOS and Linux
运行 Spiderfoot 并使它保持最新状态的最佳方法是使用git,并按照以下说明克隆 Spiderfoot Github 存储库。
首先,请检查您的设备上是否已安装git,因为默认情况下未在所有发行版中安装git。要检查是否存在,请在控制台中键入以下内容:
git --version
如果安装了git,您将收到一条消息,告诉您它是哪个版本。
如果系统提示您不存在git,请按照以下说明进行安装:
sudo apt install git
如果您使用的不是基于 Debian 的 Linux,则需要使用系统自带的软件包管理器,而不是 apt。
如果您使用的是 Mac OS,请先安装 brew(默认情况下未在Mac OS上安装 brew),然后在终端中输入以下内容:
brew install git
然后您就完成了。
无论您使用的是 Linux 还是 Mac,从此刻开始,其余安装说明都是相同的。
在终端中输入:
git clone https://github.com/smicallef/spiderfoot.git
这将在您的主目录中创建一个名为“spiderfoot”的目录。在继续下一步之前,通过在控制台中输入以下内容来进行移动:
cd spiderfoot
安装 Pip Requirements
如果您以前曾尝试过从GitHub安装 Python 脚本,你会知道很容易陷入困境。通常,安装指南会告诉您输入以下内容:
pip install -r requirements.txt
该命令的作用是通读 Python 文件列表,列表在名为 requirements.txt 的文件中列出,然后尝试安装它们。
这听起来很容易,但此时人们经常会遇到麻烦,被报错,因此无法安装软件包。
最常见的原因是安装者的操作系统使用的 Python 和 Pip 版本与程序所需的版本不同。
系统的默认 Python 版本可能是 Python 3.6,因此Pip假定您要下载与该版本 的 Python 兼容的软件包。
这可能会导致很多冲突,并使您的软件无法正常工作。某些最受欢迎的 Python OSINT 工具并非都可以在同一版本的Python上运行。
避免这种情况的方法是确保在调用Pip时使用正确版本的 Python。
对于 Spiderfoot 来说它就是 Python 2.7。如果您的系统上安装了更新版本的 Python,就可能会报错。
要检查系统使用的Python版本,请在终端中输入以下内容:
python --version
然后,控制台将告诉您系统默认使用哪个Python版本。
如果您要安装 Spiderfoot 并且 Python 版本高于2.7,则需要执行以下操作:
移至您之前创建的 spiderfoot 目录,然后输入以下内容:
python2.7 -m pip install -r requirements.txt
以这种方式输入命令可确保您启动 Python 2.7,使用 -m 为该版本的 Spiderfoot 启动适当的Pip版本。
安装完成您就可以准备就绪了。
开始使用 Spiderfoot
完成安装后,您将可以首次启动 Spiderfoot。
如果使用命令行使您感觉焦虑和恐惧,别担心,这之后一切都是GUI了 … 已经胜利在望。
Linux and MacOS
从 Spiderfoot 目录中,在终端中运行以下命令:
python sf.py
或者,如果您的系统使用 Python 3.x,请确保在启动时指定了 Python 2.7,以避免出现问题:
python2.7 sf.py
您会在终端中看到下面这样的消息:
Attempting to verify database and update if necessary... Starting web server at http://127.0.0.1:5001 ... ************************************************************* Use SpiderFoot by starting your web browser of choice and browse to http://127.0.0.1:5001 ************************************************************* [29/Sep/2019:09:31:26] ENGINE Listening for SIGHUP. [29/Sep/2019:09:31:26] ENGINE Listening for SIGTERM. [29/Sep/2019:09:31:26] ENGINE Listening for SIGUSR1. [29/Sep/2019:09:31:26] ENGINE Bus STARTING [29/Sep/2019:09:31:26] ENGINE Serving on http://127.0.0.1:5001 [29/Sep/2019:09:31:26] ENGINE Bus STARTED
建议为 Spiderfoot 创建一个别名,以使将来的操作更轻松。为此,请在终端中打开.bashrc文件进行编辑:
sudo nano .bashrc
滚动到文本末尾并添加以下行:
alias spiderfoot="cd ~/spiderfoot && python2.7 sf.py"
Ctrl + X和Y保存并退出。然后重新启动终端,以使更改生效。
现在要启动 Spiderfoot,只需输入:
spiderfoot
大功告成!
Windows
从 Spiderfoot 目录中启动 sf.exe。
现在打开浏览器,然后在地址栏中转到 Spiderfoot 指定的位置:http://127.0.0.1:5001
您会注意到,Spiderfoot 仍在终端后台工作。
您需要在 Spiderfoot 运行时保持终端处于打开状态,但是您可以最小化窗口并将其保留在后台。
蜘蛛脚主页
在浏览器中,您会看到以下内容:
Spiderfoot 的界面非常简单直观。
顶部菜单使您可以选择新的扫描(如上图所示),查看以前的扫描结果或调整设置。
您会看到 Spiderfoot 提供四种不同级别的扫描,具体取决于您的用例。
“By Module” 选项卡允许您仅启用选定的特定模块进行扫描。除非您对每个模块的功能都充满信心,否则最好在默认情况下将其全部启用。
您会注意到,某些模块旁边有一个挂锁符号 —— 这表明该模块需要使用API密钥才能起作用。
需要直接从服务提供商处获取API密钥。某些服务在您注册时免费提供API密钥,但是大多数服务需要某种付款。
与 Recon-NG 和类似的扫描服务一样,通常可以从提供API密钥的付费服务中获得最佳效果,但是 Spiderfoot 本身就拥有如此众多的模块,而且功能如此全面,即使您无权访问许多API密钥,它也仍然非常有效。
要添加API密钥,只需转到“设置”页面,找到相关模块的标签,然后将您的API密钥粘贴到相关字段中:
点击“保存更改”,操作完成。
下面开始演示。
示例1 — 收集针对IP地址的开源情报
第一个示例将展示 Spiderfoot 如何收集有关IP地址的信息。这里选择了一个实时示例(在撰写本文时)有问题的IP地址。
IP地址 149.202.204.88 导致一台服务器出现问题,并且防火墙现在已将其永久禁止。我们可以从 Spiderfoot 中了解到什么?
这里将开始一个名为“恶意IP地址”的新扫描。目标是 Spiderfoot 将搜索的信息。如您所见,您还可以搜索域名、主机名、电子邮件地址、电话号码和人名。
对于此搜索,这里选择了“全部”,并启用了所有模块。准备开始后,点击“运行扫描”。
完成搜索所需的时间差异很大。这实际上取决于有多少有关目标的信息。
您无需等待扫描完成即可开始查看结果。
Spiderfoot 按类型对它们进行了排序,因此您可以开始了解返回的信息类型。要查看结果,请单击“Browse”选项卡:
Spiderfoot 已经找到了许多信息可供使用:Whois 结果、与IP地址关联的域、以及这里正在了解的IP地址被至少另外两个服务标记为恶意的事实。
单击“恶意IP地址”结果,它会显示以下内容:
blocklist.de 和 AbuseIPDB 都找到了该IP地址的匹配项。单击 AbuseIPDB 链接可获取更多信息:
似乎其他数百个Web服务器也受到来自同一IP地址的攻击的困扰。
知道这一点很有用 —— 可以确信防火墙规则已设置并正常工作,并且 Spiderfoot 产生的结果不是误报。
几分钟后,Spiderfoot 发现了更多信息:
与所有搜索结果一样,那里也可能存在一些误报;但在大约十五分钟内,Spiderfoot 就收集到了大量的信息,如果您手动做这件事,可能需要数小时甚至数天。
示例2 — 研究电子邮件地址
仅作为示例,这里将搜索亚马逊大佬 Jeff Bezos 的电子邮件地址,并查看 Spiderfoot 返回的内容。
对于此搜索,结果可能有些虚胖 —— 因为这货在互联网上太出名了。实际的开源情报调查目标可能占用的空间要小得多。
撰写此类文章的部分困难在于,如果尝试使用现实世界中的示例,很可能会使某些无辜的人感到惊讶。那么还是用 Bezos 吧。
正如您在下面看到的,Spiderfoot 可以很快找到很多信息:
Spiderfoot 返回了相关用户名、数据泄露、PGP密钥,甚至是页面源代码中包含目标电子邮件地址的网站。
一如既往地检查所有内容,并注意误报的可能性。
Spiderfoot 的真正优势在于,通过开源情报查询的快速自动化,它可以节省大量时间,并带回大量有用的数据,从而使您有更多时间专注于情报分析和调查报告方面。
用它定期搜索自己,可以帮助您更加有针对性地采取防御措施。
Spiderfoot 的创建者是 Steve Micallef。这是一个伟大的工程。
希望您有所收获。⚪️