欢迎光临
我们一直在努力

网络安全的傻瓜式信息收集 - 上集

前言

本教程专为网络安全初学者设计,采用最详细的"傻瓜式"操作步骤,确保零基础用户也能完全看懂并实际操作。所有内容均以实践为导向,包含操作流程、注意事项、常见错误分析和解决方法,以及对应的防御措施。

因为内容较多,建议    1、逐步学习,2、个别技术点有困惑时,及时查询,再继续往下。


第一章 域名信息收集

1.1 Whois查询

工具详细解释

● whois命令:Linux/Windows系统自带的WHOIS查询工具

● 功能作用:直接在命令行中查询域名注册信息

● 使用方法:

win+R  输入 cmd ,启动windows自带的命令行

whois example.com (目标网站,根据情况修改)

注意事项

● 不同注册商返回的信息格式可能不同

● 部分信息可能被隐私保护服务隐藏

常见错误及解决

● 错误:查询结果为空

● 解决:检查域名拼写,尝试其他WHOIS服务器

工具准备:

● 在线Whois查询网站: https://whois.domaintools.com/ 

● 命令行工具:Windows自带的命令提示符 

● 备用工具: https://who.is、https://www.whois.com/ 

详细操作步骤:

1. 打开浏览器,访问  https://whois.domaintools.com/ 

2. 在搜索框中输入目标域名(例如:example.com)

3. 点击"Whois Lookup"按钮

4. 等待查询结果加载完成

5. 仔细查看返回的信息,重点关注:

○ 域名注册人姓名

○ 注册人邮箱地址

○ 域名注册商

○ 域名创建日期和过期日期

○ 域名服务器(DNS)

6. 可点击“Raw Whois”查看原始数据,进一步挖掘隐藏信息

7. 记录关键时间节点,用于判断域名生命周期风险

注意事项:

● 部分域名启用了隐私保护,可能看不到真实注册信息

● 不同国家的域名注册信息格式可能略有不同

● 避免频繁查询同一域名,以免被网站封禁IP

● 注意区分国际域名(.com/.net)与国别域名(.cn/.uk)的信息结构差异

常见错误分析:

1. 错误:查询结果为空

○ 原因:域名不存在或输入错误

○ 解决:检查域名拼写,确认域名是否有效,尝试使用其他Whois平台交叉验证

2. 错误:显示"请求过于频繁"

○ 原因:短时间内查询次数过多,触发平台防护机制

○ 解决:等待10-15分钟后再试,或更换网络环境(如切换Wi-Fi/有线),也可使用代理工具降低频率

防御措施

详细防御步骤:

1. 启用域名隐私保护

○ 登录域名注册商管理后台(如阿里云、腾讯云、GoDaddy)

○ 找到域名管理页面

○ 选择需要保护的域名

○ 开启"隐私保护"或"WHOIS隐私"功能

○ 确认开启并支付相关费用(通常免费或少量费用)

○ 验证是否生效:通过外部Whois工具再次查询,确认显示为代理信息

2. 使用隐私邮箱

○ 注册时使用专门的隐私保护邮箱(如注册商提供的转发邮箱)

○ 避免使用个人真实邮箱或企业主邮箱

○ 定期检查并更新联系方式,防止因过期导致域名被回收

3. 定期检查Whois信息

○ 每月登录注册商后台检查一次

○ 确认隐私保护功能处于开启状态

○ 及时更新过期信息,确保域名续费和管理不受影响

4. 设置域名锁

○ 启用“注册局锁”或“域名转移锁”,防止未经授权的转移操作

防御注意事项:

● 确保隐私保护功能已生效,可通过在线工具验证

● 定期更换管理密码,使用强密码(至少12位,含大小写、数字、符号)

● 不要在公开平台泄露域名管理账号信息

● 注意隐私保护服务的有效期,部分服务商需手动续期

防御常见错误:

1. 错误:忘记开启隐私保护

○ 风险:真实信息暴露在Whois查询中,易遭钓鱼、社工攻击

○ 解决:立即登录注册商后台开启该功能,并追溯是否有信息泄露记录

2. 错误:使用个人邮箱注册

