Goblin 紅藍對抗釣魚攻擊演練系統
VSole2023-02-13 10:19:01
Goblin簡介
Goblin 是一款適用于紅藍對抗的釣魚演練工具。通過反向代理,可以在不影響用戶操作的情況下無感知的獲取用戶的信息,或者誘導用戶操作。也可以通過使用代理方式達到隱藏服務端的目的。內置插件,通過簡單的配置,快速調整網頁內容以達到更好的演練效果

特點:
- 支持緩存靜態文件,加速訪問
- 支持 dump 所有請求,dump 匹配規則的請求
- 支持訪問日志輸出到 es、syslog、文件等
- 支持通過插件快速配置,調整不合適的跳轉或者內容
- 支持植入特定的 js
- 支持修改響應內容或者 goblin 請求的內容
- 支持通過代理方式隱藏真實 IP
Goblin下載地址:
①GitHub:
- goblin_0.4.4_darwin_amd64.tar.gz5.44 MB
- goblin_0.4.4_darwin_arm64.tar.gz5.47 MB
- goblin_0.4.4_linux_386.tar.gz4.8 MB
- goblin_0.4.4_linux_amd64.tar.gz5.17 MB
- goblin_0.4.4_linux_arm64.tar.gz4.74 MB
- goblin_0.4.4_linux_armv6.tar.gz4.81 MB
- goblin_0.4.4_windows_386.zip5.03 MB
- goblin_0.4.4_windows_amd64.zip5.25 MB
- goblin_0.4.4_windows_arm64.zip4.81 MB
- goblin_0.4.4_windows_armv6.zip4.96 MB
②云中轉網盤:
解壓密碼:www.ddosi.org
https://yzzpan.com/#sharefile=I9gN46sH_37228
Goblin安裝方法
從 Docker 中下載
docker pull becivells/goblin
Dockerfile 如下:
FROM scratch COPY goblin /usr/bin/goblin ENTRYPOINT ["/usr/bin/goblin"] WORKDIR /goblin
工作目錄在 goblin ,首先創建goblin目錄,切換到目錄下,執行
docker run -it --rm -v $(pwd):/goblin/ -p 8084:8084 becivells/goblin
注意事項
$(pwd) 是路徑代表當前路徑(goblin) 也可以使用
docker run -it --rm -v goblin:/goblin/ -p 8084:8084 becivells/goblin
即可自動生成配置文件、插件目錄、靜態文件目錄并且下載地理位置數據庫
命令參數
────────╔╗──╔╗ ────────║║──║║ ╔══╗╔══╗║╚═╗║║─╔╗╔══╗ ║╔╗║║╔╗║║╔╗║║║─╠╣║╔╗╗ ║╚╝║║╚╝║║╚╝║║╚╗║║║║║║ ╚═╗║╚══╝╚══╝╚═╝╚╝╚╝╚╝ ╔═╝║ v0.3.9-next - 2021-09-12T08:12:09Z ╚══╝ From: https://github.com/xiecat/goblin 請在license許可范圍內使用此工具。 goblin 不對因使用此工具而產生的任何風險負責。 使用說明同意此聲明 goblin用法: -config string 網絡服務器端口 (默認 "goblin.yaml") -gen-plugin string 生成規則文件 -log string 服務器日志 (默認 "goblin.log") -log-level int 日志模式[1-5] 1.dump所有日志包括GET日志、POST日志、2.記錄POST日志,3.記錄轉儲登錄規則;4.記錄錯誤日志;5.記錄異常退出日志(默認1) -print-config 輸出配置文件 -test-notice 測試消息通知 -v 顯示goblin版本 -w 將配置寫入配置文件
代理配置
前置配置
前面可以使用 cf 做 cdn 訪問者溯源困難
后置配置
配置文件中 proxyserveraddr 配置即可
Proxy: MaxIdleConns: 512 # 代理一些配置默認即可 IdleConnTimeout: 2m0s TLSHandshakeTimeout: 1m0s ExpectContinueTimeout: 1s maxcontentlength: 20971520 # 處理響應數據最大值默認 20M,超過這個值,插件中需要讀取 body 的操作會被取消 ProxyServerAddr: "socks5://127.0.0.1:1080" # 設置代理,設置后通過代理進行網頁請求 ProxyCheckURL: https://myip.ipip.net/ # 訪問此地址檢查代理設置是否正確 PluginDir: plugins
注意事項
如果是在服務器端部署則需要修改 ip 地址如有疑問可以參考 site 講解
Site: server_ip:8084: ## 修改為域名或者 server ip Listen: 0.0.0.0 StaticPrefix: x9ut17jbqa SSL: false CAKey: "" CACert: "" ProxyPass: https://www.baidu.com Plugin: demo
插件系統
插件系統介紹詳細使用方法見文檔插件系統
高階用法
goblin 使用反向代理,前端使用 cf 等代理 Goblin, 即可隱藏 Goblin 主機 具體文檔可以參考 goblin 代理配置
JS 注入
js 注入有兩種方式一種是跟著頁面走(Replace 需要自己追加 \ 標簽),一種是跟著全局 js 文件走各有好處。
這兩種其實都是使用 Replace 功能
使用 InjectJs 注入
具體文檔可以參考 goblin InjectJs 模塊
- url: /base.js # 待替換的js 盡量選擇全局 js Match: word # 匹配方式 InjectJs: File: aaa.js # 要替換的 js。 可以為文件或者 url
使用 replace 注入
具體文檔可以參考 goblin Replace 模塊
- url: /art_103.html # 待替換的網頁 Match: Word Replace: # 替換模塊 - Request: Method: # 匹配到如下請求方式方可替換 - GET - POST Header: goblin: 1.0.1 # 替換的 header 頭內容。為空則是刪除。 Response: # 替換的響應內容 Body: Append: "
VSole
網絡安全專家