代码审计-漏洞自动化检测思考

🌟 ❤️

作者:yueji0j1anke

首发于公号:剑客古月的安全屋

字数:1286

阅读时间:    15min

声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。合法渗透,本文章内容纯属虚构,如遇巧合,纯属意外


目录

  • 前言

  • 技术调研

  • SAST

  • IAST

  • 总结

0x01 前言

最近在学校负责一些web应用的安全建设落地,自然需要对代码做相关审计,于是对企业常规检测方法进行了调研学习,梳理出大致脉络,写下了这篇文章。


0x02 技术调研

代码审计-漏洞自动化检测思考

1.DAST

全称 动态应用程序安全测试,即模拟黑客行为对应用程序进行动态攻击,相当于黑盒测试,比如你用扫描器AWVS、appscan这些去扫描网站都算DAST

这里对于师傅们来说应该都很熟悉,在此略过不提


2.SAST

全称 静态应用安全测试,即分析源码、接口、结构、架构、所使用依赖等等来发现应用程序可能存在的漏洞,常见的比如说fortify、RIPS等,不同的工具适用的语言可能不同

后面将会着重进行案例演示


3.IAST

全称 交互式应用程序安全测试,即在服务端搭建agent程序,监视流量、数据传输,并进行相关代码定位,各大厂商都有相关的IAST产品,一般适配于企业级应用。后面会配合docker进行相关测试



0x03 SAST

既然讲自动化漏洞检测,自然就离不开工具,这里列举几款常用的语言及其工具

PHP:Seay RIPS CheckMarx Fortify VCG Kunlun-M

NET:VCG Fortify CheckMarx

Java:Fortify CheckMarx VCG

Python:Bandit Fortify CheckMarx

JS:Kunlun-M NodeJsScan Fortify CheckMarx

Go:Gosec CheckMarx


1.php + seay

项目源码: https://github.com/f1tz/cnseay

启动后直接新建项目导入即可

代码审计-漏洞自动化检测思考


2.JAVA + Fortify&code-Inspector

首先讲讲fortify

安装好后打开work auditbench

代码审计-漏洞自动化检测思考

代码审计-漏洞自动化检测思考

可以用网上相关脚本将产出报告等换成中文,准确率还是比较高


然后推荐code-inspector的原因是它的相关规则库写的真的超级好,缺点是只适用于JAVA,扫描的是jar

地址 https://github.com/4ra1n/code-inspector

启动gui界面后选择相关打包文件进行扫描即可

比如这边我们挑一个具备ssrf漏洞的jar包

代码审计-漏洞自动化检测思考

打开当前目录产出的html文件

代码审计-漏洞自动化检测思考

挑这个ssrf漏洞看看

反编译后打开controller层

代码审计-漏洞自动化检测思考

方法从请求中获取 url 参数,并从service层获取相关逻辑处理后返回

追入

代码审计-漏洞自动化检测思考

看到未对url参数进行任何过滤即发送请求并返回对应的请求结果

扫描结果还是颇为精确。


3.python + bandit

这个安装比较简单

pip install bandit

使用如下

bandit.exe -r 需要审计的源码目录

代码审计-漏洞自动化检测思考

代码审计-漏洞自动化检测思考


4.Go + gosec

本来想推荐trivy,但工具似乎不太受众于不开源的代码,不过可以扫描repo和镜像,有兴趣的师傅可以去玩玩

gosec地址 https://github.com/securego/gosec/releases/tag/v2.21.4


使用方法

gosec -exclude-dir=rules -exclude-dir=cmd ./.

这里放一个很久之前搭写过的ctf题在这里检验一下

大致效果如下

代码审计-漏洞自动化检测思考



0x04 IAST

对于交互式的安全测试,需要知道流量来源,有些通过爬虫的主动获取,有些则基于流量的被动接入。大部分的IAST设备都是通过流量的被动接入,设备跟安全厂商的SIP这些态势感知系统大差不差

代码审计-漏洞自动化检测思考

我这里试着使用了网上一款工具 试着对应用动态插桩

这里环境准备一台云主机即可

wget https://github.com/HXSecurity/DongTai/archive/refs/tags/v1.4.1.tar.gz

tar -xzvf DongTai.tar.gz

cd DongTai

./build_with_docker_compose.sh


代码审计-漏洞自动化检测思考

搭建完毕

随后按流程安装

代码审计-漏洞自动化检测思考

这里他就会自动检测组件(相当于SAST了)

我这里直接用本地应用去做的插桩

-javaagent:D:/xxxx/dongtai-agent.jar

代码审计-漏洞自动化检测思考



代码审计-漏洞自动化检测思考


这里他就会自动检测组件(相当于SAST了)

代码审计-漏洞自动化检测思考

打一下payload

代码审计-漏洞自动化检测思考




0x05 总结

java的代码审计专题总结算是彻底完结了,以后可能会出一些案例审计。后期将偏向于java一些native层的东西。


原文始发于微信公众号(剑客古月的安全屋):代码审计-漏洞自动化检测思考

版权声明:admin 发表于 2024年10月10日 下午3:56。
转载请注明:代码审计-漏洞自动化检测思考 | CTF导航

相关文章