前言
没想到,2025年的跨年夜居然是在分析恶意程序
背景
我的云服务器密码太过简单,而且放开了ssh端口,于是被人爆了。。。
本来这服务器我只是用作备份文件,压根都不知道被破解了——昨天早上阿里云打电话来,让7天之内解决,不然就停用实例。
好吧看下。
分析
1 查找恶意进程
鉴于恶意进程可能会把top、ps命令换掉,所以我先用apt卸了又重装一遍
这个叫kauditd0的进程跑满了一个核,很明显就是它有问题
2 查看网络相关
emm,在和这几个ip通信,同时我们还发现有个不太占用cpu的edac0进程
3 查找恶意程序位置
/(其实云服务商会提供告警信息,有些甚至可以直接拦截下来)/
查看此进程的父进程,发现是1;查看cmdline发现没有相关信息,看来是做了什么动作给隐藏了
但是没关系——
lsof看到它们使用的文件辣;
再补充一个:
/proc/pid/maps
这个它也能改么?
我们似乎还看到了它删除/anon_hugepage文件的行为
恶意程序分析
现在已经找到恶意程序位置了,但直接删了还不太行——因为这狗子还配了免密登录。。。
稍微分析一下恶意脚本:
/root/.configrc7/a/a
下面是恶意脚本部分截图
我没看明白它动我systemd干啥
但下面的就很显然了——把一段脚本用base64编码,直接解码执行,不留进程信息
不过解出来没啥用,就不展开讲了。
/root/.configrc7/b/run
这个脚本里,它改了我的authorized_keys文件以实现免密登录,****
而且使用了chattr命令,开启/关闭某目录下的操作权限
(i是禁止操作,a是只许追加)
crond
然和把它添加的定时任务也删掉
最后重启,挖矿进程不再出现
小结
这个恶意程序似乎还是压缩过的elf文件
只能说写程序的人也许很高明——但用这恶意程序人的绝对是个垃圾货:
恶意脚本里居然有注释,比我同事写的代码还容易看;居然还在脚本里写死了它的矿池IP,不怕别人反击它么?