一.基本的红队测试流程介绍
1.接到项目合同并制定相应计划
2.准备相应的工具和材料
3.做第一次信息收集
4.做漏洞扫描或攻击面测试
5.针对突出的攻击面做具体的渗透
6.进入环境之后的第二次信息收集
7.提升权限
8.维持权限
9.寻找扩大攻击面的渠道
10.清理攻击痕迹
11.编写报告
二.信息收集的基本要素
1.降低被发现的可能,提高隐蔽性
2.根据目标的特性进行信息收集
三.被动信息收集
查询被人已经收集到的结果
1.第三方的信息收集机构或平台已经收集到目标的信息
2.第三方的信息收集机构或平台将信息存储在某处
3.攻击者从存储信息的地方查询信息
4.攻击者得到相应信息
四.被动信息收集的优缺点:
优点:
1.隐蔽性高,不容易被发现
2.收集的信息量和覆盖面比较大
缺点:
1.收集到的信息中时效性和准确性不高
2.无法收集到敏感或者未公开的信息
五.被动信息收集的方法
1.搜索引擎:
Google
site:ncwu.edu.cn 转专业 搜索指定站点
filetype:pdf 保研名单 搜索指定文件类型
intitle:后台登录 搜索标题中有指定内容的网页
inurl: manage 搜索url中有指定内容的网页
Google高级语法,还有更多的语句,以上为常用语句,可以连在一起用
expdb
intitle:“admin login” site:.gov
intext:“Admin Login” inurl:"/login.aspx"
高级搜索语句基本差别不大,用的时候自己去看官方文档
2.网络空间搜索引擎:
fofa、zoomeye和shodan
fofa常用语句:
title=“abc” 从标题中搜索abc。
header=“abc” 从http头中搜索abc。
body=“abc” 从html正文中搜索abc。
domain=“qq.com” 搜索根域名带有qq.com的网站。
host=".gov.cn" 从url中搜索.gov.cn,注意搜索要用host作为名称。
port=“443” 查找对应443端口的资产。
ip=“1.1.1.1” 从ip中搜索包含1.1.1.1的网站,注意搜索要用ip作为名称。
protocol=“https” 搜索指定协议类型
用什么就去看官方文档
3.集成工具
recon-ng、kunyu和maltego
推荐maltego
4.工具开发
别人开源的工具很好,但是未必适合你,需要有一个自己用着顺手的小工具
开发思路
1.搜索引擎爬虫+api/sdk
2.拆分别人的开源工具,提取你想要的功能模块,找个框架把你提取出来的所有模块集成在一起
六.主动信息收集
主动的去对目标进行探测,而不是收集公开的信息
1.由攻击者主动发起行为或请求
2.目标受到行为或请求影响并发出反馈
3.攻击者获得反馈并判断特征
七.主动信息收集的优缺点
优点:
1.信息的针对性强
2.信息的准确度和时效性高
3.能收集到未公开的敏感信息
缺点:
1.容易暴露,被发现的风险高
2.收集的信息量和覆盖面比较少
八.主动信息收集的方法
1 通过暴力枚举的方法寻找目标存在的资产
基本原理:
1.工具通常带有字典等枚举的数据
2.通过每一个枚举的数据构造请求或者交互
3.判断这些请求中哪些交互的反馈是属于我们需要的
4.存储这些反馈并处理数据
ksubdomian(域名爆破)和gobuster(目录爆破)
CDN绕过:
1.邮箱服务器 (公司得有自己的邮箱)
2.微信小程序(看他后端交互找的是哪个地址)
3.证书
4.dns历史记录 (找最早的那一条)
5.多地ping
6.国外来访问
字典推荐:fuzzdict
密码字典:cupp
2. 通过爬虫爬取的方式收集信息
基本原理:
1.工具会模拟浏览器做请求
2.将收到的请求收集并筛选
3.筛选出来的数据做二次的请求并判断
4.将判断后的数据处理并输出
JSFinder(爬取js中的url)和OWASP ZAP(漏扫功能不太行,但是爬虫功能很好用)
3 通过直接交互的方式收集目标反馈
基本原理:
1.工具会带有直接与目标交互的功能
2.通过判断目标反馈的不同判断出不同的信息
nmap(可以自己写nsa脚本,python有库,可以调用)和goby
我还是想说:最重要的是思路和工具开发