Releases: chainreactors/zombie
Releases · chainreactors/zombie
v1.3.0
v1.3.0 — SDK 编程接口 + 代理注入 + go:embed 模板 + 并发控制
v1 系列最终版本。全面重构为 SDK 友好架构;支持 per-instance 代理注入;模板从 base64 切换到 go:embed;新增 per-host 并发限速。后续新功能(service protocol / 模板化后渗透)将在 zombie2.0 分支开发。
New Features
SDK 编程接口
NewRunner(opt)+RunnerOption独立结构体,支持程序化调用RunWithArgs(ctx, args, options)复用 CLI 解析 + 信号处理Help()函数暴露帮助文本SetResourceProvider()/SetResourceLoader()资源注入覆盖
opt := &core.RunnerOption{
Threads: 50,
Concurrency: 4,
Timeout: 10,
Mod: "clusterbomb",
FirstOnly: true,
}
runner := core.NewRunner(opt)
runner.SetTargets(targets)
runner.SetUsers([]string{"root", "admin"})
runner.SetPasswords([]string{"123456", "admin"})
runner.RunWithContext(ctx)代理注入
ProxyDial字段注入到RunnerOption,per-execution 代理- Socket 协议(SSH/Redis/MySQL/FTP/...)和 HTTP 协议统一走注入的
DialFunc - 基于
utils/httpx统一 HTTP transport 构建
opt.ProxyDial = proxyclient.NewDialFunc("socks5://127.0.0.1:1080")go:embed 模板
- 模板从 base64 编码切换到
go:embed+ deflate 压缩的.bin文件 - 源码体积减小,编译和启动速度提升
templates_gen.go -embed模式自动生成 embed 声明
per-host 并发限速
--concurrency N(原--host-threads)限制单 host 在飞连接数- 基于 channel semaphore,避免触发 sshd MaxStartups 等服务端限速
- context 取消感知:目标命中后排队任务立即退出,不再建连
Improvements
- 目标解析支持 JSON/Gogo 文件导入、per-target 服务/凭证覆盖
- neutron 模板插件 logger 初始化守卫,防止 nil panic
- CRLF → LF 行尾统一
- 内嵌资源数据(字典/规则)更新
- 本地化 grdp 依赖,移除已归档的外部引用
CI / Dependencies
- goreleaser workflow 升级到 ubuntu-latest + actions v4/v5/v6
- dependabot 自动依赖更新
- Go 版本从 go.mod 动态获取,不再硬编码
- chainreactors 全组件依赖更新(fingers/parsers/utils/words/neutron)
Bug Fixes
- 修复 neutron 插件 logger 未初始化导致的 nil panic
- templates submodule 指向正确的 commit
Full Changelog: v1.2.2...v1.3.0
v1.2.2
Changelog
- [enhance] github action 编译默认版本使用go1.20 兼容更多操作系统
- [enhance] neutron 会自动使用http作为默认协议
- [enhance] 更新fingers与neutron版本
- [feat] 新增
-q命令关闭非必要输出 - [fix] grdp 一个可能存在的panic bug
Full Changelog: v1.2.1...v1.2.2
v1.2.1
重新发布, 修复新版本panic
Changelog
- [enhance] 使用-a/-A时自动设置mod为pitchfork, 简化操作
- [bump] 更新words, fingers, templates, neutron库, 修复了一些底层实现的bug
- [feature] 支持service别名, 添加了pop3, mongodb, postgre 等RFC规范的别名
- [fix] 暂时移除mongodb的unauth判定, #30
- [fix] -h 时两次输出的bug
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Changelog
- [feature] 新增
-c/--cidr, 允许输入多个cidr批量扫描.-c 1.1.1.1/24 -c 2.2.2.2/24 -s redis. - [feature] 新增
--strictflag, 打开strict模式, 将会在指纹校验后再进行爆破 - [enhance] 没有显式配置的默认端口将会尝试从port.yaml 解析
- [enhance] 更新neutron, fingers 等依赖, 修复了大量bug并提供大量新特性
- [fix] rdp panic
Full Changelog: v1.1.7...v1.2.0
v1.1.7
v1.1.6
Changelog
- [feature] 支持windows7/windows server 2008 的release
- [feature] 支持freebsd, Android, solaris等常见架构的release
- [feature] 添加多个内置插件 (未经过充分测试)
- get/post 通用http爆破插件
- amqp
- mqtt
- memcache
- zookeeper
- http_proxy
- http_digest
- [fix] 修复
-S参数不生效的bug, 现在-S参数可以从输入目标中过滤出指定协议的目标进行爆破.--gogo 1.dat -S ssh从gogo的扫描结果中过滤出ssh相关协议进行爆破 - [fix] 修复了多个rdp相关的panic
- [enhance]
--top现在也作用于user相关输入 - [enhance] 使用kscan的grdp库代替原版的grdp, thanks @lcvvvv
v1.1.5
Changelog
- [feature] 新增 -a/-A 添加密钥对配置, 减少无用的账号密码笛卡尔积碰撞, 例如:
-a admin::admin - [feature] 新增-m pitchfork 模式, 将使用密钥对与target进行笛卡尔积,
-m pitchfork -a admin::admin -a root::root - [enhance] 未配置默认username/password的service将会自动选用top10
- [enhance] http 插件自动启用random user-agent
Templates
新增11个service(部分service未经过充分测试, 从nuclei-templates中移植, 如有问题欢迎提供issue):
- svn
- portainer
- nagios
- nps
- ofbiz
- sonarqube
- wordpress
- geoserver
- jboss-jmx
- jboss-jbpm
- jira
v1.1.4
v1.1.3 (republish)
v1.1.2
Changelog
- [fix] 修复一个死锁bug, 该bug导致程序卡死无法正确退出
- [feature] 新增
--bar, 添加进度条, 能观察实时进度 - [enhance] 添加插件panic时的堆栈输出