PLUM
首页
分类
归档
关于我
服务器被攻击的排查记录
# 发现木马 今天上午的时候手机突然收到服务器安全告警,于是我怀着忐忑的心情,输入我的博客网站,果然已经进不去了 ![](https://z3.ax1x.com/2021/08/14/f628je.jpg) 然后赶紧打开电脑终端连入服务器,先查看了一下Docker的运行情况,发现Docker服务连不上,再尝试连接MySQL,发现数据库数据都还在,就仔细查看了一下服务器,确定没有文件丢失,Docker服务只是被停止了 ![](https://z3.ax1x.com/2021/08/14/f62tHA.png) ## 异常进程 于是我就继续查看进程的情况,发现CPU占用率已经100%了,其中异常就出现在这个进程上 ```bash #进程监视工具 htop ``` ![](https://z3.ax1x.com/2021/08/14/f62UAI.png) ## 木马攻击 因为对这个进程不是很熟悉,我立马去网上搜了一下,发现了[这样一篇文章](https://thehackernews.com/2020/07/docker-linux-malware.html "这样一篇文章"),大概说的是有一种新型的木马会攻击公开API的Docker服务器,而且目前无法被检测到 ![](https://z3.ax1x.com/2021/08/14/f62YBd.png) # 排查问题 随后我就把Docker服务重启了查看,果然发现了几个不是我pull的镜像还有启动的容器 ```bash #启动docker服务 systemctl start docker #列出正在运行的容器 docker ps #列出本地镜像 docker images ``` ![](https://z3.ax1x.com/2021/08/14/f6RGGV.png) ## 被入侵原因 查到这里的时候就明白了,昨天我用Idea连接Docker的时候,开启了Docker的远程连接,因为开启的时候没有配置安全访问,所以导致被别人连接了Docker,然后再利用Docker的漏洞从容器黑进了真机,现在就只有先把远程连接关了... ```bash #使用nvim编辑docker的配置文件 nvim /lib/systemd/system/docker.service #按insert键编辑进入输入模式 #按esc推出输入模式,:进入底线命令模式,再输入wq保存推出 ``` ![](https://z3.ax1x.com/2021/08/14/f6209f.png) 将上面Docker远程连接的配置删除后,我就把那些不是我弄出来的镜像和容器删除,再把之前异常的进程杀掉,然后将Docker重启,然后我再查看了一下进程,发现异常进程已经消失了,我以为就这么结束了... ```bash #要删除镜像先停止容器再删除容器 #停止容器 docker stop containe_id #删除容器 docker rm containe_id #删除镜像 docker rmi image_id #重新加载服务 systemctl daemon-reload #重启Docker服务 systemctl restart docker ``` ![](https://z3.ax1x.com/2021/08/14/f62B38.png) # 权限异常 ## 隐藏权限 然而我发现事情并没有这么简单,没过多久后发现这个进程又自动重启了... 再尝试了多次kill进程无效之后,就只好把它的源文件删除了,于是我打算用rm -rf命令将它删除,可这个时候却突然提示我没有权限删除,明明当前登录的就是root用户? 然后我又突然想起Linux系统还有一个隐藏权限!我就用lsattr查看了一下它的隐藏权限,发现它的隐藏权限是不允许任何修改的,于是我就用命令移除它的i隐藏权限,就在我以为一切尽在掌握的时候,这个时候又蹦出了个没有权限,修改权限的权限都没有??? ```bash #设置隐藏权限 chattr [+|-|=参数] [文件] #查看隐藏权限 lsattr [文件] ``` ``` A:即Atime,告诉系统不要修改对这个文件的最后访问时间。 S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。 a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。 b:不更新文件或目录的最后存取时间。 c:将文件或目录压缩后存放。 d:当dump程序执行时,该文件或目录不会被dump备份。 D:检查压缩文件中的错误。 i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。 s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。 u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。 t:文件系统支持尾部合并(tail-merging)。 X:可以直接访问压缩文件的内容。 ``` ![](https://z3.ax1x.com/2021/08/14/f62d4P.png) ## 备份数据 这到底是怎么回事?从来没遇到过这种情况,思绪已经乱了,在捣腾很久无果之后准备放弃了,看网上很多评论也是说中了这种木马就直接重置吧... 这个木马确实远比我想象的复杂,但还好木马没有删库破坏系统,就只好把数据导出来再重置了... ```bash #备份数据库 mysqldump -u username -p dbname table1 table2...->BackupName.sql; ``` ![](https://z3.ax1x.com/2021/08/14/f62aNt.png) ## 挖矿主机IP 但是我不甘心!纠结了很久,我还是没有把服务器重置,就想把问题找出来,于是我就一直尝试各种操作,然后我发现有一台计算机正在用那个异常的进程和我的服务器通信... ```bash #查看本机网络状态 netstat -lntupa ``` ![](https://z3.ax1x.com/2021/08/14/f62DgS.png) ## 门罗币挖矿木马 但这对我找出问题也还是没有实际帮助,我只好放弃换另一个方向,想到进程启动的命令用到了另一个文件,于是我打开这个/usr/cpu看了一下,文件是个配置文件,配置的IP正是与我服务器通信的IP,coin对于的是monero!就是门罗币,一种加密货币,类似于比特币!很显然服务器是被植入了一个门罗币挖矿木马! 于是我就尝试把配置文件里的background修改成false,却发现这个文件是只读的,并且权限不允许我强制保存,于是又陷入了类似上面的循环,明明是root用户却没有权限去修改文件... ![](https://z3.ax1x.com/2021/08/14/f626Bj.png) # 异常原因 ## chattr 真是太有意思了!就在我一筹莫展的时候,试着用命令查看了一下chattr的权限情况,发现它只有29个字符,于是就编辑一下看,结果发现是chattr命令被篡改了!里面只有一行代码!就是each Operation not permitted! ```bash #以列表的形式显示文件ls -l /usr/bin/chattr ``` ![](https://z3.ax1x.com/2021/08/14/f62yuQ.png) ![](https://z3.ax1x.com/2021/08/14/f62cHs.png) 哈哈哈哈,他可真聪明,把我整个人都带进了个圈套,让我兜了这么久才发现! 现在就只有通过命令把他卸载再安装了!于是我赶紧输入命令,可它卸载的过程中却突然提示卸载失败,原来chattr本身也被加了隐藏权限... ```bash #centos卸载命令 dnf remove e2fsprogs #centos安装命令 dnf install e2fsprogs ``` ![](https://z3.ax1x.com/2021/08/14/f622En.png) ## 找回权限 于是我想到了一个办法,先将另一个台Linux系统里的chattr传进服务器,然后把服务器的chattr给覆盖! **可问题来了,chattr本身就被设置了隐藏权限,是不允许删除修改的,该如何把它覆盖呢?** 答案就是**用chattr修改chattr** 直接在传进来的目录下通过./chattr运行新chattr将服务器上的chattr的隐藏权限删除!删除隐藏权限后便可直接将文件移除,然后将新的chattr复制过去就好了! ```bash #赋予传过来的chattr执行权限 chmod 777 chattr #使用当前chattr命令修改之前chattr权限 ./chattr -ia /usr/bin/chattr #移除之前chattr rm /usr/bin/chattr #将当前chattr复制到原位置 cp chattr /usr/bin ``` ![](https://z3.ax1x.com/2021/08/14/f62IvF.png) # 成功移除 终于在千辛万苦下把chattr的权限找回来了,现在我们先利用替换成功后新chatter将木马文件的隐藏权限移除,然后将它删除,删除成功之后再把进程停止 ![](https://z3.ax1x.com/2021/08/14/f627DJ.png) 果然这个木马再也不会启动了!终于一切恢复正常!这个挖矿木马把我坑的不轻,虽然没有造成实际损失,但想到他把我服务器变成矿机这么久就气!但折腾了一天也算是一步一步把问题解决了,这里警示大家不要乱开放端口,网络安全一定要做好!当然Docker本身的漏洞也很坑!!! ![](https://z3.ax1x.com/2021/08/14/f6RiVA.png) 另外,我最后还是把它重置了,原因就是,强迫症🙃
赞赏
支付宝
微信
作者:
这个人很懒
发表时间:
2020-09-03 01:31
浏览量:
537
版权声明:转载请注明出处
评论
发布
目录
留言
评论