手把手教你做挖矿应急响应
前言
?
攻防之道,攻是矛,防是盾。應急響應就是防守中最重要的一環,思路清晰的應急響應可以使你事半功倍,抓住攻擊者的小尾巴!
本文主要面向無應急基礎人員入門引導,大佬輕噴!!!
文中會引用幾次我經歷過的真實挖礦事件案例,如有侵權請及時聯系我們。
?
?
開篇
?
CPU占用高?電腦卡的要命?又被挖礦了?我人傻了!
來跟我一起看看被挖礦了如果處置吧。
不想看文字的大佬請看下圖:挖礦木馬處置流程一覽圖
接下來廢話不多說,詳細的流程在下給各位看官準備好了,請看!
?
?
一、詢問攻擊情況范圍
?
事件發生時的狀況或安全設備告警等,能幫助應急處置人員快速分析確定事件類型,方便前期準備。
1、了解現狀
詢問客戶或銷售事件發生時狀況,舉個栗子~
客戶發現安全設備告警存在挖礦網站訪問情況,像這個樣子.
初步判斷是有機器被植入挖礦病毒了,此處可以根據外部連接地址收集相關情報,如果有相關分析文章會輕松許多。
2、了解事件發生時間節點
出現問題時間、發現問題時間、處置問題時間,確定這三個時間節點后,可通過時間相關性推算挖礦病毒產生大致時間,有助于后續挖礦病毒發現及清理。
3、臨時抑制挖礦
到達客戶現場前:
在不影響主業務運行的情況下,對受害機器:拔網線啊!拔網線啊!拔網線啊!
絕大部分實際情況與預期并不一致,在沒到達客戶現場前,及時切斷網絡連接是最簡單有效的抑制手段。
并且,切斷網絡連接可使挖礦現場盡量保持完整,有助于接下來的溯源工作順利開展。
當然,對于情況較清晰的挖礦場景,已知挖礦外連地址及域名等信息,可采用防火墻建立策略封禁雙向通信的方式抑制挖礦運行。
4、獲取網絡構架
網絡構架一般來講是要拓補圖,雖然一般沒有(有拓撲的也不想給),但一定要委婉的要拓補圖!要拓補圖!要拓補圖!
詳細的拓撲圖可以協助還原攻擊流程時,準確定位網絡連接方向。
?
?
二、攻擊痕跡挖掘
?
挖礦攻擊者為了達到不被發現的目的,各種手段層出不窮,溯源的過程就是和挖礦攻擊者博弈的戰爭。
可以大致從以下幾個方面入手: 可疑進程、開放的端口、計劃任務、服務項、可疑的用戶、內存空間還有最明顯的特征: CPU占用高
1、CPU占用
CPU占用高是挖礦時常見的狀態,因為挖礦需要占用大量CPU調用挖礦進程,雖然近些年挖礦有偏向于GPU的趨勢,但挖礦木馬中還是主要以CPU挖礦為主,畢竟不是專門做渲染的服務器GPU一般很低。
Windows中查看CPU可以直接通過任務管理器中查看利用率。
Linux可使用top命令獲取實時CPU占比情況:
關于查看CPU這里提一個之前遇到過的有意思的挖礦守護機制:
某系挖礦應急中,習慣性打開任務管理器查看CPU占用情況,發現占用本身很高,但一會就降下來了。開始還以為是任務管理器開啟導致的,之后分析病毒樣本的時候才發現是一種守護方式。
判斷開啟任務管理器等調試工具時,會把挖礦進程殺死,然后等待180秒后強制關閉調試工具再進行挖礦。所以通過dos命令查看Windows系統CPU占用率:
Windows可使用wmic方式獲取CPU占用:wmic cpu get LoadPercentage /value
Windows命令方式查看CPU占用
2、可疑進程
Windows中有多種進程分析工具,可輔助快速定位異常進程。這里簡單舉例幾種分析進程工具:Autoruns、PCHunter、ProcessDump、processhacker、ProcessExplorer、火絨劍等等,各有優劣,此處不再贅述,各位師傅自行體會。
大概樣子長這樣:
使用進程分析工具查看可疑進程
若無法上傳工具時,可以通過CPU占比高的進程PID進行相關檢索。
Linux中的可以通過top命令獲取到高占用進程PID及文件路徑,也可使用:
ps -aux --sort=-%cpu|head -10--顯示cpu占比前10的進程
其他CPU占比不高的進程可以通過:
ps -auxf--用樹形結構顯示進程相關性
通過外連情況排查進程:
lsof -i--查看所有網絡連接進程
通過PID查看文件位置
ls -la /proc/[進程PID]/exe--替換“進程PID”查看進程可執行程序位置
lsof -c [進程名]--進程正在使用的文件和網絡連接
通過以上命令,若發現CPU高占用或者非正常外連進程,則可能為惡意進程。
3、開放的端口
Windows和Linux均可使用netstat -ano查看一下端口情況,是否開啟高危端口,存在可能被利用風險。有時攻擊者使用端口轉發將流量轉發出內網,可以在此處看到有可疑的對外監聽端口。
查看端口占用情況
4、計劃任務及啟動項
挖礦病毒為了使挖礦進程一直運行,會做出各種各樣的守護方式,計劃任務就是最普遍的守護方式之一。
Windows7使用at命令;Windows10使用schtasks命令查看計劃任務列表。
開始--所有程序--啟動目錄中存在的文件也不能放過。
Linux系統使用crontab -l命令查看計劃任務,但還是建議直接查看/etc/crontab文件,也可在/var/log/cron下查看計劃任務的日志。
某次Linux挖礦事件計劃任務日志
?
| /var/spool/cron/* |
| /var/spool/anacron/* |
| /etc/crontab |
| /etc/anacrontab |
| /etc/cron.* |
| /etc/anacrontab |
| /etc/rc.d/init.d/ |
5、服務項
同上,服務也是挖礦病毒常見的守護方式之一,將注冊表中服務啟動方式寫為挖礦病毒主程序,從而達到守護進程目的。
Windows系統中使用:開始--運行--輸入services.msc
Linux系統中使用:systemctl list-unit-files --type service |grep enabled
某次Windows挖礦事件利用服務守護挖礦進程方式
6、可疑的用戶
攻擊者有時會創建自己的賬戶,用來隱藏自己的惡意行為。
Windows中創建用戶后,利用賬戶進行一系列隱藏操作,創建影子賬戶可使管理員無法發現,可通過D盾查看系統中是否存在影子賬戶。
隱藏賬戶示例
Linux中可通過以下幾種命令對用戶信息進行檢查:
| who | 查看當前登錄用戶(tty本地登陸 ?pts遠程登錄) |
| w | 查看系統信息,想知道某一時刻用戶的行為 |
| last | 顯示近期用戶或終端的登錄情況 |
| uptime | 查看登陸多久、多少用戶,負載 |
| cat /etc/passwd | 查看用戶信息文件 |
| cat /etc/shadow | 查看影子文件 |
| awk -F: '$3==0{print $1}' /etc/passwd | 查看管理員特權用戶 |
| awk '/\$1|\$6/{print $1}' /etc/shadow | 查看可以遠程登錄的用戶 |
| more /etc/sudoers |grep -v "^#\|^$" |grep "ALL=(ALL)" | 查看sudo權限的用戶(有時攻擊者會創建屬于自己的用戶) |
| awk -F:'length($2)==0 {print $1}' /etc/passwd | 查看空口令賬戶(有時攻擊者會將正常賬戶改為空口令) |
7、WMIC空間
WMIC是Windows中用來管理WMI系統的工具,提供了從命令行接口和批命令腳本執行系統管理的支持。攻擊者經常使用WMIC調用系統進程,從而實現惡意軟件的運行。
使用進程分析類工具也可以分析WMIC空間,查看是否存在惡意軟件,此處不再贅述。
?
?
三、樣本分析
?
利用上部分發現的攻擊痕跡中的病毒樣本,可進行初步的樣本分析,上傳樣本分析平臺進行初步分析。
在線云沙箱
360沙箱云:https://ata.360.cn/detection
微步云沙箱:https://s.threatbook.cn/
VirusTotal平臺:https://www.virustotal.com/gui/home/upload
魔盾安全分析平臺:https://www.maldun.com/submit/submit_file/
Any.Run交互式惡意軟件分析平臺:https://app.any.run/
大概這個樣子:
深層次的惡意文件分析涉及較多,本文不做解析,快速的應急響應中,根據沙箱中行為判定,可以及時的確認樣本行為,比方這樣的。
?
?
四、后門及木馬文件排查根除
?
挖礦病毒存在各種各樣的守護方式,清除挖礦主程序的同時,也需要對守護進程進行清理,一個不小心沒清干凈從頭再來,所以后門的清除尤為重要。
以下為我遇到過的部分挖礦病毒常見守護進程方式:
| GuardMiner自動化挖礦 | 2020年6月起非?;钴S | 1.計劃任務:Windows上每隔30分鐘執行一次new***.ps1Linux上每隔30分鐘執行一次new***.sh2.ssh連接:寫入ssh公鑰 3.守護進程:/etc/***guard和/etc/***guard |
| 貪吃蛇挖礦 | 2019年4月首次發現 | 1.創建服務:clr_optimization、WinHelpSvcs 2.多個白加黑文件:C:\WINDOWS\MpMgSvc.dll C:\WINDOWS\Microsoft.NET\Framework\ETComm.dll C:\WINDOWS\Help\active_desktop_render.dll |
| 8220Miner | 2018年8月首次曝光,為8220挖礦團伙使用 | 1.計劃任務:寫入crontab計劃任務 2.ssh連接:寫入公鑰 3.添加啟動項:將惡意代碼添加至/etc/init.d/down |
| MyKings | 2017年4月底開始活躍,大量掃描1433等端口 | 1.添加后門賬戶:Mssqla 和 usera 2.創建服務:xWinWpdSrv、schedule |
| WannaMiner | WannaCry勒索病毒變種,2018年3月起開始大范圍傳播現已變種至4.0版本 | 1.創建服務:srv主服務、wmassrv2.設置開機啟動項:/etc/rc.local 3.設置定時任務:/etc/cron.hourly/>>/etc/crontab |
| 驅動人生 | 2018年12月爆發,更新20+版本 | 1.自啟動:注冊自啟動、開始菜單自啟動、計劃任務自啟動名稱為:Ddriver,Ddrivers,WebServers 2.創建服務:創建多個自啟動服務器 |
根據以上表格不難看出,守護方式大致有計劃任務、服務、開機啟動項、SSH秘鑰、用戶等幾種方式。
確認挖礦木馬程序或文件并備份后,可以從以下幾點著手清理及加固:
1、雙向封禁礦池地址
防止挖礦木馬繼續外連,并且防止挖礦木馬進行內網傳播。
2、刪除計劃任務、自啟動項
Windows中可使用SchTasks /Delete /TN [任務名]刪除計劃任務。
自啟動項可以從以下三點入手:
①開始--所有程序--啟動②系統配置中啟動項(開始-運行中輸入msconfig命令)③注冊表查找病毒程序名,將此三處發現的惡意啟動項刪除即可。
Linux中可使用crontab -r刪除計劃任務
刪除/etc/rc.local與/etc/rc[0到6].d文件中惡意啟動項
3、刪除服務
Windows中刪除服務可從任務管理器中手動刪除,也可使用命令:sc stop [服務名稱]停止服務后,使用命令:sc delete [服務名稱]刪除服務。
Linux中服務清除:sudo update-rc.d [服務名稱] remove
4、結束惡意進程
Windows中可使用進程管理工具或使用taskkill -PID [進程PID] -F結束惡意進程。
Linux中則使用kill -9 [進程PID]。
5、刪除挖礦木馬
Windows中刪除時可能存在權限不足等情況,可使用360終端強殺,也可使用進程管理工具強制刪除。
Linux中可使用rm -rf [惡意文件絕對路徑] 刪除文件,如遇文件無權進行操作時,可使用lsattr [惡意文件絕對路徑]命令查看權限,使用chattr -i [惡意文件絕對路徑]解除文件鎖定后刪除。
6、病毒清除綱要
以上為清理病毒程序方式,后續還需使用終端殺毒對系統進行全面殺毒及加固,并觀察是否還有反復跡象。
一切以挖礦木馬不再重啟,不存在可疑外連為止哦。
上篇就此結束,撒花。。。下篇主要講述溯源攻擊等知識,敬請期待!
你們說,每個挖礦病毒都會刪除競品挖礦程序,整合幾個挖礦家族的清理腳本,是不是可以做到一鍵清理挖礦病毒的成效?
總結
以上是生活随笔為你收集整理的手把手教你做挖矿应急响应的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看我如何拿下公司OA服务器
- 下一篇: 利用注释及自定义加密免杀Webshell