Kunlun-Mirror源代码审计工具

admin 2025年1月12日21:15:14评论11 views字数 2872阅读9分34秒阅读模式

介绍

Cobra是一款源代码安全审计工具,能够识别多种编程语言源代码中的大部分显著安全漏洞与问题。https://github.com/wufeifei/cobra

Cobra-W作为Cobra 2.0的衍生分支,其发展方向发生了显著变化。将工具重心从尽可能的发现威胁转变为提高发现漏洞的准确率以及精度。https://github.com/LoRexxar/Kunlun-M/tree/cobra-w

Kunlun-Mirror则是在Cobra-W 2.0的基础上进一步演化而来。在经历了长时间的维护与改进后,昆仑镜将工具的发展重心放在安全研究员的使用上,将会围绕工具化使用不断改进使用体验。

该工具已支持对PHP、JavaScript进行语义分析,同时还具备对Chrome扩展、Solidity进行基础扫描的能力。

项目地址

https://github.com/LoRexxar/Kunlun-M.git

特点

与其他代码审计相比:

静态分析:对代码进行静态分析,极大地降低了对环境依赖的需求。

语义分析:通过语义分析技术,对漏洞的有效性进行更为深入的判断。

多种语言支持:支持多种编程语言,满足广泛的审计需求。

开源Python架构:采用开源Python实现,便于用户进行二次开发和定制。

与Cobra相比:

AST深度重写:对抽象语法树(AST)进行了深度重写,显著降低了漏洞的误报率。

跨平台支持:底层API重写后,实现了对Windows、Linux等多平台的全面支持。

增强语义解析:引入多层语义解析、函数回溯以及secret机制等,丰富了语义分析的手段。

JavaScript语义分析:新增对JavaScript的语义分析功能,适用于扫描包含JavaScript代码的项目。

与Cobra-W相比(todo):

AST分析流程优化:计划深度优化AST分析流程,使其更加契合QL(查询语言)的概念,为后续优化奠定基础。

辅助审计流程优化:将深度优化辅助审计流程,以更贴近人类安全研究员的审计习惯和辅助需求。

代码结构重构:致力于深度重构代码结构,确保工具的可拓展性和可优化性的开源理念。

安装方法

普通安装

首先需要安装依赖

pip install -r requirements.txt

进行配置文件迁移

cp Kunlun_M/settings.py.bak Kunlun_M/settings.py

初始化数据库,默认采用sqlite作为数据库

python kunlun.py init initialize

加载规则进数据库(每次修改规则文件都需要加载)

python kunlun.py config load

docker安装

通过docker安装,默认启动web模式

sudo docker build -t kunlun-m -f ./docker/Dockerfile .

配合链接同Mysql可以实现本地扫描,web端查看结果。

用法

CLI 模式

使用scan模式扫描各类源代码

python3 kunlun.py scan -t ./tests/vulnerabilities/

使用config模式加载本地的rule/tamper

加载rule进数据库  python3 kunlun.py config load将数据库中的rule恢复到文件  python3 kunlun.py config recover加载tamper进数据库  python3 kunlun.py config loadtamper将数据库中的tamper恢复到文件  python3 kunlun.py config retamper

使用show模式查看目前的所有rule/tamper

展示所有的rule  python3 kunlun.py show rule展示所有php的rule  python3 kunlun.py show rule -k php展示所有的tamper  python3 kunlun.py show tamper

使用不同子模式的-h可以查看详细的帮助文档。

Web 模式

KunLun-M Dashbroad,并且允许通过apitoken来访问api获取数据

默认9999端口

python3 .kunlun.py web -p 9999
Kunlun-Mirror源代码审计工具

修改中的api-token,通过?token={api_token}访问api获取数据KunLun-M/settings.py

# api profileAPI_TOKEN = "secret_api_token"

API 列表

task/list
查看task列表
task/<int:task_id>
查看task详细信息
task/<int:task_id>/result
查看task扫描结果
task/<int:task_id>/resultflow
查看task扫描结果流
task/<int:task_id>/newevilfunc
查看task扫描后生成的新恶意函数
rule/list
查看规则列表
rule/<int:rule_id>
查看规则细节

控制台模式

建议使用console模式

python3 kunlun.py console
_ __ _ ___ ___| | / / | | | / || |/ / _ _ _ __ | | _ _ _ __ | . . || | | | | '_ | | | | | | '_  _____| |/| || |  |_| | | | | |___| |_| | | | |_____| | | |_| _/__,_|_| |______/__,_|_| |_| _| |_/ -v2.0GitHub: https://github.com/LoRexxar/Kunlun-MKunLun-M is a static code analysis system that automates the detecting vulnerabilities and security issue.Global commands:help Print this help menuscan Enter the scan modeload <scan_id> Load Scan taskshowt Show all Scan task listshow [rule, tamper] <key> Show rules or tampersconfig [rule, tamper] <rule_id> | <tamper_name> Config mode for rule & tamperexit Exit KunLun-M & save ConfigKunLun-M (root) >

插件模式

phpUnserializeChain

一个自动化寻找php反序列化链的简单模型

如果是旧版本更新并使用该插件扫描同一目标,请使用-r参数renew数据库

python3 .kunlun.py plugin php_unserialize_chain_tools -t {target_path}
Kunlun-Mirror源代码审计工具
入口查找器

一个有趣的小工具,用于解决在审计大量的php代码时,快速发现存在可能的入口页面(或是开发者都遗漏的)。

python3 .kunlun.py plugin entrance_finder -t {target_path} -l 3
Kunlun-Mirror源代码审计工具

原文始发于微信公众号(泷羽Sec-Ceo):Kunlun-Mirror源代码审计工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月12日21:15:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Kunlun-Mirror源代码审计工具https://cn-sec.com/archives/3622953.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息