【红队思路】渗透测试&红队之信息收集,从零基础入门到精通,收藏这一篇就够了!
【红队思路】渗透测试&红队之信息收集

0x01 前言
无论是做渗透测试还是红队(Red Team)的工作,信息收集都是工作前期必不可少的一个环节。渗透测试的本质是信息收集,资产信息越多,可攻击面就越广,找到突破口的机会就越大。但随着安全行业的蓬勃发展,各类信息收集技术与工具层出不穷,令人眼花缭乱。以下总结本人在实际渗透工作中常用的信息收集方法和工具。鉴于不同场景与个人习惯差异,只有契合自身需求的才是最为适宜的。本文仅旨在阐述个人见解,期望各位师傅能够依据自身经验与认知,对文中内容进行批判性地思考与探讨。
0x02 声明
此文章中所涉及到的任何技术与工具仅可用于网络安全技术交流与学习,禁止用于任何违法犯罪行为,文章中提供的所有工具均为开源项目,安全性与兼容性请自行检查。
0x03 平台选择
关于渗透测试平台的选择,可能很多师傅会立刻想到Kali Linux,Kali Linux集成了很多知名渗透测试工具,确实是个非常优秀的渗透测试平台,但是根据个人使用习惯,我感觉Kali还是有一定的局限性,比如做代码审计、免杀这类需要用到IDE的工作时,还是略显笨拙。因此这里本人使用 Windows11 系统作为信息收集工作的主力机,Kali Linux 作为辅助工具。
0x04 企业产权收集
企业产权信息收集主要收集目标业务的产权信息,例如域名产权、APP与小程序的产权、员工信息、供应链信息等
在线平台
企业信息
天眼查[https://www.tianyancha.com/]
企查查[https://www.qcc.com/]
小蓝本[https://sou.xiaolanben.com/pc]
爱企查[https://aiqicha.baidu.com/]
通过查询企业产权信息,可以获得更多的攻击面,例如APP,域名等信息。


备案信息
工信部备案查询[https://beian.miit.gov.cn/]
ICP备案查询[https://www.beianx.cn/]
通过查询企业网站的备案号,也可以搜集到企业下的其他资产信息


Kali Whois查询
此外,也可以使用Kali Linux自带的whois工具进行备案信息的查询
whois xxx.com

0x05 网络空间搜索引擎
通过网络空间搜索引擎,可以搜索到一些被搜索引擎隐藏的资产,效率较高,并且能够直观地看到站点标题以及服务信息。
FOFA[https://fofa.info/]
钟馗之眼[https://www.zoomeye.org/?R1nG]
零零信安[https://0.zone/]
shodan[https://www.shodan.io/]
sensys[https://censys.com/]
鹰图[https://hunter.qianxin.com/]
360quake[https://quake.360.net/quake/#/index]


0x06 自动化资产收集-ARL
ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统旨在快速侦察与目标关联的互联网资产,构建基础资产信息库。 协助甲方安全团队或者渗透测试人员有效侦察和检索资产,以攻击者视角持续探测资产风险,协助用户时刻洞察资产动态,掌握安全防护薄弱点,快速收敛攻击面。

下载地址:https://github.com/ki9mu/ARL-plus-docker
安装与使用文档:https://tophanttechnology.github.io/ARL-doc/
0x07 移动资产收集
当信息收集工作完毕后 Web 页面无从下手时,可以将目光转向移动应用平台,聚焦到 APP 应用和小程序上,移动平台使用便捷,用户量大,因此功能点就比较多,攻击面就越广。
APP应用
APP应用可以通过查询企业的知识产权获取,或者在各大应用商店搜索获取。

七麦APP软件搜索
七麦app搜索[https://www.qimai.cn/]

公众号信息
直接使用微信的搜一搜功能

或者使用搜狗微信搜索[https://weixin.sogou.com/]
小程序资产
一般中大型企业都有自己的小程序,通过支付宝微信等平台搜索可以获取到小i程序,或着关注公司运营人员,通过社工等方式获取小程序。

0x08 单一目标信息收集
前面通过收集了一些企业的资产信息,例如域名、app、小程序等资产,这些资产包括但不限于域名、IP、接口信息等,接下来就对这些单一的目标进行信息收集。
操作系统
TTL值
不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:
1、WINDOWS NT/2000 TTL:128
2、WINDOWS 95/98 TTL:32
3、UNIX TTL:255
4、LINUX TTL:64
5、WIN7 TTL:64

Nmap -O参数
Nmap -O xxx.xxx.xxx.xxx //nmap的-O参数可以帮助判断目标所使用的操作系统

大小写敏感
一般情况下,windows服务器对目录的大小写是不敏感的,而linux则相反


IP反查
使用网络空间搜索引擎或者ARL灯塔收集信息后,通常会有一些没有域名的独立IP,可以使用IP反查的手段来确定这个独立IP是否归属于该单位
ip138反查[https://site.ip138.com/]
微步在线[https://x.threatbook.cn/]
爱站反查域名[https://dns.aizhan.com/]



子域名查询
当主站点没有web安全漏洞或者设置了WAF等安全产品等情况导致无法进行边界突破时,可以考虑对子域名进行渗透测试
DNS解析
利用DNS记录公开数据收集
ip138[https://site.ip138.com/]
DnsDumpster[https://dnsdumpster.com/]
hackertarget.com:[https://hackertarget.com/find-dns-host-records/]

Gobuster
Kali下使用gobuster爆破Dns
apt-get install gobuster
gobuster dns -d xxxx.com -t 50 -w '/root/Documents/domains.txt'

网络空间搜索引擎搜索
通常,搜索引擎的主页设有相关搜索规则,多数是以 domain=“xxxx.com” 的形式来搜索子域名信息


在线子域名收集
dnsdumpster[https://dnsdumpster.com/]
bugscanner[http://tools.bugscaner.com/subdomain/]

OneForAll子域名查询工具
工具下载地址[https://github.com/shmilylty/OneForAll]
oneforall是一款功能强大的子域收集工具
-
收集能力强大
,详细模块请阅读收集模块说明。
-
支持子域爆破,该模块有常规的字典爆破,也有自定义的fuzz模式,支持批量爆破和递归爆破,自动判断泛解析并处理。
-
支持子域验证,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。
-
支持子域爬取
,根据已有的子域,请求子域响应体以及响应体里的JS,从中再次发现新的子域。
-
支持子域置换
,根据已有的子域,使用子域替换技术再次发现新的子域。
-
支持子域接管
,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。
-
处理功能强大
,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有
txt,csv,json。 -
速度极快
,收集模块使用多线程调用,爆破模块使用massdns,DNS解析速度每秒可解析350000以上个域名,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。
-
体验良好
,各模块都有进度条,异步保存各模块结果。
安装使用
在高版本的安装及使用过程中可能会出现各种问题,参考下面这篇博客
https://blog.csdn.net/weixin_49769267/article/details/131464408
python oneforall.py --target http://xxx.com run

收集完成后会将结果保存到results文件夹下

layer子域名挖掘机
Layer 子域名挖掘机是一款域名查询工具,可提供网站子域名查询服务;拥有简洁的界面、简单的操作模式,支持服务接口、暴力搜索、同服挖掘三种模式,支持打开网站、复制域名、复制 IP、复制 CDN、导出域名、导出 IP、导出域名 + IP、导出域名 + IP + WEB 服务器以及导出存活网站!
工具地址[https://github.com/euphrat1ca/LayerDomainFinder/releases]
操作简便,只需填入一级域名,选用默认或自行收集的字典后点击启动按钮即可。

Subfinder
Subfinder 是一款专注于子域名收集的开源工具,旨在帮助安全专业人员、渗透测试人员和研究人员快速有效地发现目标域的子域名。该工具通过与多个子域名源(例如搜索引擎、DNS数据)集成,提供了一个全面的子域名搜集解决方案。
以下是 Subfinder 的一些主要特点和功能:
-
多源搜集:
Subfinder 集成了多个子域名源,包括但不限于谷歌(Google)、Shodan、Censys、Virustotal等,以提高搜集的全面性。
-
快速且并发:
Subfinder 被设计为快速且支持并发搜集,以加速子域名发现过程。
-
DNS 数据源:
工具可以利用DNS数据,通过查询DNS服务器来发现子域名。这包括常规域传输、DNS枚举和暴力破解。
-
API支持:
Subfinder 提供了对多个子域名API的支持,以允许用户在工具中集成自定义的数据源。
-
漏洞扫描集成:
Subfinder 还可以与漏洞扫描工具(如 Amass、Assetnote、Virustotal)进行集成,以提供更全面的信息。
-
结果导出:
Subfinder 支持将搜集到的子域名结果导出为常见的文件格式,如文本文件、JSON和CSV。
-
自定义字典:
用户可以使用自定义字典进行子域名的暴力破解尝试,以满足特定的搜集需求。
Subfinder 是一个灵活而强大的工具,适用于用于渗透测试、漏洞评估、红队操作以及一般的信息搜集任务。使用 Subfinder 时,请确保在合法和授权的范围内操作,并遵循法律和道德准则。
在Kali中使用Subfinder
sudo apt-get install subfinder

subfinder -d xxxx.com

证书查询
利用谷歌提出的证书透明度,可以查询到公开的子域,一般可以查询到的结果包括域、签发者、有效期和签名等
crtsh[https://crt.sh/]
censys[https://censys.io/certificates]
spyse[https://spyse.com/search/certificate]
certspotter[https://sslmate.com/certspotter/api/]

威胁情报收集
微步 https://x.threatbook.cn/
绿盟科技 威胁情报云 https://ti.nsfocus.com/
华为安全中心平台 https://isecurity.huawei.com/sec


爬虫收集
当目标比较单一或者无法提取出更多的子域名资产时,可以考虑定制爬虫的方法,对目标的JS信息、源码信息、目录信息等做更深层次的域名信息的提取

关于爬虫获取子域名的学习,可以参考这篇博客[https://blog.csdn.net/qq_45859826/article/details/124030119]
信息去重
经过在线平台和工具的收集工作,得到的域名信息有很多,但是有很多会是重复出现的,需要做去重工作,这里给出我自己写的python脚本
importurllib.parse# 将域名统一修改为url标准格式defnormalize_url(url):ifnoturl.startswith("http://")andnoturl.startswith("https://"):url="http://"+urlparsed_url=urllib.parse.urlparse(url)returnurllib.parse.urlunparse(parsed_url._replace(path='/',params='',query='',fragment=''))# 读取文件中的域名或URL数据,规范格式并去重,同时将结果保存到新文件defprocess_domains_file(file_path):seen_urls=set()result=[]withopen(file_path,'r',encoding='utf-8')asfile:forlineinfile:url=line.strip()# 去除每行的空白字符(如换行符等)normalized_url=normalize_url(url)ifnormalized_urlnotinseen_urls:seen_urls.add(normalized_url)result.append(normalized_url)# 将去重后的结果保存到新文件domains_new.txt中withopen('domains_new.txt','w',encoding='utf-8')asnew_file:forurlinresult:new_file.write(url+'\n')returnresultfile_path="domains.txt"# 这里替换为你实际的文件路径final_urls=process_domains_file(file_path)forurlinfinal_urls:print(url)
端口扫描
通过扫描端口,可以判断目标主机使用了哪些服务,从而对这些服务进行有针对性的信息收集、漏洞探测
在线端口扫描
使用在线端口扫描,一是比较快捷、二是可以先使用在线端口扫描判断目标主机是否限制了访问频率,后续在本地进行主动端口扫描时可以通过设置线程和速率的方式绕过
ToolLine[https://toolonline.net/port-scan]
Ip33[http://www.ip33.com/port_scan.html]
coolad[http://coolaf.com/tool/port]
当然在线的端口扫描平台还不止这些,可以通过搜索引擎找到很多类似的在线扫描平台
Nmap
工具下载地址[https://nmap.org/]
Nmap中文使用手册[https://www.cnblogs.com/HOsystem/p/16538678.html]
在Kali中使用Nmap进行端口扫描
nmap -sU --top-ports 20 xxx.com //扫描UDP top20端口

nmap -T4 -O -sV -p- kali.wiki //扫描全端口 判断操作系统 扫描部署的服务

Masscan
masscan是一个快速端口扫描器,号称是世界上最快的扫描软件,可以在几分钟内扫描整个互联网端口。
工具下载[https://github.com/robertdavidgraham/masscan]
masscan -p 0-5000 xxx.xxx.xxx.xxx --rate=3000 //使用3000的速率扫描目标0-5000的端口开放情况


在Kali中的使用和Windows基本无异,但是如果速率设置的很高的话,可能会导致扫描不全的情况出现
网络测绘空间
通过测绘空间搜索单个IP地址,可以探测出目标主机开放过哪些端口服务

目录扫描
目录扫描字典
https://github.com/arrdres/Web-Dict
御剑目录扫描
御剑目录扫描专业版,简单实用的命令行网站目录扫描工具,支持爬虫、fuzz、自定义字典、字典变量、UA修改、假404自动过滤、扫描控速等功能。
工具下载[https://github.com/foryujian/yjdirscan]

7KbScan
7kbscan-WebPathBrute Web路径暴力探测工具
工具下载[https://github.com/7kbstorm/7kbscan-WebPathBrute]

dirsearch
dirsearch是一个基于python的命令行工具,用于暴力扫描页面结构,包括网页中的目录和文件。
工具下载[https://github.com/maurosoria/dirsearch]

Gobuster
gobuster工具可以对Web目录和dns域、子域进行枚举,功能较为强大
| 参数 | 详细 | 描述 |
|---|---|---|
| -C | –cookie | 请求中使用的cookie |
| -x | –extensions | 指定枚举的扩展名 |
| -H | –headers | 指定请求头 |
| -k | –no-tls-validation | 跳过TLS证书验证 |
| -n | –no-status | 不打印状态码 |
| -s | –status-codes | 肯定的状态码 |
| -b | –status-codes-blacklist | 负面的状态码 |
| -U | –username | Basic验证用户名 |
| -P | –password | Basic验证密码 |
gobuster dir -u http://xxx.com/ -w directory-list.txt //使用指定字典对目标进行目录爆破

CMS识别
通过识别CMS的类型和版本信息,可以根据该CMS公开的历史漏洞针对CMS进行漏洞探测
在线CMS识别
云悉指纹识别[http://finger.tidesec.com/]
数字观星[https://fp.shuziguanxing.com/#/]
TideFinger
TideFinger——指纹识别小工具,汲取整合了多个web指纹库,结合了多种指纹检测方法,让指纹检测更快捷、准确。
工具下载[https://github.com/TideSec/TideFinger]
TideFinger_Win.exe -u http://xxxx.com

Whatweb
WhatWeb 是一款用于识别网站技术栈和特征的开源Web扫描工具。它可以自动分析网站的响应并识别出使用的Web框架、CMS、服务器、JavaScript库等技术组件。
Kali中使用whatweb识别目标CMS信息
whatweb xxxx.com

Wappalyze
Wappalyzer是一款开源的浏览器扩展,用于识别网站所使用的技术栈。它能够检测出使用的Web服务器、内容管理系统、编程语言、JavaScript库、框架等信息,并将其展示给用户。
插件可以在各个浏览器的插件商城免费下载

经验判断&AI
当工具无法提供正确的CMS信息时,可以根据网站的目录结构、js信息、版权信息综合判断CMS的类型,也可以将收集到的信息提交给AI判断


源码泄露
攻击者可通过泄露的源码文件,提取出网站配置信息,如数据库配置信息、云服务配置信息等,还可以根据源代码进行代码审计,导致漏洞披露。
网站备份压缩文件
管理员如果将网站源代码备份在Web目录下,攻击者就通过遍历文件路径,获得备份文件。
常见的备份文件后缀:
.rar
.zip
.7z
.tar.gz
.bak
.txt
.old
.temp
.phps
.sql
git源码泄露
git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
访问网站根目录/.git/文件夹是否存在,如果文件夹存在或显示403则存在 使用githack.py进行下载
GitHack
工具下载:[https://github.com/lijiejie/GitHack]
python3 GitHack.py http://xxxx.com/

SVN源码泄露
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
SvnHack
工具下载[https://github.com/callmefeifei/SvnHack]
使用方法与githack基本无异,但是需要使用python2版本使用此工具,本人使用的python环境为Python 2.7.18
python2 SvnHack.py -u http://xxxx.com/

GitHub源码泄漏
如果网站开发者在开发过程中自动或手动将源码上传到github等其他开源平台,并且没有正确设置访问权限,那么就可以通过搜集到的已知信息去各个开源平台搜索泄露的源代码
in:name target # 仓库标题搜索含有关键字target
language:java target # 在java语言的代码中搜索关键字
in:descripton target # 仓库描述搜索含有关键字
in:readme target # Readme文件搜素含有关键字
user:target # 通过用户名搜素
license:apache-3.0 target # 明确仓库的 LICENSE 搜索关键字
user:target in:name target # 组合搜索,用户名target的标题含有target的

API与JS信息
Packer-Fuzzer
工具下载[ https://github.com/rtcatc/Packer-Fuzzer]
Packer-Fuzzer是一款针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具。
常用命令
python3 PackerFuzzer.py -u http://xxxx.com -t adv -p http://127.0.0.1:8080 -f 1 -r html
# 高级版模式、yakit代理、忽略自签名CA证书
python3 PackerFuzzer.py -u http://xxxx.com -j http://xxxx.com/js/index.js,http://xxxx.com/static/js/cookieAlert.js
# 附加JS进行额外分析
python3 PackerFuzzer.py -u http://xxxx.com -b v1
#指定baseurl


UrlFinder
URLFinder是一款快速、全面、易用的页面信息提取工具,用于分析页面中的js与url,查找隐藏在其中的敏感信息或未授权api接口
工具下载[https://github.com/pingc0y/URLFinder]
\URLFinder.exe -u http://xxxx.com -s 200,403 -m 3

JSFinder
JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具。
工具下载[https://github.com/Threezh1/JSFinder]

互动话题:如果你想学习更多网安方面的知识和工具,可以看看以下题外话!
题外话
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
下面给大家分享一份2025最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!
一、2025最新网络安全学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。


L1级别:网络安全的基础入门
L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。


L2级别:网络安全的技术进阶
L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。


L3级别:网络安全的高阶提升
L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。


L4级别:网络安全的项目实战
L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题


整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、技术文档和经典PDF书籍
书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)


三、网络安全视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。


四、网络安全护网行动/CTF比赛
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。


五、网络安全工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。


面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…




**读者福利 |** CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)
更多推荐
所有评论(0)