《黑客秘笈——渗透测试实用指南(第2版)》—第2章2.1节被动信息搜索——开源情报(OSINT)

本文涉及的产品
.cn 域名,1个 12个月
简介:

本节书摘来自异步社区《黑客秘笈——渗透测试实用指南(第2版)》一书中的第2章2.1节被动信息搜索——开源情报(OSINT),作者【美】Peter Kim(皮特 基姆),更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 发球前——扫描网络
黑客秘笈——渗透测试实用指南(第2版)
当您走进SUCK公司区域时,游戏已经开始了。在开展渗透测试工作前,甚至在攻击无辜的受害者之前,我们都需要分析对手。研究目标的弱点,熟悉网络环境将有助于渗透测试工作的开展。本章采取与普通渗透测试书籍稍有不同的视角,可以认为是现有扫描过程的补充,而不是替代。无论是渗透测试的老手,还是刚刚入门的新手,在介绍渗透测试时都会多次提起扫描工作。本章不会把各种网络扫描器、漏洞扫描器、SNMP扫描器拿出来详细对比,而是着重阐述最有效的扫描流程。本章分为开源情报扫描、外部扫描、内部扫描和Web应用程序扫描4个部分。

2.1 被动信息搜索——开源情报(OSINT)
通过开源情报搜索技能的培训,您竭尽所能查找SUCK公司在互联网上的信息。我们试图成为SUCK公司的一员,查找他们的秘密,了解他们习惯用语,找到公司的雇员。

在开展开源情报搜索前,最好创建伪造的社交媒体账户。下面是一些例子(拥有越多越好)。

LinkedIn
Twitter
Google+
Facebook
Instagram
MySpace
Glassdoor
您肯定不愿意暴露自己的个人账户,因为很多网站将显示访问网页的用户信息。如果使用真实的个人信息,可能很快暴露身份,这将导致整个任务的失败。现在已经做好开源情报搜集的准备,可以开始收集数据。

我们将开始被动信息搜索。被动信息搜索是指在不接触目标的情况下搜集目标、网络、客户以及其他信息。这非常棒,因为被动信息搜索是依赖互联网搜集资源,不会产生任何引起目标警觉的动作。在接触目标之前,可以进行充分的信息搜索,有助于节省大量的时间。现在回顾一下开源情报的工具和一些资源。

