当前位置: 首页 > news >正文

网络安全入门第一课:信息收集实战手册(2)

本文仅用于技术研究,禁止用于非法用途。
Author:枷锁

文章目录

      • 一、端口信息收集
        • 1. 端口简介
        • 2. 常见端口介绍
        • 3.端口扫描 (重点)—nmap
      • 二、网站信息收集
        • 1. 判断操作系统
        • 2. 网站服务与容器类型
        • 3. 脚本类型
        • 4. 数据库类型
        • 5. WAF识别
      • 总结

以下为网络安全信息收集实战手册的第二部分:端口信息收集网站信息收集的详细技术指南,结合实战工具与方法整理。


一、端口信息收集

1. 端口简介

端口是设备与外界通信的虚拟通道(范围:0-65535),分为三类:

  • 知名端口(0-1023):如 80/HTTP443/HTTPS
  • 注册端口(1024-49151):如 3306/MySQL
  • 动态端口(49152-65535):临时分配给客户端程序。
2. 常见端口介绍
端口号服务/协议常见用途风险等级
21FTP文件传输(明文传输)
22SSH安全远程管理
23Telnet远程登录(无加密)
80HTTP网页访问
443HTTPS加密网页访问
3306MySQL数据库服务
3389RDPWindows远程桌面
8080HTTP Proxy代理或备用HTTP服务
6379Redis内存数据库(常未授权访问)高危
27017MongoDBNoSQL数据库

:高风险端口若暴露在公网,易被用于爆破或未授权访问(如Redis、MySQL)。


3.端口扫描 (重点)—nmap

