利用人工智能增强渗透测试方法——第三部分:Arcanum网络安全机器人
在我探索如何利用人工智能辅助渗透测试的过程中,我测试了由Jason Haddix创建的专注于安全的聊天机器人——Arcanum网络安全机器人(可在https://chatgpt.com/gpts获取)。Jason设计该机器人利用最新的应用安全和渗透测试技术信息。其中一个示例提示是向聊天机器人提供JavaScript源代码,并让其从安全角度分析代码。
与本系列之前的博客一样,我使用OWASP故意设计存在漏洞的Juice Shop网络应用进行此次实验。再次强调,在执行渗透测试时考虑客户机密性至关重要。因此,注意不要将客户信息发送到远程LLM,而应在实际渗透测试中使用本地内部模型。起初,我尝试将Juice Shop的整个main.js文件粘贴到Arcanum聊天机器人的提示表单中。这导致响应提示输入过大。我使用parallel-prettier使文件更易读,以便将其拆分并分块提交给聊天机器人。
向Arcanum网络安全机器人提交JavaScript文件开头部分
聊天机器人返回了它在源代码中发现的一系列API端点。在JavaScript文件中寻找额外的攻击面总是一个好主意,因此聊天机器人从源代码中提取这些信息非常有用。它甚至尝试为API调用提供一些文档!
在源代码中识别的API调用
聊天机器人继续对文件进行安全分析。有趣的是,它识别出源代码中的黑客教程内容,并推断该代码是故意设计存在漏洞的网络应用的一部分,甚至直接指出了我正在使用的应用名称。
聊天机器人额外的源代码分析
响应继续提供了可能的攻击路径想法。
聊天机器人建议的攻击路径
聊天机器人响应以防御建议和其发现的总体摘要结束。此时,我已经印象深刻。聊天机器人从源代码中提取API端点的速度在节省时间方面具有巨大价值。但等等!还有更多!机器人询问我是否想为它识别的潜在漏洞提供概念验证漏洞利用代码。我告诉它“是”,它提供了PoC。
聊天机器人生成的概念验证漏洞利用代码
同样,这里我可能会离开AI并开始尝试利用这些漏洞,但聊天机器人提供了更多内容,我想看看它还有什么。
聊天机器人接下来指导我如何使用Intruder对报告的不同漏洞执行攻击,并为每次攻击提供了各种有效载荷。
聊天机器人生成的XSS Intruder攻击配置详细信息和有效载荷
聊天机器人继续提供Python代码来自动化它刚刚描述的攻击。
AI生成的模糊测试自动化
接下来,聊天机器人提供了关于在其分析背景下我可能检查的其他更高级漏洞的想法,并为这些漏洞提供了有效载荷和自动化。
AI生成的攻击JWT身份验证脚本
最终,AI有点偏离轨道,开始提供其他不相关的攻击性安全主题信息,如后期利用和云攻击。总体而言,我发现Arcanum网络安全机器人有用且易于使用。
摘要
“文章展示了AI在安全测试中的实际应用,显示了当前AI工具在渗透测试工作流程中的优势(节省时间、自动化分析)和局限性(上下文意识、道德限制)。”——当我要求Copilot总结本系列博客文章时,它这样说道。
我认为AI生成的摘要是准确的。我们肯定有机会利用AI来提高作为渗透测试员的工作效率和性能。但也有需要避免的陷阱,比如过于沉迷于摆弄AI,以至于它成为你实际尝试完成工作的障碍。确保客户数据的机密性是另一个需要仔细考虑的问题,如果你选择在方法中利用AI。最终,我很兴奋探索更多使用AI改进工作的方法,并希望本系列对任何有兴趣以这种方式使用AI的人有所帮助。