# SSH测试环境 这是一个专门为fscan工具SSH插件设计的Docker测试环境,包含多个测试用户和弱密码配置。 ## ⚠️ 安全警告 **此测试环境包含多个安全漏洞和弱密码,仅供测试使用,切勿在生产环境中使用!** ## 环境组成 ### 测试用户账户 #### 管理员账户(具有sudo权限) - `root:password` - 系统root用户 - `root2:password` - 额外的root级别用户 - `admin:123456` - 管理员用户 - `test:test123` - 测试管理员用户 #### 普通用户账户 - `user:user` - 普通用户 - `guest:guest` - 受限用户(启用chroot) - `web:web123` - Web服务用户 - `service:service123` - 服务用户 #### 数据库相关用户 - `oracle:oracle` - Oracle数据库用户 - `mysql:mysql` - MySQL数据库用户 - `postgres:postgres` - PostgreSQL数据库用户 - `redis:redis123` - Redis用户 - `mongodb:mongo123` - MongoDB用户 #### 系统服务用户 - `ftp:ftp` - FTP服务用户 - `anonymous` - 无密码用户(极不安全) ## 快速开始 ### 1. 启动测试环境 ```bash # 进入测试目录 cd test/ssh-test-env # 构建并启动容器 docker-compose up -d # 查看容器状态 docker-compose ps # 查看容器日志 docker-compose logs ssh-test-server ``` ### 2. 测试连接 ```bash # 基本SSH连接测试(端口2222映射到容器的22端口) ssh root@localhost -p 2222 # 密码: password # 使用其他用户测试 ssh admin@localhost -p 2222 # 密码: 123456 ssh test@localhost -p 2222 # 密码: test123 ``` ### 3. 使用fscan测试 ```bash # 测试单个IP的SSH服务 ./fscan -h 127.0.0.1:2222 -m ssh # 测试SSH暴力破解 ./fscan -h 127.0.0.1:2222 -m ssh -pwdf passwords.txt # 测试特定用户 ./fscan -h 127.0.0.1:2222 -m ssh -user admin -pwd 123456 ``` ### 4. 高级测试场景 #### 测试弱密码检测 fscan应该能够检测到以下弱密码组合: - root/password - admin/123456 - test/test123 - user/user - guest/guest - oracle/oracle - mysql/mysql - postgres/postgres #### 测试连接超时和重试 ```bash # 测试连接超时设置 ./fscan -h 127.0.0.1:2222 -m ssh -timeout 5 # 测试多线程扫描 ./fscan -h 127.0.0.1:2222 -m ssh -t 10 ``` #### 测试用户枚举 ```bash # 测试是否能正确识别存在的用户 ./fscan -h 127.0.0.1:2222 -m ssh -user root,admin,test,nonexistent ``` ## 环境配置详情 ### SSH服务配置特点 - **端口**: 22 (容器内) / 2222 (主机映射) - **密码认证**: 已启用 - **Root登录**: 已启用 - **空密码**: 对anonymous用户启用 - **最大认证尝试**: 6次 - **连接超时**: 60秒 ### 网络配置 - **网络**: 172.20.0.0/24 - **容器名**: fscan-ssh-test - **健康检查**: 每10秒检查SSH端口22 ## 管理命令 ### 环境控制 ```bash # 启动环境 docker-compose up -d # 停止环境 docker-compose down # 重启环境 docker-compose restart # 查看实时日志 docker-compose logs -f ssh-test-server # 进入容器shell docker exec -it fscan-ssh-test bash ``` ### 清理环境 ```bash # 停止并删除容器、网络 docker-compose down # 清理所有相关资源 docker-compose down -v --rmi all ``` ## 故障排除 ### 端口冲突 如果端口2222已被占用,修改`docker-compose.yml`中的端口映射: ```yaml ports: - "2223:22" # 改为其他可用端口 ``` ### SSH连接被拒绝 1. 确认容器正在运行:`docker-compose ps` 2. 检查健康状态:`docker-compose logs ssh-test-server` 3. 验证端口映射:`docker port fscan-ssh-test` ### 权限问题 ```bash # 确保脚本具有执行权限 chmod +x scripts/start-ssh.sh # 重新构建容器 docker-compose build --no-cache ssh-test-server ``` ## 测试建议 1. **逐步测试**: 先测试单个用户连接,再测试批量扫描 2. **日志监控**: 实时监控SSH服务日志了解fscan行为 3. **性能测试**: 测试不同线程数对扫描性能的影响 4. **边界测试**: 测试无效IP、关闭的端口等边界情况 ## 安全提醒 - 此环境仅用于测试目的 - 不要将此环境暴露到公网 - 测试完成后及时清理环境 - 不要在生产网络中运行此配置