記一次在線客服系統用戶遭勒索,索要茶水費事件的 Windbg 分析與應對

本文記錄了幾個月前,客戶在使用在線客服系統過程中,遭到勒索威脅,索要茶水費 的事件。經過應對,快速的化解了攻擊威脅,並繼續安全使用至今。

講故事

威脅次日,收到報警,服務器 CPU 使用率持續超過 80%。連接服務器後發現 CPU 佔用率 100%。查看進程,客服系統後臺服務佔用了 CPU。
重新啓動客服系統後臺進程 ,CPU 佔用率恢復正常。查看網絡監控數據並沒有大的網絡流量流入流出,初步推測是對客服系統所使用的通信端口的攻擊行爲。

更換系統所使用的監聽端口後繼續觀察。

晚間,再次收到 CPU 使用率報警,查看發現依然是客服系統後臺服務 100% 佔用了 CPU。重啓服務後恢復正常。幾小時後,我遠程服務器查看,發現 CPU 佔用率穩定在 50%,看來攻擊者爲了避免引起我的注意,改進了攻擊手段,降低了攻擊強度。

相同的版本,部署在我的客戶的服務器上運行的環境則是一切正常,持續運行了兩週沒有任何異常情況,而且客戶正式使用的環境,使用強度比我的演示環境要大的多。

Windbg 分析

在我第一次發現問題,更換端口,消停兩次之後,再次發生的攻擊行爲,看起來是和我槓上了。

  1. 首先,在攻擊行爲發生時,創建客服系統後臺服務的 Dump 文件,注意區分 x86 和 x64。

  2. 安裝 WinDbg 或 WinDbg Priview ,Windows 10 推薦使用 WinDbg privew,使用 WinDbg 打開 Dump 文件。
    第一次打開時,會自動下載所需的 PDB 文件,等待下載完成後,即可加載調試信息,如下圖:

  1. 執行 reload 命令

  2. 執行 loadby sos clr 命令

  3. 執行 !tp 命令
    顯示出 CPU 佔用率 51%。

  1. 接下來,我們要找到造成 CPU 佔用具體的線程和位置,使用 !runaway 命令。定位到線程 41 長時間佔用 CPU。

  1. 使用命令 ~41s 進入線程。接着使用 !clrstack 命令顯示調用堆棧。
    如圖,根據調用堆棧顯示的信息,非常明確的指示出,Socket 端口接收數據時,大量佔用了 CPU。


結合系統的其它日誌,判斷攻擊者通過連接 TCP 端口,高強度,大量的發送垃圾數據,導致服務器 CPU 高負荷運行,企圖拖垮服務器。明確攻擊位置和原因之後,就好辦了,在 Socket 端口連接和監聽時,加入安全反制的機制,重新部署上線。

不久,抓到了一個國內 IP ,此 IP 發起了攻擊行爲,系統自動切斷了連接並拉黑了此 IP 地址。隨後的幾天中,攻擊者使用了國外代理髮起攻擊行爲,先後抓到了兩個不同國家的 IP,使用相同的方式發起攻擊行爲。雖然攻擊者切換了國外代理,但最初的國內 IP 已經暴露。

攻擊者使用了一個位於荷蘭的 IP ,再次發起攻擊,服務器在識別到攻擊行爲後,幾秒鐘內切斷了連接,並拉黑攻擊 IP。


免費在線使用 & 免費私有化部署:https://kf.shengxunwei.com


視頻實拍:演示升訊威在線客服系統在網絡中斷,直接禁用網卡,拔掉網線的情況下,也不丟消息,不出異常。
https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53

客服端

訪客端

  • 可以追蹤正在訪問網站或使用 APP 的所有訪客,收集他們的瀏覽情況,使客服能夠主動出擊,施展話術,促進成單。
    訪* 客端在 PC 支持所有新老瀏覽器。包括不支持 WebSocket 的 IE8 也能正常使用。
  • 移動端支持所有手機瀏覽器、APP、各大平臺的公衆號對接。
  • 支持訪客信息互通,可傳輸訪客標識、名稱和其它任意信息到客服系統。
  • 具備一線專業技術水平,網絡中斷,拔掉網線,手機飛行模式,不丟消息。同類軟件可以按視頻方式對比測試。

希望能夠打造: 開放、開源、共享。努力打造 .net 社區的一款優秀開源產品。

鐘意的話請給個贊支持一下吧,謝謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章