目錄
攻擊分析
恢復措施:
問題排查
攻擊入口分析
預防
臨時處理方案:
攻擊分析
攻擊者:職業黑客(99%)?
攻擊方式:挖礦病毒newinit.sh和蠕蟲病毒pnscan
中毒現象:
-
服務器負載異常,具體表現load值沖高
-
服務器部分命令不可用,如top、ps、pstree、chattr等
-
重點是影響正在運行的業務
-
因為命令被篡改了,所以ps?-ef是找不到的
?
newinit.sh?主要功能是:關閉selinux、殺掉別人的挖礦進程、殺掉CPU占用過高的進程,如果是自己就跳過、修改破壞系統命令、自己造一個下載器downloads()函數、解鎖和加鎖定時任務、添加挖礦技術任務、設置SSH免密登陸、下載執行礦機挖礦程序、關閉防火墻、清除日志、感染已知的免密機器。
pnscan的主要功能是:擴散病毒,主要只針對內網服務器
恢復措施:
-
第一步:清除木馬后門(ssh免登錄密鑰),修改所有用戶賬號密碼(查看是否有新增用戶)
-
第二步:殺死木馬進程以及清除木馬文件(挖礦病毒newinit.sh和蠕蟲病毒pnscan)
-
第三步:逆newinit.sh執行,分析newinit執行的shell,逆向執行
-
第四步:第三步無法根除病毒造成的影響,只要感染了病毒優先考慮更換服務器,速度越快越好
問題排查
Ps?top?pstree被屏蔽,無法發現病毒
定時任務,保持病毒的活躍性
加鎖文件,使得無法刪除
留下后臺,免密授權
攻擊入口分析
Redis訪問策略為0.0.0.0時,訪問不受限
ssh端口默認為0.0.0.0時,有被爆破的痕跡
預防
-
·SSH更換端口,不使用22,redis不使用6379,其他常用服務效仿
-
·替換掉SSH密碼登陸,改用公鑰
-
·redis一定要設定密碼,redis盡量盡量盡量不暴露在外網
-
·mysql、redis、mq等基礎軟件,一定要關注安全更新
-
·操作系統要使用支持維護的穩定版。比如Centos7會維護到2024年。
-
·操作系統一定要及時安裝安全補丁
-
·生產環境一定要放在完全封閉的內網,僅通過跳板機/堡壘機操作
-
·權限管理盡量細致,避免root濫用的情況
臨時處理方案
臨時處理方式,如果被植入newinit.sh,一定遷移服務,攻擊腳本中修改太多的系統服務配置,人工很難恢復到健康的服務狀態,所以能遷移就遷移。并且保證不讓這個挖礦進來
# 第一步:首先修改服務器root密碼,防止繼續攻擊# 第二步:嘗試恢復
chmod 774 /usr/bin/chattr
chattr -ia /etc/zzh*
chattr -ia /etc/newinit.sh*
chattr -ia /root/.ssh/authorized_keys*
chattr -R -ia /root/.ssh
rm -rf /etc/zzh*
rm -rf /etc/zzhs
rm -rf /etc/newinit.sh*
rm -rf /etc/init.sh*
mv /usr/bin/wd1 /usr/bin/wget
mv /usr/bin/cd1 /usr/bin/curl
echo 0 > /proc/sys/vm/nr_hugepages
sysctl -w vm.nr_hugepages=0
chattr -i /etc/resolv.conf 2>/dev/null 1>/dev/null
chattr -R -ia /var/spool/cron
chattr -ia /etc/crontab
chattr -R -ia /var/spool/cron/crontabs
chattr -R -ia /etc/cron.d
rm -rf /etc/cron.d/zzh
pkill -f zzh
pkill zzh
pkill .zzh
rm -rf /etc/zzhchattr -ia /tmp/zzh*
chattr -ia /tmp/newinit.sh*
rm -rf /tmp/zzh*
rm -rf /tmp/newinit.sh*
pkill pnscan
pkill masscan
pkill cd1
pkill wd1
rm -rf /var/tmp/.ice-unix/
rm -rf /tmp/.ice-unix/
rm -rf /usr/local/bin/pnscan
rm -rf /usr/bin/pnscan
rm -rf /usr/local/bin/masscan
rm -rf /usr/bin/masscan
ps -ef | grep 'cleanfda' | awk '{print $2}' |xargs kill -9
ps -ef | grep 'newinit.sh' | awk '{print $2}' |xargs kill -9
ps -ef | grep 'kde' | awk '{print $2}' |xargs kill -9
ps -ef | grep 'kins' | awk '{print $2}' |xargs kill -9# 查看下more /bin/ps# 如果ps命令也被篡改,則修復下:chattr -ia /bin/ps
rm -rf /bin/ps
mv /bin/ps.original /bin/ps chattr -ia /bin/top
rm -rf /bin/top
mv /bin/top.original /bin/topchattr -ia /bin/pstree
rm -rf /bin/pstree
mv /bin/pstree.original /bin/pstree