[ 笔记 ] 计算机网络安全 您所在的位置:网站首页 安全扫描工具有哪些 [ 笔记 ] 计算机网络安全

[ 笔记 ] 计算机网络安全

#[ 笔记 ] 计算机网络安全| 来源: 网络整理| 查看: 265

[笔记] 计算机网络安全:(4)网络扫描和网络监听 网络安全基础internet协议的安全性Web安全网络扫描和网络监听防火墙原理与设计入侵检测系统VPN技术

目录 [笔记] 计算机网络安全:(4)网络扫描和网络监听4.1 网络扫描概要4.1.1 网络扫描相关概念什么是网络扫描扫描策略 4.1.2 网络扫描使用场景漏洞扫描渗透测试黑客入侵攻击 4.1.3 常见网络扫描工具NmapX-Scannessus 4.2 网络扫描技术4.2.1 主机扫描(1) ICMP Echo(ping)扫描(2) ping sweep扫描(3) 广播ICMP扫描(4) 非ECHO的ICMP扫描(5) ICMP错误消息探测(6) 其他高级主机扫描(7) 主机扫描对策 4.2.2 端口扫描(1) TCP端口扫描原理(2) 开放扫描(3) 半开扫描(4) 隐蔽扫描(5) TCP扫描技术比较(6) UDP端口扫描(7) 端口扫描对策 4.2.3 操作系统探测(1) 主动探测 vs 被动探测(2) 应用层探测技术(3) TCP协议栈指纹探测技术Nmap的指纹库 (4) 操作系统探测对策 4.2.4 应用服务探测(1) 服务识别(2) 原理扫描(3) 版本扫描(4) 服务探测对策 4.3 网络监听4.3.1 网络监听概述网络监听概念网络监听用途网络监听的威胁 4.3.2 网络监听原理(1) 网卡工作模式(2) 总线式以太网(3) 交换式以太网(4) 交换式以太网监听(5) 广域网光纤分流监听(6) WIFI监听(7) 协议分析 4.3.3 网络监听防范(1) 网络监听发现(2) 网络监听防范措施 4.3.4 网络监听工具(1) tcpdump(2) wireshark 4.3.5 网络监听开发技术(1) 基于原始套接字监听Socket接收报文获得报文的拷贝用原始套接字进行报文捕获示例 (2) PCAP: Packet Capture APIWinPcap程序框架用pcap写的监听程序 (3) 基于内核协议栈监听回调函数返回值Netfilter框架

4.1 网络扫描概要 4.1.1 网络扫描相关概念 什么是网络扫描 网络扫描 向指定对象发送特定网络报文,根据反馈判断、评估对象的相关信息和状态的网络技术 哪些信息和状态? 确定目标网络内哪些主机是活动的主机的操作系统类型开放了哪些端口、提供哪些服务运行的应用程序的版本号…… 最终目的:发现指定目标的潜在漏洞 网络安全扫描系统安全扫描策略主动式策略被动式策略方式基于网络基于主机内容通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞对系统中不合适的设置,脆弱的口令以及其 他同安全规则抵触的对象进行检查影响对系统进行模拟攻击,可能会对系统造成破 坏不会对系统造成破坏 扫描策略 隐蔽扫描 对非连续端口进行扫描,并且源地址不一致、时间间隔长没有规律又叫做慢速扫描、乱序扫描 主动扫描 对连续的端口进行扫描,源地址一致,时间间隔短 4.1.2 网络扫描使用场景

安全运维:漏洞扫描、渗透测试

黑客:入侵攻击

漏洞扫描 概念 通过一定的网络扫描技术手段发现系统和软件存在的安全漏洞 目的 一种主动的防范措施,可以及时有效发现网络安全漏洞在攻击发生之前进行防范,做到防患于未然保证业务顺利的开展,维护公司、企业、国家信息资产安全

系统扫描 vs Web扫描 在这里插入图片描述