○ 风险:邮箱地址被收集用于钓鱼攻击或撞库

○ 解决:更换为专门的业务邮箱,并设置强密码和二次验证


1.2 DNS信息收集

收集方法

工具准备:

● nslookup命令(Windows/macOS/Linux自带) 域名查询工具

● dig命令(Linux/macOS自带,Windows需安装)功能更强大的DNS查询工具

● 图形化工具:DNSQuerySniffer、Wireshark

详细操作步骤:

1. 打开命令提示符(Windows按Win+R,输入cmd)

2. 输入命令:nslookup example.com

3. 查看返回结果,重点关注:

○ 域名服务器(DNS Server)

○ IP地址(Address)

○ 邮件服务器(MX记录)

○ 名称服务器(NS记录)

4. 查询特定记录类型:

○ 查询MX记录:nslookup -type=mx example.com

○ 查询NS记录:nslookup -type=ns example.com

○ 查询TXT记录:nslookup -type=txt example.com

○ 查询SOA记录:nslookup -type=soa example.com

5. 尝试区域传输测试(仅限授权测试):

nslookup -type=any example.com @ns1.example.com

注意事项:

● 部分DNS服务器可能限制查询频率或禁止区域传输

● 确保网络连接正常,DNS解析通畅

● 不同操作系统的命令输出格式可能略有差异

● 区域传输测试仅在获得明确授权时进行,避免误判为攻击行为

防御措施

详细防御步骤:

1. 配置DNSSEC

○ 登录域名注册商管理后台

○ 找到DNSSEC设置选项

○ 生成DS记录并提交给注册商

○ 启用DNSSEC验证功能,防止DNS欺骗和缓存污染

2. 限制DNS查询

○ 在DNS服务器配置中设置查询频率限制(如BIND的rate-limiting)

○ 只允许授权的IP地址进行区域传输(AXFR/IXFR)

○ 禁用递归查询对公网开放,防止被用作放大攻击跳板

○ 定期检查DNS日志,发现异常查询及时处理

3. 隐藏内部信息

○ 避免在DNS记录中暴露内部网络结构(如db-server、admin-pc等命名)

○ 使用通用的主机名,避免使用敏感词汇

○ 定期审查DNS记录,删除不必要的信息

○ 对内部DNS与外部DNS进行分离,实施视图(Split-DNS)策略

防御注意事项:

● DNSSEC配置复杂,建议由专业人员操作,错误配置可能导致解析失败

● 过度限制可能影响正常业务访问,需平衡安全与可用性

● 定期测试DNS配置的正确性,确保解析稳定

● 使用权威DNS服务商时,确认其是否提供自动DNSSEC支持


第二章 网络扫描

2.1 主机发现

收集方法

工具准备:

● Nmap: https://nmap.org/download.html 

● Advanced IP Scanner: https://www.advanced-ip-scanner.com/ 

● Fing(移动端): https://www.fing.com/ 

详细操作步骤(使用Nmap):

  

详细操作步骤(使用Advanced IP Scanner):

1. 下载并安装Advanced IP Scanner

2. 打开软件,点击"扫描"按钮

3. 软件会自动扫描局域网内的所有设备

4. 扫描完成后,查看设备列表,包括IP地址、MAC地址、设备名称、厂商信息等

5. 可导出为CSV或HTML格式用于后续分析

注意事项:

● 扫描前确保有合法授权,避免法律风险

● 避免在生产环境中进行大规模扫描,防止影响关键业务

● 注意扫描可能产生的网络流量,尤其是ICMP和ARP广播

● 移动端可使用Fing进行快速扫描,适合现场排查

防御措施

详细防御步骤:

1. 配置防火墙规则

○ 打开Windows防火墙设置或企业级防火墙(如Cisco ASA、FortiGate)

○ 点击"高级设置"

○ 在"入站规则"中新建规则

○ 选择"自定义"规则类型

○ 设置阻止ICMPv4和ICMPv6请求(可选择性关闭Echo Reply)

○ 应用规则到所有网络类型(域、专用、公用)

○ 对非必要端口关闭响应

2. 启用IDS/IPS系统

○ 安装Suricata或Snort等入侵检测系统