2.1.1 Recon-NG(https://bitbucket.org/LaNMaSteR53/recon-ng, Kali Linux)
Recon-NG是一个非常好的工具,主要通过被动信息搜索,查询一个公司的开源情报。在开始渗透测试任何目标前,这应该是首先要做的工作。通过搜索,能够获得IP地址、命令规则、位置、用户、邮件地址、可能密码泄露或者其他大量信息(见图2.1)。




1.前提
工具中的一些模块(例如Linked-In或者Jigsaw)能够提供有价值的数据,但是需要获取这些网站的API密钥。我会带您了解获取API密钥的过程(密钥是免费的并且非常易于使用)。

为了使用ipinfodb数据库,查找指定IP地址的精确位置,需要获取一个API密钥。访问网站,注册密钥。在下面的例子中,添加密钥到本地数据库。

2.运行Recon-NG
cd /opt/recon-ng
./recon-ng
workspaces add [公司名字,例如SUCK公司]
add domains [域名,例如suck.testlab]
add companies
use recon/domains-hosts/bing_domain_web
使用Bing查询域名
run
use recon/domains-hosts/google_site_web
使用Google查询域名
run
use recon/domains-hosts/baidu_site
使用baidu(中国搜索引擎)查询域名
run
use recon/domains-hosts/brute_hosts
暴力破解子域名
run
use recon/domains-hosts/netcraft
使用netcraft查询域名
run
use recon/hosts-hosts/resolve
将所有域名解析成IP地址
run
use recon/hosts-hosts/reverse_resolve
将所有域名解析成主机名/域名
run
use discovery/info_disclosure/interesting_files
在指定域名中查找一些文件
run
keys add ipinfodb_api [KEY]
这就是早期添加到infodb数据库中API密钥的位置
use recon/hosts-hosts/ipinfodb
查找探测IP地址的地理位置
run
use recon/domains-contacts/whois_pocs
使用whois查询邮件地址
run
use recon/domains-contacts/pgp_search
查询公共PGP存储中的邮件地址
run
use recon/contacts-credentials/hibp_paste
将搜集的邮箱账户与“Have I Been PWN’ed”网站进行比对。如果比对成功,就可以找到一些泄露的密钥,促进渗透测试工作的开展。
run
use reporting/html
创建报告
set CREATOR HP2
set CUSTOMER HP2
run
exit
firefox /root/.recon-ng/workspaces/SUCK_Company/results.html
这将在一个网页中生成所有成果的报告。观察一下搜集到什么类型的重要数据(见图2.2)。



如图2.2所示,能够快速识别大量域名、IP、地理位置和邮件地址等。这将是一个好的起点,有助于对受害者进行渗透攻击,下面继续搜集数据!

2.1.2 Discover脚本(https://github.com/leebaird/discover, Kali Linux)
Lee Baird编写的Discover脚本一直是我喜欢的被动信息搜集工具,使用便捷,并能够搜集大量的信息。应用被动探测扫描方式,Discover使用以下工具:dnsrecon、goofile、goog-mail、goohost、theharvester、metasploit、urlcrazy、whois、dnssy、ewhois、myipneighbors和urlvoid。Discover工具更新频繁,是搜集开源情报非常棒的工具(见图2.3)。


cd /opt/discover
./discover.sh
1.Domain
1.Passive
[公司名称]
{域名]
firefox /root/data/[Domain]/index.htm
如图2.4所示,搜索的结果包括邮件地址信息、雇员名字和主机信息。




报告中包括域名抢注和域名比特翻转等一些引人关注的搜索结果。Discover工具展示了哪些相似域名已经注册,哪些还没有被注册(见图2.5)。在一个任务中,相似域名在网络钓鱼、建立信任或突破目标攻击时是非常有价值的。




2.1.3 SpiderFoot(http://www.spiderfoot.net/, Kali Linux)
开展开源情报搜集时,我喜欢使用的另外一个工具是SpiderFoot。Steve Micallef编写的SpiderFoot小工具扫描速度快,主要用于侦察获取开源情报(见图2.6)。每一个工具查询数据都有细小差别,呈现的风格也不一样,因此使用多个工具搜集开源情报数据对汇集生成受害公司的信息视图将大有益处。

运行SpiderFoot
cd /opt/spiderfoot/spiderfoot*
python ./sf.py
open up a browser and go to http://127.0.0.1:5001/
那么搜集什么类型的信息呢?所有的信息,例如IPv6地址的黑名单、网站共用主机和邮件地址。正如您知道的,每个工具维护方式是不一样的,经常一个工具与另一个工具输出的信息区别很大。SpiderFoot的优点在于能够快速、方便获取大量(我的意思是一吨)有价值的开源情报信息。在对一个网站进行大约几秒钟快速扫描后,我搜集了大量关于域名或者IP地址的信息(见图2.7)。






通过使用这三个工具获取大量的开源情报,使我们对受害者有了清楚的了解。这些数据对后续的渗透测试工作非常有价值,确保您可以仔细浏览所有的数据。
相关文章
|
7月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
350 2
|
7月前
|
C++
jrtplib开源库系列之一:jrtplib介绍、安装和测试(window 10环境介绍)
关于jrtplib库网上已经有很多介绍,而且目前jrtplib作者已经停止更新(Apr 18, 2020),最新版本为v3.11.2。本系列内容也以该版本进行介绍。 相信你已经对RTP/RTCP协议有一定的了解,并想更深入的了解RTP协议的具体实现,jrtplib就是使用使用C++实现的RTP/RTCP协议。具体标准为RFC3550,如果想仔细阅读原文,但是对英文又有点吃力,可以参考我的博客RTP/RTCP中英文对照,在博客的后面有百度链接,是对RFC3550的中文翻译,可能很多地方不太准确,有些内容是自己添加进去的,希望不会影响你的阅读。
137 0
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
46 2
|
25天前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~
|
1月前
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
|
1月前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
|
4月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
132 1
|
4月前
|
运维 Kubernetes 监控
|
4月前
|
安全 网络协议 网络安全
Python 渗透测试:黑客内外网信息收集.(帮助 得到信息攻击计算机内外网.)
Python 渗透测试:黑客内外网信息收集.(帮助 得到信息攻击计算机内外网.)
43 0