漏洞扫描工作机制

在这里插入图片描述

扫出漏洞的处理

基本办法 升级应用版本,如openssh安装安全漏洞补丁,如oracle CPU安全补丁修改应用配置,如启用认证授权模块更换更安全的其他应用/协议,如将telnet更换为ssh卸载应用,如非必要的运维应用 临时风险规避办法 官方提供的临时规避办法,如微软官方提供的缓解因素和变通办法严格的端口访问控制策略,仅允许可信的有限源访问目标IP和端口安全防护设备 渗透测试

概念

模拟攻击者入侵系统,对系统进行一步步地渗透,发现系统的脆弱环节和隐藏风险形成测试报告提供给系统所有者系统所有者可根据该测试报告对系统进行加固,提升系统的安全性,防止真正的攻击者入侵

前提

经过系统所有者的授权未经过授权的渗透测试,就是违法行为

区别

渗透测试 在漏洞扫描的基础上执行漏洞利用证明系统确实存在安全隐患能够模拟黑客行为并提供攻击载荷比漏洞扫描更进一步 漏洞扫描: 检查系统和服务是否存在潜在安全问题

渗透测试的类型

白盒测试 了解目标的源码或某些信息的情况下进行渗透类似代码审计 灰盒测试 掌握了目标系统的网站组织架构、网络拓扑等设计模拟进行的渗透 黑盒测试 在仅知道目标是什么,其余信息均未知的情况下进行渗透完全模拟黑客的入侵行为

渗透测试步骤

信息收集 主动收集被动收集 扫描 端口扫描漏洞扫描 漏洞利用 获取权限metasploit 维持访问 安装后门擦除日志 渗透测试报告 综合报告详细报告原始数据

渗透后处置

如何提高WEB系统安全性? 及时升级JDK版本清理不安全的第三方库中间件版本补丁及时更新删除不需要的页面避免使用弱口令,及时更换口令… 漏洞不能及时修复时如何临时规避? 通过专业的安全设备防护(例如WAF、IPS),更新相应的防护规则限制特定端口的访问权限自定义过滤规则… 黑客入侵攻击 入侵的目的通常是攻击者在未授权的情况下获取系统权限或信息,通常具有一定的隐蔽性或破坏性根据《中华人民共和国刑法》第二百八十五条规定,非法侵入计算机信息系统罪,是指违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的行为。犯本罪,处三年以下有期徒刑或者拘役

黑客攻击步骤

