
關于Skyhook
Skyhook是一款功能強大的雙向HTTP文件傳輸混淆工具,該工具基于REST實現,可以幫助廣大研究人員在目標網絡系統中繞過IDS的檢測,并實現任意文件雙向傳輸。該工具提供了一個預封裝的Web客戶端,客戶端基于React和Vanilla JS實現,能夠幫助我們管理文件傳輸任務。
功能介紹
1、支持對文件內容進行混淆/反混淆處理;
2、用戶可配置的混淆鏈;
3、支持自簽名證書和Lets Encrypt證書;
4、嵌入式Web應用程序,支持進行自定義配置和文件傳輸管理;
5、實現了服務器指紋恢復技術:加密加載程序能夠在使用文件傳輸接口時動態加密接口文件,并對API和Web資源路徑進行隨機化處理;
工具運行機制
Skyhook的文件傳輸服務器在將文件內容寫入響應body之前,會使用用戶配置的一系列模糊算法對文件內容進行模糊處理。使用了相同模糊處理算法的客戶端會在將文件保存到磁盤之前,對文件內容進行反模糊處理。除此之外,該工具還實現了一種文件流技術,該技術可以用來以分塊的方式管理HTTP事務,從而優化大型文件傳輸。
工具的運行機制如下圖所示:

Skyhook文件傳輸流程圖如下:

Skyhook文件傳輸序列圖如下:

Skyhook身份認證流程圖如下:

工具下載
我們可以直接訪問該項目的【Releases頁面】來下載并安裝Skyhoo。
除此之外,廣大研究人員還可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/blackhillsinfosec/skyhook.git
然后自行完成項目代碼構建即可。
工具使用
Skyhook服務器的啟動與配置
啟動服務器:
skyhook server run --config-file your-config.yml
使用一臺不受藍隊控制的主機,然后使用管理員賬號訪問管理端服務器的Web接口。
然后在接口中點擊“Obfuscators”,并更新指定的混淆配置,最后點擊“Save”保存:

獲取指向傳輸服務器的鏈接,并在瀏覽器中打開,然后使用非管理員賬號進行認證,最后提供要傳輸的文件即可。
如何獲取傳輸服務器鏈接
在管理員接口中,點擊“Quick Copy”,然后選擇需要的鏈接并復制即可:

從磁盤上傳文件
點擊Web接口中的“Browser”,選擇需要上傳的文件,然后點擊“Upload”即可:

上傳完成后,點擊“Cycle”按鈕刷新列表,并確認文件上傳成功:

工具使用演示
可用的混淆配置:

文件傳輸接口中,支持下載或上傳文件,工具會先使用JavaScript對文件進行解壓縮:

使用Burp檢查通信數據,可以看到關鍵的數據已經進行了加密:

許可證協議
本項目的開發與發布遵循MIT開源許可證協議。
RacentYY
007bug
尚思卓越
嘶吼專業版
一顆小胡椒
一顆小胡椒
一顆小胡椒
FreeBuf
FreeBuf
上官雨寶
FreeBuf