○ 配置规则库,启用扫描检测规则(如GPL scan rules)

○ 设置告警和自动阻断功能(如配合pfSense或Security Onion)

○ 定期更新规则库,订阅Emerging Threats等开源规则源

3. 网络分段

○ 将网络划分为多个子网(如办公网、服务器区、IoT设备区)

○ 在子网之间设置访问控制列表(ACL)

○ 限制不同部门之间的直接访问,实施最小权限原则

○ 使用VLAN技术隔离广播域,配合802.1X认证增强安全性

防御注意事项:

● 防火墙配置错误可能导致业务中断,建议先在测试环境验证

● IDS/IPS需要定期维护和调优,避免误报过多导致“告警疲劳”

● 网络分段会增加管理复杂度,需配套使用集中管理平台

● 建议启用日志审计与SIEM系统进行关联分析

防御常见错误:

1. 错误:防火墙规则配置错误

○ 风险:合法业务被阻断,影响工作效率

○ 解决:先在测试环境验证,逐步上线,保留回滚方案

2. 错误:IDS规则过于敏感

○ 风险:产生大量误报,掩盖真实威胁

○ 解决:根据实际环境调整规则灵敏度,关闭非相关规则


2.2 端口扫描

收集方法

工具准备:

● Nmap(同上)

● Angry IP Scanner: https://angryip.org/ 

● Masscan(高速扫描): https://github.com/robertdavidgraham/masscan 

详细操作步骤:

1. 打开命令提示符

2. 输入命令:nmap -p 1-1000 192.168.1.1

○ -p参数指定扫描的端口范围

○ 1-1000表示扫描1到1000号端口

○ 192.168.1.1是目标IP地址

3. 可升级为全端口扫描:nmap -p- 192.168.1.1

4. 使用SYN扫描(隐蔽性更高):sudo nmap -sS -p 1-1000 192.168.1.1

5. 等待扫描完成,查看开放端口列表

6. 分析端口对应的服务(如22端口对应SSH,80端口对应HTTP,443对应HTTPS)

7. 导出结果:nmap -p 1-1000 192.168.1.1 -oX scan.xml

注意事项:

● 扫描速度不宜过快,避免触发防御机制(可使用–max-rate 100限制速率)

● 注意扫描可能被目标系统记录(防火墙、HIDS)

● 扫描结果需要结合实际情况分析,避免误判

● 使用Masscan时注意其不进行服务识别,需配合Nmap使用

防御措施

1. 关闭不必要的端口

○ 在Windows中:打开"服务"管理器,停止不需要的服务(如Print Spooler、Remote Registry)

○ 在Linux中:使用systemctl disable [服务名]命令禁用服务

○ 定期检查开放端口:netstat -an | find "LISTEN"(Windows)或netstat -tuln(Linux)

○ 使用lsof -i :端口号定位具体进程

2. 配置端口过滤

○ 在防火墙中设置只允许必要的端口通信

○ 例如:只允许80、443端口对外服务

○ 阻止所有其他入站连接,实施默认拒绝策略

○ 对管理端口(如22、3389)限制源IP访问

3. 使用端口敲门技术

○ 安装PortKicker等端口敲门软件

○ 配置敲门序列,只有正确敲门才能访问特定端口(如先发SYN到2222,再开22端口)

○ 定期更换敲门序列,防止被暴力破解

○ 结合fail2ban实现自动封禁

防御注意事项:

● 关闭端口前确保不影响正常业务,与相关部门确认

● 防火墙规则需要定期审查,删除冗余规则

● 端口敲门技术可能影响用户体验,建议用于高安全场景

● 所有防御措施应形成文档,便于审计与交接


第三章 服务识别

3.1 操作系统识别

收集方法

详细操作步骤:

1. 使用Nmap进行操作系统识别

2. 输入命令:nmap -O 192.168.1.1

○ -O参数启用操作系统识别功能

○ Nmap会通过分析TCP/IP协议栈的特征来识别操作系统

3. 查看扫描结果中的"OS details"部分

4. 注意识别结果的准确性(通常会给出多个可能的操作系统)

5. 可添加–osscan-guess增强识别能力

