一路坦途 發表於 2020-7-2 17:32:00

linux服务器中病毒后的清除处理

<h2 align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 18pt"><strong>linux服务器中病毒后的清除处理</strong></span></h2>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&nbsp; &nbsp; &nbsp; 之前看到公司同事在部署服务器的时候,发现中了挖矿病毒,很是恼火。因为我平时很少接触服务器,一般都是部署项目,配置域名就完事。所以遇到这种情况,只能在一旁看着干着急。后来在网上查阅了很多资料,现决定来整理一下,下次如果遇到服务器中病毒的情况,可以拿来参考一下。</span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><strong><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 18px">一、服务器为什么会中病毒?</span></strong></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">1)服务器中病毒,其实是因为黑客的入侵。入侵者的每一次入侵几乎都是<span style="color: rgba(255, 0, 255, 1)">从扫描开始</span>的,扫描软件首先会判断远程计算机是否存在,接着对存在的远程计算机进行扫描,<span style="color: rgba(255, 0, 255, 1)">探测其开放的端口</span>。入侵者通过扫描的结果可以确定目标主机打开的端口、服务、<span style="color: rgba(255, 0, 255, 1)">以及存在的各种漏洞</span>等信息,然后实施攻击。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">2)最普遍的情况应该就是服务器被挂载木马病毒用以挖矿(比特币/门罗币...)。因为控制别人的电脑挖矿,成本为零。比如通过redis 6379端口,如果账号密码太简单或者没有设置密码,攻击者可能通过提权,获取到root的权限。然后在服务器中植入一系列的挖矿病毒。</span></p>
<p><span style="color: rgba(255, 0, 0, 1); font-size: 18px"><strong><span style="font-family: &quot;Microsoft YaHei&quot;">二、症状表现</span></strong></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">服务器CPU资源使用一直处于100%的状态或者更高,连接服务器的时候明显感觉到消耗的时间比以往要久。Kill该进程以后还会更换端口,很快就又被创建出来了。</span></p>
<p><span style="font-size: 18px"><strong><span style="font-family: &quot;Microsoft YaHei&quot;; color: rgba(255, 0, 0, 1)">三、排查方法</span></strong></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">1、通过top命令查看,发现可疑进程比如XX</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">2、查看进程:使用 ps -ef | grep XX 命令查看pid</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">1)使用命令ls -l proc/{进程号}/exe获取文件的绝对路径。下载下来,上传到</span><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">VirusTotal,如果界面有相关的病毒显示信息。那就是病毒实锤了。如果没有,只能说明还没有其他用户提交该种类型病毒。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">find $path -ctime -30 print&nbsp;&nbsp;&nbsp;#找到最近一段时间被修改的文件列表</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">2)直接 kill -9 pid(进程号)并删除 /tmp/XX执行文件。如果,没有过多久,进程又运行了,这时就应该想到,XX&nbsp;有守护程序或者有计划任务。通过 crontab&nbsp;&nbsp;-l&nbsp;查看是否有可疑的计划任务。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">3)使用 systemctl status pid(进程号)&nbsp;发现 XX的守护进程。kill 掉 XX&nbsp;守护进程 kill -9 pid1 pid2...,再 killall -9 XX挖矿病毒 。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">4)进入/tmp目录(一般挖矿病毒的执行目录都在这里)。执行程序 rm -f /tmp/XX,如果删除的过程中,发现提示Operation not permitted(没有权限,无法删除),应该是入侵者使用了chattr命令将文件锁定了。这个时候我们使用命令: chattr -i &nbsp;文件名 即可正常删除。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">补充一下:<strong><span style="color: rgba(255, 0, 255, 1)">lsattr</span></strong>可用来查看文件的属性:lsattr filename。如果文件属性中有i与a,或者有其中的一个可以使用chattr去掉这属性:chattr -ia filename&nbsp;&nbsp;或者chatter -i &nbsp;filename</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">5)在/etc/目录下,将/etc/update.sh 也一并删除</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">6)检查是否还有免密登录的后门文件,将/root/.ssh/authorized_keys 也一并删除</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">7)检查定时任务:crontab&nbsp;&nbsp;-l</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">将可疑任务清除或者停止:crontab -r 或者service crontab stop</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">cat /var/spool/cron/root &nbsp;检查清除</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">8)SSH秘钥删除</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">攻击者可能在/root/.ssh/里面留他们的秘钥,所以我们要清理掉,重新生成秘钥。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">9)查看账号文件是否被修改</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">查看/root/.ssh/authotrized_keys,黑客就是通过ssh授权登录的,因此需要清除未知的账号信息,不过一般文件会被加上ia权限。上文已经讲过chattr命令的使用。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">查看:lsattr /root/.ssh/authotrized_keys</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">解锁:chattr -ia /root/.ssh/authotrized_keys &nbsp;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">编辑文件可修改:chmod 600 /root/.ssh/authotrized_keys</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">10)有的情况,还需要要删除链接文件,或者病毒启动文件。这个到时候再具体问题具体分析吧。检查/etc/init.d目录下的文件</span></p>
<p><span style="color: rgba(255, 0, 0, 1); font-size: 18px"><strong><span style="font-family: &quot;Microsoft YaHei&quot;">四、检查</span></strong></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">将服务器重启,检查是否还有异常</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">1)top查看以及使用 ps -ef | grep XX 命令查看</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">2)通过find / -name "*XX*" 命令搜索是否还有 XX文件</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">3)查看 Linux ssh 登陆审计日志。Centos 与 RedHat 审计日志路径为 /var/log/secure,Ubuntu 与 Debian 审计日志路径为 /var/log/auth.log。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">4)检查 crontab 计划任务是否有可疑任务</span></p>
<p><span style="font-size: 18px"><strong><span style="font-family: &quot;Microsoft YaHei&quot;; color: rgba(255, 0, 0, 1)">五、后期防护</span></strong></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">1、启用ssh公钥登陆,禁用密码登陆。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">2、云主机:完善安全策略,入口流量,一般只开放 80、443 端口就行,出口流量默认可以不限制,如果有需要根据需求来限制。物理机:可以通过硬件防火墙或者机器上iptables 来开放出入口流量规则</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">3、本机不是直接需要对外提供服务,可以拒绝外网卡入口所有流量,通过 jumper 机器内网登陆业务机器。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">4、有能力的话可以搭建安全扫描服务,定期检查机器上漏洞并修复。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">5、安装Linux杀毒软件clamav:yum install clamav</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">1)在线升级病毒库:执行命令 freshclam或者 freshclam --verbose</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">2)扫描所有用户的主目录就使用命令 <strong><span style="color: rgba(255, 0, 255, 1)">clamscan</span></strong> -r /home</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">3)扫描计算机上的所有文件并且显示所有的文件的扫描结果,就使用 clamscan -r /</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">grep &nbsp;Infected &nbsp;/tmp/all.log &nbsp;&nbsp;#查看被感染文件数量</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">grep &nbsp;-i &nbsp;found &nbsp;/tmp/all.log &nbsp;#查看被感染的文件</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">4)扫描计算机上的所有文件并且显示有问题的文件的扫描结果,就使用clamscan -r --bell -i /</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">/usr/local/clamav/bin/clamscan -r --remove(查杀当前目录并删除感染的文件)</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">/usr/local/clamav/bin/clamscan -r --bell -i / (扫描所有文件并且显示有问题的文件的扫描结果)</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;其他参数</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt; -r/--recursive[=yes/no] 所有文件</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --log=FILE/-l FILE 增加扫描报告</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  # clamscan -l /var/log/clamscan.log /</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --move [路径] 移动病毒文件至..</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --remove [路径] 删除病毒文件</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --quiet 只输出错误消息</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --infected/-i 只输出感染文件</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --suppress-ok-results/-o 跳过扫描OK的文件</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --bell 扫描到病毒文件发出警报声音</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">&gt;  --unzip(unrar) 解压压缩文件扫描</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">--扫描根目录下文件,并指定日志文件:/var/log/clamscan.log</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">clamscan -r -l /var/log/clamscan.log / &amp;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">6、redis最好关掉外网访问权限,或者是修改默认端口。</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 16px">参考链接:</span></p>
<p><span style="font-size: 16px">https://msd.misuland.com/pd/3691885202524605942?page=1</span><br><span style="font-size: 16px">https://www.cnblogs.com/ushowtime/p/11628002.html</span><br><span style="font-size: 16px">https://blog.csdn.net/heian_99/article/details/105247415</span></p><br><br>
来源:https://www.cnblogs.com/hld123/p/13226033.html
頁: [1]
查看完整版本: linux服务器中病毒后的清除处理