隐藏IP 利用“肉鸡” 首先入侵互联网上的一台电脑利用这台电脑进行攻击,这样即使被发现了,也是“肉鸡”的IP地址 多级跳板 “socks代理”在入侵的电脑上留下的是代理计算机的IP地址 踩点扫描 踩点就是通过各种途径对所要攻击的目标进行多方面的了解,以便实施有效的攻击扫描的目的是利用各种工具在攻击目标的IP地址或地址段的主机上寻找漏洞黑客需要的信息 域名可以访问到的IP地址每个主机上运行的TCP/UDP服务系统体系结构访问控制机制系统信息(用户名和用户组名、系统标识、路由表、SNMP信息等)其它信息… 信息收集步骤 找到初始信息找到网络地址范围找到活动的机器找到开放的端口弄清操作系统弄清服务软件类型及型号针对特定的应用和服务漏洞扫描 获取权限 得到管理员权限的目的是连接到远程计算机,对其进行控制,达到自己攻击目的获得系统及管理员权限的方法 通过系统漏洞获得系统权限通过管理漏洞获得管理员权限通过软件漏洞得到系统权限通过监听获得敏感信息进一步获得相应权限通过弱口令获得远程管理员的用户密码通过穷举法获得远程管理员的用户密码通过攻破与目标机有信任关系另一台机器进而得到目标机的控制权通过欺骗获得权限以及其他有效的方法 种植后门 为了保持长期对自己胜利果实的访问权,在已经攻破的计算机上种植一些供自己访问的后门。 隐身 一次成功入侵之后,一般在对方的计算机上已经存储了相关的登录日志,这样就容易被管理员发现。在入侵完毕后需要清除登录日志以及其他相关的日志 4.1.3 常见网络扫描工具 Nmap Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的网络探测和安全审核工具网址:https://nmap.org/Nmap以新颖的方式使用原始IP报文来发现 网络上有一些主机那些主机提供什么服务(应用程序名和版本那些服务运行在什么操作系统(包括版本信息)它们使用什么类型的报文过滤器/防火墙以及一堆其他功能 主机发现 -sP 仅进行ping扫描 (主机发现),不做进一步的测试-PS [portlist] 发送一个设置了SYN标志位的空TCP报文,默认目的端口为80-PA [portlist] 发送一个设置了ACK标志位的空TCP报文,默认目的端口为80-PU [portlist] 发送一个空的(除非指定了–data-length)UDP报文到给定的端口,默认是31338-PR ARP扫描 端口扫描 -sS TCP SYN扫描,可以明确可靠地区分open(开放的), closed(关闭的),和filtered(被过滤的)状态-sT TCP connect()扫描,当用户没有权限发送原始报文或者扫描IPv6网时默认使用-sU UDP扫描,发送空的(没有数据)UDP报头到每个目标端口-sATCP ACK扫描,用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的 端口状态 open(开放的) 应用程序正在该端口接收TCP 连接或者UDP报文 closed(关闭的) 关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程 序在其上监听 filtered(被过滤的) 由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开放过滤可能来自专业的防火墙设备,路由器规则或者主机上的软件防火墙 unfiltered(未被过滤的) 未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态 open|filtered(开放或者被过滤的) 当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成这种状态 closed|filtered(关闭或者被过滤的) 该状态用于Nmap不能确定端口是关闭的还是被过滤的。它只可能出现在IPID Idle扫描中 服务和版本探测 nmap-service-probes 数据库包含查询不同服务的探测报文和解析 识别响应的匹配表达式Nmap试图确定 服务协议 (如 ftp,ssh,telnet,http)应用程序名(如ISC Bind,Apache httpd,Solaris telnetd)版本号主机名设备类型(如 打印机,路由器)操作系统家族 (如Windows,Linux)其它的细节,如是否可以连接X server,SSH协议版本,或者KaZaA用户名 -sV 打开版本探测-O 启用操作系统检测 profile参数说明Intense scannmap -T4 -A -v一般扫描,-T4 加快执行速度,-A 操作系统及版本探测,-v 显示详细的输出Intense scan plus UDPnmap -sS -sU -T4 -A -v即TCP/UDP端口扫描Intense scan,all TCP portsnmap -p 1-65535 -T4 -A -v扫描所有TCP端口,范围在1-65535,试图 扫描所有端口的开放情况Intense scan,no pingnmap -T4 -A -v -Pn跳过主机发现扫描 X-Scan X-Scan是国内最著名的综合扫描器之一 完全免费不需要安装的绿色软件界面支持中文和英文两种语言包括图形界面和命令行方式 主要由国内著名的民间黑客组织“安全焦点”完成,凝聚 了国内众多黑客的心血 停更状态 技术特点 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测支持插件功能提供了图形界面和命令行两种操作方式扫描内容包括二十几个大类 远程服务类型操作系统类型及版本各种漏洞:弱口令、后门应用服务漏洞网络设备漏洞拒绝服务漏洞 对于多数已知漏洞,给出了相应的漏洞描述、解决方案及详细描述链接 nessus nessus号称世界上最流行的漏洞扫描程序 通常包括成千上万的最新的漏洞各种各样的扫描选项易于使用的图形界面有效的报告 网址:https://www.tenable.com/products/nessus1998年,Renaud Deraison创办了 “Nessus”计划,提供开源免费、功能强大、更新频繁、简单易用的安全扫描程序,逐渐 受到认可2002年,Renaud与Ron Gula、Jack Huffard创办了Tenable Ne twork Security,2005年12月Nessus 3.0发布时,收回了Nessus的版权与程序源代码,开始商业化运营2021年8月10日发布8.15.1版本技术特点 采用B/S体系结构,用户通过浏览器访问WEBUI与服务器通信,发送扫描请求给服务器,由服务器启动扫描并将结果呈现给用户扫描代码与漏洞数据相互独立,Nessus针对每一个漏洞有一个对应的插件,漏洞插件是NASL(NESSUS Attack Scripting La nguage)编写的一小段模拟攻击漏洞的代码,这种利用漏洞插件的扫描技术极大的方便了漏洞数据的维护、更新具有扫描任意端口任意服务的能力以用户指定的格式(ASCII 文本、html 等)产生详细的输出报告,包括目标的脆弱点、怎样修补漏洞以防止黑客入侵及危险级别 4.2 网络扫描技术 4.2.1 主机扫描 目的 确定在目标网络上的主机是否可达同时尽可能多映射目标网络的拓扑结构 传统技术 ICMP Echo(ping)扫描ping sweep扫描广播ICMP扫描非ECHO的ICMP扫描 高级技术 ICMP错误报文探测 (1) ICMP Echo(ping)扫描 原理 向目标主机发送ICMP Echo Request(type 8)数据包,等待回复的ICMP Echo Reply 包(type 0)如果能收到,则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉 优点 简单,一般操作系统自带支持缺点 很容易被防火墙限制 (2) ping sweep扫描 原理 使用ICMP ECHO轮询多个主机特点 对于中小型网络尚可接受,对于大型网络速度比较慢工具 fping (3) 广播ICMP扫描 原理 通过向广播地址发送ICMP ECHO报文来发现目标网络中活动的主机特点 只适用于目标网络的Unix主机常用工具 ping -b (4) 非ECHO的ICMP扫描 其他请求应答 TimeStamp Request (Type 13) & Reply (Type 14) 请求系统返回当前时间,目的是查看系统所在的时区 Address Mask Request (Type 17) & Reply (Type 18) 地址掩码请求分组,即能请求返回某个设备的子网掩码 工具 hping3 (5) ICMP错误消息探测 异常的IP包头 目标主机或路由设备会返回ICMP Parameter Problem Error报文错误的数据分片 目标主机反馈ICMP Fragment Reassembly Time Exceeded报文 (6) 其他高级主机扫描 traceroute探测路径路由器 依次发送TTL为1、2、3…的UDP报文,路径上的路由器会依次反 馈ICMP TTL超时消息 超长包探测路由器 构造长度超过MTU的数据包,且设置DF标志,路由器会反馈ICMP Fragmentation Needed and DF Bit was Set报文 (7) 主机扫描对策 使用可以检测并记录ICMP扫描的工具在防火墙中设置ICMP过滤规则使用IDS 4.2.2 端口扫描 目的 确定在目标主机哪些TCP、UDP端口可访问端口 – 服务进程 类型 开放扫描(open scanning)半开扫描(half-open scanning)隐蔽扫描(stealth scanning) 常用工具 nmap netcat (1) TCP端口扫描原理 动作响应一个SYN/ACK/FIN报文到达一个关闭的端口返回一个RST报文一个SYN/ACK/FIN报文到达一个开放的端口报文被丢弃一个包含ACK的报文到达一个开放端口报文被丢弃,同时返回一个RST报文一个不包含SYN位的报文到达一个开放端口报文被丢弃一个SYN报文到达一个开放端口正常三次握手,回答一个SYN (2) 开放扫描 实现原理直接调用socket函数connect()连接到目标,完成一次完整的三次握手过程如果端口处于侦听状态,那么connect()就能成功返回否则,这个端口不可用,即没有提供服务优点 稳定可靠,不需要特殊的权限缺点 扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录容易被防火墙发现和屏蔽扫描速度慢 (3) 半开扫描 实现原理 扫描器向目标主机端口发送SYN包如果应答是RST包,那么说明端口是关闭的如果应答中包含SYN和ACK包,说明目标端口处于监听状态,再传送一个RST包给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半连接扫描 优点 隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录缺点 通常构造SYN数据包需要超级用户或者授权用户访问专门的系统调用 (4) 隐蔽扫描 实现原理 扫描器向目标主机端口发送FIN包当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个RST数据包否则,若是打开的端口,数据包只是简单的丢掉(不返回RST) 优点 不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽得多FIN数据包能够通过只监测SYN包的包过滤器 缺点 跟SYN扫描类似,需要自己构造数据包,要求由超级用户或者授权用户访问专门的系统调用通常适用于UNIX目标主机,除去少量的应丢弃数据包却发送RST包的操作 系统(包括CISCO,HP/UX,MVS和IRIX)。但在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都返回RST包 (5) TCP扫描技术比较 优点缺点开放扫描可靠性高会产生大量的审计数据,容易被对方发现,扫描速度慢半开扫描介于二者之间介于二者之间隐蔽扫描有效避免对方入侵检测系统和防火墙的检测数据包在通过网络时容易被丢弃从而产生错误的探测信息 (6) UDP端口扫描 实现原理 扫描器向目标主机UDP端口发送UDP数据包如果它是关闭的,就会给源端发回一个ICMP的端口不可达消息否则,若是打开的端口,数据包只是被忽略,不返回任何的信息 优点 简单易行缺点 可靠性不高,开放还是丢失?扫描速度慢,RFC1812对ICMP错误报文的生成速度做出了限制 (7) 端口扫描对策 使用状态检测防火墙在主机上禁止所有不必要的服务 4.2.3 操作系统探测 目的 探测目标主机的操作系统类型甚至版本信息 探测方式 主动探测被动探测 技术路线 应用层探测技术TCP协议栈指纹探测技术 (1) 主动探测 vs 被动探测 主动探测被动探测向目标系统发送构造的特殊包并监控其应答来识别操作系统类型通过Sniff收集数据包,再对数据包的不同特征进行分析识别操作系统类型速度快速度慢可靠性高可靠性不高具有攻击性,易被发现阻断不具备攻击性,具有很好的隐蔽性严重依赖于目标系统网络拓扑结构和过滤规则严格依赖扫描主机所处的网络拓扑结构 (2) 应用层探测技术 实现原理 使用telnet、SSH等协议登录目标主机登录后显示的系统旗标(banner)信息可能显示出操作系统 缺点 依赖于目标主机提供相应服务容易修改隐藏 (3) TCP协议栈指纹探测技术 协议栈存在指纹的原因 虽然许多操作系统都是基于旧的BSD版本的TCP协议栈,但是已经进行了很多更改,因此现在所有主要操作系统之间都存在相当大的差异为了解决关键缺陷,厂商会向其TCP协议栈发布补丁为了改进提升,厂商也会修改调整TCP协议栈的实现 指纹因素 IP TTL、IP TOS、IP DF位…TCP Window-size、TCP ISN… 不同操作系统的TCP ISN特征 传统的64K(许多老UNIX机器)随机增量(新版本的Solaris,IRIX,FreeBSD,Digital UNIX ,Cray等)真“随机”(Linux 2.0.*,OpenVMS,新的AIX等)Windows 机器用一个“时间相关”模型,每过一段时间ISN就被加上一个小的固定数 一些操作系统的典型指纹特征Linux 2.2/2.4的TCP SYN报文 IP TTL:64TCP Window:5840TCP Options:MSS,Timestamps,sackOK,wscale,1 nop OpenBSD的TCP SYN报文 IP ID:完全随机TCP Options:MSS,Timestamps,sackOK,wscale,5 nops包长:64字节 Solaris 7的TCP SYN报文 IP TTL:255IP ID:始终递增1TCP Window:8760TCP Options:MSS包长:44字节 Nmap的指纹库 指纹模板文件:nmap-os-fingerprints.txt

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

