Struts2漏洞导致的反弹shell——青藤云安全使用的是agent进程采集器进行检测
安全老司机 | Struts2漏洞爆发后,与黑客的一次正面交锋
青藤云安全:——用的是进程信息采集器
通过对用户进程行为的实时监控,结合行为分析,及时发现非法shell连接引起的反弹shell行为,可以有效地感知0Day漏洞利用的行为痕迹,可以提供反向shell的详细过程操作树。
青藤云安全将Agent安装在服务器上,根据客户业务运行状况设立数万个监测指标,对文件进程、主机访问、业务关系等建立多维度、多层次的纵深检测体系,可以无间断对入侵行为进行监控,实现实时的入侵检测和快速响应,一旦发现异常情况,进行毫秒级报警
青藤新一代主机入侵检测系统的“反弹shell”功能,可以通过对用户进程行为进行实时监控,结合异常行为识别,可及时发现进程中非法 Shell 连接操作产生的反弹 Shell行为,能有效感知“0Day”漏洞等利用的行为痕迹,并提供反弹 Shell 的详细进程树。
故事开始
“我们可能被黑客攻击了!!!”接到客户急匆匆的一个电话。
我赶紧打开电脑查看报警邮件,提示存在一个反弹Shell的攻击行为。

这大半夜,客户的服务器居然正在主动尝试连接外部其它服务器。在那个瞬间,我都能想象得出来,服务器另一端那个穿着“黑衣服”的人,面对“冒着新鲜热气儿”的Shell唾手可得的那种狂喜。显然,黑客正在疯狂攻击,情况甚是紧急,需要在黑客造成真正破坏之前阻止他们。
做技术的人都知道,反弹Shell一般是外网渗透的最后一步,也是内网渗透的第一步。反弹Shell对服务器安全乃至内网安全的危害不必多说。
多年的一线拼杀经验告诉我,黑客一般是利用远程命令执行、远程代码执行、Webshell、Redis未授权访问可执行系统命令等漏洞,执行反弹命令,使目标服务器发出主动连接请求,从而绕过防火墙的入站访问控制规则。
初试无果
因为客户正好部署了青藤的大数据安全产品,能够记录展示每台服务器系统交互Shell的命令,包括操作者IP,操作终端,操作用户,操作详情等关键信息。但是出乎意料的是,在反弹Shell这十几分钟时间内,日志上居然没发现任何黑客执行反弹Shell操作等相关的异常操作行为。
改变思路
显然,黑客不是通过在服务器端执行命令的常规方式进行反弹,一定是有其它资产存在漏洞,被黑客利用了。为找到根本原因,我通过青藤资产清点工具对该主机上运行的资产(如虚拟机、web站点、web服务、web框架等)进行全面了解,发现该服务器上存在Struts 2的Web框架,凑巧的是该版本正好存在S2-045漏洞。很可能,这就是黑客入侵的源头了。
资产清点发现存在漏洞的Struts2版本
要说著名RCE(远程代码执行)漏洞,Struts2框架漏洞最为“经典”,一经爆发就被各安全厂商作为高危紧急漏洞处理。S2-045漏洞是由报错信息包含OGNL表达式,并且被带入了buildErrorMessage这个方法运行,造成远程代码执行。S2-045只有一种触发形式,就是将OGNL表达式注入到HTTP头的Content-Type中。
柳暗花明
为确认真正攻击源,通过查看Tomcat日志发现存在反弹Shell行为的恶意IP,正在通过post请求方式访问客户服务器上一个Struts2页面。至此,基本可以判断攻击者正是通过Struts2的反序列化漏洞进行攻击,从而完成反弹Shell的操作。值得庆幸,因为及时发现和快速响应,黑客的攻击行为未对服务器造成任何伤害。
进行反击
首先通过防火墙立即封堵该IP,同时在WAF上设置规则,拦截该请求,进一步对Struts2漏洞立马打补丁。
写在最后
攻防的较量从未停止,黑客与白帽子间的斗争也越演越烈。在Struts2框架漏洞这个战场上,需要持续深入地研究,才能占有主动权。虽然从过去出现的Struts漏洞看,恶意OGNL表达式的注入点无处不在,但随着Struts2框架版本不停迭代,很多漏洞都被修补。
在这里笔者也提醒各位安全负责人,一定要及时打补丁以及使用最新版的Struts框架,避免被不法分子利用而造成损失。同时,对request请求的参数名、参数值、cookie参数名、action的名称、Content-Type内容、filename内容、请求体内容(反序列化漏洞)进行验证,降低后期被黑客利用可能性。
安全老司机 | Struts2漏洞爆发后,与黑客的一次正面交锋
故事开始
“我们可能被黑客攻击了!!!”接到客户急匆匆的一个电话。
我赶紧打开电脑查看报警邮件,提示存在一个反弹Shell的攻击行为。

