分享一次應急響應簡述

  • 2019 年 10 月 10 日
  • 筆記

一、背景

幾周前接到某單位管理人員電話,說「您好,我單位某系統受到攻擊,現系統已癱瘓(想到系統已癱瘓,心理特別慌張,要寫溯源報告了),應用無法使用,需到現場進行排查」,隨後簡單問了一下網路情況,就匆匆趕往客戶現場。

通過電話了解到的大致內容為:該系統已處於癱瘓狀態、系統屬於內網未對互聯網開發埠、作業系統為Windows server 2008、已做斷網處理。

二、現場排查

經過2小時後到達客戶現場,再次與系統管理人員確認情況,得到的資訊與電話溝通的內容差不多。原本想先進入系統看看情況,確認一下問題,可是有其他廠家的人員在看,也不好意思,就等著看他操作,一等就等了1個小時。這期間他主要操作還是在看系統安全日誌,日誌查看一直追溯到事發前1周時間,在日誌的查看中並沒有發現問題,如果是我在操作我也會先查看一下日誌。

2.1、著手排查

通過之前的等待和其他人員的排查,在系統安全日誌上並未發現存異常問題。到這裡想到網路癱瘓於是有了以下想法:

想法1:系統遭受到類似於DOS或者DDOS之類的攻擊; 想法2:系統存在web應用類漏洞,可能被上傳了shell,系統被控制了。

但想到該系統未開發應用到互聯網上,以上想法就不能成立,黔驢技窮了,一下子沒思路了,不能剛剛接手滑鼠和鍵盤就沒有操作呀。頓時冷靜了一下,想到既然是應用癱瘓了,那先看看網路活動的 TCP 連接情況。於是我用nestat -ano查看了tcp的連接情況,輸入完netstat -ano回車後,我的媽呀!什麼情況,為什麼會有那麼多tcp的連接,我倒是驚訝了,足足登錄2分鐘資訊才刷新完,刷新完成後,發現有太多的TIME_WAIT等待了。

為了看的更清楚,我使用了netstat -ano | more命令,然後一頁一頁的翻,發現單位內部與該應用系統有通訊IP的40000或50000以上的埠均處於TIME_WAIT狀態。這讓我想到了Windows 2008R2大量回話在TIME_WAIT狀態的一個BUG,在系統啟動時從 497 天后所有在TIME_WAIT狀態的 TCP/IP 埠都不會被關閉。因此, TCP/IP 埠可能會被用光,並且可能不會創建新的 TCP/IP 會話。

到這裡我將得到的資訊回饋給管理人員,並詢問了系統的開機時間,該系統已開啟了500多天。管理人員並不是很接受,並說出了新的問題(這是我有開始有點慌了,難道不是這個問題嘛)「後台程式出現介面無法調用的問題」:

看到相關報錯後,我更確認了我之前的想法。為了驗證我的想法,我將之前看到的部落格與微軟的通告資訊給管理人員看,最終確認問題。

相關連接如下:

https://support.microsoft.com/zh-cn/help/2553549/all-the-tcp-ip-ports-that-are-in-a-time-wait-status-are-not-closed-aft windows 2008 R2 大量會話在TIME_WAIT狀態 socket-詳細分析No buffer space available(轉載)

該問題確認後,我又對系統進程和服務進行排查,發現該系存在WannaCry勒索病毒的服務,但未發現相關勒索病毒進程,並在殺毒軟體的恢復區發現了WannaCry的文件。

通過詢問後,發現該病毒在18年6月份已被刪除過,但是由於系統未重啟,該服務還存在,最後我清理註冊表。

相關操作完成後,聯繫管理員重啟系統,整個過程花費時間不到半個小時,最終解決問題。

三、總結

通過這次應急,我認為管理人員有時提供的資訊與應急人員所需求的可能不同,很可能會誤導應急人員。作為應急人員,應該有很強的邏輯能力和分析能力,另外還需要擁有自信。

新手上路,大佬勿噴,感謝。