6. 结合TTL、窗口大小、TCP选项等特征进行人工辅助判断

注意事项:

● 操作系统识别不是100%准确,受防火墙、NAT、中间设备影响

● 部分系统可能伪装或修改协议栈特征(如Windows防火墙启用后行为变化)

● 扫描结果需要结合其他信息验证(如开放端口、服务版本)

● 避免对关键系统频繁扫描,防止引发异常

防御措施

1. 修改协议栈特征

○ 在Windows中:修改注册表HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters

○ 添加或修改以下键值:

■ DefaultTTL:修改TTL值(如改为64或128)

■ EnablePMTUDiscovery:禁用路径MTU发现(设为0)

■ TcpMaxConnectBacklog:修改连接队列长度

■ DisableIPSourceRouting:禁用源路由(设为2)

2. 使用协议栈混淆技术

○ 安装专门的协议栈混淆软件(如iptables + TPROXY、或专用防火墙规则)

○ 随机化TCP初始序列号(ISN)

○ 修改TCP窗口大小特征,避免典型值

○ 伪装成其他操作系统的协议特征(如模拟Linux响应)

3. 定期更新系统

○ 及时安装操作系统补丁

○ 更新网络协议栈实现

○ 关注安全公告,修复已知漏洞

○ 对虚拟化环境同步更新Hypervisor层

防御注意事项:

● 协议栈修改可能影响网络性能或兼容性,需充分测试

● 混淆技术可能导致某些应用异常(如VoIP、视频会议)

● 需要专业人员操作,避免配置错误导致断网

● 建议在非生产环境先行验证


3.2 服务版本识别

收集方法

详细操作步骤:

1. 使用Nmap识别服务版本

2. 输入命令:nmap -sV 192.168.1.1

○ -sV参数启用服务版本探测

○ Nmap会尝试连接开放端口,获取服务版本信息

3. 查看扫描结果中的"Version"列

4. 分析服务版本是否存在已知漏洞(结合CVE数据库)

5. 可使用–version-all强制探测所有端口,提高识别率

6. 导出结果用于漏洞管理平台导入

注意事项:

● 版本识别可能触发服务异常(如脆弱服务崩溃)

● 部分服务会隐藏版本信息(如Nginx默认不显示)

● 需要结合漏洞数据库(如NVD、Exploit-DB)进行分析

● 注意扫描频率,避免被IDS/IPS捕获

防御措施

1. 隐藏服务版本信息

○ Web服务器(Apache/Nginx):修改配置文件,关闭版本显示

■ Apache:在httpd.conf中添加ServerTokens Prod 和 ServerSignature Off

■ Nginx:在nginx.conf中添加server_tokens off;

○ 数据库服务:修改配置,禁止远程版本查询(如MySQL的version_comment)

○ 应用服务:在响应头中移除X-Powered-By、X-AspNet-Version等字段

○ 使用反向代理隐藏后端真实信息

2. 及时更新服务软件

○ 建立软件版本管理清单(CMDB)

○ 订阅安全公告(如厂商邮件列表、RSS)

○ 制定更新计划,定期升级服务版本

○ 对关键服务实施灰度发布

3. 使用WAF保护

○ 部署Web应用防火墙(如ModSecurity、Cloudflare、AWS WAF)

○ 配置规则阻止版本信息泄露(如拦截/server-info、/version等路径)

○ 启用异常请求检测功能,识别扫描行为

○ 定期审计WAF日志,优化规则

防御注意事项:

● 版本更新前需要充分测试兼容性,避免业务中断

● 隐藏版本信息不能替代真正的安全防护,仅作为纵深防御一环

● WAF配置需要专业人员维护,错误规则可能导致服务不可用

● 建议结合RASP技术实现运行时防护

预知后事如何,请看下回讲解~

免责声明: 本教程仅用于教育和学习目的。在未经授权的情况下使用这些技术可能违反法律法规。请确保所有操作都在合法授权的范围内进行。作者和发布者不对因误用本教程内容而导致的任何后果承担责任。


赞(0)
未经允许不得转载:171主机测评 » 网络安全的傻瓜式信息收集 - 上集
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址