(4) 操作系统探测对策 操作系统及时打补丁修改OS源代码从而改变特征禁止不必要的服务 4.2.4 应用服务探测 目的 识别出服务软件类型和版本进而发现特定的应用和服务漏洞 探测方法 原理扫描版本扫描 (1) 服务识别 常见端口对应服务可利用的漏洞21ftp弱口令22/23SSH/telnet弱口令80/443HTTP/HTTPSWEB相关漏洞3306mysql弱口令6379redis未授权访问7001weblogicweblogic相关漏洞8080TomcatTomcat相关漏洞 基于 Banner 信息识别 与目标端口建立TCP连接,接收返回的WelcomeBanner信息将接收到的Banner与服务指纹数据库中的数据进行对比查找对应的应用程序名字与版本信息 WEB网站指纹识别 服务器类型 Windows、Linux 网站容器 apache、nginx、tomcat、IIS 脚本类型 php、jsp、asp、aspx 数据库类型 mysql、oracle、access、sqlserver (2) 原理扫描 扫描机制 根据特定漏洞原理,构造漏洞利用数据包(特定无害行为)发送到目标主机,判断主机响应情况如果返回数据符合预期结果(实现了此前构造的特殊动作),则报出该漏洞 支持的漏洞 联网上公开了漏洞原理的漏洞公开了漏洞概念性证明(PoC,Proof of Concept)的漏洞甚至是公开了漏洞利用脚本工具(EXP,Exploit)的漏洞 特点 误报率低:实际利用漏洞,只有目标真实存在漏洞,才会返回特定的响应数据可实现的漏洞较少 (3) 版本扫描 扫描机制 基于服务banner信息判断应用使用的程序及版本查询漏洞数据库中相关软件版本存在的漏洞信息 支持的漏洞 未公开漏洞原理、PoC、EXP的漏洞常见类型包括:Apache、Tomcat、Nginx、Weblogic、Webspher e、PHP、OpenSSH、Oracle、FTP、NTP、MySQL等 特点 误报率高:仅依据banner,banner可能失真多数漏洞未公开原理及利用方式,要保证低漏报率 (4) 服务探测对策 禁止不必要的服务服务软件正确配置、及时升级修改应用源代码改变banner特征 4.3 网络监听 4.3.1 网络监听概述 网络监听概念 网络监听(Network Listening)也称网络嗅探(Network Sniffing)含义 监视网络的流量、状态、数据等信息捕获网络上传输的数据并进行分析 网络监听用途 网络管理员 监视网络的状态、观测分析实时数据包,定位网络故障作为网络入侵检测系统的底层数据来源 网络程序员 分析程序网络行为,调试程序 攻击者 窃取敏感数据为发起进一步攻击收集网络信息 网络监听的威胁 敏感信息泄露 因特网在设计之初就没有考虑过安全问题 早期观点:一群相互信任的用户连接到一个透明的网络上当初网络设计的时候,是按电话网络的思路来设计的 目前仍广泛使用的部分协议使用明文传输数据,包括口令等敏感信息 telnet、SMTP、POP3、HTTP、FTP等 后续入侵准备 了解局域网的IP信息了解局域网的MAC信息了解局域网的拓扑结构了解局域网的主要应用 4.3.2 网络监听原理 (1) 网卡工作模式 普通模式 只接收 目的MAC是自身的帧广播帧 不能接收发给其他站点的帧,无法监听! 混杂模式 接收接口收到的任何帧可以接收发给其他站点的帧总线式以太网,可以监听!!交换式以太网?? (2) 总线式以太网 联网方式 同轴电缆集线器 通信机制 源站点发出的以太帧经总线广播总线上所有站点的网卡都可以收到以太帧 一般情况下,网卡检查以太帧的目的MAC 广播地址:接收组播地址:若网卡加入了该组,接收单播地址:与自身MAC地址相同,接收;不同,丢弃 (3) 交换式以太网 联网方式 交换机 通信机制 交换机自学习交换表 交换机收到以太帧,检查目的MAC在交换表中 转发端口与接收端口相同,丢弃向转发端口转发 不在交换表中 向其他所有端口转发 站点网卡从端口收到以太帧,执行总线式同样的检查 (4) 交换式以太网监听 管理员的方法 流量镜像——交换机将指定的流量复制一份发送到指定的镜像端口 攻击者的手段 MAC Flooding 向交换机发送大量含有虚构MAC地址和IP地址的IP包使交换机的交换表满载溢出,进入failopen状态交换机->集线器 ARP欺骗 利用免费ARP( Gratuitous ARP ),或抢先应答ARP Request对主机——假冒网关的MAC对网关——假冒主机的MAC使流量通过攻击主机,实现监听、中间人攻击 ICMP重定向 引导用户流量发送到假冒的下一跳网关,实现监听 (5) 广域网光纤分流监听

