freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

插件分享 | 从漏洞扫描到利用,告别手工复现!Goby插件市场等你来大展拳脚!
GobySec 2024-01-29 10:53:11 181827

0x01 前言

在实战过程中,我们在使用Goby扫描到某些漏洞时,会遇到漏洞无Exp的情况,需要借助其他的工具去进行手动验证。为了解决这个问题,我们计划将手动验证过程集成到Goby中,通过插件实现自动化。因为有些漏洞的Exp编写相对复杂,需要考虑目标系统和应用的特定环境和配置,并可能面临框架兼容性的问题,这样的工作量非常大且繁琐。因此,将漏洞复现过程集成到Goby中,通过插件的方式实现,能够更加快速和灵活地适应不同的场景和应用,提高工作效率。
Banner业务流程.jpg

今天官方编写了一个小插件,针对Git信息泄露漏洞(无Exp)进行利用。通过此插件,能够完整地演示Goby从漏洞扫描到漏洞利用的全流程。

0x02 插件技术实现

其实这个插件的实现比较简单,感兴趣的师傅可以继续往下看,可参考官方文档和教程编写自己的插件,期待师傅们在Goby插件市场大展拳脚~

2.1 自定义漏洞提示按钮

我们可以先参考官方文档漏洞列表页,通过Goby开放的漏洞列表页配置的api定义入口按钮实现对漏洞的插件扩展。
image.png

接下来,我们通过代码来看看这个小图标是如何实现的:
image.png

第一步,需要注册自定义组件要触发的命令。

注意的是可控制参数 visible ,仅在符合特定条件时才显示。

从实践效果来看,该入口函数的入参 content 是该漏洞的详细信息。

以下是Git-EXP插件按钮相关代码:

function activate (content) {

  let identical = {
    "Git repository found": true,
  };
  goby.registerCommand('main', function (content) {
    // 获取content中的漏洞验证地址
    const { hostinfo } = content;
    // 获取插件目录
    const path = require('path').resolve(goby.__dirname, '../');
    // 在这里,我们将漏洞验证地址和插件目录通过url扔到插件的html中去处理
    goby.showIframeDia(`${__dirname}/index.html?pluginPath=${path}&&hostInfo=${hostinfo}`, "exp-git", "800", "500");
  });
  // 配置仅在插件适配的漏洞才显示
  goby.registerCommand('msf_visi', function (content) {
    if (identical[content.name]) return true;
    return false;
  });
}

第二步:需要在package.json 里配置对应视图入口点,即 contributes.views.vulList ,填写想要的标题、对应的命令、以及控制该组件显示的回调命令。

"contributes": {
  "views": {
    "vulList": [
      {
        "command": "main",
        "title": "Verify",
        "visible": "msf_visi"
      }
    ]
  }
}

2.2 插件实现基本原理

插件的实现其实很简单。首先我们已经从上方代码中传入了插件的根目录和验证的url,那么接下来我们只需要通过插件实现此url的验证即可。

对于 Git repository found 这个漏洞,我们在插件内置了 GitHack 的python脚本。

https://github.com/lijiejie/GitHack.git

原理很简单,通过插件页面去执行该漏洞利用脚本即可。
通过 child_process 即可轻松实现。

const { spawn, exec } = top?.require('child_process');
const childProcess = spawn("python", [`./poc/GitHack.py`,`${hostInfo}/.git`], {
    // 指定执行目录在插件下执行
    cwd: pluginPath,
});
childProcess.stdout.on('data', (data: Buffer) => {
// 监听执行进程中的日志信息
});
childProcess.stdout.on('close', (data: Buffer) => {
  // 监听执行进程结束
});
childProcess.on('exit', () => {
  // 监听进程退出
})

至此,插件基本开发完成啦。打开Goby客户端对插件文件进行压缩上传,等待审核即可~

image.png

Exp系列的插件通过审核后在插件市场上线后,只要用户扫描出相对应的漏洞都会出现Exp漏洞插件按钮,提示是否进行下载安装。

image.png

0x03 总结

此插件已在插件市场上线,师傅们下载Goby最新版本可进行体验。同时想要实现对无Exp漏洞的插件开发,单靠Goby团队的力量是远远不够的,我们欢迎更多的师傅们加入我们的行列,积极参与Exp插件的开发,共同构建一个更为强大的Exp插件市场,从漏洞复现到一键利用,真正实现双手的解放。

3.1 插件开发与提交

在此Goby提供了详细的插件开发文档和视频教程,供师傅们参考和学习。有任何问题可私聊Gobybot与大家一起探索!

插件开发文档:
https://gobysec.net/doc

关于插件开发在B站都有详细的教学,欢迎大家到弹幕区合影~
https://www.bilibili.com/video/BV1u54y147PF/

3.2 技术交流

如果各位师傅们在实战中遇到了无Exp漏洞情况,也可将其反馈给Goby团队。我们欢迎大家一起收集这些漏洞,并邀请感兴趣编写EXP插件的师傅们加入我们的Exp技术交流群。您可以通过私聊Gobybot与我们讨论或者进一步的沟通。让我们一起共同努力,完善漏洞验证的自动化流程!感谢您的支持和参与!

3.3 活动福利

参与Exp插件开发的师傅们,我们将认真审核并选择高质量的插件,在Goby插件市场上进行上线,同时进行官方推送。我们非常重视师傅们的贡献,在插件通过审核后,我们将提供丰厚的奖励,不限于最低15天Goby红队版和精美的定制周边礼品。

定制周边礼品(鼠标垫,鸭舌帽,笔记本等等)任选一件哦~
1706496546(1).jpg

(Goby 定制鼠标垫)
1706496561(1).jpg

(Goby 定制鸭舌帽)

0x04 参考

https://github.com/lijiejie/GitHack.git

# 漏洞 # web安全 # 渗透测试工具
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 GobySec 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
GobySec LV.6
Goby作为一款新型网络安全测试工具,能够为目标企业梳理最为全面的攻击面信息。它不仅可以开展高效且实战性强的漏洞扫描工作,还能迅速从一个验证入口点实现横向切换。此外,Goby拥有超强的AI功能,能够高效率地转化PoC(概念验证)/EXP(利用验证)。 goby官网:https://gobysec.net/
  • 67 文章数
  • 116 关注者
Goby自定义编写EXP进阶篇:以SQL注入为例的高阶变量用法讲解
2024-12-27
Goby 漏洞发布|CVE-2024-9047 WordPress File Upload 插件 wfu_file_downloader.php 任意文件读取漏洞
2024-12-25
Goby自定义编写EXP入门篇:编写模板基础使用讲解
2024-12-20
文章目录