freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

洞态IAST安装使用
2021-09-02 23:35:07
所属地 广东省

这两天火线的洞态IAST开源发布,刚好最近对IAST对一块感兴趣,所以按照文档操作了一遍,以及踩了一下坑。

安装

首先安装java环境和docker环境。

[root@localhost ~]# yum install -y  epel-release
[root@localhost ~]# yum install -y docker docker-compose java java-1.8.0-openjdk*

接着,下载tomcat。

[root@localhost opt]# wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz

[root@localhost opt]# tar xvf apache-tomcat-8.5.70.tar.gz
[root@localhost opt]# mv apache-tomcat-8.5.70 tomcat

启动docker服务

[root@localhost DongTai]# service docker start

下载洞态最新分支

[root@localhost opt]# git clone https://github.com/HXSecurity/DongTai.git -b release-1.0.3

我一开始部署是按照官方文档的docker-compose启动,发现有问题,于是自己摸索了部署方法。(可能官方后续会完善部署方法)

首先,不使用build_with_docker_compose.sh脚本,直接运行构建脚本build_with_source.sh

[root@localhost DongTai]# ./build_with_source.sh
[+] 开始初始化服务及配置,当前系统:Linux
[+] 输入服务器IP地址:192.168.0.5

但是会发现openapi是构建不了的,缺少了一些jar包,这个可以自己编译

1630584764_6130bfbc89a81bbc2758a.png!small?1630584765769

最后构建完成的镜像是缺少openapi。

1630585102_6130c10e6cccbb25955cf.png!small?1630585103649

openapi这个镜像的下载是需要登录的,登录的密码自己在文件夹找,我就不写上来。

[root@localhost DongTai]# docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/dongtai-openapi:1.0.3

复制测试的配置文件到/opt目录。

cp deploy/docker-compose/config-tutorial.ini /opt/

运行dongtai-openapi服务,将网络设置成为同一个洞态网络。

[root@localhost DongTai]# docker run -itd -p 8000:8000 --network dongtai-net -v /opt/config-tutorial.ini:/opt/dongtai/openapi/conf/config.ini  registry.cn-beijing.aliyuncs.com/huoxian_pub/dongtai-openapi:1.0.3
7e0cb891a03eaa64f5107ee1f2cfe969161c82e8ed53097fa88d10230d9ec37df

下载openrasp测试用例,用来做漏洞测试。

wget https://packages.baidu.com/app/openrasp/testcases/vulns.war

后面会发现下载的openapi会是500错误(偶发性),我就直接把他镜像的jar包拖出来,重新docker build。

[root@localhost dongtai-openapi]# ls /var/lib/docker/overlay2/0f7cb0eb1bf71efaf898f62749dda6b3c3fabec22029bbed8fdbd0e91b82ef80/merged/tmp/iast_cache/package/  
dongtai-servlet.jar  iast-agent.jar       iast-core.jar        iast-inject.jar 

重新运行这个build_with_source.sh脚本就可以了。

使用

打开浏览器访问80端口就可以看到页面。

1630585518_6130c2aec5d32df9c92f3.png!small?1630585520170

输入默认账号和密码:admin/admin,登录进去。点击部署IAST,会提示配置openapi。

1630585676_6130c34cc34eb8a580a53.png!small?1630585678022

来到系统配置,点击服务注册,输入8000端口,点击保存。

1630585746_6130c39267f183c3264e5.png!small?1630585747600

再次点击IAST部署,会来到agent部署目录。

1630585779_6130c3b3641cf94c87e6f.png!small?1630585780764

把openrasp漏洞靶场移动到tomcat的web目录。

[root@localhost opt]# mv vulns.war /opt/tomcat/webapps/

测试发现,自动安装不响应以及重启tomcat会失效,就不整这些花里胡哨,选择手动安装。

下载agent.jar。

[root@localhost opt]# curl -X GET "http://192.168.0.5:8000/api/v1/agent/download?url=http://192.168.0.5:8000&language=java" -H 'Authorization: Token 295f534533a7172291c632a2296f65d4f2b26949' -o agent.jar -k

进入tomcat主目录,找到bin/catalina.sh文件,在文件第二行增加如下配置:

CATALINA_OPTS="-javaagent:/opt/agent.jar"

启动tomcat服务。

[root@localhost bin]# ./catalina.sh start
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   -javaagent:/opt/agent.jar
Tomcat started.

新建一个项目。

1630586116_6130c5046b01bc9315aca.png!small?1630586117620

选择agent

1630588216_6130cd38d274416fbf888.png!small?1630588218057

点击项目配置,可以看到test项目的信息。

1630588257_6130cd61284af0373eae6.png!small?1630588258363

点击组件管理,可以看到当前组件版本,以及是否存在安全风险。

1630588308_6130cd94cb33d4a3f1a48.png!small?1630588310031

点击系统配置,就可以看到agent上线。

1630588632_6130ced842c82d9096f04.png!small?1630588633489

访问测试用例

1630588387_6130cde39a2c481f1acaf.png!small?1630588389883

点击遍历目录。

1630588448_6130ce20a860d9ee1275f.png!small?1630588449823

发现单纯输入reports参数内容之后,洞态就检测到存在目录遍历漏洞。如果不输入攻击语句就知道漏洞的话,这还真不存在脏数据的问题???

1630588498_6130ce522bb07226b2565.png!small?1630588499341

可以看到漏洞的具体信息。

1630588513_6130ce614b62ce6b565cd.png!small?1630588514706

可以看到污点流图。

1630588525_6130ce6d4c84b83a743d8.png!small?1630588526618

其他的例子,你们可以自己去测试。

对于java代码打包成jar包的,洞态这边也支持,直接加上-javaagent即可。使用webgoat7.1版本进行测试

java -javaagent:/opt/agent.jar -jar webgoat-container-7.1-exec.jar

洞态提供漏洞验证功能,不用自己去复测。

1630597906_6130f3120c5588d16cb83.png!small?1630597907561

1630598516_6130f574538266b745806.png!small?1630598517619

我在文档看到支持django,于是按照文档进行操作。

1630591326_6130d95e5ecbc7606ddfc.png!small?1630591327699

写一个SQL注入漏洞的接口用来做测试。

1630591628_6130da8c518e41671683f.png!small?1630591629539

启动django,提示监控状态。

1630591750_6130db0625790df6b6884.png!small?1630591751335

但是发现访问记录和漏洞记录都没有上传,这块就跳过了。

1630596227_6130ec83571dc9f7b0848.png!small?1630596228604

1630596240_6130ec90c23417240cd21.png!small?1630596241963

PS:

看完这篇文章的之后,麻烦帮我star一下GitHub《SIEM部署指南》这本书,谢谢~

书的链接地址:https://wushang0l.gitbook.io/siem/
GitHub地址:https://github.com/yingshang/siemBook



# iAST
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录