转载-红队作战手册
2021-11-5 00:11:10 Author: 0range-x.github.io(查看原文) 阅读量:35 收藏

1
2
3
4
5
一来, 旨在为 "攻击" / "防御"方 提供更加全面实用的参考
还是那句老闲话 "未知攻焉知防", 所有单纯去说 "攻" 或者 "防" 的都是耍流氓, 攻守兼备才能把路越走越宽

二来, 也是为秉承共享协作, 希望能为 红队 及 部分实战攻防研究人员 做出自己应有的贡献
个人一直坚信, 真正的价值来源于实实在在的奉献,与其天天到处嘴炮,不如静下心来多反思下自己,好好踏踏实实做些对大家都有益的事
1
2
3
严禁任何 个人/组织机构 利用以下相关技术去从事任何未经合法授权的 网络入侵攻击破坏或者黑产活动
严禁任何 个人/组织机构 以此来进行任何形式的 商业牟利 或 恶意炒作行为,包括各类非法渗透培训,误人子弟的负面恶意引导等....
严禁一切的恶意传播及非法利用,由此所产生的一切恶果也均由读者自行承担
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
针对不同的渗透阶段,所可能会用到的一些技术都做了详尽梳理说明 (后面可能还会整理出对应的完整工具链,虽然那不是最主要的)
由于红队不同于一般的渗透测试, 强调更多的是如何搞进去拿到相应机器权限 或者 实现某特定目的
而不局限于你一定要在什么时间, 用什么技术 或者 必须通过什么途径去搞,相比传统渗透测试,红队则更趋于真实的入侵活动
这种场景其实对防御者的 实战对抗经验 和 技术深度 都是比较大的挑战
所以,以下的所有技术点也几乎都是完全站在这种场景和角度下来考量梳理的
需要特别说明的是, 所有攻击手法在现实中都绝不是完全孤立使用的, 往往很多手法都是相互灵活组合起来进行循环利用
由于绝大部分内容都是基于本人平时学习实战积累的一些经验,加之每个人的实际渗透思路都不同
所以肯定会有遗漏的地方,也欢迎弟兄们一起来积极指正补充完善
个人觉得,最好的防御永远不是怎么去防某个工具,是个明白人都知道,因为工具这些东西本身就是死的
稍微改下,定制下, 现有的规则可能马上就防不住了,且一直会处于疲于应付的被动防御状态
尤其是针对红队这种特殊场景的,你的实际对手很可能都是有一定技术实力的人
所以针对每种核心的攻击技术技术展开做深入分析, 直接从源头上进行防御才是最靠谱的
虽然说短期这种成本代价相对较高, 但长期来看, 是一劳永逸的, 沉淀下来的这些东西最终也会慢慢形成自己产品的核心竞争力和特色
说白点,这种对抗,本质上拼的还是双方的技术实力,不仅要能在不知觉的情况下搞进去,而且要能无限制加大对方后期的溯源成本
另外,作为一名合格的攻防人员,工具的熟练掌握仅仅只是极小的一部分,对各种利用原理的深度理解和二次定制能力才是你的核心
1
入口权限 => 内网搜集/探测 => 免杀提权[非必须] => 抓取登录凭证 => 跨平台横向 => 入口维持 => 数据回传 => 定期权限维护
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
绕CDN找出目标所有真实ip段
找目标的各种Web管理后台登录口
批量抓取目标所有真实C段 Web banner
批量对目标所有真实C段 进行基础服务端口扫描探测识别
尝试目标DNS是否允许区域传送,如果不允许则继续尝试子域爆破
批量抓取目标所有子域 Web banner
批量对目标所有子域集中进行基础服务端口探测识别
批量识别目标 所有存活Web站点的Web程序指纹 及其详细版本
从 Git 中查找目标泄露的各类 敏感文件 及 账号密码,偶尔甚至还能碰到目标不小心泄露的各种云的 "AccessKey"
从网盘 / 百度文库 中查找目标泄露的各类 敏感文件 及 账号密码
从各第三方历史漏洞库中查找目标曾经泄露的 各种敏感账号密码 [ 国内目标很好使 ]
目标Svn里泄露的各类 敏感文件
网站目录扫描 [ 查找目标网站泄露的各类敏感文件, 网站备份文件, 敏感配置文件, 源码 , 别人的webshell, 等等等...]
目标站点自身在前端代码中泄露的各种敏感信息
fofa / shodan / bing / google hacking 深度利用
搜集目标 学生学号 / 员工工号 / 目标邮箱 [ 并顺手到各个社工库中去批量查询这些邮箱曾经是否泄露过密码 ]
目标自己对外提供的各种 技术文档 / wiki 里泄露的各种账号密码及其它敏感信息
目标微信小程序
分析目标app Web请求
借助js探针搜集目标内网信息
想办法混入目标的各种 内部QQ群 / 微信群
分析目标直接供应商 [尤其是技术外包]
根据前面已搜集到的各类信息制作有针对性的弱口令字典
目标所用 Waf 种类识别 与 绕过
BypassWAF 文件上传 / 读取 / 下载
BypassWAF Sql注入
BypassWAF RCE
BypassWAF 各类Java Web中间件已知Nday漏洞利用
BypassWAF Webshell 免杀

