伺服器受到挖礦攻擊
『壹』 伺服器上如何清除NrsMiner挖礦病毒
挖礦病毒完整清除過程如下,請在斷網情況下進行:
1.停止並禁用Hyper-VAccess Protection Agent Service服務;
2.刪除C:Windowssystem32NrsDataCache.tlb;
3.刪除C:.dll,若刪除失敗,可重命名該文件為其他名稱;
4.重啟計算機;
5.刪除C:Windowssystem32SysprepThemes和C:WindowsSysprepThemes目錄;
6.刪除C:Windowssystem32SecUpdateHost.exe。
7.到微軟官方網站下載對應操作系統補丁,下載鏈接如下:https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2017/ms17-010
8.安裝國內主流殺毒軟體,及時更新至最新病毒特徵庫。
『貳』 雲伺服器中挖礦病毒的清除過程(二)
發現一台伺服器,CPU使用率一直50%左右,top查看一進程名稱為
-bash,按c查看詳情,名稱顯示為python
十分可疑
殺掉進程,清空crontab內容,並刪除此目錄文件,發現過一陣進程又被啟動起來了
查看/etc/cron.hourly,發現有一個sync文件,還是會定時執行,內容為
此文件還被加了保護許可權,需要用chattr去除後刪除
cron.daily cron.weekly cron.monthly裡面也有
同樣方法刪除/bin/sysdrr
至此病毒被徹底清除
刪除/opt/.new目錄時,發現此目錄下還有一個/opt/.md目錄,內容如下
病毒運行原理是
其他常用的診斷命令
關聯文章:
雲伺服器中挖礦病毒的清除過程
伺服器中毒導致的wget等系統命令失效後的恢復
參考文章:
【PC樣本分析】記錄最近與挖礦病毒的鬥智斗勇
【PC樣本分析】記錄最近與挖礦病毒的鬥智斗勇(二)
『叄』 新買的雲伺服器提示挖礦
利用雲電腦的計算資源執行挖礦的持續性程序,
已停止是服務絕大數都是正常的。這些已停止表示你已經禁用或停止了相關的服務,但停止不是卸載,所以它們仍然存在是正常的,每台電腦里都有許多已停止的服務,不用擔心。你真正要擔心的是360那個提示,可在任務管理器中查著活動進程,若某進程CPU或內存佔用高,而你又不明確該進程是幹嘛的,可以先結束進程再看看360還會不會提醒!
『肆』 伺服器被檢測出挖礦
有位朋友說,他伺服器使用的好好的,服務商突然封了他伺服器,說是被檢測出挖礦,這位朋友一臉懵「我開游戲的,挖什麼礦」。突然地關停伺服器導致這位朋友損失慘重,那麼為什麼會被檢測出挖礦,以及怎麼處理呢?感興趣的話就繼續往下看吧~
遇到以上問題,需要先找伺服器商對其說明實際情況,配合他們排查,基本上就是中了挖礦病毒。
最簡單的方法就是重裝系統,但是系統盤數據都會清空,這種辦法適用於伺服器里沒什麼需要備份的文件。如果選擇重裝系統,需要把自己的文件掃毒一遍確認安全後再導入伺服器。
但是伺服器里如果有很多重要的文件還有比較難配置的環境,那就需要排查刪除挖礦程序,全盤掃毒,刪除可疑文件,一個個修復病毒對系統的修改。
防範建議:
1.盡量不要使用默認密碼和埠,改一個比較復雜的密碼
2.可以使用寶塔面板登陸伺服器
3.系統自帶的防火牆、安全防護都不要關閉
『伍』 一次挖礦病毒攻擊分析
這兩天期末了,最近老闆這里突然來了個任務,客戶伺服器被攻擊了,某台機器的cpu一直都跑滿了,持續高負荷狀態,客戶公司的運營實在沒有辦法找到了我們。
先說一說之前這台伺服器也出現過問題,被兩波人搞過,一波寫了webshell,另個一種了挖礦病毒,都被清除了,當然這些我都沒有參與。
因為老闆比較忙,我和另一個小夥伴接手進行分析,我們拿到這台伺服器,既然是web伺服器,最好得最有效的辦法就是看web日誌,但是這個日誌是在很多,這就考慮經驗問題了,另一個小夥伴道行比我深,他發現了痕跡:
通過很多嘗試,在篩選「wget」的時候找到了攻擊痕跡。
emmmmm,看到這個POST的請求,基本可以猜測出就是這幾天爆出的thinkphp新的rce,具體讀者可以去看看相關的報告,rce的分析網上也有了,有想去的可以去了解一下。根據這條日誌,篩選ip我們找到了具體的攻擊痕跡:
上傳ibus腳本文件到tmp目錄下命名為指定文件,這里www用戶有對tmp目錄的讀寫許可權。
執行tmp中上傳的指定文件,並等待執行完成,刪除文件.
本地虛擬環境執行了一下這個ibus腳本:
可以看到這里執行生成了三個sh簡單加密的腳本文件:nmi,nbus和.dbus是哪個文件,這三個腳本文件解密之後是三個cat和perl的腳本,分別執行了一下命令:
執行了三個perl腳本,就是挖礦的腳本了。最後我們把生成的惡意文件備份之後就進行清除了,總共是三個sh腳本,三個perl挖礦腳本和兩個記錄id的隨機數之類的文件。
怎麼說呢,這次攻擊分析看似挺簡單的,但是最難的部分,從日誌里找出攻擊者的惡意訪問是很困難的,需要有很多的經驗,比如對最近新漏洞的了解,以及各類典型漏洞的攻擊方式,才能及時的從龐大的日誌文件中根據特徵找到攻擊者的痕跡。
安全從業者還是十分吃經驗的,博主也會更多的在實戰中歷練自己,也會分享記錄自己的經驗。
『陸』 伺服器集群感染了挖礦木馬該怎麼辦
企業電腦可以去騰訊安全申請個騰訊御點
然後使用這個軟體選擇左側的病毒查殺
用來對伺服器裡面的木馬病毒進行查殺了檢測就行
『柒』 雲伺服器中挖礦病毒的清除過程(三)
伺服器CPU使用率50%,被兩個進程佔用,名稱分別為
-mysql
zfsutils-md5sum
使用crontab -l查看定時任務,發現病毒文件-mysql
查看這個/var/.log/目錄,發現更多病毒文件,-mysql是個腳本,內容如下
查看/etc/crontab.daily目錄,發現一個文件名為ntpdate
/bin/sysprg創建日期與ntupdate是同一天,文件大小與x86_64相同,無疑也是個病毒文件。
進入到/var/spool/cron目錄查看文件許可權,發現被加了保護,使用lsattr去除,再編輯刪除內容即可
禁用crontab
雲伺服器中挖礦病毒的清除過程(一)
雲伺服器中挖礦病毒的清除過程(二)
『捌』 伺服器被rshim挖礦病毒攻擊後 HugePages_Total 透明大頁怎麼都清不掉 一直佔用內存 球球
問題定位及解決步驟:
1、free -m 查看內存使用狀態 ,發現free基本沒了。--> 懷疑是服務有內存泄漏,開始排查
2、使用top命令觀察,開啟的服務佔用內存量並不大,且最終文檔在一個值,且服務為java應用,內存並沒達到父jvm設置上限。按top監控佔用內存排序,加起來也不會超過物理內存總量。查看硬碟使用量,佔用20%。基本排除虛擬內存佔用過大的原因。--->排除服務內存泄漏因素,懷疑mysql和nginx,開始排查
3、因為top命令看 mysql佔用內存也再可控范圍,是否存在connection佔用過多內存,發現並不會,設置最大連接數為1000,最多也不會超過幾M。 nginx佔用一直非常小。但每次最先被kill的基本都是nginx進程。所以排查,但發現無非就是openfiles數量啥的調整。發現也一切正常。且之前niginx可以正常使用的。
4、最為費解的就是 通過free -m 查看的時候 基本全是used,cache部分很少,free基本沒有。但top上又找不到有哪些進程佔用了內存。無解
5、注意到有兩個進程雖佔用內存不多,但基本耗光了100%的cpu。開始想著佔cpu就佔了,沒占內存,現在是內存不不夠導致進程被kill的,就沒注意這點。
6、實在搞不定,重啟伺服器,重啟了所有服務,服務暫時可用,回家。在路上的時候發現又崩了。忐忑的睡覺。
7、早上起來繼續看,這次留意注意了下那兩個佔用高cpu的進程,kdevtmpfsi 和 networkservice。本著看看是啥進程的心態,網路了下。真相一目瞭然,兩個挖礦病毒。
突然後知後覺的意識到錯誤原因:
1、cpu佔用率高,正常服務使用cpu頻率較高的服務最容易最內存超標。(因為在需要使用cpu時沒cpu資源,內存大量佔用,服務瞬間崩潰),然後看top發現剛剛已經佔用內存的進程已經被kill了,所以沒發現內存有高佔用的情況。
2、後面的應用繼續使用cpu時也會發生類似情況,倒是服務一個一個逐漸被kill。
問題點基本定位好了,解決問題就相對簡單很多:
通過網路,google,常見的病毒清除步驟基本都能解決。這兩個挖礦病毒很常見,大致記錄下要點。可能所有病毒都會有這些基礎操作。
① 首先,查看當前系統中的定時任務:crontab -l
我伺服器上有四個定時下載任務 通過wget 和 curl 下載病毒文件,把異常的刪掉。要不然刪了病毒文件還是會下載下來
crontab -r,全部刪除命令(或根據需求刪除定時任務)
② 查找病毒文件 可以全部模糊搜索 清除, 但病毒文件基本都用了chattr +i命令 使用chattr -i filename 後再使用rm -f filename 。可刪除
③ kill 病毒進程,但注意kill了可能馬上就重啟了。因為有守護進程,需要把病毒進程的守護進程也kill掉
④ 檢查是否root用戶被攻擊,可能系統配置信息被更改。
⑤ 最好能理解病毒腳本,通過看代碼看它做了些什麼。針對腳本取修復系統。
『玖』 伺服器被攻擊並植入kdevtmpfsi挖礦/病毒/木馬
MongoDB庫中的數據莫名其妙沒有了,發覺如下信息:
1、 top -d 5命令 ,查看系統負載情況、是否有未知進程,發現一個名為kdevtmpfsi的進程,經科普它是一個挖礦程序,會佔用伺服器高額的CPU、內存資源。如圖,CPU佔用率高達788.7%,而且是yarn用戶下:
2、 ps -ef |grep kdevtmpfsi 命令查看 該挖礦程序路徑:/tmp/kdevtmpfsi
3、 ps -ef |grep yarn 命令查看更多關於yarn相關進程信息(此時我的伺服器並沒有開啟yarn服務,如果有yarn的相關進程則可判斷是攻擊者開啟的進程),發現另外還有個kinsing進程,經科普kinsing進程是kdevtmpfsi的守護進程:
4、 netstat -lntupaa 命令查看是否有異常的ip,果然發現194.87.102.77這個陌生的ip,判斷是kdevtmpfsi的發出者:
5、經查詢該ip的所在國家是俄羅斯:
6、 find / -iname kdevtmpfsi 命令再次確定命令所在位置以便刪除:
7、 cd /tmp 進入相關目錄:
8、 rm -rf kdevtmpfsi 刪除kdevtmpfsi程序:
9、** kill -9 40422**殺掉kdevtmpfsi進程:
10、發現並沒殺掉所有kdevtmpfsi進程,再次查找yarn的相關進程(因為之前已確認病毒是在yarn下),果真還有kdevtmpfsi進程存在:
11、用命令 批量殺掉 相關進程:
12、刪除kinsing文件:
13、現在,已經把挖礦程序及相關進程刪除掉了,但是還有兩處沒做處理:
14、 crontab -l 命令先看看crontab的定時任務列表吧:
15、編寫刪除挖礦程序腳本 kill_kdevtmpfsi.sh :
16、新增 定時任務 並刪除攻擊者的挖礦定時任務:
17、 crontab -l命令 查看現在只有殺進程的定時任務了:
18、禁止黑客的IP地址。
最初安裝MongoDB時,並未設置密碼認證,存在漏洞,導致黑客通過漏洞攻擊伺服器,並在程序里植入木馬/病毒。單純的kill -9 id殺掉病毒進程是殺不徹底的,治標不治本,應該定時刪除病毒進程,禁止攻擊者IP,重新安裝系統或相關軟體。
經過幾天的觀察,伺服器運行正常,再沒有被黑客攻擊成功。
『拾』 伺服器中 kdevtmpfsi 挖礦病毒
伺服器CPU飆升到100%,發現可以進程 kdevtmpfsi
網上查資料,是因為 redis 漏洞引起的,但伺服器上並沒有裝 redis,後來再國外的網站查到可能是因為 laravel 的版本引起的
https://stackoverflow.com/questions/60151640/kdevtmpfsi-using-the-entire-cpu
這個進程以及相關進程,都是運行在 www 用戶下,並且會加上一個定時任務
解決辦法:
1、刪除定時任務
看是否有 www 的定時任務,如果有的話,刪除並且放一個佔位文件,讓病毒無許可權修改
2、刪除病毒文件
並且放一個假文件在 tmp 目錄(用處不大,病毒會自己改名,加後綴)
3、殺進程
4、升級 laravel
把 ignition 升級到 2.5.1 以上
5、阻止 IP 訪問。病毒會去下面這兩個IP讀腳本下來