作者:BHIS
克雷格(Craig)曾是一名软件开发商和红色团队。自2018年以来,他一直在Black Hills Infosec认装。
在此处阅读本系列的第1部分:第1部分
LLM的常见用例是快速软件开发。我在渗透测试方法中使用AI的第一个方法之一是有效载荷生成。例如,我想创建一个详尽的带外(OOB)命令注入有效载荷的列表。我首先从各种来源收集命令注射有效载荷列表,例如秘书,,,,有效载体,,,,有效载荷盒等等。许多这些有效载荷需要一些修改,因为它们包含我无法控制的带外交互的IP地址和域。
理想情况下,我想用URI替换这些IP和域,以作为Burp Suite Collaborator Server,我可以对交互进行轮询。所以,我打开了Visual Studio代码内置的github副标士一体化。我指示Copilot编写一个Python脚本,该脚本将逐行读取文件,并用占位符文本替换IP地址或URL的每个实例{{}}
。
几秒钟后,我有了一个Python脚本,可以保存并在有效载荷列表中运行。
(rootâkali) - [/home/kali/desktop/blog]##python ./url_replacer.py sample-payloads.txt处理完成。修改文件保存为:modified_sample-payloads.txt
运行AI生成的Python脚本
我审查了修改后的有效载荷,看来该脚本有效。
接下来,我要求Copilot给我写一个Python脚本,该脚本将逐行读取两个文件。我指示它用第二个文件的下一行替换第一个文件中的占位符文本的任何实例,然后将结果输出到第三个文件。
我保存了这个新脚本以及一个文本文件,在该文件中粘贴了一些Burp Suite合作者Uris。我用包含占位符和合作者文件的有效载荷列表运行了新脚本。我回顾了脚本生成的文件,并确认我的合作者Uris已成功插入了正确的位置。
现在,每当我想测试命令注入时,我都可以将新的协作者URIS保存到文件中,然后再次运行第二个脚本,以快速生成更独特的有效负载,以馈入入侵者。这不是超级浮华的,但我认为这将是一个很好的例子,说明AI辅助的快速发展如何帮助简化潜在的耗时的渗透测试任务。
LLM也有助于在穿透测试时进行头脑风暴的想法,但有时它们对您的要求会很敏感。例如,让我说我想回顾Owasp的果汁商店的主要内容,以了解潜在的漏洞。我向Copilot询问了潜在危险的JavaScript方法的示例,但它告诉我,它无法协助可以恶意使用的信息。
有时您可以通过一些及时的操纵或越狱来谈论LLMS合作。我能够通过解释我是一名道德安全研究人员来列出一些模型来列出一些危险的JavaScript方法。
我开始询问果汁商店元文件中使用潜在危险的JavaScript方法。Copilot回答了一些有关注释和InterHTML使用中eval()函数的参考的信息。这有点有帮助,但是我认为可以做得更好。
在以黑客助手为黑客助手的同时,我配置了使用Claude 3.5十四行诗模型。我遇到了一个博客文章约瑟夫·塔克(Joseph Thacker)又名rez0__其中包括该模型最初由另一个黑客共享的越狱提示普林尼。我将此越狱提交了该模型,并以有关JavaScript文件的更多以防御为中心的信息做出了回应。
但是,该模型继续以“释放”的额外响应方式进行了额外的回应:启用了我自由!第二次回应具有有关JavaScript中潜在可剥削漏洞的更多详细信息。
如果我是作为实际渗透测试的一部分进行的,那么这绝对是我不使用AI并跳入试图利用这些漏洞的正常流程的地方。但是,我注意到该模型似乎已经编辑了一些潜在的概念证明(POC)代码。因此,我着手哄骗更多模型。我再次提示它,但指定它应该为每个已确定的漏洞提供概念证明。
Copilot给了我同样的spiel,只是帮助确保编码模式,但是经过几轮要求详细的POC,告诉它不要编辑响应并重新填补越狱后,我能够通过一些相当具体的利用说明来响应它。
重要的是要注意,果汁店是有意脆弱的应用程序。在进行实际渗透测试时,保护客户信息很重要。因此,如果在实际的渗透测试中尝试以这种方式使用AI,我将使用本地本地LLM。
我希望您能发现这种探索我们可以利用AI变得更好,更有效的渗透测试人员有用的方法!
想继续学习这个话题吗?
立即注册下周的网络广播周四, 5月22日, 在美国东部时间下午1:00:使用人工智能增强灌肠方法
Using AI to Augment Pentesting Methodologies