其它更多 , 待补充修正...
1
2
3
此阶段,主要是针对各主流 "中间件 + 开源程序 + Web服务组件" 自身的各种已知Nday漏洞利用
如下已按 "实际攻击利用的难易程度" 及 "获取到的shell权限高低" 为标准进行了详细排序,由于完全以实战利用为导向
故,仅仅只挑选了一些相对会经常遇到的,且实战中确实能有效协助快速getshell 的 "中间件" , "开源程序" 及 "web组件"
1
2
3
4
不同于其它脚本类web程序,Java的运行权限通常都比较高,甚至大部分都是直接用root/administrator/system权限在跑
所以拿到的shell权限一般也非常高,通常都直接是服务器权限
尤其是在各种红队场景中,入侵者一般也都会首选这些点,并以此为突破口来获取一个稳定的跳板机入口权限
关于到底哪些行业特别爱用哪些中间件,这些也应该都是有事先分析梳理汇总好的
1
2
3
4
5
6
7
8
9
10
11
12
Dedecms 	后台弱口令,系列已知nday漏洞利用
thinkphp 5.x 后台弱口令,系列已知nday漏洞利用
phpcms 后台弱口令,系列已知nday漏洞利用
ecshop 后台弱口令,系列已知nday漏洞利用
Metinfo 后台弱口令,系列已知nday漏洞利用
discuz 后台弱口令,系列已知nday漏洞利用
帝国cms 后台弱口令,系列已知nday漏洞利用
phpmyadmin 数据库弱口令,系列已知nday漏洞利用
wordpress 后台弱口令,系列已知nday漏洞利用
joomla 后台弱口令,系列已知nday漏洞利用
drupal CVE-2018-7600 ,后台弱口令,系列已知nday漏洞利用
......
1
2
3
此处仅仅只挑选了一些实战中真正能协助快速getshell的服务,其它的一些相对边缘性的服务均未提及 
同样,已按 "实际攻击利用的难易程度" 及 "获取到的shell权限高低" 为标准进行了详细排序
如下,就每个端口的具体攻击利用方式,进行了简要说明
  • Top Port List
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Mssql 	  [ 默认工作在tcp 1433端口, 弱口令, 敏感账号密码泄露, 提权, 远程执行, 后门植入 ]
    SMB [ 默认工作在tcp 445端口, 弱口令, 远程执行, 后门植入 ]
    WMI [ 默认工作在tcp 135端口, 弱口令, 远程执行, 后门植入 ]
    WinRM [ 默认工作在tcp 5985端口, 此项主要针对某些高版本Windows, 弱口令, 远程执行, 后门植入 ]
    RDP [ 默认工作在tcp 3389端口, 弱口令, 远程执行, 别人留的shift类后门 ]
    SSH [ 默认工作在tcp 22端口, 弱口令, 远程执行, 后门植入 ]
    ORACLE [ 默认工作在tcp 1521端口, 弱口令, 敏感账号密码泄露, 提权, 远程执行, 后门植入 ]
    Mysql [ 默认工作在tcp 3306端口, 弱口令, 敏感账号密码泄露, 提权(只适用于部分老系统) ]
    REDIS [ 默认工作在tcp 6379端口, 弱口令, 未授权访问, 写文件(webshell,启动项,计划任务), 提权 ]
    POSTGRESQL[ 默认工作在tcp 5432端口, 弱口令, 敏感信息泄露 ]
    LDAP [ 默认工作在tcp 389端口, 未授权访问, 弱口令, 敏感账号密码泄露 ]
    SMTP [ 默认工作在tcp 25端口, 服务错误配置导致的用户名枚举漏洞, 弱口令, 敏感信息泄露 ]
    POP3 [ 默认工作在tcp 110端口, 弱口令, 敏感信息泄露 ]
    IMAP [ 默认工作在tcp 143端口, 弱口令, 敏感信息泄露 ]
    Exchange [ 默认工作在tcp 443端口, 接口弱口令爆破 eg: Owa,ews,oab,AutoDiscover... pth脱邮件, 敏感信息泄露 ... ]
    VNC [ 默认工作在tcp 5900端口, 弱口令 ]
    FTP [ 默认工作在tcp 21端口, 弱口令, 匿名访问/可写, 敏感信息泄露 ]
    Rsync [ 默认工作在tcp 873端口, 未授权, 弱口令, 敏感信息泄露 ]
    Mongodb [ 默认工作在tcp 27017端口, 未授权, 弱口令 ]
    TELNET [ 默认工作在tcp 23端口, 弱口令, 后门植入 ]
    SVN [ 默认工作在tcp 3690端口, 弱口令, 敏感信息泄露 ]
    JAVA RMI [ 默认工作在tcp 1099端口, 可能存在反序列化利用 ]
    CouchDB [ 默认工作在tcp 5984端口, 未授权访问 ]
  • 1
    2
    3
    4
    5
    6
    7
    第二种,给目标发送各种钓鱼链接,比如, 利用各种目标登录口的钓鱼页面来窃取各种内网账号密码 

    Vpn
    Mail
    OA
    Net ntlm hash [ 远程模板注入,pdf...钓hash,国内ISP过滤SMB流量不适用 ]
    ......
    1
    以下只单独挑了一些在 通用性, 稳定性, 易用性, 实际成功率 都相对较好的洞 和 方式 其它的一些"边缘性"的利用都暂未提及
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    出网流量刺探
    比如,http,dns,以及一些穿透性相对较好的tcp端口...
    这种操作一般都会配合wmi,smb,ssh远程执行,在内网批量快速识别出能出网的机器

    常规 HTTP脚本代理
    abptts,Neo-reGeorg,reGeorg,tunna,reduh...
    不得不说,公开脚本在实战中多多少少都会有些问题,还需要根据自己的实际目标环境深度改进才行

    SSH 隧道
    加密端口转发,socks 实战用途非常灵活,此处不细说 ]

    Rdp 隧道

    反向SOCKS
    nps, frp, ssf, CobaltStrike(socks4a & rportfwd ), sscoks ...
    工具基本都不免杀了,需要自行处理

    正反向TCP 端口转发
    非常多,就不一一列举, eg: nginx,netsh,socat,ew....

    DNS加密隧道

    Web端口复用

    需要明白的是,在一般的红队场景中
    入侵者为了尽可能躲避各种检测设备的流量解析,很多此类工具都会采用各种各样的方式来加密传输流量,以此来保证自己有更强的穿透性
    1
    2
    3
    4
    5
    6
    7
    web日志 [ 访问, 错误日志 ]
    数据库日志 [ 异常连接日志,慢查询日志 ]
    系统各类安全日志 [ ssh,rdp,smb,wmi,powershell....]
    各类邮箱登录日志
    域内敏感攻击利用日志 [ 金票,银票... ]
    此项为专业蓝队范畴,不再赘述
    ......
    1
    2
    3
    4
    CobaltStrike [二次开发]
    payload(beacon) 逆向/改进重写
    Metasploit [二次开发]
    ......

    文章来源: https://0range-x.github.io/2021/11/05/%E8%BD%AC%E8%BD%BD-%E7%BA%A2%E9%98%9F%E4%BD%9C%E6%88%98%E6%89%8B%E5%86%8C/
    如有侵权请联系:admin#unsafe.sh