[ 笔记 ] 计算机网络安全 | 您所在的位置:网站首页 › 安全扫描工具有哪些 › [ 笔记 ] 计算机网络安全 |
[笔记] 计算机网络安全:(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
监听主机的特点:网络接口设为混杂模式 ping测试发现 包测试发现 ![]()
|
CopyRight 2018-2019 实验室设备网 版权所有 |