Goblin 是一款适用于红蓝对抗的钓鱼演练工具。
通过反向代理,可以在不影响用户操作的情况下无感知的获取用户的信息,或者诱导用户操作。也可以通过使用代理方式达到隐藏服务端的目的。内置插件,通过简单的配置,快速调整网页内容以达到更好的演练效果.
项目地址
https://github.com/xiecat/goblin
特点:
-
支持缓存静态文件,加速访问
-
支持 dump 所有请求,dump 匹配规则的请求
-
支持访问日志输出到 es、syslog、文件等
-
支持通过插件快速配置,调整不合适的跳转或者内容
-
支持植入特定的 js
-
支持修改响应内容或者 goblin 请求的内容
-
支持通过代理方式隐藏真实 IP
demo效果演示:
快速体验 demo
1.Flash demo
docker run -it --rm -p 8083:8083 -p 8084:8084 -p 8085:8085 -p 8086:8086 becivells/goblin-demo-flash
本机访问
2.默认代理百度的 demo
docker run -it --rm -v $(pwd):/goblin/ -p 8084:8084 becivells/goblin
快速部署
Docker 快速部署
运行如下命令获取镜像
docker pull becivells/goblin
Dockerfile 如下:
FROM scratch
COPY goblin /usr/bin/goblin
ENTRYPOINT ["/usr/bin/goblin"]
WORKDIR /goblin
工作目录在 goblin ,首先创建目录,切换到目录下,执行
docker run -it --rm -v $(pwd):/goblin/ -p 8084:8084 becivells/goblin
GitHub 安装
1.访问 https://github.com/xiecat/goblin/releases
从中选择适合自己操作系统的二进制文件(注:如果无满足的文件,可进微信群咨询,进群二维码见文末)
2.根据需求修改配置文件的参数,配置文件详细介绍请移步使用文档
👉配置文件介绍:https://goblin.xiecat.fun/config/
命令行参数如下
Usage of goblin:
-config string
Webserver port (default "goblin.yaml")
-gen-plugin string
Generate rule file
-log string
Webserver log file (default "goblin.log")
-log-level int
Log mode [1-5] 1.dump All logs include GET log and POST log, 2. Record POST log, 3. Record dump log in rules, 4. Record error log, and 5. Record exception exit log (default 2)
-print-config
print config file
-test-notice
Test message alarm
-v Show version of goblin
-w Write config to config file
注意如果是在服务器端部署则需要修改 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
插件系统
插件系统介绍详细使用方法见文档
👉插件系统:
https://goblin.xiecat.fun/plugin/
高阶用法
goblin 使用反向代理,前端使用 cf 等代理 goblin, 即可隐藏 goblin 主机 具体文档可以参考 goblin 代理配置
JS 注入
js 注入有两种方式一种是跟着页面走(Replace 需要自己追加<script> 标签),一种是跟着全局 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: "<script type='text/javascript' src='{{ .Static }}a.js'></script>" # 追加字符串
最后项目地址
https://github.com/xiecat/goblin
★
免责声明由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
”
end
网络¥安全联盟站—李白你好
欢迎关注[李白你好]-文章内容涉及网络¥安全,web渗透测试、内网安全、二进制安全、工业控制安全、APP逆向、CTF、SRC等。
微信:libaisec
微信交流群:加我微信拉你进群和工程师们学技术聊人生
原文始发于微信公众号(李白你好):神兵利器:一款适用于红蓝对抗中的仿真钓鱼系统
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论