攻击者用来从网站上提取大量数据的技术,即把提取的数据存储在本地文件系统,称为爬虫,或网络爬虫。在接下来的章节中,我们将利用Kali Linux中一些常用的工具来进行爬取。
theHarvester是一个Python脚本,它通过流行的搜索引擎和其他网站来搜索电子邮件地址、主机和子域名。theHarvester的使用相对简单,因为只有几个命令选项可供设置。包括:
• -d :需要搜索的范围,通常是域名或目标站点。
• -b :数据提取来源,它包括Bing、BingAPI、Google、Google-Profiles、Jigsaw、LinkedIn、People123、PGP之一或所有来源。
• -l :该选项表示theHarvester只从特定搜索返回结果中提取数据。
• -f :该选项用于将最终结果保存为HTML和XML文件,如果省略该选项,结果将只显示在屏幕上而不保存。
图2.9展示了theHarvester通过运行命令theHarvester-d packtpub.com-l 500-b google获得的packtpub.com域名样例数据。
图2.9 theHarvester收集的packtpub.com域名详情
请注意,Kali上安装的theHarvester可能有两个版本,建议使用最新版本。
攻击者还可以利用LinkedIn的API获取指定范围内的人员清单,并轻易形成一个潜在有效的电子邮件地址或用户名列表。举个例子,当某组织在以形如X.Y@domain.com的格式使用姓、名组合时,如vijay.velu@company.com,便可以利用theHarvester来枚举目前在该组织中工作的用户详情。使用如下命令可以很容易地做到:
可以利用这些结果来创建一个电子邮件地址列表进行钓鱼邮件攻击。
离职员工的电子邮件地址仍可能被利用。在进行社会工程学攻击时,访问离职员工信息的直接请求会被重定向,从而给攻击者继续利用离职员工的信息提供可信度。此外,许多组织没有正确清理员工账户,这些凭据可能仍然被允许访问目标系统。
许多渗透测试人员收集用户名和电子邮件地址,因为这些信息经常被用来登录目标系统。最常使用的工具是Web浏览器,用于手动收集目标组织网站或第三方站点,如LinkedIn或其他社交网站。
渗透测试人员也可以选择在其他门户网站上进行搜索,如https://hunter.io,或利用浏览器插件来获取电子邮件地址,如Firefox插件Email Extractor。
TinEye
TinEye是一个由Idee公司开发和提供的在线反向图像搜索门户网站。简而言之,这是一个类似谷歌的搜索引擎,但它仅允许用户使用图像进行搜索。这些信息可以帮助攻击者将图像映射到目标,并可以在精心构造的社会工程学攻击中加以利用。
在哪里可以找到大量存在漏洞的主机,以及漏洞细节和截图?通常情况下,攻击者利用已知漏洞,不费吹灰之力就能获取系统访问权限,所以最简单的方法之一就是利用Shodan进行搜索。Shodan是目前最重要的搜索引擎之一,因为它可以让互联网上的任何人使用各种过滤规则查找连接到互联网的设备。通过访问https://www.shodan.io/即可使用。这是全球范围内最受欢迎的信息获取站点之一。如果搜索某个公司名称,它将提供其数据库中所有相关的信息,如IP地址、端口号和正在运行的服务。
与Shodan类似,攻击者也可以利用censys.io的API来收集相关信息,它可以提供更多关于IPv4的主机、网站、证书和其他存档信息。图2.10显示了搜索cyberhia.com相关信息的示例。
图2.10 在censys.io搜索cyberhia.com的结果
SpiderFoot
在Kali中还有许多可供人工搜索的自动化工具,其中一个就是SpiderFoot,它可以使用OSINT工具自动进行进攻和防御性被动信息收集。该工具使用Python 3编写,通过GPL进行许可,并预装在最新版本的Kali中。该工具提供了一些API配置选项以提升效果。
运行spiderfoot-l IP:Port命令即可启动该工具,如图2.11所示。
图2.11 通过命令行运行SpiderFoot
一旦引擎启动,访问http://IP:port,单击Settings,可以添加所有已有的API密钥如图2.12所示,AbuseIPDB.com的API密钥(通过访问AbuseIPDB创建密钥)被添加到SpiderFoot,然后保存更改。所有需要令牌或密钥的API都可以这样操作。
图2.12 在SpiderFoot设置中添加AbuseIPDB.com站点的API密钥
一旦所有的设置都配置好了,单击New Scan,输入扫描任务名称和目标站点,即目标组织的主域名,并选择图2.13中所示的选项。
图2.13 在SpiderFoot中新建扫描任务
SpiderFoot的Web界面提供了3种不同的方式来运行被动侦察扫描任务:
•按用例,渗透测试人员可以指定All、Footprint、Investigate和Passive(对于渗透测试人员来说,这是使用SpiderFoot时保持隐蔽性的不错的选项)。
•按所需数据,允许渗透测试人员选择正在寻找的信息。
•按模块,允许渗透测试人员选择希望收集信息的模块。
该工具还可以收集印刷媒介、学术出版物等方面的信息。与Passive Total一样,这个工具同时提供商用版和社区版。
一旦完成必选项并执行完扫描任务,即可得到类似图2.14所示的结果。
图2.14 正在进行中的SpiderFoot扫描任务输出结果
单击Scans选项卡即可访问使用SpiderFoot进行OSINT的存档记录,它将提供历史和当前正在运行的扫描任务,如图2.15所示。
图2.15 SpiderFoot扫描任务详情
Spyse(https://spyse.com/)和ZoomEye(https://www.zoomeye.org/)是可以用来进行防御性被动信息收集的著名搜索引擎,它可以快速收集特定目标的完整攻击面。图2.16所示为Spyse使用截图。
图2.16 使用Spyse搜索cyberhia.com的结果