一次远程命令执行引发的应急响应

  • A+
所属分类:安全文章

在发现入侵事件时,基于入侵现象进行排查,结合日志进行关联分析,对未知情况作合理的猜测,还原攻击场景,找到漏洞根源,这是很重要的任务


01、事件起因

入侵检测出现安全预警,发现内网服务器的java进程发现异常执行行为,存在Dnslog探测和Bash反弹的行为。

一次远程命令执行引发的应急响应

02、事件分析

(1)排查异常端口

通过查看端口情况,在网络连接中发现shell反弹到外网ip,存在明显的入侵的迹象。

一次远程命令执行引发的应急响应

(2)排查异常进程

查看进程情况,在进程信息中找到了反弹shell命令的特征,base64解码后的通讯ip,与上面发现的一致。执行shell反弹的父进程位60753,该进程为java进程。

一次远程命令执行引发的应急响应

(3)查询历史命令

在history里发现了异常操作行为,攻击者查看了当前服务器ip,当前用户权限,用户在线情况等操作。

一次远程命令执行引发的应急响应

(4)web日志分析

java进程所对应的是web应用程序,基于异常命令执行的时间节点,对相关web日志进行分析,确认入侵时间范围内是否存在可疑的行为。

一次远程命令执行引发的应急响应

未发现异常的web访问行为,都只有访问网站首页的记录,那么它到底是如何入侵的呢?

合理的猜测:结合前面发现Java进程执行dnslog探测等行为,猜测可能存在框架组件存在远程命令执行漏洞。

(5)web框架组件

在web框架组件中,发现低版本的shiro组件,存在明显的远程命令执行漏洞。

框架/组件 版本
spring 4.3.5 RELEASE
shiro 1.4.0-RC2

(6)漏洞复现

通过Shiro远程命令执行漏洞成功获取到了服务器权限,存在dnslog探测和命令执行情况,与发现入侵时的迹象一致。

一次远程命令执行引发的应急响应

03、事件总结

通过以上的分析,可以判断出攻击者通过shiro 远程命令执行漏洞入侵,并在反弹shell执行了一些操作,需要升级shiro至最新版本并生成新的密钥替换。

本文始发于微信公众号(Bypass):一次远程命令执行引发的应急响应

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: