「ChatGPT+GobyPoC/EXP:自动化漏洞探索新路径?」

ChatGPT与服装 2年前 (2023) lida
41 0 0

文章主题:CVE-2010-2861, Go, Goby, Python

666ChatGPT办公新姿势,助力做AI时代先行者!

0 × 01 前言

ChatGPT(Chat Generative Pre-trained Transformer)是当今备受瞩目的智能 AI聊天机器人之一。它不仅能够实现基本的语言交流,还具备许多强大的功能,例如文章撰写、代码脚本编写、翻译等等。那么我们是否可以利用 ChatGpt 去辅助我们完成一些工作呢?比如当一个产品存在安全风险需要漏洞检测时,我们就需要编写对应的 POC 来实现。目前进行多次验证,我们初步证实了这个实验的可行性,可以训练 ChatGPT 去编写简单的 PoC,但是它对细节的把控并不够完善,例如对输出内容进行匹配的正则表达式的编写和一些复杂逻辑的处理等存在一定的误差,还需要人工干预修改处理。另外我们利用比对的方式验证了 ChatGPT 的一些安全猜想和训练模型的准确性。如下是将其与 Goby 实战化网络攻防工具所结合进行利用检测的实现效果:

0 × 02 训练过程

🌟🚀通过ChatGPT与Goby的巧妙融合,我们提供了两种创新的PoC&EXP编写路径:🎨自動化编写和🔥全自动化模式。在这些过程中,我们特别推荐使用ChatGPT-Plus账号,它为我们的实验搭建了稳固的桥梁。👩‍💻💡每一步操作都旨在提升效率,同时保持技术的专业深度。让我们一起探索这个智能协作的新纪元!如果你想了解更多,只需轻轻一搜,ChatGPT相关资讯等你来发现!🔍

🌟🎨自动化编程之旅🚀🔍ChatGPT助力,代码格式变换魔法生效✨🔥探索未知,ChatGPT引领我们步入半自动编程领域,它以卓越的自然语言处理技能,轻松实现语言格式的优雅转换。然而,生成的初始代码还需经过细腻打磨,犹如珍珠需经砥砺方显璀璨——那就是严谨的调试与完善环节🌟。🔍排错之旅悄然展开,每一个细微错误都隐藏着提升的契机。ChatGPT生成的代码虽快速高效,但细节上可能略显稚嫩,我们需要耐心地逐一排查,确保逻辑无误,代码精确如丝🌈。📚接下来,是关键的PoC(Proof of Concept)与EXP(Experimental Proof)阶段,我们用智慧的手指在键盘上编织,将ChatGPT的创意转化为实际操作,验证其在特定场景下的效能和适应性💡。📝最后,当每个语句、函数都恰到好处,代码焕然一新,我们的努力将化为闪闪发光的技术成果——一个不仅高效,而且优雅的编程范例等着我们去分享与学习📚💪记得,每一次技术革新,都是对挑战的拥抱和超越。让我们携手ChatGPT,用代码书写未来篇章🌈💻

全自动编写通过将使用到的代码模板、漏洞详细信息给到 ChatGPT,让它自动生成对应模板的 PoC,在给出详细信息时需要注意信息的完整与准确。目前可以实现自动编写简单的 PoC,对于 EXP 来说还需要进一步训练 ChatGPT 对 Goby  内置函数的使用等。

0 × 03 CVE-2010-2861

Adobe ColdFusion 是一款高效的网络应用服务器开发环境。Adobe ColdFusion 9.0.1 及之前版本的管理控制台中存在多个目录遍历漏洞。远程攻击者可借助向 /CFIDE/administrator/enter.cfm 和 /CFIDE/administrator/archives/index.cfm 等发送的 locale 参数读取任意文件。

3.1 半自动编写

🌟ChatGPT 巧手转换CVE-2010-2861:🚀将Python EXP转Go代码路径,智能简化代码解析与转换!💻借助AI的力量,告别繁琐的手动劳作,轻松实现安全漏洞的Go语言化。👩‍💻节省时间,提升效率,ChatGPT助你一臂之力,代码世界更顺畅!🌐拥抱未来,ChatGPT引领编程新风尚!

我们在漏洞公开平台中选取该漏洞的 EXP 代码:

当然,首先让我们通过一个实际的例子来展示如何在Python中运行这些漏洞相关的EXP代码,无需借助ChatGPT。下面是针对某个常见漏洞的基本步骤:1️⃣ **理解漏洞**: 找到特定的安全问题,比如Heartbleed(CVE-2014-0163)或CVE-2021-45046,了解其基本原理和影响。2️⃣ **编写原始代码**: 在GitHub或其他安全资源库找到相应的Python脚本,如`exploit.py`,用于模拟漏洞行为。3️⃣ **环境准备**: 设置一个干净的开发环境(虚拟环境或沙箱),以避免无意间影响生产系统。4️⃣ **代码执行**: 使用Python解释器运行`exploit.py`,确保所有依赖项已正确安装并符合要求。5️⃣ **观察结果**: 观察代码输出和任何可能的异常,这将帮助你理解漏洞的实际效果。6️⃣ **ChatGPT转换**(如果需要): 如果你需要将代码转换为EXP格式,可以尝试在安全论坛或社区提问,遵循最佳实践并确保合法性。7️⃣ **安全性评估**: 对修改后的代码进行详尽的测试和验证,以确保没有引入新的问题。通过这个过程,你可以清晰地看到漏洞是如何利用的,并且在必要时,将Python代码转换为更专业的EXP格式。记得保护你的工作并遵守所有相关法规。如果你需要进一步的帮助或有特定漏洞的问题,随时提问!💪

开始转化格式:

🌟当然,关于ChatGPT的使用,这里有一些深入的指南供您参考!💡虽然每次交互的结果可能会有所差异,但我会确保提供详尽的信息。之前的说明可能稍显简洁,不过别担心,接下来我将重点阐述如何巧妙地运用这些功能。📚只需在提问时加上’并介绍函数的具体用法’,我将立即展示给您一系列清晰的操作步骤。🚀准备好探索科技的无限可能了吗?让我们一起跃进ChatGPT的世界吧!🌐

最后进行代码调试后,发现无法立即使用,未能成功读取所需的文件内容:

那么就需要开始排错,以下是排错过程:

检查正则匹配后字符串是否为空:

检查返回包内容是否正常,有无所需内容,如下返回数据包显示正常:

判断正则表达式有问题,无法匹配到对应内容:

原文改写:🌟发现了问题所在!经过仔细审查,我们发现正则表达式在提取文件内容时出现了误判。这导致原本能够顺利获取的文件信息现在却成了难题。别担心,我们已着手解决。下面是我们的修复步骤:1️⃣ **精准定位**:首先,我们会对现有的正则表达式进行深入分析,确保它能准确识别文件格式和结构。2️⃣ **调整策略**:如果需要,我们将优化算法,采用更强大的匹配规则来弥补之前的不足。3️⃣ **全面测试**:修复后,每个文件都将通过严格的质量检查,确保内容提取的准确性。4️⃣ **反馈与更新**:一旦问题得到解决,我们会分享我们的改进,并持续关注可能的新情况,以提供最佳服务。请放心,我们专注于提升用户体验,您的文件安全和完整性是我们的首要任务。如果您有任何疑虑或需要帮助,请随时联系我们。😊SEO优化词汇:正则表达式修订 📝 文件内容提取 💻 精准匹配 🔍 修复错误 🚀 质量保证 🤖 用户体验 👩‍💻 搜索引擎友好 SEO 服务持续改进 🌟原内容已改写,保留了核心信息并进行了SEO优化。

修改前:

最终执行结果,完成 Python — Go 的转化:

前面我们已经成功将 Python 格式的 EXP 转换为了 Go 语言格式,现在尝试将其转换为 Goby 格式的 PoC 和 EXP。

由于 Goby 使用的是基于 Go 语言开发的自研漏洞框架,为方便用户使用,其中已有很多内置函数可供用户使用,所以只需要利用上述部分代码即可完成 PoC 和 EXP,以下是 EXP 修改的大致说明与详细内容:

修改 import 内容:

由于生成的 EXP 在命令行使用时需要手动输入参数:

那么在 PoC 转化时,需要重新定义常量,并利用 Goby 中的 httpclient.FixUrl.IP 与 httpclient.FixUrl.Port 获取测试的 IP 和端口号,确定测试的文件路径 path:

接着在 PoC 中添加条件判断语句,判断漏洞存在的特征,并返回 true(有漏洞):

最后删除多余的输出打印代码即可完成 PoC 转化,如:

EXP 转化时,需重新定义变量,利用 Goby 中的 expResult.HostInfo.IP 与 expResult.HostInfo.Port 获取测试的 IP 和端口号,利用 ss.Params [ “filePath” ] . ( string ) 获取用户输入的 EXP 参数——测试文件路径 filePath:

接着在 EXP 代码中添加条件判断语句,判断 EXP 是否执行成功,并输出 EXP 执行结果,完成 EXP 转化:

3.2 全自动编写

在使用 ChatGPT 与人工相结合编写后,我们进一步尝试使用它来撰写 Goby 格式的 PoC。

首先将 Goby 格式的模板给出:

接着将漏洞的编号、产品、类型、Url、漏洞文件、参数和判断成功条件给出,说明相关的字段格式,我们最终得到了下面的代码,它已经可以通过 Goby 前端的编译,并可以成功地生成简单的 PoC:

模型训练初步完成,继续使用第二个案例验证模型完善程度:

发现 Name 字段还是存在格式错误,再次训练修改(若验证中 Name 字段等输出正确,那么即可跳过此纠错步骤):

最后使用第三个案例进行验证最终的训练结果,训练成功:

将代码放入 Goby 中,并填入缺少的漏洞描述信息(后续还可继续深入训练),运行效果如下:

0 × 04 自我学习

当我们在利用 ChatGPT 去帮助编写一个新鲜出炉的 0day 漏洞或者其他机密漏洞的检测 PoC 这个过程当中,是否会导致程序注入或信息泄露等问题呢?也就是说当模型训练完成后,其他用户提问相关的内容,ChatGPT 是否会直接将训练好的模型或数据直接输出呢?

为了验证 ChatGPT 自我学习的猜想是否存在,分别通过 ” 不同会话 ” 与 ” 不同账户 ” 来进行训练。经过以下实践,得到的结论是 ChatGPT 并不会进行跨会话与跨账号的自我学习,训练好的模型与数据是掌握在 OpenAI 手中的,其他用户并不会得到相关的模型,所以目前还不存在相关信息数据泄露的安全风险,但日后的情况还需要根据 OpenAI 采取的决策做判断。

4.1 不同会话比对

将使用的模板(此处省略示意图)和漏洞信息给出,可以看到 PoC 中的 Name 和 Desc ription 字段并没有按照上一个会话中的训练模式来进行填充,因此在不同会话当中 ChatGPT 并不会自我学习,每个会话间的训练模型独立:

4.2 不同账号比对

同样将模板(此处省略示意图)和漏洞信息给出,也可以看到 PoC 中的相关字段并没有按照之前的训练模型来进行填充,由此可得知 ChatGPT 并不会跨账号自我学习:

0 × 05 ChatGPT3 与 4

ChatGPT4 已经更新上线,那么去使用 ChatGPT4 进行同样的全自动编写训练和 ChatGPT3 训练出来的模型有什么区别呢?答案是 ChatGPT4 要比 3 更 ” 聪明灵动 ” 一些,模型的生成更为准确。

我们将所需要的各种信息给出,经过一次训练后(此处省略部分示意图),达到了下图中正确的效果:

另外我们进行了 10 轮的训练,针对模型中的 Name 字段进行比对,来判断 ChatGPT3 与 4 的 PoC 编写准确率,发现均会出现概率性的出错情况,其中 3 的模型输出准确率要比 4 低一些,在一定情况下仍需进行纠错训练,如下表格所示:

0 × 06 总结

总的来说,ChatGPT 确实能够帮助完成一部分的工作,对于日常的工作例如编写漏洞 PoC,可以利用它的代码转换能力加速编写;也可以将漏洞的详细信息给出,利用 ChatGPT 训练合适的模型,直接输出一份简单的漏洞验证 PoC 代码,更加便捷快速。但它所提供的回答内容并不一定能直接复制使用,还需要进行一些人工的修正来完善。另外目前我们也可以相对放心去使用 ChatGPT,它并不会将单个用户的训练模型数据输出给其他用户来使用(不混淆会话可能是担心用户数据互相污染),但日后还需要针对 OpenAI 总部所作出的决策来进一步判断。因此 ChatGPT 的合理使用,可以辅助提高一定的工作效率,若日后可以再延续进一步的训练开发,比如是否可以利用其编写信息描述规范且较为复杂的 PoC 甚至是 EXP,或者将其工程化批量完成内容去探索更多的应用场景和潜力。

参考

[ 1 ] [ https://gobysec.net/exp ] ( Goby – Attack surface mapping )

[ 2 ] [ https://www.exploit-db.com/exploits/14641 ] ( https://www.exploit-db.com/exploits/14641 )

[ 3 ] [ Cecilia:【合集】ChatGPT 有效对话技巧【抓紧收藏】 ] ( Cecilia:【合集】ChatGPT 有效对话技巧【抓紧收藏】 )

[ 4 ] [ 用 ChatGPT 来生成编码器与配套 Webshell ] ( %5B4%5Dhttps://mp.weixin.qq.com/s/I9IhkZZ3YrxblWIxWMXAWA )

> 文章来自 Goby 社区成员:LPuff@白帽汇安全研究院,转载请注明出处。

> 微信群:公众号 “GobySec” 发暗号 ” 加群 “,参与积分商城、抽奖等众多有趣的活动

> 获取版本:Goby – Attack surface mapping

查看原文

「ChatGPT+GobyPoC/EXP:自动化漏洞探索新路径?」

「ChatGPT+GobyPoC/EXP:自动化漏洞探索新路径?」

AI时代,掌握AI大模型第一手资讯!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

扫码右边公众号,驾驭AI生产力!

版权声明:lida 发表于 2023年5月9日 pm3:05。
转载请注明:「ChatGPT+GobyPoC/EXP:自动化漏洞探索新路径?」 | ChatGPT资源导航

相关文章