闭源系统半自动漏洞挖掘工具 SinkFinder

闭源系统半自动漏洞挖掘工具 SinkFinder

进击的HACK 2024-12-12 23:55

  • 闭源系统半自动漏洞挖掘工具,针对 jar/war/zip 进行静态代码分析,增加 LLM 大模型能力验证路径可达性,LLM 根据上下文代码环境给出该路径可信分数

声明:
文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!
如有侵权烦请告知,我们会立即删除并致歉。谢谢

介绍

闭源系统半自动漏洞挖掘工具,针对 jar/war/zip 进行静态代码分析,增加 LLM 大模型能力验证路径可达性,LLM 根据上下文代码环境给出该路径可信分数

https://mp.weixin.qq.com/s/pKA0eG0B_yMkeV2-C1edWw

项目地址:
https://github.com/Phelaine/SinkFinder

LLM 大模型 采用的是阿里的通义大模型,默认为空,需要配置API key。

下面是没配API key的案例。

参数说明

java -jar SinkFinder-1.0-SNAPSHOT-jar-with-dependencies.jar -h _ _ __ _ _ (_) | | / _|(_) | | ___ _ _ __ | | __| |_ _ _ __ __| | ___ _ __ / __|| || '_ \ | |/ /| _|| || '_ \ / _` | / _ \| '__| \__ \| || | | || < | | | || | | || (_| || __/| | |___/|_||_| |_||_|\_\|_| |_||_| |_| \__,_| \___||_| 0.2@medi0cr1ty usage: SinkFinder -cb,--class_exclusions <arg> 自定义class_exclusions规则,类黑名单 -ci,--class_inclusions <arg> 自定义class_inclusions规则,类白名单 -d,--depth <3> 指定递归查找深度 -h,--help 帮助 -jb,--jar_exclusions <arg> 自定义jar_exclusions规则,jar包黑名单 -ji,--jar_inclusions <arg> 自定义jar_inclusions规则,jar包白名单 -l,--llm 启用通义大模型能力 -lk,--llm_key <arg> 配置通义大模型 API KEY(sk-xxx) -p,--path <arg> 指定目标分析路径 -r,--rule <rules.json> 指定Sink JSON规则路径,初始化默认resources/rules.json -s,--sink <arg> 自定义sink规则 -scb,--sink_category_block <arg> 禁用sink规则类别 -sci,--sink_category_include <arg> 配置sink规则类别

配置通义大模型 需要api key

运行命令

java-jarSinkFinder.jar-p 代码路径 -d 遍历路径递归深度

测试

靶场:
https://github.com/tangxiaofeng7/SecExample

java -jar SinkFinder.jar -p secexample-1.0.jar -d 3

logs 目录中查看结果
– llm 结尾文件: 已过滤 source + LLM 结果

  • true 结尾文件:已过滤 source

  • false 结尾文件:未过滤 source ,所有结果

日志中显示检测出的漏洞,

以fastjson举例,

recaf 反编译 jar包

可以看到此处确实存在fastjson反序列化漏洞

Runtime RCE

总结

  • 规则少

  • 漏报多

  • 但准确率还可以

往期推荐

2024下半年软考成绩可查,压线过

Burpsuite存储桶配置不当漏洞检测插件

burpsuite SQL注入插件

轻松编辑修改jar包工具 Recaf

apk 变得可调试 debuggable=true

IDA 动态调试之反反调试

JWT sign 未校验导致未授权用户登录

基于flutter的Android vpn代理工具

Jar Obfuscator – 图形化 JAR/CLASS 字节码混淆工具

降低js逆向分析难度的油猴脚本

简单绕过 IOS应用 frida检测