【网络信息搜集】03 网络扫描技术

本文详细介绍了网络扫描技术,包括主机扫描的各种方法如Ping、SYN和UDP扫描,端口扫描的原理与目的,以及操作系统和网络服务的辨识。重点讲解了Nmap工具的使用和防范措施,涉及漏洞扫描技术和常用的漏洞扫描软件如Nessus和OpenVAS。
摘要由CSDN通过智能技术生成

网络扫描技术

在这里插入图片描述

主机扫描

一、目的

检查目标主机是否活跃(active)

二、主机扫描方式
  1. 传统ICMP Ping扫描

    • 活跃主机返回情况如下图
  2. ACK Ping扫描

    补充,TCP协议先确认连接SYN,再确认握手ACK

    • 活跃主机返回情况如下图,会返回RST中断会话

      • 因为ACK是确认握手过程
      • 若直接发送ACK而没有进行SYN的请求去确认链接,目标主机会认为是错的,马上发一个RST中断会话
  3. SYN Ping扫描

    • 活跃主机返回情况如下图,会返回SYN/ACK数据包
  4. UDP Ping扫描:

    • 发到UDP关闭(非开放)端口:
      • 活跃主机:返回ICMP端口不可达消息
      • 非活跃主机:没反应
    • 发到UDP开放端口:一般是不会有反馈的
      • 所以应选择非开放的端口进行活跃性探测

    在这里插入图片描述

三、扫描程序(软件工具)
  1. ping

    使用 ICMP Echo 请求和响应来测试目标主机的可达性。如果目标主机响应 ICMP Echo 请求,那么它被视为活跃。Ping 可以用于快速检查主机是否在线,但它仅限于 ICMP 数据包的使用
    
  2. Nmap

    是一个强大的开源网络扫描工具,具有广泛的功能和选项:
    	-sP选项:Nmap 中的 -sP 选项执行 Ping 扫描,用于发现网络中的活跃主机。它使用 ICMP Echo 请			   求和响应来确定主机的可达性。
    	综合扫描:Nmap 可以执行多种类型的主机扫描,包括 ACK 扫描、SYN 扫描、UDP 扫描等,以确定主机      	   的状态和开放端口。
    	操作系统检测:Nmap 还具备识别目标主机操作系统的能力,帮助用户了解主机的更多信息。
    
四、Ping扫射

——同时扫描大量的IP地址段,以发现某个IP地址是否绑定活跃主机的扫描

Ping扫射工具软件

在这里插入图片描述

五、防范措施
  • 单一主机Ping扫描很常见,危害性也不大,更关注Ping扫射
  • 监测:网络入侵检测系统Snort;主机扫描监测工具Scanlogd
  • 防御:仔细考虑对ICMP通信的过滤策略
    • 利用Ping构建后门

端口扫描

一、概述
1. 端口
  • 端口 用于标识运行在网络上的不同应用程序或服务
  • 端口范围是1-64k
  • 端口与TCP/UDP :在TCP和UDP中,数据包中的源端口和目标端口字段用于确定数据包的发送方和接收方之间的通信。这两个协议分别使用端口号来标识数据包应该传递给哪个应用程序或服务。
2. 端口扫描
(1)是什么?

连接目标主机的TCP和UDP端口,确定哪些服务正在运行即处于监听状态的过程

补充解释:用于识别目标主机上哪些TCP和UDP端口处于活跃和监听状态,从而确定哪些服务正在运行。
(2)目的
  • 防御者
    • 更加了解所管理的网络状况,找出没有必要开放的端口并关闭,这是保证业务网络安全的第一步。
  • 攻击者
    • 找出可供进一步攻击的网络服务,同时结合操作系统探测技术也可以确定目标主机所安装的操作系统版本。开放网络服务和操作系统版本信息为攻击者提供了破解攻击的目标,使其更容易找出进入目标主机的漏洞路径。
二、TCP扫描
1. 尝试TCP连接
  • 调用 connect() socket 函数来尝试建立TCP连接,以确定目标主机上的端口是否处于活跃和监听状态
  • 向目标主机发送一个TCP SYN(同步)数据包以初始化连接
2. 开放端口
  • 若为开放端口:完成完整的TCP三次握手(SYN, SYN|ACK, ACK),timeout/RST
  • 在这里插入图片描述
3. 关闭端口
  • 若为关闭端口:SYN, RST
  • RST(复位)数据包:表示连接的中断。这表示端口是关闭的。
  • 在这里插入图片描述
4. 优势&弱势
  • 无需特权用户权限可发起
  • 目标主机会记录大量连接和错误信息,容易检测
