收藏 | 应急响应的基本流程
注意在整個過程中不要被客戶或現場的運維人員誤導。
操作前需先征得客戶許可。
因實際的應急情況會比較復雜,因此需根據實際情況進行靈活處置。
1.了解情況
發生時間:詢問客戶發現異常事件的具體時間,后續的操作要基于此時間點進行追蹤分析。
受影響系統類型:詢問具體的操作系統類型及相關情況,以便后續的應急處置。
windows/linux
財務系統/OA系統/官網,系統重要性,是否可關停
是否有弱口令,遠程管理端口是否開放
都開放了什么端口,有什么服務,服務是否存在風險性
必要的話現場檢測,不要完全相信聽來的東西
異常情況:
文件被加密
設備無法正常啟動
勒索信息展示
CPU利用率過高
網頁掛馬/黑鏈
對外發送異常請求
對外發送垃圾短信
等非正常的情況
已有的處置措施:
之前是否存在此類問題
是否在出現問題后配置了新的策略
是否已有第三方已進行了應急處理,處理結果是什么
是否有其他處置措施
系統架構/網絡拓撲:是否能提供網絡拓撲圖
能否提供以下日志
服務器日志
應用日志,重點web日志
數據庫日志
已有的安全設備
終端殺軟
防火墻
WAF
流量分析設備
基本的應急處置方案
臨時處置方案
勒索病毒處置方案
挖礦程序處置預案
網頁掛馬處置預案
DDOS處置預案
內部數據泄露處置預案
其他處置預案
應急報表:
包含下述應急方法
端口開放情況,及各個端口應用分析,處置建議
2. 遏制傳播風險
禁止被感染主機使用U盤,移動硬盤。如必須使用做好備份
禁用所有無線/有線網卡或直接拔網線
關閉相關端口
劃分隔離網絡區域
封存主機,相關數據備份
被感染主機應用服務下線
被感染主機部分功能暫停
被感染主機相關賬號降權,更改密碼
勒索病毒處置 - 核心是止損,這點非常重要
通過各類檢查設備和資產發現,確定感染面;
通過網絡訪問控制設備或斷網隔離感染區域,避免病毒擴散;
迅速啟動殺毒或備份恢復措施,恢復受感染主機的業務,恢復生產。(這點最重要,因為是保障業務的關鍵動作)
啟動或部署監測設備,針對病毒感染進行全面監測,避免死灰復燃。
在生產得到恢復并無蔓延之后,收集所有相關的樣本、日志等,開展技術分析,并尋找感染源頭,并制定整改計劃。
3.已知高危漏洞排查
可與下面的步驟同時進行,掃描高危漏洞。但要注意掃描產生的大量日志不要影響漏洞排查
4.系統基本信息
Windows
1)查看當前系統的補丁信息?systeminfo
Linux
1)列出系統arp表,重點查看網關mac地址?arp -a
2)文件搜索命令?find / -name ".asp"
重點關注
1)系統內是否有非法賬戶
2)系統中是否含有異常服務程序
3)系統是否存在部分文件被篡改,或發現有新的文件
4)系統安全日志中的非正常登陸情況
5)網站日志中是否有非授權地址訪問管理頁面記錄
6)根據進程、連接等信息關聯的程序,查看木馬活動信息。
7)假如系統的命令(例如netstat ls 等)被替換,為了進一步排查,需要下載一新的或者從其他未感染的主機拷貝新的命令。
8)發現可疑可執行的木馬文件,不要急于刪除,先打包備份一份。
9)發現可疑的文本木馬文件,使用文本工具對其內容進行分析,包括回連IP地址、加密方式、關鍵字(以便擴大整個目錄的文件特征提取)等。
5.異常連接排查
Windows
1)查看目前的網絡連接,定位可疑的 ESTABLISHED?netstat -ano
netstat -ano | findstr ESTABLISH參數說明: -a 顯示所有網絡連接、路由表和網絡接口信息 -n 以數字形式顯示地址和端口號 -o 顯示與每個連接相關的所屬進程 ID -r 顯示路由表 -s 顯示按協議統計信息、默認地、顯示 IP LISTENING 偵聽狀態 ESTABLISHED 建立連接 CLOSE_WAIT?????對方主動關閉連接或網絡異常導致連接中斷2)查看端口對應的pid?netstat -ano | findstr "port"
3)netstat -nb?顯示在創建每個連接或偵聽端口時涉及的可執行程序,需要管理員權限,這條指令對于查找可疑程序非常有幫助。
Linux
1)列出所有打開了網絡套接字(TCP和UDP)的進程
lsof -i
lsof -i|grep -E "LISTEN|ESTABLISHED"
2)列出所有打開的端口及連接狀態
netstat -antlp
netstat -an
6.正在運行的異常進程排查
Windows
1)查看異常進程?任務管理器
2)顯示運行在本地或遠程計算機上的所有進程?tasklist | findstr 11223
根據netstat定位出的異常進程的pid,再通過tasklist命令進行進程定位1)根據 wmic process 獲取進程的全路徑?wmic process | findstr "xx.exe"
2)查看進程的詳細信息,比如進程路徑,進程ID,文件創建日期,啟動時間等
"開始->運行->msinfo32->軟件環境 -> 正在運行任務"1)關閉某個進程?wmic process where processid="2345" delete
Linux
1)查找進程pid
netstat -antlp 先找出可疑進程的端口 lsof -i:port 定位可疑進程pid2)通過pid查找文件
linux每個進程都有一個對應的目錄 cd /proc/pid號 即可進入到該進程目錄中 ls -ail 結果中exe對應的就是該pid程序的目錄 ls -ail |grep exe3)查看各進程占用的內存和cpu?top
4)顯示當前進程信息?ps
5)實現某個進程的精確查找?ps -ef | grep apache
6)結束進程?kill -9 pid
kill -9 43947)查看進程樹?pstree -p?查找異常進程是否有父進程
8)也可以直接搜索異常進程的名程來查找其位置,?find / -name 'xxx'
7.異常賬號排查
Windows
1)圖形化界面查看當前的賬戶和用戶組?lusrmgr.msc
2)查看當前賬戶情況?net user
3)查看某個賬戶的詳細信息?net user Guest
4)查看當前組的情況?net localgroup administrators
5)查看當前系統會話,比如查看是否有人使用遠程終端登陸服務器?query user
踢出該用戶 `logoff ID` ID是上面查詢出來的。也可能是用戶名Linux
1)查看utmp日志,獲得當前系統正在登陸賬戶的信息及地址?w
2)獲得系統前N次的登陸記錄?last | more
3)查看賬號情況?cat /etc/passwd
查找/etc/passwd 文件, /etc/passwd 這個文件是保存著這個 linux 系統所有 用戶的信息,通過查看這個文件,我們就可以嘗試查找有沒有攻擊者所創建的用 戶,或者存在異常的用戶。我們主要關注的是第 3、4 列的用戶標識號和組標識 號,和倒數一二列的用戶主目錄和命令解析程序。一般來說最后一列命令解析程 序如果是設置為 nologin 的話,那么表示這個用戶是不能登錄的,所以可以結合 我們上面所說的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令 解釋程序不是 nologin 的用戶,然后再到這些用戶的用戶主目錄里,找到 bash_history,去查看這個用戶有沒執行過惡意命令。 /etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段, 其格式和具體含義如下: 用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄 Shell 注意:無密碼只允許本機登陸,遠程不允許登陸,某個版本之后好像因為安全問題,passwd文件不再有密碼了4)查看賬號情況?cat /etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7::: 用戶名:加密密碼:密碼最后一次修改日期:兩次密碼的修改時間間隔:密碼有效期:密碼修改到期到的警告天數:密碼過期之后的寬限天數:賬號失效時間:保留 這里查賬號感覺好一點,一般系統的賬號都是沒有密碼的,所以找最長的那幾個,那就是有密碼的賬戶,很可能就是被黑客添加的后門賬戶5)linux非root用戶文件夾所在位置?/home
6)查看所有賬戶最后一次登陸時間?lastlog
7)顯示用戶登陸錯誤的記錄?lastb?檢查暴力破解
8)顯示用戶最近登陸信息?last
數據源為 /var/log/wtmp /var/log/wtmp.1 /var/log/btmp /var/log/btmp.19)查看當前登陸用戶?who?(tty本地登陸 pts遠程登錄)
10)查看當前時刻用戶行為?w
11)查看登陸多久,多少用戶,負載?uptime
12)禁用賬戶,賬號無法登陸,/etc/shadow 第二欄為!開頭?usermod -L user
13)刪除user用戶?userdel -r user
14)創建用戶
useradd admin #創建一個用戶,在home目錄下不創建文件夾 passwd admin #修改之前創建的賬號的密碼 adduser admin2 #是一個比較完善的創建用戶的命令,會在home目錄下生成一個admin2的文件夾15)刪除用戶
userdel admin2 #這樣刪除的話不完全,home目錄下的admin2目錄不會刪除 userdel -rf admin #-r 完全刪除一個賬戶 -f強制刪除 如果遇到賬戶刪除顯示已經刪除,但創建同名的用戶提示用戶已存在的情況,嘗試以下方法進行刪除。 手動刪除passwd、shadow、group里面用戶相關字段,以及用戶相關的log和mail,并強制刪除home目錄下用戶的文件夾。 /home /etc/passwd /etc/group /var/spool/mail8.異常文件分析
Windows
1)查看文件時間?右鍵查看文件屬性,查看文件時間
2)Recent 是系統文件夾,里面存放著你最近使用的文檔的快捷方式,查看用 戶 recent 相關文件,通過分析最近打開分析可疑文件?%UserProfile%\Recent
3)通過文件時間屬性來定位可疑文件:根據文件夾內文件列表時間進行排序,查找可疑文件。當然也可以搜索指 定日期范圍的文件及文件 查看文件時間,創建時間、修改時間、訪問時間,黑客通過菜刀類工具改 變的是修改時間。所以如果修改時間在創建時間之前明顯是可疑文件
Linux
1)分析文件日期?stat xx.asp
2)返回最近24小時內修改過的文件?find ./ -mtime 0
返回的是前48~24小時修改過的文件 find ./ -mtime 1 返回10天內修改過的文件,可以把最近幾天的數據一天天的加起來 find ./ -mtime 0 -o -mtime 1 -o -mtime 2 查找 24 小時內被修改的 php 文件 find ./ -mtime 0 -name "*.php"3)敏感目錄的文件分析 [類/tmp 目錄,命令目錄/usr/bin /usr/sbin 等], 查看 tmp 目錄下的文件??ls –alt /tmp/ | head -n 10?這樣是按時間順序查出來的結果
4)特殊權限文件查找
find / *.jsp -perm 777 find / -perm 777 |more find / *.sh -perm 777|grep .sh5)隱藏的文,以 "."開頭的具有隱藏屬性的文件,當前目錄查找?ls -ar |grep "^\."
6)i linux文件不可修改權限
chattr +I filename 給文件添加不可修改權限 chattr -I filename 將文件的不可修改權限去掉 lsattr filename 查看文件是否設置了相關權限 如果設置了該參數,則無論任何人想要刪除改文件均需要將此權限去掉7)a linux文件不可修改權限
chattr +a filename 給文件添加只追加權限 chattr -a filename 將文件的只追加權限去掉 lsattr filename 查看文件的相關權限設置 這個權限讓目標只能追加,不能刪除,而且不能通過編輯器追加8)查看ssh相關目錄有無可疑的公鑰存在
Redis(6379) 未授權惡意入侵,即可直接通過redis到目標主機導入公鑰
目錄:/etc/ssh ./.ssh/
9.啟動項排查
Windows
1)查看開機啟動有無異常文件?msconfig
2)win10開機啟動文件夾
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 快捷查找方法,找一個安裝好的程序的快捷方式,右鍵打開文件位置,再進入該目錄下的啟動目錄即可。StartUp3)win7開機啟動文件夾
C:\Users\rpkr\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 查找方式,開始>所有程序>啟動 ,03查找同此方法4)在注冊表中查看開機啟動項是否異常
開始->運行->regedit,打開注冊表,查看開機啟動項是否正常,特別注意如下三個注冊表項: HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce 檢查右側是否有啟動異常的項目,如有請刪除,并建議安裝殺毒軟件進行病毒查殺,清除殘留病毒或木馬Linux
1)查看開機啟動項內容
ls -alt /etc/init.d/ /etc/init.d 是 /etc/rc.d/init.d 的軟連接2)啟動項文件?more /etc/rc.local
/etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/ ll /etc |grep rc3)定時任務-基本使用
1.利用crontab創建計劃任務 crontab -l 列出某個用戶 cron 服務的詳細內容 2.刪除每個用戶cront任務(慎重:刪除所有的計劃任務) crontab -r 3.使用編輯器編輯當前的crontab文件 crontab -e 如:*/1 * * * * echo ""hello word"" >> /tmp/test.txt 每分鐘寫入文件 4.利用anacron實現異步定時任務調度 每天運行 /home/bacup.sh 腳本 vi /etc/anacrontab #daily 10 example.daily /bin/bash /home/backup.sh 當機器在backup.sh期望被運行時是關機的,anacron會在機器開機十分鐘后運行它,而不用再等待7天 ls -al /var/spool/cron/ 查看隱藏的計劃任務 Tips:默認編寫的crontab文件會保存在(/var/spool/cron/用戶名 例如:/var/loop/cron/root) 5.查看分析任務計劃 crontab -u <-l, -r, -e> -u 指定一個用戶 -l 列出某個用戶的任務計劃 -r 刪除某個用戶的任務 -e 編輯某個用戶的任務(編輯的是/var/spool/cron下對應用戶的cron文 件,也可以直接修改/etc/crontab文件)10.計劃任務排查(定時任務)
Windows
1)查看Windows 計劃任務?taskschd.msc
或者 【程序】?【附件】?【系統工具】?【任務計劃程序】Linux
1)查看當前計劃任務有哪些?crontab -l?是否有后門木馬程序啟動相關信息
2)查看分析計劃任務?crontab -u <-l, -r, -e>
解釋 -u 指定一個用戶 -l 列出某個用戶的任務計劃 -r 刪除某個用戶的任務 -e 編輯某個用戶的任務(編輯的是/var/spool/cron 下對應用戶的 cron 文件,也可以直接修改 /etc/crontab 文件)3)查看 etc 目錄任務計劃相關文件?ls -al /etc/cron*?cat /etc/crontab
4)此處要注意隱藏的計劃任務,在linux中以.開頭的文件為隱藏文件,要使用ls -al來查看
5)定時任務 - 入侵排查
重點關注以下目錄中是否存在惡意腳本
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
小技巧:more /etc/cron.daily/* 查看目錄下所有文件
11.日志排查
Windows
查看防護設備的日志
打開日志管理器?eventvwr.msc
查看暴力破解問題,篩選事件ID,win2008 4625
Linux
1)查看歷史命令記錄文件?cat /root/.bash_history |more?,每個賬戶對應的文件夾下都有這樣一個日志文件,但感覺記錄的不是特別全。可以直接在root下搜索 .bash_history 這個文件。
2)如有/var/log/secure日志,可觀察其進行暴力破解溯源
3)ubuntu 建議使用lastb和last進行暴力破解溯源
/var/log/message 系統啟動后的信息和錯誤日志, /var/log/secure 與安全相關的日志信息 /var/log/maillog 與郵件相關的日志信息 /var/log/cron 與定時任務相關的日志信息 /var/log/spooler UUCP和news設備相關日志信息 /var/log/boot.log 進程啟動和停止相關的日志消息4)linux系統日志相關配置文件為/etc/rsyslog.conf(syslog.conf) 主要找 wget\ssh\scp\tar\zip 添加賬戶修改密碼一類的
web服務器
1)無論任何web服務器,都需要關注以下的日志
access_log
error_log
access.log
error.log
2)apache日志位置
應通過httpd.conf配置來判斷。 在httpd.conf中搜索未被注釋的、以指令字CustomLog為起始的行,該行即指定了日志的存儲位置。 搜索可使用文本搜索,也可使用grep進行:grep -i CustomLog httpd.conf | grep -v ^# 搜索結束后會獲得類似如下的搜索結果: CustomLog /var/mylogs/access.log common 其中 /var/mylogs/access.log即為客戶日志的路徑。 若此處未指明日志的完整路徑而只是列舉日志的文件名(如:access.log), 則意指該文件存儲與默認的日志存儲目錄下(即,/var/log/httpd 或 /var/httpd 目錄)。3)IIS日志位置
IIS日志默認存儲于 %systemroot%\system32\LogFiles\W3SVC目錄中, 日志命名方式為exYYMMDD.log(YYMMDD指:年 月 日)。 但IIS日志路徑也可通過用戶配置來指定,通過WEB站點配置可確認其位置: WEB站點 — 屬性 — 網站 — W3C擴展日志文件格式 — 屬性 — 日志文件目錄數據庫
1)mysal - cat mysql.log|grep union
12.恢復階段
此階段以客戶為主,僅提供建議
webshell/異常文件清除
相關樣本取樣截圖留存
恢復網絡
應用功能恢復
補丁升級
提供安全加固措施,推薦切合的安全產品
13.跟蹤總結
分析事件原因
攻擊來源,IP
攻擊行為分析,弱口令、可以導致命令執行的漏洞等
輸出應急報告
事后觀察
提供加固建議
附1 有毒沒毒還是要自己分辨的
windows下常用的安全工具
linux下常用的安全工具-linux下不方便,可以把文件拷出來,用windows的工具去檢測
附2
處理前先kill掉病毒進程,避免插入的U盤被加密
如果日志分析階段遇到困難,可對代碼進行webshell查殺,可能會有驚喜
PC Hunter 數字簽名顏色說明:
黑色:微軟簽名的驅動程序;
藍色:非微軟簽名的驅動程序;
紅色:驅動檢測到的可疑對象,隱藏服務、進程、被掛鉤函數;
ProcessExplorer (1).子父進程一目了然;
(2).屬性中的關鍵信息:
[映像]->[路徑/命令行/工作目錄/自啟動位置/父進程/用戶/啟動時間];[TCP/IP];[安全]->[權限];
(3).想了解不同顏色意思?[選項]->[配置顏色];
(4).打開procexp,在標題欄右鍵,可以勾選其它一些選項卡
(5).進程標識顏色不同是用于區分進程狀態和進程類型,進程開始啟動時為綠色,結束時為紅色
可對某個進程進行操作,右鍵單擊即可
chkrootkit主要功能
檢測是否被植入后門、木馬、rootkit/檢測系統命令是否正常/檢測登錄日志
chkrootkit安裝:rpm -ivh chkrootkit-0.47-1.i386.rpm
檢測,#chkrootkit –n;如果發現有異常,會報出“INFECTED”字樣
rkhunter主要功能:系統命令(Binary)檢測,包括Md5 校驗 Rootkit檢測 本機敏感目錄、系統配置、服務及套間異常檢測 三方應用版本檢測
RPM check檢查 ./rpm -Va > rpm.log 下圖可知ps, pstree, netstat, sshd等等系統關鍵進程被篡改了:
總結
以上是生活随笔為你收集整理的收藏 | 应急响应的基本流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三菱数控CNC系统G代码M代码大全
- 下一篇: win7下装linux虚拟机,win7怎