ToB企服应用市场:ToB评测及商务社交产业平台

标题: 关于Goby反制上线CS中的各种问题 [打印本页]

作者: 知者何南    时间: 2023-11-27 14:21
标题: 关于Goby反制上线CS中的各种问题
前言

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来识别组件信息的
[img=720,321.6591928251121]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202310311119204.png[/img]
我们也可以自定义一个X-Powered-By 头来干扰Goby进行指纹识别,例如在代码中加入
  1. [/code]当我们我们再次发包查看会发现X-Powered-By: yuzi
  2. [img=720,341.43497757847535]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202310311119205.png[/img]
  3. 而对于Nginx中间件的网站默认不会包含X-Powered-By,需要自己构造X-Powered-By才显示,对比Apache中间件网站会安全一些
  4. [img=720,341.43497757847535]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202310311119206.png[/img]
  5. 对于其他中间件来说
  6. [b]Tomcat:[/b]默认添加,例如 X-Powered-By: Servlet/3.0
  7. [b]IIS:[/b]默认添加,例如 X-Powered-By: [url=http://asp.net/]http://ASP.NET[/url]
  8. [b]Jetty:[/b]默认添加,例如 X-Powered-By: Jetty
  9. 【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】
  10.  ① 网安学习成长路径思维导图
  11.  ② 60+网安经典常用工具包
  12.  ③ 100+SRC漏洞分析报告
  13.  ④ 150+网安攻防实战技术电子书
  14.  ⑤ 最权威CISSP 认证考试指南+题库
  15.  ⑥ 超1800页CTF实战技巧手册
  16.  ⑦ 最新网安大厂面试题合集(含答案)
  17.  ⑧ APP客户端安全检测指南(安卓+IOS)
  18. [size=5]反制复现[/size]
  19. [b]环境准备:[/b]
  20. [b][img=672,119]https://www.hetianlab.com/headImg.action?news=181d93fb-d0bc-44aa-b143-74507849f90f.png[/img][/b]
  21. 注:受到反制影响的Goby版本应 < 2.0.0Goby历史版本下载:[url=https://gobysec.net/updates?v=15#Beta(1.9.325)%E2%80%A2Feb16,2022]https://gobysec.net/updates?v=15#Beta(1.9.325)%E2%80%A2Feb16,2022[/url]
  22.  
  23. [b]Nginx环境复现[/b]
  24. 在网站根目录下对网站的首页(index.php)添加带payload的X-Powered-By段
  25. [code]<?php
  26. header("X-Powered-By: PHP/5.3.29    <img\tsrc=1\tonerror=alert(/helloworld/)>");
  27. ?>
  28. //语句中的/t不能用空格进行替代可以用tab键代替,且所有的空格处应该为tab键
  29. //标签内语句中若存在双引号则要反斜杠(\)对其进行转义,如<img\tsrc="x"\tonerror="alert(/helloworld/);">
  30. //若数字在弹窗内容中则无需在两边加斜杠(/),如<img\tsrc=1\tonerror="alert(1);">
复制代码
此时,红队在利用Goby对该蓝队主机进行扫描,扫描完后红队会自然而然地点击IP处进行查看当前的扫描结果
[img=720,415.7533286615277]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202310311119207.png[/img]
当红队进入IP的资产页面后,页面会优先显示蓝队主机网站的首页的指纹信息,此时我们在首页构造的X-Powered-By被Goby识别且没有做识别过滤,因此会在Goby资产页面显示并且payload会被执行
[img=720,412.3636363636364]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202310311119208.png[/img]
在Goby识别指纹的时候,把恶意语句识别进去了,在PHP指纹界面上可以很清楚的看到蓝队在首页的payload,但是Goby在该页面上并不会触发payload,只有从主页中点击进入IP详情界面,才会触发payload
[img=720,413.0076762037683]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202310311119209.png[/img]
由于Goby使用Electron构建客户端软件,Electron用的是node.js,并且node.js能执行系统命令,故可以把危害放大化直接反制上线蓝队CS,将主页的payload更改为远程加载JS文件来执行命令
[code]




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4