TABBY是一款针对Java语言的静态代码分析工具。
它使用静态分析框架 Soot 作为语义提取工具,将JAR/WAR/CLASS文件转化为代码属性图。并使用 Neo4j 图数据库来存储生成的代码属性图CPG。
它不单单可以利用链挖掘的应用,也能够后续能从漏洞分析的角度利用tabby的代码属性图进行分析
下载链接见文末
1 使用方法
使用Tabby需要有以下环境:
- JDK8的环境
- 可用的Neo4j图数据库 Neo4j环境配置
- Neo4j Browser 或者其他可以进行Neo4j可视化的工具
具体的使用方法参见:Tabby食用指北
2 Tabby的适用人群
开发Tabby的初衷是想要提高代码审计的效率,尽可能的减少人工检索的工作量
使用tabby生成的代码属性图(当前版本1.1.0)可以完成以下的工作场景:
- 挖掘目标代码文件中潜藏的Java反序列化利用链
- 搜索符合特定条件的函数、类,譬如检索调用了危险函数的静态函数
- 从某个端点到sink点的调用路径,用于检索可能的漏洞触发路径(如weblogic xmldecoder相关从processRequest到XMLDecoder.readObject的路径)
以前对Jar/War/Class的分析方法,往往为先反编译成java文件,然后再通过人工搜索特定函数来进行分析。
而有了Tabby之后,我们可以先生成相应的代码属性图,然后使用Neo4j的查询语法来进行特定函数的搜索,特定条件的利用路径检索等
3 成果
- 现有利用链覆盖
- CVE-2021-21346 如何高效的挖掘Java反序列化利用链?
- CVE-2021-21351
- CVE-2021-39147 如何高效地捡漏反序列化利用链?
- CVE-2021-39148
- CVE-2021-39152 m0d9
- 子项目:Java反序列化利用框架 ysomap
4 免责申明
未经授权许可攻击目标是非法的。本程序应仅用于授权的安全测试与研究目的。
软件来源互联网,版权归原作者所有,侵删本资源仅供个人学习交流、测试使用。
所有内容请在下载后24小时内删除,禁止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任
下载地址
java静态代码分析工具tabby
2023/1/8备份下载链接:
https://www.123pan.com/s/cPMuVv-zirgv
该项目地址: https://github.com/wh1t3p1g/tabby
关注获取更多
同时欢迎各位加入交流群进行交流,群里会不定期的分享一些工具和教程,添加时请根据您的来意备注安全交流或软件资源交流
原文始发于微信公众号(安全X档案):一款针对Java语言的静态代码分析工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论