Skip to content

Latest commit

 

History

History
85 lines (64 loc) · 3.6 KB

README.md

File metadata and controls

85 lines (64 loc) · 3.6 KB

MemShellParty

Important

当前进度:新建文件夹中......

Why

又到了一年一度的学习环节,最近一直在学习内存马相关的知识,也在写相关的靶场。

为了更好地学习,Real-World Attack 的例子比起 Demo 总是会让人更感兴趣,那么什么是一次真实场景下的内存马注入攻击顺序呢(我认为的,我并没有攻击实战经验)。

某些工具的交互方式显然有些问题,虽然不影响使用但是值得优化

  1. 确认目标站点的中间件类型,Tomcat、WebLogic 等等。
  2. 选择注入内存马类型,Servlet、Filter、Listener 等等。
  3. 选择注入内存马功能,仅回显、仅命令执行、Godzilla、Behinder、suo5 等等。
  4. 选择封装方式,也就是 RCE 漏洞类型,反序列化、表达式注入、模板注入、JNDI 等等。

What

开发过程中遇到的一些需要注意到的知识会以博客的方式输出。

随着攻击方式的增多,写 JavaWeb 内存马的师傅层出不穷,前人栽树后人乘凉,而我也应该是走在了聚合的道路上,试图去打造一款更利于全面学习内存马的注入工具。

  1. SpringBoot 开发,易于部署,易于构建,让 JavaWeb 安全人员感到更亲切。
  2. 提供靶场测试 docker 用例,方便部署学习测试。
  3. 自带丰富的示例,让初学者在常见情况下都能完美注入,不再担心因为技能不够深入,出错导致一次勇敢的尝试戛然而止。
  4. 不仅给出完整的 POC,也能给出中间态产物,例如我仅好奇 GodzillaFilter 的类如何编写。
  5. 让使用者不仅仅只停留在脚本小子的阶段,学会了举一反三,能应对不同场景下的变形注入。
  6. 拥有一定的自定义能力,方便构建自己的武器测试库。

JDK 版本:

  1. JDK1.6、JDK1.7
  2. JDK8
  3. JDK11
  4. JDK17

中间件:

  1. TomcatJetty
  2. Undertow (JBossAS/JBossEAP/WildFly)
  3. SpringMVC 框架
  4. WebLogic
  5. WebSphere
  6. Resin
  7. GlassFish/Payara
  8. 东方通
  9. 宝兰德

内存马类型:

  1. Servlet
  2. Filter
  3. Listener
  4. WebSocket
  5. TomcatValue
  6. TomcatUpgrade
  7. TomcatExecutor
  8. Agent
  9. Spring Controller(多种方式)
  10. Spring Interceptor

内存马功能:

  1. 回显
  2. 命令执行
  3. Behinder 冰蝎内存马
  4. Godzilla 哥斯拉内存马
  5. AntSword 蚁剑
  6. Suo5
  7. Neo-reGeorg
  8. 自定义

漏洞类型:

  1. 反序列化漏洞,readObject、fastJson、snakeyaml、XStream 等
  2. 文件上传漏洞 JSP
  3. 表达式注入,EL、MVEL、SpEL、Ognl 等
  4. 模板引擎注入,Freemarker、Velocity 和 JinJava
  5. 脚本引擎注入、ScriptEngine、
  6. JNDI 注入
  7. JDBC 连接攻击

Let's start the party 🎉