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

简介:

本节书摘来自异步社区《黑客秘笈——渗透测试实用指南(第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)。






通过使用这三个工具获取大量的开源情报,使我们对受害者有了清楚的了解。这些数据对后续的渗透测试工作非常有价值,确保您可以仔细浏览所有的数据。
相关文章
|
6月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
620 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
7月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
518 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
7月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
645 0
|
11月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
251 4
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
|
9月前
|
人工智能 自然语言处理 监控
一文看懂开源Coze如何让测试效率飙升
Coze是测试工程师的AI引擎,支持私有部署与零代码测试,提升效率并降低成本。覆盖智能用例生成、数字员工值守、缺陷分析、多模态报告与安全测试五大场景,助力测试智能化转型。
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
1945 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
人工智能 自然语言处理 测试技术
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
Codex CLI是OpenAI推出的轻量级AI编程智能体,基于自然语言指令帮助开发者高效生成代码、执行文件操作和进行版本控制,支持代码生成、重构、测试及数据库迁移等功能。
3030 1
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
297 0
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
|
数据挖掘 测试技术 项目管理
2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台,支持云端认证、本地部署、全部功能开放,并且对 30 人以下团队免费。它通过整合迭代、看板、度量和自动化等功能,简化测试协同工作,使敏捷测试更易于实施。并提供低成本的敏捷测试解决方案,如同步在线离线测试用例、流程化管理缺陷、低代码接口自动化测试和 CI/CD,以及基于迭代的测试管理和测试用时的成本计算等,践行敏捷测试。
2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
616 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
下一篇
开通oss服务