在这里插入图片描述

(6) WIFI监听 WIFI 802.11协议族在开放空间传输的无线通信协议MAC采用冲突避免的载波侦听多路访问CSMA/CA 利用协议安全机制缺陷的监听 无加密:直接监听WEP:存在缺陷,已破解监听WPA/WPA2:相对安全,弱口令也易被破解 利用免费WIFI监听 自建热点,假冒免费WIFI,将用户通信引至恶意AP监听 (7) 协议分析 对象 网卡接收的数据包字节流 方法 从链路层帧开始,逐层按照对应协议格式匹配解析首部、数据(和尾部) 目的——获取数据包的信息 源目的MAC地址五元组:源目的IP地址、运输层 协议、源目的端口流重组提取应用层数据 4.3.3 网络监听防范 (1) 网络监听发现

监听主机的特点:网络接口设为混杂模式

ping测试发现 在这里插入图片描述

包测试发现

在这里插入图片描述

(2) 网络监听防范措施 从逻辑或物理上对网络分段 网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听出现 以交换机代替集线器 对局域网的中心交换机进行网络分段后,局域网被监听的危险仍然存在 网络最终用户的接入往往是通过分支集线器而不是中心交换机直连分支集线器通常是共享式集线器当用户与主机进行数据通信时,两台机器之间的单播数据包(Unicast Packet)还是会被同一台集线器上的其他用户所监听 以交换机代替分支集线器,使单播数据包仅在两个结点之间传送,从而防止非法监听 交换机价格已经足够便宜交换机只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet),但广播包和多播包内的关键信息要远远少于单播包 划分VLAN 运用VLAN(虚拟局域网)技术在交换机上划分VLAN,减小交换机的广播域控制以太网广播通信的范围 动态机制修改为静态设置 静态ARP 主机、网关上设置防止ARP欺骗 MAC-端口映射 交换机上设置防止MAC假冒 使用加密技术 数据经过加密后,可以监听到传输数据,但看到是乱码,无法提取敏感信息 telnet → SSHhttp → https(TLS)IPSec 缺点 影响数据传输速度弱加密技术比较容易被破解 系统管理员和用户需要在网络速度和安全性上进行权衡 4.3.4 网络监听工具 (1) tcpdump 免费命令行抓包工具linux、BSD等类Unix操作系统默认安装 使用libpcap库 显示监听到的网络报文信息 指定网络接口按时间顺序符合过滤条件 需要root权限开启网卡混杂模式命令格式:tcpdump [选项] [过滤表达式]常用选项 带参数 -i interface:指定监听接口,默认第一个网络接口-s snaplen:设置数据包抓取长度为snaplen-c count:设置抓取包的数量-w file:将抓包数据写到文件中而不是标准输出-r file:从给定的数据包文件中读取数据 不带参数 -n:显示时不将地址转换为名字-nn:在-n基础上,端口显示数值,而不转换为服务名-e:输出信息包含链路层头部信息-X:以16进制和ASCII两种形式扩展输出包的数据-v:当分析和打印的时候,产生详细的输出 过滤表达式 pcap过滤器语法基本单元:[proto] [dir] type ID 协议proto:ether、arp、ip、tcp、udp等方向dir:src、dst、src or dst、src and dst等类型type:host、net、port、portrange 组合条件连接符 and、&&、or、||、not、!括号“()”改变优先级,需用反斜线“\”转义 示例 host 192.168.1.2 and not port ftp and not port 20 (2) wireshark 支持多平台 Windows 基于Npcap或WinPcap库 macOSLinuxSolaris、FreeBSD、NetBSD… 支持监听各类设备 以太网IEEE802.11(WLAN)蓝牙USB… 实时捕获和离线分析标准三窗格数据包浏览器捕获数据可以通过GUI或TTY模式TShark浏览数据包列表着色规则,便于快速、直观的分析双重过滤机制 BPF规范的捕获过滤器 过滤捕获的数据包,以免太多数据包消耗过多资源 业界最强大的显示过滤器 在捕获的数据包中进一步过滤查找所需要的数据包 丰富的文件格式支持 读/写多种不同的捕获文件格式 tcpdump(libpcap)Sniffer®ProNetXray®… 使用gzip压缩的捕获文件可以动态解压缩解析结果可导出为XML、PostScript® 、CSV或纯文本 强大的解析分析能力 深入解析数百个协议,还在不断添加更多协议支持协议流追踪各种数据统计分析丰富的VoIP分析对许多协议的解密支持 4.3.5 网络监听开发技术 基于原始套接字基于数据包捕获库(PCAP)基于scapy基于内核协议栈 (1) 基于原始套接字监听 原始套接字,即raw socket绕过系统内核协议栈接收和发送原始数据包用户可以自行构造数据包,包括各层首部需要管理员权限 Socket接收报文

