Goby社区第 24 篇插件分享文章
全文共:2445 字 预计阅读时间:7 分钟
在⼀次真实的攻防场景中,我们发现了⼀个存在 Struts2 漏洞的地址,这个地址在我们通过 Fuzz 获得的⼆级⽬录下,这使得 Goby 的爬⾍没有办法爬取到这⼀个⻚⾯,但是我们通过其它 Struts2 专扫⼯具检测发现这个地址确实存在 Struts2 远程代码执⾏漏洞,⽽且经过分析,Goby 中的 PoC 是能够检测出这个漏洞的,于是这让 Goby ⾯临了⼀个尴尬的局⾯,我明明知道这个 URL 地址有漏洞,Goby 也有这个漏洞的 PoC,⽽且这个 PoC 可以使⽤,但是我们却没有任何办法让 Goby 能够检测到这个漏洞。
这个问题让⼈有点如鲠在喉了,于是我开始着⼿解决这个问题,捣⿎了这⼀个插件:Headshot,其功能是给⽤户提供⾃定义选择 PoC 以及输⼊ URL 地址的渠道,让⽤户在真实的攻防场景中,能够较快的对指定 URL 地址完成 PoC 检测和利⽤,这使得我们在⾯对类似 Struts2 这样的攻防场景的时候,可以更为灵活的使⽤ Goby 来解决问题。最终的插件其貌不扬,但让整个过程变得⾮常丝滑:
如果你想亲身体验一下,在 Vulfoucs(https://vulfocus.cn)上,针对Struts2漏洞有着非常全面的靶场:
可以选择 struts-s2-001 代码执行(CVE-2007-4556)来进行演示,当点击 Submit 按钮之后,页面上出现了明显的 Sturts2 特征:
Struts2 系列漏洞在真实的攻防场景中属于典型漏洞了,利用难度低,危害程度大,使用面广,而且还有着极易识别的特征,一般来说在信息收集过程中,发现页面上有这类似 .action 或 .do 的链接,就说明目标极有可能使用了 Struts2 框架,这时就可以使用 Headshot 对目标进行快速检测:
有的目标会出现这样一种情况,当直接访问目标端口,会得到一个 Apache 的 403 界面(如图所示),除此之外无任何其他有效指纹特征,但当我们进入到 oa 目录(别问我是怎么知道这个目录的)下之后,则访问到了真实的业务系统,这在一些企业的业务系统中尤为常见,在这种情况下原始版本的 Goby 是没有办法对目标进行检测的,因为在建立扫描任务的时候,无法自定义目录。
现在你可以使用 Headshot 很方便的对目标完成检测(视频全程无加速):
攻防高手在进行渗透测试的时候,需要挣时间,看手感,比如已经知道目标使用的是 WebLogic 或泛微、致远等各大 OA 系统的时候,我们只希望很快的对目标历史上出现的高危漏洞做快速检测。这在 Headshot 上将变得尤为简单:
Headshot 是 Goby 在插件功能上的一次尝试,以往的插件只能对 Goby 主流程的输入输出做修饰,比如 FOFA(从 FOFA 中提取扫描目标,输入给 Goby 进行扫描)、ShellHub(从 Goby 利用结果中提取 Webshell 进行 Webshell 管理)、TaskQueue(设置定时任务以及任务队列,输入给 Goby 进行扫描)等等,但 Headshot 不一样,Headshot 实现了漏洞检测以及漏洞利用的拆分,不再依赖 Goby 主流程,为了达到这个效果,我利用了 Goby 对外开放的三个的接口:
goby.debugPoc 判断目标是否存在漏洞,并返回验证的交互数据包以及验证结果;
goby.openExp 打开对应Exp的验证界面;
通过对三个接口的组合拼装,就形成了 Headshot,其实通过这些接口还可以做很多事情,比如可以针对某一类专项漏洞开发专用扫描工具,或者一键漏洞批量利用工具,也可以通过这两个接口对接其他工具作为漏洞扫描能力的补充,如果你有好的想法希望编写一个独一无二的 Goby 插件,可以在 Goby 官网了解更多关于 Goby 扩展程序的信息,那里有非常详细的开发文档,也欢迎大家加入我们官方社群一起交流插件开发。Goby 会陆续对外开放更多的能力,以便于用户可以使用 Goby 做更多更酷的事情。
最后大家可以 Goby 客户端中的扩展程序一键下载体验 Headshot(见文末视频教程),Respect~~(尝鲜体验此插件需前往官网 gobysec.net 或点击文末原文下载 Goby Beta 2.4.9)
Goby (https://gobysec.net)
Vulfocus (https://vulfocus.cn)
Goby-Doc (https://gobysec.net/doc)
Goby-Extensions (https://gobysec.net/extensions)
插件开发文档:
https://gobysec.net/doc
关于插件开发在B站都有详细的教学,欢迎大家到弹幕区合影~
https://www.bilibili.com/video/BV1u54y147PF/
• Goby团队 | Shellhub 让 Goby 打通渗透流程
• adeljck | 检测带外(Out-of-Band)流量的Ceye
Goby 欢迎表哥/表姐们加入我们的社区大家庭,一起交流技术、生活趣事、奇闻八卦,结交无数白帽好友。
也欢迎投稿到 Goby(Goby 介绍/扫描/口令爆破/漏洞利用/插件开发/ PoC 编写/ 使用场景 / Webshell /漏洞分析 等文章均可),审核通过后可奖励 Goby 红队版,快来加入微信群体验吧~~~
微信群:公众号发暗号“加群”,参与积分商城、抽奖等众多有趣的活动
红队版付费渠道:https://gobysec.net/sale
戳这里领取一份插件任务吧!
https://github.com/gobysec/GobyExtension/projects?type=classic