三、SYN扫描
攻击者尝试建立TCP连接,但不完成完整的三次握手过程。
向目标主机的每个要扫描的端口发送一个TCP SYN数据包(同步请求)。
1. 开放端口
  • 攻击者SYN, 目标主机SYN|ACK, 攻击者立即反馈RST包关闭连接
  • 在这里插入图片描述
2. 关闭端口
  • 攻击者SYN, 目标主机RST
  • 在这里插入图片描述
3. 优势&弱势
  • 目标主机不会记录未建立连接,较为隐蔽

    因为不建立完整的连接,减少了目标主机记录的连接信息
    
  • 需根用户权限构建定制SYN包

四、隐蔽端口扫描
1. 介绍
  • TCP连接扫描和SYN扫描并不隐蔽防火墙会监控发往受限端口的SYN包
  • 隐蔽端口扫描通过构造特殊的TCP标志位,以躲避检测,同时达成端口扫描目的
    • FIN扫描(只带FIN位), Null扫描(全为0), XMAS扫描(FIN/URG/PUSH置为1)
    • 这些特殊标志位的组合用于欺骗目标主机或防火墙,以使端口扫描的行为不容易被检测到
  • FTP弹射扫描:利用FTP代理选项达到隐蔽源地址
这是一种使用FTP代理选项的隐蔽端口扫描方法。通过FTP代理选项,扫描者可以隐藏其源地址,并以伪装的方式进行端口扫描,使得扫描行为更不容易被检测
2. 如何达成扫描目的
  • 开放端口:标准TCP协议规范,接受这些伪造TCP包,丢弃,无任何反馈
  • 关闭端口:反馈RST包
  • Windows/Cisco等系统没有遵从规范,开放端口对于伪造TCP包也反馈RST,这三种方法不适用
五、UDP端口扫描
1. 介绍
  • 概念:对目标端口发送特殊定制的UDP数据报文

  • 开放端口:UDP反馈

    • 在这里插入图片描述
  • 关闭端口:ICMP port unreachable报文

    • 在这里插入图片描述
2. 扫描工具
  • UNIX: udp_scan, nmap -sU, nc -u -v -z -w2 HOST PORT_LIST
  • Win32: WUPS, ScanLine
六、扫描软件——nmap *
Nmap(Network Mapper)是一个广泛使用的开源网络扫描工具,用于探测网络上的主机、服务、操作系统等信息

在这里插入图片描述

在这里插入图片描述

七、防范措施

任何攻击技术都是双刃剑,网络管理员也可利用端口扫描确定开放必要服务

1.监测
  • 网络入侵检测系统: Snort中的portscan检测插件
  • 系统扫描检测工具: scanlogd, PortSentry, Genius
2. 预防
  • 开启防火墙
    • 类UNIX: netfilter/IPTables, Win32: 个人防火墙
  • 禁用所有不必要的服务,尽可能减少暴露面(进一步的受攻击面)
    • 类UNIX: /etc/inetd.conf, Win32: 控制面板/服务

操作系统/网络服务辨识

系统类型探查包括:

在这里插入图片描述

是什么

  • 探查活跃主机的系统及开放网络服务的类型
    • 目标主机上运行着何种类型什么版本的操作系统
    • 各个开放端口上监听的是哪些网络服务

目的

  • 为更为深入的情报信息搜集,真正实施攻击做好准备
  • 远程渗透攻击需了解目标系统操作系统类型,进行配置
一、操作系统类型探查
1. 概述
  • 通过各种不同操作系统类型和版本实现机制上的差异

    不同操作系统在其实现机制上存在差异,包括
    	TCP/IP堆栈的行为;
    	默认端口的使用;
    	服务和应用程序的配置等
    这些差异使得通过观察主机的行为和响应来尝试确定操作系统成为可能。
    
    • 不同操作系统类型和版本的差异性
      • 协议栈实现差异-协议栈指纹鉴别
      • 开放端口的差异-端口扫描
      • 应用服务的差异-旗标攫取
  • 通过特定方法以确定目标主机所安装的操作系统类型和版本的技术手段

    这些方法可以包括发送特定类型的网络请求(如TCP SYN/ACK包或UDP包)并分析主机的响应,或者利用目标主机上特有的网络堆栈行为和特征
    
  • 明确操作系统类型和版本是进一步进行安全漏洞发现和渗透攻击的必要前提

2. 辨识方式
  • 主动-操作系统主动探测技术
  • 被动-被动操作系统识别技术