这大半夜,客户的服务器居然正在主动尝试连接外部其它服务器。在那个瞬间,我都能想象得出来,服务器另一端那个穿着“黑衣服”的人,面对“冒着新鲜热气儿”的Shell唾手可得的那种狂喜。显然,黑客正在疯狂攻击,情况甚是紧急,需要在黑客造成真正破坏之前阻止他们。
做技术的人都知道,反弹Shell一般是外网渗透的最后一步,也是内网渗透的第一步。反弹Shell对服务器安全乃至内网安全的危害不必多说。
多年的一线拼杀经验告诉我,黑客一般是利用远程命令执行、远程代码执行、Webshell、Redis未授权访问可执行系统命令等漏洞,执行反弹命令,使目标服务器发出主动连接请求,从而绕过防火墙的入站访问控制规则。
初试无果
因为客户正好部署了青藤的大数据安全产品,能够记录展示每台服务器系统交互Shell的命令,包括操作者IP,操作终端,操作用户,操作详情等关键信息。但是出乎意料的是,在反弹Shell这十几分钟时间内,日志上居然没发现任何黑客执行反弹Shell操作等相关的异常操作行为。
改变思路
显然,黑客不是通过在服务器端执行命令的常规方式进行反弹,一定是有其它资产存在漏洞,被黑客利用了。为找到根本原因,我通过青藤资产清点工具对该主机上运行的资产(如虚拟机、web站点、web服务、web框架等)进行全面了解,发现该服务器上存在Struts 2的Web框架,凑巧的是该版本正好存在S2-045漏洞。很可能,这就是黑客入侵的源头了。
资产清点发现存在漏洞的Struts2版本
要说著名RCE(远程代码执行)漏洞,Struts2框架漏洞最为“经典”,一经爆发就被各安全厂商作为高危紧急漏洞处理。S2-045漏洞是由报错信息包含OGNL表达式,并且被带入了buildErrorMessage这个方法运行,造成远程代码执行。S2-045只有一种触发形式,就是将OGNL表达式注入到HTTP头的Content-Type中。
柳暗花明
为确认真正攻击源,通过查看Tomcat日志发现存在反弹Shell行为的恶意IP,正在通过post请求方式访问客户服务器上一个Struts2页面。至此,基本可以判断攻击者正是通过Struts2的反序列化漏洞进行攻击,从而完成反弹Shell的操作。值得庆幸,因为及时发现和快速响应,黑客的攻击行为未对服务器造成任何伤害。
进行反击
首先通过防火墙立即封堵该IP,同时在WAF上设置规则,拦截该请求,进一步对Struts2漏洞立马打补丁。
写在最后
攻防的较量从未停止,黑客与白帽子间的斗争也越演越烈。在Struts2框架漏洞这个战场上,需要持续深入地研究,才能占有主动权。虽然从过去出现的Struts漏洞看,恶意OGNL表达式的注入点无处不在,但随着Struts2框架版本不停迭代,很多漏洞都被修补。
在这里笔者也提醒各位安全负责人,一定要及时打补丁以及使用最新版的Struts框架,避免被不法分子利用而造成损失。同时,对request请求的参数名、参数值、cookie参数名、action的名称、Content-Type内容、filename内容、请求体内容(反序列化漏洞)进行验证,降低后期被黑客利用可能性。
Struts2漏洞导致的反弹shell——青藤云安全使用的是agent进程采集器进行检测的更多相关文章
- Zabbix sql注入漏洞脚本执行反弹shell
exp检测是否存在SQL注入漏洞root@ubuntu:~# python zabbix.py http://ip:9090/+------------------------------------ ...
- Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)
Struts2漏洞利用工具下载(已更新V1.8版) 2017-03-21:增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过部 ...
- Struts2漏洞利用实例
Struts2漏洞利用实例 如果存在struts2漏洞的站,administrator权限,但是无法加管理组,内网,shell访问500. 1.struts2 漏洞原理:struts2是一个框架,他在 ...
- 小白日记40:kali渗透测试之Web渗透-SQL手工注入(二)-读取文件、写入文件、反弹shell
SQL手工注入 1.读取文件[load_file函数] ' union SELECT null,load_file('/etc/passwd')--+ burpsuite 2.写入文件 ' unio ...
- Struts2漏洞解决
如果你也正在使用Struts2作为web层框架做开发或者做公司的送检产品,然后被告知有各种各样的Struts2漏洞,那本篇博客值得你花时间来喽上一两眼. 前端时间抽空为公司做了新一代的送检产品,为了方 ...
- 浅析重定向与反弹Shell命令
0×01 简介 反弹shell在漏洞证明和利用的过程中都是一个直接有力的手段.由于安全工作或者学习的需要,我们或多或少都会接触到各种反弹shell的命令,于是就有了这个能稍微帮助初学者理解的文档 ...
- Linux 反弹shell(二)反弹shell的本质
Linux 反弹shell(二)反弹shell的本质 from:https://xz.aliyun.com/t/2549 0X00 前言 在上一篇文章 Linux反弹shell(一)文件描述符与重定向 ...
- [Shell]利用JS文件反弹Shell
0x01 模拟环境 攻击: kali ip: 192.168.248.132 测试: windows 7 x64 ip: 192.168.248.136 0x02 工具地址 https://githu ...
- [Shell]Redis未授权访问反弹shell
原作者:Cream 文章出处: 贝塔安全实验室 0x01 Redis未授权访问反弹shell Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value ...
随机推荐
- Guide of Apache Directory Studio
Default User and Password admin secret
- 2019年新加坡之行 Day 1
又到了公司每年一次的年度旅游,继前几年的香港.日本.韩国游后,今年公司选择了新加坡.由于之前曾在新加坡公司The Adventus Consultants工作过2年时间,所以对于这次重返新加坡,我还是 ...
- Ubuntu下重启mysql
启动mysql: 方式一:sudo /etc/init.d/mysql start 方式二:sudo service mysql start 停止mysql: 方式一:sudo /etc/init.d ...
- sql调优方法实用性总结(一)
1.选择最有效率的表名顺序(只在基于规则的优化器): Oracle的解析器按照从右向左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理(基础表先处理,driving table) ...
- Excel在数据表中悬停鼠标显示数据值
打开一个实例文档,鼠标移动到数据表中,在柱状图上中悬停鼠标,可以看到没有显示数据的值. 鼠标单击左上角的<文件>按钮. 然后单击<选项>按钮. 在弹出的excel选项对话框中单 ...
- 修改 Delphi 10.3.3 IDE 字体和字体大小
Delphi 10.2.2 之前,可以通过 IDE视觉设置的系统注册表项 修改字体和字体大小,因为 Delphi 10.2.2 IDE增加了主题,主题包含了字体信息, 此方法失效了.对于高分辨率屏幕, ...
- modbus汇总
ModBus协议简介及移植到STM32单片机 https://blog.csdn.net/silent123go/article/details/92440091 Modbus测试工具ModbusPo ...
- Mac Mini(late 2014) 添加NVMe固态组Fusion Drive
我买的是Mac Mini(late 2014)中配,内置5400转1T机械硬盘,该配置即使到了2019年安装macOS Mojave系统依旧是够用的,但硬盘严重拖累了运行的速度.之前考虑到更换内置sa ...
- 函数this指向哪个对象?
函数的this指向是根据函数调用时所处的执行环境来确定的. this指向对象的情况有四种: 1.使用new关键字时:this会绑定构造函数所创建的对象. function Foo(){ this.a ...
- 转:使用Goproxy解决golang.org模块无法下载的问题
原文https://studygolang.com/articles/22277?fr=sidebar 简介 Goproxy 中国完全实现了 Go 的模块代理协议.并且它是一个由中国备受信赖的云服务提 ...
