网络安全入门第一课:信息收集实战手册(2)
本文仅用于技术研究,禁止用于非法用途。
Author:枷锁
文章目录
- 一、端口信息收集
- 1. 端口简介
- 2. 常见端口介绍
- 3.端口扫描 (重点)—nmap
- 二、网站信息收集
- 1. 判断操作系统
- 2. 网站服务与容器类型
- 3. 脚本类型
- 4. 数据库类型
- 5. WAF识别
- 总结
以下为网络安全信息收集实战手册的第二部分:端口信息收集与网站信息收集的详细技术指南,结合实战工具与方法整理。
一、端口信息收集
1. 端口简介
端口是设备与外界通信的虚拟通道(范围:0-65535),分为三类:
- 知名端口(0-1023):如
80/HTTP
、443/HTTPS
。 - 注册端口(1024-49151):如
3306/MySQL
。 - 动态端口(49152-65535):临时分配给客户端程序。
2. 常见端口介绍
端口号 | 服务/协议 | 常见用途 | 风险等级 |
---|---|---|---|
21 | FTP | 文件传输(明文传输) | 高 |
22 | SSH | 安全远程管理 | 中 |
23 | Telnet | 远程登录(无加密) | 高 |
80 | HTTP | 网页访问 | 中 |
443 | HTTPS | 加密网页访问 | 低 |
3306 | MySQL | 数据库服务 | 高 |
3389 | RDP | Windows远程桌面 | 高 |
8080 | HTTP Proxy | 代理或备用HTTP服务 | 中 |
6379 | Redis | 内存数据库(常未授权访问) | 高危 |
27017 | MongoDB | NoSQL数据库 | 高 |
注:高风险端口若暴露在公网,易被用于爆破或未授权访问(如Redis、MySQL)。
3.端口扫描 (重点)—nmap
Nmap(Network Mapper)是一款开源的网络探测与安全审计工具,用于扫描主机发现、端口状态、服务版本及操作系统识别
-
主机发现(Host Discovery)
-sn
(Ping扫描):
仅探测存活主机,不扫描端口。适用于快速定位网段内活动设备。nmap -sn 192.168.1.0/24 # 扫描C段存活主机
- 原理:发送ICMP Echo请求、TCP SYN到443端口、ACK到80端口,任一响应即判定存活。
- ARP扫描(局域网专用):
速度极快,绕过IP层限制,但无法跨网段。nmap -PR 192.168.1.1 # ARP探测(仅限同一网段)
-
端口扫描(Port Scanning)
-sS
(SYN半开放扫描):- 原理:发送SYN包 → 若返回SYN+ACK则端口开放 → 立即发送RST终止连接(不建立完整TCP连接)。
- 优势:速度快、隐蔽性强(不触发应用层日志)。
- 命令:
nmap -sS -p 1-65535 目标IP # 全端口扫描
-sT
(TCP全连接扫描):- 原理:完成三次握手,适合无ROOT权限时使用,但易被日志记录。
-sU
(UDP扫描):- 用途:检测DNS(53)、DHCP(67/68)、SNMP(161)等UDP服务。
- 缺陷:速度慢(UDP无状态,需等待超时)。
nmap -sU -p 53,161 目标IP
-
服务与版本识别
-sV
(服务版本探测):- 原理:解析服务Banner、协议行为、默认端口等特征。
- 强度控制:
nmap -sV --version-intensity 9 目标IP # 最高强度(速度慢但精准) nmap -sV --version-light 目标IP # 快速模式(常用协议)
-
操作系统检测
-O
(OS指纹识别):- 分析TCP/IP堆栈响应(如TTL、窗口大小、序列号模式)匹配指纹库。
nmap -O 目标IP
二、扫描技术深度解析
扫描类型 | 命令 | 适用场景 | 隐蔽性 |
---|---|---|---|
SYN扫描 | -sS | 快速探测开放端口(需ROOT权限) | ⭐⭐⭐⭐ |
FIN/NULL/Xmas | -sF /-sN /-sX | 绕过无状态防火墙(仅Linux有效) | ⭐⭐⭐⭐⭐ |
ACK扫描 | -sA | 探测防火墙规则(开放端口返回RST) | ⭐⭐ |
空闲扫描 | -sI 僵尸机IP | 高度匿名(通过第三方主机反射扫描流量) | ⭐⭐⭐⭐⭐ |
注:
- 隐秘扫描(FIN/NULL/Xmas):向目标发送无ACK标志位的异常包,若返回RST则端口关闭,无响应则可能开放或被过滤。
- 空闲扫描:利用僵尸机的IP ID递增特性,通过其发送伪造包,避免暴露真实IP。
三、高级技巧与优化
-
绕过防火墙/IDS
- 分片包:
-f
将TCP头分割成多个小包,规避规则检测。 - 诱饵IP:
-D RND:5
使用5个随机IP作为诱饵,混淆真实扫描源。 - 速率控制:
nmap -T1 目标IP # 超低速扫描(规避阈值告警) nmap --max-rate 100 目标IP # 限制每秒100个包
- 分片包:
-
NSE脚本引擎(Nmap Scripting Engine)
- 漏洞扫描:
nmap --script vuln 目标IP # 调用漏洞检测脚本(如CVE-2024-*)
- 服务枚举:
nmap --script http-enum 目标IP # 枚举Web目录 nmap --script ftp-anon 目标IP # 检测FTP匿名登录
- 自定义脚本库:
ls /usr/share/nmap/scripts # 查看所有NSE脚本 nmap --script-updatedb # 更新脚本数据库
- 漏洞扫描:
四、实战扫描策略
红队渗透五步法:
- 存活主机发现:
nmap -sn 10.0.0.0/24 -oN hosts.txt
- 全端口扫描:
nmap -sS -p- --open -T4 目标IP -oA ports
- 关键服务深度探测:
nmap -sV -sC -O -p 80,443,22 目标IP -oA detail
- UDP服务扫描:
nmap -sU --top-ports 50 目标IP -oA udp_scan
- 漏洞利用:
nmap --script exploit-* 目标IP # 调用漏洞利用脚本
五、输出与文档管理
格式 | 命令 | 用途 |
---|---|---|
文本 | -oN result.txt | 人类可读,直接查看 |
XML | -oX result.xml | 导入漏洞管理系统(如Nessus) |
多格式归档 | -oA scan_results | 同时生成.txt/.xml/.gnmap文件 |
详细日志 | -v /-vv | 实时显示扫描进度(调试用) |
二、网站信息收集
1. 判断操作系统
通过ping判断
- TTL值分析:
- Windows默认TTL:
128
→ 响应TTL约120-130
。 - Linux默认TTL:
64
→ 响应TTL约50-70
。
- Windows默认TTL:
- HTTP响应头:
- Apache/Nginx:常见于Linux。
- IIS:明确指向Windows。
- Nmap扫描:
nmap -O 目标IP # 返回操作系统概率(如"Linux 3.X"或"Windows 10")。
- 大小写判断:
Windows大小写不敏感,Linux大小写敏感
2. 网站服务与容器类型
- 响应头特征:
- Apache:
Server: Apache/2.4.41 (Unix)
。 - Nginx:
Server: nginx/1.18.0
。 - IIS:
Server: Microsoft-IIS/10.0
。
- Apache:
- 工具识别:
- Wappalyzer(浏览器插件):自动检测Web框架、服务器类型。
- WhatWeb(命令行):
whatweb 目标URL # 返回服务器、CMS、JavaScript框架等。
3. 脚本类型
- 文件扩展名:
- PHP:
.php
、.php5
。 - ASP.NET:
.aspx
、.ashx
。 - JSP:
.jsp
、.do
。
- PHP:
- HTML特征:
- PHP:
<?php ... ?>
。 - ASP.NET:
<%@ Page ... %>
。
- PHP:
4. 数据库类型
- 默认端口:
- MySQL:
3306
。 - PostgreSQL:
5432
。 - MongoDB:
27017
。
- MySQL:
- 错误信息:
- MySQL:
You have an error in your SQL syntax
。 - SQL Server:
Microsoft SQL Native Client error
。
- MySQL:
- 连接字符串:
- 配置文件泄露(如
config.php
):可能包含数据库类型和凭据。
- 配置文件泄露(如
5. WAF识别
- 响应头检测:
- Cloudflare:
Server: cloudflare
、CF-RAY
字段。 - Akamai:
X-Akamai-Transformed
。
- Cloudflare:
- 工具探测:
- WafW00f:
wafw00f 目标URL # 返回WAF类型(如Cloudflare、Imperva)。
- WafW00f:
- 手工测试:
- 发送恶意请求(如
/etc/passwd
):- WAF拦截响应:
403 Forbidden
+ 特定错误页(如"Cloudflare Security Block")。
- WAF拦截响应:
- 发送恶意请求(如
总结
- 端口扫描:优先使用Nmap的
-sS
和-sV
快速获取服务信息,高危端口(如21、3389)需重点关注。 - 网站指纹:
- 操作系统 → TTL + HTTP头 + Nmap。
- 服务容器 → 响应头 + WhatWeb/Wappalyzer。
- 数据库/WAF → 端口 + 错误信息 + 专用工具(WafW00f)。
实战建议:
- 合法授权前提下扫描,避免触发安全警报。
- 结合多工具结果交叉验证(如Nmap+WhatWeb+WafW00f)。
宇宙级免责声明
🚨 重要声明:本文仅供合法授权下的安全研究与教育目的!🚨
1.合法授权:本文所述技术仅适用于已获得明确书面授权的目标或自己的靶场内系统。未经授权的渗透测试、漏洞扫描或暴力破解行为均属违法,可能导致法律后果(包括但不限于刑事指控、民事诉讼及巨额赔偿)。
2.道德约束:黑客精神的核心是建设而非破坏。请确保你的行为符合道德规范,仅用于提升系统安全性,而非恶意入侵、数据窃取或服务干扰。
3.风险自担:使用本文所述工具和技术时,你需自行承担所有风险。作者及发布平台不对任何滥用、误用或由此引发的法律问题负责。
4.合规性:确保你的测试符合当地及国际法律法规(如《计算机欺诈与滥用法案》(CFAA)、《通用数据保护条例》(GDPR)等)。必要时,咨询法律顾问。
5.最小影响原则:测试过程中应避免对目标系统造成破坏或服务中断。建议在非生产环境或沙箱环境中进行演练。
6.数据保护:不得访问、存储或泄露任何未授权的用户数据。如意外获取敏感信息,应立即报告相关方并删除。
7.免责范围:作者、平台及关联方明确拒绝承担因读者行为导致的任何直接、间接、附带或惩罚性损害责任。
🔐 安全研究的正确姿势:
✅ 先授权,再测试
✅ 只针对自己拥有或有权测试的系统
✅ 发现漏洞后,及时报告并协助修复
✅ 尊重隐私,不越界
⚠️ 警告:技术无善恶,人心有黑白。请明智选择你的道路。
希望这个教程对你有所帮助!记得负责任地进行安全测试。