Nmap(Network Mapper)是一款开源的网络探测与安全审计工具,用于扫描主机发现、端口状态、服务版本及操作系统识别

  1. 主机发现(Host Discovery)

    • -sn(Ping扫描)
      仅探测存活主机,不扫描端口。适用于快速定位网段内活动设备。
      nmap -sn 192.168.1.0/24  # 扫描C段存活主机
      
      • 原理:发送ICMP Echo请求、TCP SYN到443端口、ACK到80端口,任一响应即判定存活。
    • ARP扫描(局域网专用)
      nmap -PR 192.168.1.1  # ARP探测(仅限同一网段)
      
      速度极快,绕过IP层限制,但无法跨网段。
  2. 端口扫描(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
      
  3. 服务与版本识别

    • -sV(服务版本探测)
      • 原理:解析服务Banner、协议行为、默认端口等特征。
      • 强度控制
        nmap -sV --version-intensity 9 目标IP  # 最高强度(速度慢但精准)
        nmap -sV --version-light 目标IP        # 快速模式(常用协议)
        
  4. 操作系统检测

    • -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。

三、高级技巧与优化

  1. 绕过防火墙/IDS

    • 分片包-f 将TCP头分割成多个小包,规避规则检测。
    • 诱饵IP-D RND:5 使用5个随机IP作为诱饵,混淆真实扫描源。
    • 速率控制
      nmap -T1 目标IP  # 超低速扫描(规避阈值告警)
      nmap --max-rate 100 目标IP  # 限制每秒100个包
      
  2. 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          # 更新脚本数据库
      

四、实战扫描策略
红队渗透五步法

  1. 存活主机发现
    nmap -sn 10.0.0.0/24 -oN hosts.txt
    
  2. 全端口扫描
    nmap -sS -p- --open -T4 目标IP -oA ports
    
  3. 关键服务深度探测
    nmap -sV -sC -O -p 80,443,22 目标IP -oA detail
    
  4. UDP服务扫描
    nmap -sU --top-ports 50 目标IP -oA udp_scan
    
  5. 漏洞利用
    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在这里插入图片描述
  • 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
  • 工具识别
    • Wappalyzer(浏览器插件):自动检测Web框架、服务器类型。
    • WhatWeb(命令行):
      whatweb 目标URL   # 返回服务器、CMS、JavaScript框架等。
      
3. 脚本类型
  • 文件扩展名
    • PHP:.php.php5
    • ASP.NET:.aspx.ashx
    • JSP:.jsp.do
  • HTML特征
    • PHP:<?php ... ?>
    • ASP.NET:<%@ Page ... %>
4. 数据库类型
  • 默认端口
    • MySQL:3306
    • PostgreSQL:5432
    • MongoDB:27017
  • 错误信息
    • MySQL:You have an error in your SQL syntax
    • SQL Server:Microsoft SQL Native Client error
  • 连接字符串
    • 配置文件泄露(如config.php):可能包含数据库类型和凭据。
5. WAF识别
  • 响应头检测
    • Cloudflare:Server: cloudflareCF-RAY字段。
    • Akamai:X-Akamai-Transformed
  • 工具探测
    • WafW00f
      wafw00f 目标URL   # 返回WAF类型(如Cloudflare、Imperva)。
      
  • 手工测试
    • 发送恶意请求(如/etc/passwd):
      • WAF拦截响应:403 Forbidden + 特定错误页(如"Cloudflare Security Block")。

总结

  • 端口扫描:优先使用Nmap的-sS-sV快速获取服务信息,高危端口(如21、3389)需重点关注。
  • 网站指纹
    • 操作系统 → TTL + HTTP头 + Nmap。
    • 服务容器 → 响应头 + WhatWeb/Wappalyzer。
    • 数据库/WAF → 端口 + 错误信息 + 专用工具(WafW00f)。

实战建议

  1. 合法授权前提下扫描,避免触发安全警报。
  2. 结合多工具结果交叉验证(如Nmap+WhatWeb+WafW00f)。

宇宙级免责声明​​
🚨 重要声明:本文仅供合法授权下的安全研究与教育目的!🚨
1.合法授权:本文所述技术仅适用于已获得明确书面授权的目标或自己的靶场内系统。未经授权的渗透测试、漏洞扫描或暴力破解行为均属违法,可能导致法律后果(包括但不限于刑事指控、民事诉讼及巨额赔偿)。
2.道德约束:黑客精神的核心是建设而非破坏。请确保你的行为符合道德规范,仅用于提升系统安全性,而非恶意入侵、数据窃取或服务干扰。
3.风险自担:使用本文所述工具和技术时,你需自行承担所有风险。作者及发布平台不对任何滥用、误用或由此引发的法律问题负责。
4.合规性:确保你的测试符合当地及国际法律法规(如《计算机欺诈与滥用法案》(CFAA)、《通用数据保护条例》(GDPR)等)。必要时,咨询法律顾问。
5.最小影响原则:测试过程中应避免对目标系统造成破坏或服务中断。建议在非生产环境或沙箱环境中进行演练。
6.数据保护:不得访问、存储或泄露任何未授权的用户数据。如意外获取敏感信息,应立即报告相关方并删除。
7.免责范围:作者、平台及关联方明确拒绝承担因读者行为导致的任何直接、间接、附带或惩罚性损害责任。

🔐 安全研究的正确姿势:
✅ 先授权,再测试
✅ 只针对自己拥有或有权测试的系统
✅ 发现漏洞后,及时报告并协助修复
✅ 尊重隐私,不越界

⚠️ 警告:技术无善恶,人心有黑白。请明智选择你的道路。

希望这个教程对你有所帮助!记得负责任地进行安全测试。

http://www.dtcms.com/a/296952.html

相关文章:

  • C语言-指针[变量指针与指针变量]
  • Java 集合框架之----ArrayList
  • Effective Modern C++ 条款16:保证const成员函数的线程安全性
  • 网址收集总结
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-17,(知识点:PCB布线,传输线阻抗影响因素)
  • 第一二章笔记
  • [ComfyUI] --ComfyUI 是什么?比 Stable Diffusion WebUI 强在哪?
  • 【STM32项目】智能台灯
  • 无人机保养指南
  • 深入解析Hadoop NameNode的Full GC问题、堆外内存泄漏及元数据分治策略
  • 软件测试的分类
  • C++实现精确延时的方法
  • 季逸超:Manus的上下文工程启示
  • Photoshop下载安装入门教程:从下载安装到第一次完美使用
  • 应急响应】Linux 自用应急响应工具发版 v6.0(LinuxGun)
  • 20 BTLO 蓝队靶场 Sticky Situation 解题记录
  • Voice AI Agent 知识库:打造你自己的语音智能体!
  • Vitest 用法详解及 Coverage Web 工具介绍
  • C# 密封类_密封方法 (seadled 关键字)
  • 【postgresql按照逗号分割字段,并统计数量和求和】
  • 【Spring AI 1.0.0】Spring AI 1.0.0框架快速入门(4)——Chat Memory(聊天记录)
  • SpringCloud【Sentinel】
  • 7.3.2 内核内存管理运行机制
  • 到底可不可以用jion?jion如何优化?
  • MapStruct类型转换接口未自动注入到spring容器中
  • Web前端:JavaScript find()函数内判断
  • Redis 单线程模型与多线程机制
  • kettle 8.2 ETL项目【二、加载数据】
  • 「Linux命令基础」用户和用户组实训
  • rust-方法语法