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