在这里插入图片描述

获得报文的拷贝

在这里插入图片描述

监听数据包 接收所有数据包 需自行将网卡设置为混杂模式WSAIoctl:SIO_RCVALL 数据包解析 存放在缓冲区按照数据结构进行强制类型转换,访问具体数据 在这里插入图片描述 用原始套接字进行报文捕获示例

在这里插入图片描述

(2) PCAP: Packet Capture API 最开始来源于tcpdump多平台支持: Linux: libpcapWindows: winpcap 和npcap C语言写的,实现语言实现封装基于pcap的工具:Wireshark,tcpdump,scapy,McAfee, nmap, snortPcap功能 获得网卡设备列表及其高级信息打开一个网卡适配器并将其设置成混杂模式捕获数据包设置过滤器将数据包存储为文件并处理离线文件发送数据包收集网络通信流量的统计信息但是,Pcap不能修改数据包或者拦截数据包 WinPcap程序框架

在这里插入图片描述

用pcap写的监听程序

在这里插入图片描述 在这里插入图片描述

(3) 基于内核协议栈监听 Netfilter Linux内核协议栈的子系统在协议栈处理流程的关键位置设置HOOK点,可以注册回调函数处理报文 Linux内核空间和用户空间信息交互 编写自己的系统调用编写设备驱动程序使用proc文件系统使用netlink使用内存映像 回调函数返回值 返回值含义NF_DROP丢弃该数据包NF_ACCEPT保留该数据包NF_STOLEN告知netfilter忽略该数据包NF_QUEUE将该数据包插入到用户空间NF_REPEAT请求netfilter再次调用该HOOK函数 Netfilter框架

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有