最全應急響應流程-附命令和工具【建議收藏】
VSole2022-08-07 22:52:51
注意在整個過程中,客戶不要事先征集到現場或現場的人員操作情況。
1. 了解情況
- 發生:查詢客戶發現異常事件的具體時間,操作要基于此點進行追蹤分析。
- 系統通知類型:具體的操作系統類型,以便于類型及相應的處理方式。
- 視窗/Linux
- 財務系統/OA系統/官網,系統,是否可以關閉
- 是否有弱權,遠程管理端口是否開放
- 都開放推薦,有什么服務,服務是否存在風險性
- 需要現場檢測的話,不要完全相信聽來的東西
- 異常情況:
- 文件被加密
- 設備無法正常啟動
- 勒索信息展示
- CPU過高
- 網頁掛馬/黑鏈
- 發出異常請求
- 以后發送垃圾短信
- 等非正常的情況
- 應對措施:
- 之前是否存在此類問題
- 是否在出現問題后配置了新的策略
- 如果最終結果已經進行了處理,處理結果是什么
- 是否有其他應對措施
- 系統架構/網絡處理器:是否能提供網絡拓撲圖
- 可以提供以下日志
- 服務日志
- 應用日志,重點網絡日志
- 數據庫日志
- 已有的安全設備
- 終端殺軟
- 防火墻
- WAF
- 流量分析設備
- 基本的應對方案
- 臨時應急方案
- 勒索病毒應對方案
- 程序預案
- 網頁掛馬預案
- DDOS預案
- 內部數據計劃預案
- 其他應對案
- 報表報告:
- 包含方法
- 提出開放的情況,及提出建議的應用分析,建議
2. 身份安全旅行
- 感染主機使用U盤,移動硬盤。如必須使用做好備份
- 不是所有無線/城市網卡或直接拔網線
- 關閉相關端口
- 劃分隔離網絡區域
- 封存主機,相關數據備份
- 被感染主機應用服務下線
- 被感染主機部分功能暫停
- 被感染相關主機賬號降權,更改密碼
- 勒索病毒事件 - 核心是止損,這點非常重要
- 通過各類檢查設備和資產發現,確定感染面;
- 通過網絡訪問控制設備或斷網隔離感染區域,防止擴散;
- 迅速啟動殺毒或恢復測試,受感染主機的業務,恢復生產。(這點最重要,因為是保障業務的關鍵動作)
- 啟動或部署監測設備,針對病毒感染進行全面監測,避免死灰復燃。
- 在此過程中并沒有展開分析,隨后制作收集所有相關的樣本日志等,并尋找感染源頭,并制定整改。
3.已知高危漏洞排查
- 可注意與下面的步驟同時進行,掃描高危漏洞。但要掃描產生的大量日志不影響漏洞排查
4.系統基本信息
- 視窗
- 查看當前系統的獎勵信息
systeminfo
- Linux
- 目錄系統arp表,重點查看mac地址
arp -a - 文件搜索命令
find / -name ".asp"
- 關注重點
- 系統內是否有非法賬戶
- 系統中是否存在異常服務程序
- 系統是否存在部分文件被篡改,或發現有新的文件
- 系統安全日志中的非正常登陸情況
- 網站日志中是否有非授權地址訪問管理頁面記錄
- 根據進程、連接等信息關聯的,查看木馬活動信息。
- 某些系統的命令(例如stat ls 等)被替換,為了進一步排查,需要下載一個新的命令或者從其他未感染的網絡拷貝新的命令。
- 先找出急用的木馬文件,不要于打包一份。
- 進行測試內容,包括整個工具的木馬文件,包括回連分析IP地址、加密方式、關鍵字(以便擴大目錄的特征提取)等。
5.異常連接排查
- 視窗
- 的網絡連接定位,查看現有的 ESTABLISHED
netstat -ano
網絡統計-ano | findstr建立 參數說明: -a 顯示所有網絡連接、路由表和網絡接口信息 -n 數字形式顯示地址和以端口號 -o 顯示與每個連接的相關進程ID -r 顯示路由表 -s 顯示協議統計信息、默認地、顯示IP LISTENING偵聽狀態 ESTABLISHED 建立連接 CLOSE_WAIT 對方主動連接關閉或異常網絡連接中斷
- 查看端口的pid
netstat -ano | findstr "port" netstat -nb在創建每個連接或監察員聽聽時任管理員的程序,幫助指導導演創作需要涉及權限的程序非常有幫助。
- Linux
- 打開全部了網絡(TCP和UDP)的進程
lsof -ilsof -i|grep -E "LISTEN|ESTABLISHED"- 查看所有的端口及連接狀態
netstat -antlpnetstat -an
說明 -a 顯示所有連線中的 Socket。 -n 直接使用 IP 地址,而不通過域名服務器。 -t 顯示 TCP 傳輸協議的連線狀況。 -u 顯示 UDP 傳輸協議的連線狀況。 -v 顯示指令執行過程。 -p 顯示正在使用 Socket 的程序識別碼和程序名稱。 -s 顯示網絡工作信息統計表
6. 正在運行的異常進程排查
- 視窗
- 查看異常過程
任務管理器 - 運行在本地或遠程計算機上的所有進程顯示
tasklist | findstr 11223
根據netstat定位出的異常進程的pid,再通過tasklist命令進行進程定位
- 可知wmic process 獲取進程的全路徑
wmic process | findstr "xx.exe" - 查看詳細信息,比如進程路徑,進程ID,文件創建日期,啟動時間等
"開始->運行->msinfo32->軟件環境 -> 正在運行任務"
- 關閉進程
wmic process where processid="2345" delete
- Linux
- 查找進程pid
netstat -antlp 先找出可疑進程的端口 lsof -i:port 定位可疑進程pid
- 通過pid查找文件
linux每個進程都有一個對應的目錄 cd /proc/pid號 即可進入到該進程目錄中 ls -ail 結果中exe對應的就是該pid程序的目錄 ls -ail |grep exe
- 查看各個進程占用的內存和cpu
top - 顯示當前進程信息
ps - 實現進程的合理查找
ps -ef | grep apache - 結束進程
kill -9 pid
kill -9 4394
- 查看樹
pstree -p查找異常進程是否有父進程進程 - 也可以直接搜索異常進程的名程來查找其位置,
find / -name 'xxx'
7.異常賬號查詢
- 視窗
- 圖形化界面查看當前的賬戶和用戶組
lusrmgr.msc - 查看當前賬面情況
net user - 查看賬戶的詳細信息
net user Guest - 查看當前組的情況
net localgroup administrators - 查看當前系統會話,比如查看是否有人使用遠程終端登陸服務器
query user
踢出該用戶 `logoff ID` ID是上面查詢出來的。也可能是用戶名
- Linux
- 查看utmp日志,獲取當前系統地址正在登陸賬戶的信息及
w - 獲得系統前N次的登陸記錄
last | more - 查看賬號情況
cat /etc/passwd
查找/etc/passwd 文件, /etc/passwd 這個文件是保存著這個 linux 系統所有 用戶的信息,通過查看這個文件,我們就可以嘗試查找有沒有攻擊者所創建的用 戶,或者存在異常的用戶。我們主要關注的是第 3、4 列的用戶標識號和組標識 號,和倒數一二列的用戶主目錄和命令解析程序。一般來說最后一列命令解析程 序如果是設置為 nologin 的話,那么表示這個用戶是不能登錄的,所以可以結合 我們上面所說的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令 解釋程序不是 nologin 的用戶,然后再到這些用戶的用戶主目錄里,找到 bash_history,去查看這個用戶有沒執行過惡意命令。 /etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段, 其格式和具體含義如下: 用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄 Shell 注意:無密碼只允許本機登陸,遠程不允許登陸,某個版本之后好像因為安全問題,passwd文件不再有密碼了
- 查看賬號情況
cat /etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7::: 用戶名:加密密碼:密碼最后一次修改日期:兩次密碼的修改時間間隔:密碼有效期:密碼修改到期到的警告天數:密碼過期之后的寬限天數:賬號失效時間:保留 這里查賬號感覺好一點,一般系統的賬號都是沒有密碼的,所以找最長的那幾個,那就是有密碼的賬戶,很可能就是被黑客添加的后門賬戶
- linux非root用戶文件夾所在位置
/home - 查看所有賬戶最后一次登陸時間
lastlog - 顯示用戶登陸錯誤的記錄
lastb檢查暴力破解 - 顯示用戶最近登陸信息
last
數據源為 /var/log/wtmp /var/log/wtmp.1 /var/log/btmp /var/log/btmp.1
- 查看當前登陸用戶
who(tty本地登陸pts遠程登錄) - 查看當前時刻的用戶行為
w - 查看登陸,多少用戶,負載率
uptime - 帳號欄,賬號無法登陸,/etc/shadow 第二欄為大觀!
usermod -L user - 刪除用戶用戶
userdel -r user - 創建用戶
useradd admin #創建一個用戶,在home目錄下不創建文件夾 passwd admin #修改之前創建的賬號的密碼 adduser admin2 #是一個比較完善的創建用戶的命令,會在home目錄下生成一個admin2的文件夾
- 刪除用戶
userdel admin2 #這樣刪除的話不完全,home目錄下的admin2目錄不會刪除 userdel -rf admin #-r 完全刪除一個賬戶 -f強制刪除 如果遇到賬戶刪除顯示已經刪除,但創建同名的用戶提示用戶已存在的情況,嘗試以下方法進行刪除。 手動刪除passwd、shadow、group里面用戶相關字段,以及用戶相關的log和mail,并強制刪除home目錄下用戶的文件夾。 /home /etc/passwd /etc/group /var/spool/mail
8.異常文件分析
- 視窗
- 查看文件時間
右鍵查看文件屬性,查看文件時間 - 最近是系統文件夾,里面存放著你最近使用的文檔的快捷方式,用戶口最近的相關資料,通過分析最近打開分析文件
%UserProfile%\Recent - 通過文件準備時間來定位文件及查看文件內文件修改時間、當然范圍的時間、搜索文件的搜索時間、搜索文件。所以修改在創建時間之前的短片是修改刀文件的時間。
- Linux
- 分析文件日期
stat xx.asp - 返回最近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"
- 敏感目錄的文件分析【類/tmp目錄,命令目錄/usr/bin/usr/sbin等】,查看tmp目錄下的文件?
ls –alt /tmp/ | head -n 10這樣是按時間順序查出來的結果 - 特殊權限文件查找
find / *.jsp -perm 777 find / -perm 777 |more find / *.sh -perm 777|grep .sh
- 隱藏的文字,以“.”大意的隱藏屬性的文件,當前目錄查找
ls -ar |grep "^\." - i linux文件不可修改權限
chattr +I filename 給文件添加不可修改權限 chattr -I filename 將文件的不可修改權限去掉 lsattr filename 查看文件是否設置了相關權限 如果設置了該參數,則無論任何人想要刪除改文件均需要將此權限去掉
- 一個linux文件不可修改權限
chattr +a filename 給文件添加只追加權限 chattr -a filename 將文件的只追加權限去掉 lsattr filename 查看文件的相關權限設置 這個權限讓目標只能追加,不能刪除,而且不能通過編輯器追加
- 6./.s// 等//等//等//等
- //.s/
9.啟動項排查
- 視窗
- 查看引導有無異常文件
msconfig - win10引導啟動文件夾
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 快捷查找方法,找一個安裝好的程序的快捷方式,右鍵打開文件位置,再進入該目錄下的啟動目錄即可。StartUp
- win7引導啟動文件夾
C:\Users\rpkr\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 查找方式,開始>所有程序>啟動 ,03查找同此方法
- 是否存在中查看啟動項異常
開始->運行->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
- 查看引導啟動項內容
ls -alt /etc/init.d/ /etc/init.d 是 /etc/rc.d/init.d 的軟連接
- 啟動項文件
more /etc/rc.local
/etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/ ll /etc |grep rc
- 定時任務-基本使用
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計劃任務
taskschd.msc
或者 【程序】?【附件】?【系統工具】?【任務計劃程序】
- Linux
- 查看當前計劃任務有哪些
crontab -l是否有后門木馬程序啟動相關信息 - 查看分析任務計劃
crontab -u <-l, -r, -e>
解釋 -u 指定一個用戶 -l 列出某個用戶的任務計劃 -r 刪除某個用戶的任務 -e 編輯某個用戶的任務(編輯的是/var/spool/cron 下對應用戶的 cron 文件,也可以直接修改 /etc/crontab 文件)
- 查看等 目錄 任務計劃相關文件
ls -al /etc/cron*cat/etc/crontab - 此處要注意的計劃任務,在linux中以
.使用的文件為隱藏文件,要ls -al來查看 - 定時任務 - 螢幕上提到關注以下目錄中是否存在有害/var/
spoolcron/*/etc/crontab/etc/cron.d/*/etc/crontab.daily/*/etc/cron.hourly/*/etc/cron.monthly/*/etc/cron.weekly//etc/anacrontab/var/spool/anacron/*小目錄技巧:more /etc/cron.daily/*下所有文件
11.日志排查
- 視窗
- 查看防護設備的日志
- 打開日志管理器
eventvwr.msc - 查看暴力破解問題,篩選事件ID,win2008 4625
- Linux
- 查看歷史命令記錄
cat /root/.bash_history |more但每個賬戶的文件夾下都有這樣的日志文件,感覺記錄的不是特別全。可以直接在root下搜索.bash_history文件。 - 偶爾
/var/log/secure日志,可觀察其進行暴力破解溯源 - ubuntu 建議使用
lastb和last進行暴力破解溯源
/var/log/message 系統啟動后的信息和錯誤日志, /var/log/secure 與安全相關的日志信息 /var/log/maillog 與郵件相關的日志信息 /var/log/cron 與定時任務相關的日志信息 /var/log/spooler UUCP和news設備相關日志信息 /var/log/boot.log 進程啟動和停止相關的日志消息
- linux查找配置文件為/etc/rsyslog.conf(syslog.conf)
- 網絡服務器
- 網絡服務器,都需要關注以下任何日志
- access_log
- error_log
- access.log
- error.log
- 阿帕奇日志位置
應通過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 目錄)。
- IIS日志位置
IIS日志默認存儲于 %systemroot%\system32\LogFiles\W3SVC目錄中, 日志命名方式為exYYMMDD.log(YYMMDD指:年 月 日)。 但IIS日志路徑也可通過用戶配置來指定,通過WEB站點配置可確認其位置: WEB站點 — 屬性 — 網站 — W3C擴展日志文件格式 — 屬性 — 日志文件目錄
- 數據庫
- mysal - cat mysql.log|grep union
12.恢復階段
- 以客戶為中心,僅提供此建議
- webshell/異常文件清除
- 相關樣本截圖留存
- 恢復網絡
- 應用功能恢復
- 升級升級
- 提供安全保障,推薦產品
13. 跟蹤總結
- 分析事件原因
- 攻擊來源,IP
- 攻擊行為分析,弱正義、可以導致執行命令的漏洞等
- 輸入輸出報告
- 事后觀察
- 提供建議
附1有毒沒毒還是要自己的


附2
- 處理前先殺掉病毒進程,插入的U盤被加密
- 如果分析日志階段遇到困難,可對代碼進行 webshell 查殺,可能會有
- PC Hunter 數字簽名
- :微軟簽名的驅動程序;
- :非微軟簽名的驅動程序;
- 紅色驅動到藍色的主題說明,隱藏服務、進程任務;
- ProcessExplorer (1).子進程的父進程一目了然;
- (2).子進程的關鍵信息:
- [畫面]->[路徑/客戶中屬性/啟動位置/父進程/自啟動進程/工作時間];[TCP/ IP];[安全]->[權限];
- (3).想了解不同的顏色?[選項]->[配置顏色];
- (4).打開procexp,在標題欄,可以勾選其他選項(
- 5). 顯示進程進程和進程類型是開始時為啟動時為紅色,
- 可對進程進行不同的操作,停止進程
- chkrootkit主要功能
- 檢測是否被輸入后門、木馬、rootkit/檢測系統命令是否正常/檢測日志
- chkrootkit安裝:rpm -ivh chkrootkit-0.4-1.i386.rpm
- 如果檢測,#chkrootkit –n;發現有異常,會報出“INFECTED”字樣
- rkhunter主要功能:命令(Binary)檢測,Md5系統間目錄檢測、Rootkit檢測本機敏感系統配置、服務及套套檢測三方應用版本檢測
- RPM check rpm.log 下檢查圖 ps, netstat, 等系統進程進程被竄改了
VSole
網絡安全專家