腾讯云RASP挑战赛绕过思路挖掘

💡 原文中文,约4300字,阅读约需11分钟。
📝

内容提要

RASP(运行时应用自我保护)是一种嵌入应用程序的安全技术,能够实时监测并阻止攻击。与传统WAF相比,RASP的检测更为精准且误报率低。文章分析了百度的OpenRASP,探讨其工作原理及绕过方法,包括请求线程识别和hook点的上下文分析,最终通过特定类和方法组合成功绕过RASP检测。

🎯

关键要点

  • RASP是一种嵌入应用程序的安全技术,能够实时监测并阻止攻击。
  • 与传统WAF相比,RASP的检测更为精准且误报率低。
  • RASP通过Instrumentation API在Java中进行类的插桩,便于部署。
  • OpenRASP是国内广泛使用的开源RASP产品,本文分析其工作原理。
  • RASP的请求处理流程包括请求hook点、ProcessImpl创建和ProcessBuilderHook点。
  • RASP通过检测堆栈信息和方法参数来判断是否为恶意命令执行。
  • 绕过RASP的关键在于混淆目标代码执行的上下文,使恶意操作在未标记为请求线程的线程中执行。
  • 可以通过创建新线程执行恶意操作来绕过RASP的检测。
  • hook点组合绕过涉及到不在RASP拦截hook类中的方法和调用栈中没有已知命令执行来源。
  • 在Springboot应用中,利用CVE-2022-21724漏洞可以执行任意代码。
  • 上传文件并让系统解析和执行代码是相对安全的绕过方法。
  • RASP对直接的系统命令执行非常敏感,需考虑其他方式调用系统命令。
  • 通过切换线程清除栈信息的方法可以帮助绕过RASP的检测。
➡️

继续阅读