用途
Network 101 用于在渗透测试实验环境中配置和测试常见网络服务(HTTP、HTTPS、SNMP、SMB),以便进行服务枚举、日志分析和安全测试的动手练习。
主要能力
- 配置 HTTP 服务器(端口 80),支持 Windows IIS 和 Linux Apache。
- 配置 HTTPS 服务器(端口 443),包括生成自签名证书和配置 SSL/TLS。
- 配置 SNMP 服务(端口 161),设置 community strings 并支持枚举。
- 配置 SMB 文件共享(端口 445),支持不同权限级别。
- 提供常用枚举工具和命令,如 nmap、nikto、snmpwalk、enum4linux、smbclient、gobuster。
- 分析服务日志,包括 Apache 访问/错误日志和 Windows IIS 日志。
使用方式
技能以工作流形式组织,包含以下步骤:
- 配置 HTTP 服务器(端口 80):Windows 使用 IIS 管理器添加网站并绑定端口;Linux 使用 Apache,通过 apt 安装、启动服务、创建测试页面,并配置防火墙允许 80/tcp。
- 配置 HTTPS 服务器(端口 443):使用 openssl 生成自签名证书,启用 Apache SSL 模块,配置 SSL 虚拟主机,并通过 nmap、openssl s_client、curl 验证。
- 配置 SNMP 服务(端口 161):Linux 安装 snmpd 和 snmp,编辑 /etc/snmp/snmpd.conf 添加 community strings;Windows 通过服务器管理器添加 SNMP 服务。使用 snmpwalk、snmp-check、onesixtyone 进行枚举。
- 配置 SMB 服务(端口 445):Windows 通过共享设置配置;Linux 安装 Samba,编辑 /etc/samba/smb.conf 添加共享。使用 smbclient、smbmap、enum4linux、nmap 脚本进行枚举。
- 分析服务日志:查看 Apache 访问/错误日志,解析 POST 请求和用户代理,Windows IIS 日志位于 C:\inetpub\logs\LogFiles\W3SVC1\。
适用场景
- 渗透测试实验室环境搭建。
- 网络服务枚举与安全测试练习。
- 日志分析与凭证提取练习。
- 学习常见网络服务的配置与验证。
限制
- 自签名证书会触发浏览器警告。
- SNMP v1/v2c community strings 以明文传输。
- 匿名 SMB 访问通常默认禁用。
- 防火墙规则必须允许入站连接。
- 实验环境应与生产环境隔离。
- 需要管理员权限访问目标系统。
- 需要基本网络知识(IP 地址、端口)。
快速参考
常用端口
| 服务 |
端口 |
协议 |
| HTTP |
80 |
TCP |
| HTTPS |
443 |
TCP |
| SNMP |
161 |
UDP |
| SMB |
445 |
TCP |
| NetBIOS |
137-139 |
TCP/UDP |
服务验证命令
# 检查 HTTP
curl -I http://target
# 检查 HTTPS
curl -kI https://target
# 检查 SNMP
snmpwalk -c public -v1 target
# 检查 SMB
smbclient -L //target -N
常用枚举工具
| 工具 |
用途 |
| nmap |
端口扫描和脚本 |
| nikto |
Web 漏洞扫描 |
| snmpwalk |
SNMP 枚举 |
| enum4linux |
SMB/NetBIOS 枚举 |
| smbclient |
SMB 连接 |
| gobuster |
目录暴力破解 |
故障排除
| 问题 |
解决方案 |
| 端口无法访问 |
检查防火墙规则(ufw、iptables、Windows 防火墙) |
| 服务未启动 |
使用 journalctl -u service-name 检查日志 |
| SNMP 超时 |
验证 UDP 161 是否开放,检查 community string |
| SMB 访问被拒绝 |
验证共享权限和用户凭证 |
| HTTPS 证书错误 |
接受自签名证书或添加到信任存储 |
| 无法远程连接 |
将服务绑定到 0.0.0.0 而非 localhost |