
关于
为渗透测试实验室环境配置和测试常见网络服务(HTTP、HTTPS、SNMP、SMB)。支持服务枚举、日志分析和安全测试的实操练习。
name: network-101 description: "为渗透测试实验环境配置和测试常见网络服务(HTTP、HTTPS、SNMP、SMB)。支持服务枚举、日志分析和针对正确配置的目标系统进行安全测试的实践练习。" risk: unknown source: community author: zebbern date_added: "2026-02-27"
网络基础 101
目的
为渗透测试实验环境配置和测试常见网络服务(HTTP、HTTPS、SNMP、SMB)。支持服务枚举、日志分析和针对正确配置的目标系统进行安全测试的实践练习。
输入/前置条件
- 用于托管服务的 Windows Server 或 Linux 系统
- 用于测试的 Kali Linux 或类似系统
- 目标系统的管理员权限
- 基础网络知识(IP 寻址、端口)
- 端口配置的防火墙访问权限
输出/交付物
- 已配置的 HTTP/HTTPS Web 服务器
- 具有可访问社区字符串的 SNMP 服务
- 具有不同权限级别的 SMB 文件共享
- 用于分析的捕获日志
- 记录的枚举结果
核心工作流
1. 配置 HTTP 服务器(端口 80)
设置用于测试的基础 HTTP Web 服务器:
Windows IIS 设置:
- 打开 IIS 管理器(Internet Information Services)
- 右键点击站点 → 添加网站
- 配置站点名称和物理路径
- 绑定到 IP 地址和端口 80
Linux Apache 设置:
# 安装 Apache
sudo apt update && sudo apt install apache2
# 启动服务
sudo systemctl start apache2
sudo systemctl enable apache2
# 创建测试页面
echo "<html><body><h1>Test Page</h1></body></html>" | sudo tee /var/www/html/index.html
# 验证服务
curl http://localhost
配置 HTTP 防火墙:
# Linux (UFW)
sudo ufw allow 80/tcp
# Windows PowerShell
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
2. 配置 HTTPS 服务器(端口 443)
设置带 SSL/TLS 的安全 HTTPS:
生成自签名证书:
# Linux - 生成证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/apache-selfsigned.key \
-out /etc/ssl/certs/apache-selfsigned.crt
# 启用 SSL 模块
sudo a2enmod ssl
sudo systemctl restart apache2
配置 Apache 的 HTTPS:
# 编辑 SSL 虚拟主机
sudo nano /etc/apache2/sites-available/default-ssl.conf
# 启用站点
sudo a2ensite default-ssl
sudo systemctl reload apache2
验证 HTTPS 设置:
# 检查端口 443 是否开放
nmap -p 443 192.168.1.1
# 测试 SSL 连接
openssl s_client -connect 192.168.1.1:443
# 检查证书
curl -kv https://192.168.1.1
3. 配置 SNMP 服务(端口 161)
设置 SNMP 用于枚举练习:
Linux SNMP 设置:
# 安装 SNMP 守护进程
sudo apt install snmpd snmp
# 配置社区字符串
sudo nano /etc/snmp/snmpd.conf
# 添加以下行:
# rocommunity public
# rwcommunity private
# 重启服务
sudo systemctl restart snmpd
Windows SNMP 设置:
- 打开服务器管理器 → 添加功能
- 选择 SNMP 服务
- 在服务 → SNMP 服务 → 属性中配置社区字符串
SNMP 枚举命令:
# 基础 SNMP walk
snmpwalk -c public -v1 192.168.1.1
# 枚举系统信息
snmpwalk -c public -v1 192.168.1.1 1.3.6.1.2.1.1
# 获取运行进程
snmpwalk -c public -v1 192.168.1.1 1.3.6.1.2.1.25.4.2.1.2
# SNMP 检查工具
snmp-check 192.168.1.1 -c public
# 暴力破解社区字符串
onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt 192.168.1.1
4. 配置 SMB 服务(端口 445)
设置 SMB 文件共享用于枚举:
Windows SMB 共享:
- 创建要共享的文件夹
- 右键点击 → 属性 → 共享 → 高级共享
- 启用共享并设置权限
- 配置 NTFS 权限
Linux Samba 设置:
# 安装 Samba
sudo apt install samba
# 创建共享目录
sudo mkdir -p /srv/samba/share
sudo chmod 777 /srv/samba/share
# 配置 Samba
sudo nano /etc/samba/smb.conf
# 添加共享:
# [public]
# path = /srv/samba/share
# browsable = yes
# guest ok = yes
# read only = no
# 重启服务
sudo systemctl restart smbd
SMB 枚举命令:
# 匿名列出共享
smbclient -L //192.168.1.1 -N
# 连接到共享
smbclient //192.168.1.1/share -N
# 使用 smbmap 枚举
smbmap -H 192.168.1.1
# 完整枚举
enum4linux -a 192.168.1.1
# 检查漏洞
nmap --script smb-vuln* 192.168.1.1
5. 分析服务日志
审查日志进行安全分析:
HTTP/HTTPS 日志:
# Apache 访问日志
sudo tail -f /var/log/apache2/access.log
# Apache 错误日志
sudo tail -f /var/log/apache2/error.log
# Windows IIS 日志
# 位置:C:\inetpub\logs\LogFiles\W3SVC1\
解析日志中的凭据:
# 搜索 POST 请求
grep "POST" /var/log/apache2/access.log
# 提取用户代理
awk '{print $12}' /var/log/apache2/access.log | sort | uniq -c | sort -rn
兼容工具
Claude CodeCursor
标签
安全