3. 操作系统主动探测技术
  • 端口扫描

  • 应用服务旗标攫取

  • 主动协议栈指纹鉴别

    • 在这里插入图片描述

    -在这里插入图片描述

4. 被动操作系统识别技术
  • 流量监听(开放端口): tcpdump, …
  • 被动应用服务识别: PADS
  • 被动协议栈指纹鉴别: siphon, p0f
    • 被动协议栈指纹鉴别是一种相对隐蔽的技术,因为它不主动与目标主机通信,而是 passively 观察网络流量

    • 在这里插入图片描述

    • P0f进行被动操作系统识别示例

      • 在这里插入图片描述
二、网络服务类型探查
1. 概述
  • 确定目标网络中开放端口上绑定的网络应用服务类型和版本
  • 了解目标系统更丰富信息, 可支持进一步的操作系统辨识和漏洞识别
2. 网络服务主动探测
  • 网络服务旗标抓取和探测: nmap -sV
  • Nmap进行网络服务辨识示例
    • 在这里插入图片描述
3. 网络服务被动识别
  • 网络服务特征匹配和识别: PADS
  • PADS进行网络服务被动辨识示例
    • 在这里插入图片描述
三、系统类型探查防范措施

在这里插入图片描述

漏洞扫描

一、漏洞与漏洞扫描技术
1. 漏洞
  • Security Vulnerability,安全脆弱性
  • 一般认为,漏洞是指硬件、软件或策略上存在的安全缺陷,从而使得攻击者能够在未授权的情况下访问、控制系统。
2. 漏洞的不可避免
  • 系统设计缺陷
    • Internet从设计时就缺乏安全的总体架构和设计
    • TCP/IP中的三阶段握手
  • 软件源代码的急剧膨胀
    • Windows 95 1500万行 Windows 98 1800万行
    • Windows XP 3500万行 Windows Vista 5000万行
    • Linux 内核200万行
  • 软件实现的缺陷
    • 微软开发人员的单体测试缺陷从超过25个缺陷/千行代码显著降低到7个缺陷/千行代码
3. 漏洞扫描技术
  • 是什么?——检查系统是否存在已公布安全漏洞,从而免于遭受网络攻击的技术。

  • 双刃剑

    • 网络管理员用来检查系统安全性,渗透测试团队(Red Team)用于安全评估
    • 攻击者用来列出最可能成功的攻击方法,提高攻击效率
  • 已发布安全漏洞数据库
    • 业界标准漏洞命名库CVE http://cve.mitre.org
    • 微软安全漏洞公告MSxx-xxx http://www.microsoft.com/china/technet/security/current.mspx
    • SecurityFocus BID http://www.securityfocus.com/bid
    • National Vulnerability Database: NVD http://nvd.nist.gov/
二、漏洞扫描软件
1. ISS (Internet Security Scanner)
2. SATAN/SAINT
  • 第一个公开发布的漏洞扫描软件,引发媒体负面报导
3. Nessus *
  • 目前最优秀的共享漏洞扫描软件
  • 以客户端/服务器模式运行
    • 服务器端
      • 核心服务器组件称为 nessesd,它运行在系统上,并等待来自客户端的连接。使用 TCP 端口 1241 进行通信
    • 客户端
      • 命令行客户端(nessus -q):适用于通过命令行界面执行扫描任务
      • nessus(UNIX图形客户端):于 UNIX 系统的图形用户界面客户端,提供更直观的操作方式
      • Nessus Client(Win32客户端):用于 Windows 系统的图形用户界面客户端
  • 采用框架/插件模式设计
    • NASL语言:
      • Nessus 的核心设计思想是使用插件,这些插件是用 NASL(Nessus Attack Scripting Language)编写的脚本
    • 安全漏洞扫描插件
      • 使用NASL语言容易编写并集成至Nessus框架中
      • 这些插件包含了漏洞的描述、检测规则和修复建议。每个插件都用于检测特定漏洞或安全问题
      • 插件间可互相依赖和协同工作(例如:端口探测-漏洞扫描插件)
  • 多种报告方式:文本/LaTeX/HTML/DHTML/XML/SQL等
4. OpenVAS
5. 国内的商业漏洞扫描软件
  • 开源软件
    • Xscan*: “冰河”黄鑫2001年开始开发
      • 2005年v3.3之后无更新
      • 兼容Nessus的NASL语言开发插件
  • 国内厂商
    • 绿盟: “极光”
    • 启明星辰: “天镜”
    • 方正、中软、东软…
三、防范措施

在这里插入图片描述

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值