簡介
Egress-Assess 是一款用於測試出口資料檢測功能的工具,該工具可輔助完成資料安全模型測試。
在各種情況下,我們的團隊都會嘗試從我們正在執行的網路中提取資料,並將其移至另一個位置以進行離線分析。 理想情況下,被評估的客戶將檢測到從其網路中提取的資料,並採取預防措施以阻止進一步的資料丟失。
當試圖從我們的目標網路中複製資料時,攻擊者可以通過多種渠道進行復制:
-
通過Cobalt Strike的信標下載資料(通過http或dns)
-
通過Meterpreter會話下載資料
-
通過FTP,SFTP等手動移動資料
在我們例行檢查和分析來自客戶環境的資料以幫助橫向移動時,如果他們的出口檢測能力能夠識別潛在的敏感資料離開他們的網路,那麼客戶的資料將得到有效的保護和跟蹤。
一個易於使用的解決方案, 即模擬該網際網路檔案拷貝場景提取敏感檔案從一臺計算機到另一臺計算機 。攻擊者常用的網路檔案拷貝協議有 : FTP,HTTP和HTTPS。 為了確保我們生成的 “敏感”資料在防禦性行動中能夠被及時發現的 ,我們需要確定多個組織將高度重視的內容,如資料庫檔案, 我們可以通過概念證明的方式針對這些資料形式測試。
安裝
要進行安裝,請執行隨附的安裝指令碼,或執行以下操作:
Git clone https://github.com/ChrisTruncer/Egress-Assess
-
安裝pyftpdlib
pip install pyftpdli
-
生成伺服器證照,並將其儲存為與“Egress-Assess”相同級別的“ server.pem”。 可以使用以下命令完成此操作:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
用法
Egress-Assess可以充當我們要模擬的協議的客戶端和伺服器。 它支援通過HTTP,HTTPS和FTP進行測試評估。 設想該工具將在內部客戶端和外部伺服器上使用,並通過網路邊界傳遞資料。 一旦從儲存庫中克隆了虛擬資料,就可以從一臺計算機傳輸到另一臺計算機。
Egress-Assess的典型用例是拷貝兩個工具到本地。 一個將充當伺服器,另一個充當客戶端。 Egress-Assess可以通過FTP,HTTP和HTTPS傳送資料。
要通過FTP提取資料,首先要通過選擇“ --server ftp”並提供要使用的使用者名稱和密碼來啟動Egress-Assess的FTP伺服器:
python Egress-Assess.py --server ftp --username testuser --password pass123
現在,要讓客戶端連線並將資料傳送到ftp伺服器,您可以執行
python Egress-Assess.py --client ftp --username testuser --password pass123 --ip 192.168.52.131 --datatype ssn
服務端接收到客戶端傳送的檔案
在Egress-Assess目錄下,將建立一個data目錄,該目錄將用於儲存所有傳輸的檔案。
你也可以通過http和https執行相同的操作,第一步啟動http服務,設定Egress-Assess充當Web伺服器。
python Egress-Assess.py --server http
然後要通過客戶端程式將資料傳送到http伺服器,並專門傳送15兆的憑證資料,請執行以下命令...
python Egress-Assess.py --client http --data-size 15 --ip 192.168.52.131 --datatype cc
服務端接收到客戶端傳送的檔案
接收到的檔案被儲存在data目錄下:
通過檢測data目錄下的檔案變動情況來判斷是否傳送檔案傳輸行為,再對該目錄下檔案內容進行檢測,從而進一步判斷傳輸的內容是否為敏感檔案,是否包含敏感資料等。
Github:https://github.com/ChrisTruncer/Egress-Assess
參考文章:https://www.christophertruncer.com/egress-assess-testing-egress-data-detection-capabilities/