2.黑客攻击与防范技术(上)--wjf


1 黑客攻击与防范技术(上) 中科院计算所教育 2 网络中存在的安全威胁 网络 内部、外部泄密 拒绝服务攻击 特洛伊木马 黑客攻击 计算机病毒 信息丢失、 篡改、销毁 后门、隐蔽通道 蠕虫 3 什么是黑客 • Hacker通常非常精通计算机软硬件知识,并有能 力通过创新的方法剖析系统。“黑客”通常会去寻找 网络中漏洞,但往往并不去破坏计算机系统。 • Cracker往往会通过计算机系统漏洞来入侵,他们 也具备广泛的电脑知识,但与黑客不同的是他们以 破坏为目的。有人将其翻译成“骇客”。 • 现在Hacker和Cracker已经混为一谈,人们通常 将入侵计算机系统的人统称为黑客 4 黑客命名 • Lara ˆ 崇拜真正黑客的初级黑客, script kiddy • Wannabee ˆ 处于Lara的初始阶段的黑客,他们急于掌握入侵技术,但没有经 验,因此即使没有恶意也可能造成很大危险 • Samurai ˆ 被他人雇佣的帮助他人提高网络安全的黑客,通常被公司付给薪 金来攻击网络。 • Dark-Side ˆ 是指由于种种原因放弃黑客的道德信念而恶意攻击的黑客 5 INTERNET 上有超过30,000 个黑客站点 • 来自于黑客站点主页上的一些目录... ˆ技术交流:为了兴趣和利益 ˆ击破隐藏的口令保护 ˆ发送漏洞的EMAIL列表 ˆ如何成为一个UNIX黑客 ˆ你曾经想成为特权用户吗? ˆ怎样隐藏你的痕迹 G. Mark Hardy 6 系统安全事故过程示意图 灾害与事故黑客内部人员恐怖分子敌对势力事件源头 非法入侵拒绝服务冒充重放破坏完整性分析窃听方法 其他社会学攻击数据截取自动代理程序命令工具 管理漏洞配置漏洞实现漏洞设计漏洞漏洞 其他服务设备文件传输数据事件客体 其他拒绝服务盗用服务盗取信息破坏信息事件后果 7 黑客常见攻击方法和防范措施 ˆ信息收集 ˆ主机扫描 ˆ端口和服务扫描 ˆ操作系统识别 ˆ资源和用户信息扫描 ˆ防范措施 8 攻击者需要的信息 —域名 —经过网络可以到达的IP地址 —每个主机上运行的TCP和UDP服务 —系统体系结构 —访问控制机制 —系统信息(用户名和用户组名、系统标识、路由 表、SNMP信息等) —其他信息,如模拟/数字电话号码、认证机制等 …… 9 社会信息 —DNS域名 9网络实名 9管理人员在新闻组或者论坛上的求助信 息也会泄漏信息 9网站的网页中 —新闻报道 9例如:XX公司采用XX系统,… —这样的信息可以合法地获取 10 例:来自网站的公开信息 11 信息收集:whois —Whois 9 为Internet提供目录服务,包括名字、通讯地址、 电话号码、电子邮箱、IP地址等信息 —Client/Server结构 9 Client端 发出请求,接受结果,并按格式显示到客 户屏幕上 9 Server端 建立数据库,接受注册请求 提供在线查 询服务 —客户程序 9 UNIX系统自带whois程序 9 Windows也有一些工具 9 直接通过Web查询 12 各种whois数据来源 • 查询InterNIC数据库,只含有非军事和非美国政府的 域,查询途径 – http://www.networksolution.com,提供Web接口 – http://www.arin.net,提供Web接口 – 多数Unix提供了whois,fwhois由Chris Cappuccio编写 – http://www.ipswitch.com,提供Netscan工具 – http://www.samspade.org,提供Sam Spade Web接口 – …… • 如果需要查询政府、军事和国际性公司,可以查询以 下的whois服务器 – http://www.ripe.net 欧洲IP地址分配 – http://whois.apnic.net 亚太IP地址分配 – http://whois.nic.mil 美国军事部门 13 – http://whois.nic.gov 美国政府部门 – www.allwhois.com 美国以外的whois服务器 • 通过http://www.nic.com/nic_info/whois.htm或者 http://www.nic.com/cgi-bin/whois.cgi可以查询大多数通用 域名系统 • 对于国内的域名可以求助于中国互联网信息中心或者中国 万网域名服务系统, http://www.cnnic.net.cn/registration/domain.shtml, http://www.net.cn/ • 查询教育网的域名信息,http://whois.edu.cn/cgi- bin/reg/otherobj 各种whois数据来源 14 各种whois数据来源 • 通过这些查询可以得到黑客感兴趣的一些信息: – 注册机构:显示特定的注册信息和相关的whois服务 器; – 机构本身:显示与某个特定机构相关的所有信息; – 域名:显示与某个特定域名相关的所有信息 – 网络:显示与某个特定网络或IP地址相关的所有信 息; – 联系点:显示与某位特定人员(通常是管理方面联系 人)相关的所有信息 15 对 pku.edu.cn 查询结果 16 信息收集:DNS查询 —关于DNS 9 是一个全球分布式数据库,对于每一个DNS节点,包 含有该节点所在的机器的信息、邮件服务器的信息、 主机CPU和操作系统等信息 9 Nslookup是一个功能强大的客户程序 —熟悉nslookup,就可以把DNS数据库中的信息 挖掘出来 9 分两种运行模式 • 非交互式,通过命令行提交命令 • 交互式:可以访问DNS数据库中所有开放的信息 17 Nslookup示例 • 使用Nslookup可查到域名服务器地址和IP地址 C:\>nslookup cs.pku.edu.cn Server: ns.pku.edu.cn Address: 202.112.7.13 Non-authoritative answer: Name: cs.pku.edu.cn Address: 162.105.203.7 18 Ping工具 • 发送ICMP Echo消息,等待Echo Reply消息 – 可以确定网络和外部主机的状态 – 可以用来调试网络的软件和硬件 • 每秒发送一个包,显示响应的输出,计算网络来 回的时间,最后显示统计结果——丢包率 • ping的背后是什么,如何运作,TCP/IP协议栈? 什么是TCP?什么是IP?地址?路由? 19 协议协议 ƒ 协议是为了在两台计算机之间交换数据而预先规 定的标准。TCP/IP并不是一个协议,而是许多协 议,而TCP和IP只是其中两个基本协议而已 • 通信协议和寄信类似,正确的地址,姓名,邮政编 码以及正确的格式才可以让信寄到收信人手中 xxxxxx 北京西城区xxx号 xxx室 负责人 (收) xxx有限公司 xxxxxx FROM: Room No.xxx, Bldg.F, Huiyuan International Apartment No.x Anli Road Chaoyang District Beijing, P.R.C. xxxxxx TO: xxxxxx xxxxxx U.S.A. 20 TCP/IPTCP/IP协议的起源和发展协议的起源和发展 • 互联网(Internet)的原形是1969年建立的 APARNET。 • 美国国家科学基金会(NSF)为鼓励大学与研究 机构共享他们非常昂贵的4台计算机主机,希望通 过计算机网络把全国的各个大学、研究所的计算 机与这4台巨型计算机连接起来。利用ARPANET 的技术,建立了基于TCP/IP的NSFNET网络,众 多的研究单位和科技公司也加入了采用TCP/IP协 议的队伍。 21 TCP/IPTCP/IP协议的起源和发展协议的起源和发展 „„ 19831983年年11月月11日,日,APARNETAPARNET正式转换成正式转换成TCP/IPTCP/IP协协 议的网络。议的网络。 „ 注意:TCP/IP在正式成为工业标准前,经历了近 12年的实际测试。 22 TCP/IPTCP/IP协议集协议集 ƒ TCP/IP(传输控制协议/网间协议)是一组 网络通信协议,它规范了网络上的所有通 信设备,尤其是一个主机与另一个主机之 间的数据往来格式以及传送方式 23 TCP/IPTCP/IP的安全来由的安全来由 •力求简单高效的设计初衷使TCP/IP协议集 的许多安全因素未得以完善 •安全缺陷的一些表现: •TCP/IP协议数据流采用明文传输 •TCP/IP协议以IP地址作为网络节点的唯一 标识,此举并不能对节点上的用户进行有效 的身份认证 •协议本身的特点被利用实施网络攻击 •……… 24 Internet安全性研究的开始 • 1988年康奈尔大学的研究生罗伯特.莫里斯(22岁)针对 UNIX的缺陷设计了一个“蠕虫”程序,感染了6000台计算 机,使Internet不能正常运行,造成的经济损失达1亿美 元。 • “蠕虫”的作者因此被判三年缓刑、罚款1万美元、做400小 时的社区服务。 • “Morris蠕虫”的出现改变了许多人对Internet安全性的看 法。一个单纯的程序有效地摧毁了数千台机器,那一天标 志着Internet安全性研究的开始。 25 导致Internet安全问题的原因 (1)设计上的问题: Internet从建立开始就缺乏安全的总体构想和设计 , TCP/IP 协议是在可信环境下,为网络互联专门设计的,缺 乏安全措施的考虑。考虑SYN Flood攻击 (2)实现上的问题 : Windows 3.1 —300万行代码,Windows 2000 —5000万 行代码。 人为的后门和设计中的“Bug” (3)配置上的问题: 默认的服务 (4)管理上的问题:弱的口令 26 未来网络演变的假定 ˆTCP/IP协议不会发生根本变化 €遍布世界的巨型资产不会轻易退出历史舞台 ˆ带宽的提高仅是量的变化,并不会带来技术上 面的质的变化 ˆ无线网的出现只表明接入方式的变化,等效于 以太网时期的广播效应,并不带来安全方面的 本质问题 ˆ防范对象仍为资源的恶意消耗与业务的盗用 27 TCP/IPTCP/IP网络的四层结构模型网络的四层结构模型 ƒ OSI参考模型与TCP/IP模型对比 28 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 SMTP FTP TELNET DNS SNMP NFS TFTPRPC TCP UDP IP ICMP IGMP RARPARP 由底层网络定义的协议 应用程序 TCP/IPTCP/IP协议族协议族 29 TCP/IPTCP/IP层次结构层次结构 IP 网间协议(Internet Protocol)。负责主机间数据的路由和网 络上数据的存储。同时为ICMP、TCP、UDP提供分组发送 服务。用户进程通常不需要涉及这一层。 ARP 地址解析协议(Address Resolution Protocol)。此协议将网络 地址映射到硬件地址。 RARP 反向地址解析协议(Reverse Address Resolution Protocol)。 此协议将硬件地址映射到网络地址。 ICMP 网间报文控制协议(Internet Control Message Protocol)。此 协议处理信关和主机间的差错和传送控制。ICMP报文使用 IP数据报进行传送,这些报文通常由TCP/IP网络软件本身 来保证正确性。 30 TCP/IPTCP/IP层次结构层次结构 TCP 传输控制协议(Transmission Control Protocol)。这 是一种提供给用户进程的可靠的全双工字节流面向 连接的协议。它要为用户进程提供虚电路服务,并 为数据可靠传输建立检查。大多数网络用户程序使 用TCP。 UDP 用户数据报协议(User Datagram Protocol)。这是提 供给用户进程的无连接协议,用于传送数据而不执 行正确性检查。 31 TCP/IPTCP/IP层次结构层次结构 FTP 文件传输协议(File Transfer Protocol)。允许用户以文件操作 的方式(文件的增、删、改、查、传送等)与另一主机相互通 信。 SMTP 简单邮件传送协议(Simple Mail Transfer Protocol)。SMTP 协议为系统之间传送电子邮件。 TELNE T 终端协议(Telnet terminal Protocol)。允许用户以虚终端方式 访问远程主机。 HTTP 超文本传输协议(HyperText Transfer Protocol)。是环球 网WWW的基础,它使丰富多彩的Internet以简单的方式展 现给用户。 TFTP 简单文件传输协议(Trivial File Transfer Protocol)。FTP的一 种简化版本。TFTP基于UDP协议 。 32 运行运行FTPFTP的两台主机的两台主机 33 数据的封装数据的封装 34 以太网帧以太网帧 35 物理层安全风险物理层安全风险 ƒ 物理层(Physical Layer),负责传送比特流提供 建立、维护和拆除物理链路所需的机械、电气、 功能和规程特性 ƒ 黑客最常用的攻击和渗透到网络中的—种方法是 在网络内部主机上安装一个packetsniffer。 ƒ 任何有线或无线传输的数据将可被任何可以物理 连接的人得到。安全管理员必须了解他们保护的 网络的所有布局。 36 需要在不同安全域间设置边界访问控制,包 括内外网连界、内网边界。 9 网络隔离 根据国家安全主管部门有关规定,党政涉密网要求与 因特网物理断开。对于各单位的涉密应用,如涉密办 公应用,应单独建立相应的网络。 9 边界防火墙 防火墙是网络安全最基本的安全措施,目的是要在内 部、外部两个网络之间建立一个安全隔离带,通过允 许、拒绝或重新定向经过防火墙的数据流,实现对进 、出内部网络的服务和访问的审计和控制。 访问控制与安全边界(访问控制与安全边界(CTLCTL)) 37 访问控制与安全边界(访问控制与安全边界(CTLCTL)) • 业务网络隔离 ˆ局域网的多个业务系统:办公应用系统,应用系统, 数据中心……。 ˆ可通过有效的虚拟子网划分来对无关用户组间实施安 全隔离,提供子网间的访问控制:VLAN划分。 €用户可以处在不同的物理LAN上,但属于同一个逻辑LAN 。 €用户可以处在不同的逻辑LAN上,但属于同一个物理LAN 38 访问控制与安全边界(访问控制与安全边界(CTLCTL)) • 远程访问控制 ˆ在广域连接的出入口配置防火墙。 ˆ通过设置一台安全认证服务器,可进行拨号用 户身份、远程拨号路由器身份的认证,从而限 制非法单机对内部网的访问。认证服务器可设 在防火墙内,连接到内部网的交换机上。 39 链路层的ARP协议 i Map IP Ethernet 172.16.3.1 IP: 172.16.3.2 Ethernet: 0800.0020.1111 IP: 172.16.3.2 Ethernet: 0800.0020.1111 172.16.3.2 IP: 172.16.3.2 = ???IP: 172.16.3.2 = ??? 我收到了这个广播信息 ,我的MAC地址是 0800.0020.1111 我想知道IP地址 为 176.16.3.2的 MAC地址是什么 ? 40 A B Hacker 当A与B需要通讯时:A发送ARP Request询问B的MAC地址 B发送ARP Reply告诉A自己的MAC地址 ARP欺骗攻击 hub 41 Hacker发送伪装的ARP Reply告诉A,计算机B 的MAC地址是Hacker计算机的MAC地址。 Hacker发送伪装的ARP Reply告诉B,计算机A 的MAC地址是Hacker计算机的MAC地址。 这样A与B之间的通讯都将先经过Hacker,然后 由Hacker进行转发。于是Hacker可以捕获到所有A 与B之间的数据传输(如用户名和密码)。 这是一种典型的中间人攻击方法。 Meet-in-Middle: ARP欺骗攻击 42 Hi,我就是A啊Hi,我就是B啊 A B Hacker ARP欺骗攻击 hub 43 ARP协议安全问题 DoS问题: • 冒充B向A应答,使得A与B的通信不成功 • 冒充A向B发包更新B的ARP表,使B与A的通信 不成功 。 • 察看ARP表: arp -a 44 解决ARP协议安全 • 1.记录所有主机的MAC地址,建立DHCP服务器,所有客 户机的IP地址由网关这里取得,给每个网卡MAC绑定固 定唯一IP地址。这样客户机每次开机的IP地址都是一样 的。 • 2.网关机器关闭ARP动态刷新,使用静态路由,这样的 话,即使APR欺骗攻击网关的话,对网关也是没有用的。 确保主机安全。 • 3.监听网络。ARP欺骗攻击的包一般有两个特点,1.以太 网帧源地址、目标地址和ARP数据包内的协议地址不匹 配。2. MAC地址不在已知的MAC数据库内,或者MAC/IP 不匹配。 45 解决ARP协议安全 • 或者使用ARP服务器: 确保该机安全并通过该机查找自己的ARP转换表 来响应其他机器的ARP广播。 • 提示:网络安全信任关系不要单纯建立在ip或mac 基础上。 46 IPIP数据报数据报 47 IPIP数据报数据报 • 版本号,目前取值4 • 首部长度,4个字节为单位,取值范围5~15 • 服务类型,指定传输的优先级、传输速度、可靠 性和吞吐量等 • 报文总长度,最大长度为65535字节 • 报文标识,唯一标识一个数据报,如果数据报分 段,则每个分段的标识都一样 • 标志,最高位未使用,定义为0,其余两位为DF (不分段)和MF(更多分段) • 段偏移量,以8个字节为单位,指出该分段的第一 个数据字在原始数据报中的偏移位置 48 IPIP数据报数据报 • 生存时间,取值0~255,每经过一个路由节点减 1,为0时被丢弃 • 协议,指明该数据报的协议类型,如1为ICMP, 6为TCP,17为UDP等 • 首部校验和,每通过一次网关都要重新计算该 值,用于保证IP首部的完整性 • 选项,长度可变,提供某些场合下需要的控制功 能,IP首部的长度必须是4个字节的整数倍,如果 选项长度不是4的整数倍,必须填充数据 49 Internet Internet 控制信息协议控制信息协议(ICMP)(ICMP) ƒ 当用户ping 一台主机想看它是否运行 时,用户端就正在产生了一条ICMP 信 息。远程主机将用它自己的ICMP 信息对 ping 请求作出回应。 50 ICMPICMP协议协议 —本身是IP的一部分。 —用途:网关或者目标机器利用ICMP与源通讯,当 出现问题时,提供反馈信息 —在IP协议栈中必须实现 —特点: —其控制能力并不用于保证传输的可靠性 —它本身也不是可靠传输的 51 ICMPICMP数据包数据包 —ICMP数据包直接包含在IP数据包的净荷数据中, IP头中协议类型为1 —ICMP数据的第一个字节代表ICMP报文的类型, 它决定了后续数据的格式 52 ICMPICMP报文类型报文类型 — 0 Echo Reply — 3 Destination Unreachable — 4 Source Quench — 5 Redirect — 8 Echo — 11 Time Exceeded — 12 Parameter Problem — 13 Timestamp — 14 Timestamp Reply — 15 Information Request — 16 Information Reply — 17 Address Mask Request — 18 Address Mask Reply 53 ICMPICMP报文分类报文分类 — ICMP差错报文 9 目的不可达报文(类型3) 9 超时报文(类型11) 9 参数出错报文(类型12) — ICMP控制报文 9 报源抑制报文(类型4) 9 重定向(类型5) — ICMP请求/应答报文 9 回送请求和响应报文(类型0和8) 9 时间戳请求和响应报文(类型13和14) 9 地址掩码请求和响应报文(类型17和18) — 其他 54 ICMP EchoICMP Echo报文报文 — 类型:0表示Echo Reply,8表示Echo — 代码:0 — 标识符:标识一个会话,例如,用进程ID — 序号:可能这样用:每个请求增1 — 选项数据:回显 55 ICMP Destination UnreachableICMP Destination Unreachable报文报文 —类型:3 —代码:0表示网络不可达,1表示主机不可达; 2表示协议不可达;3表示端口不可达;等等 —出错的IP包的IP首部+原始IP数据包中前8个字节 56 演示 • ping & sniffer 57 58 关于Ping • Ping有许多命令行参数,可以改变缺省的行为 • 可以用来发现一台主机是否active • 为什么不能ping成功? – 没有路由,网关设置? – 网卡没有配置正确 – 增大timeout值 – 防火墙阻止掉了 – …… • 有兴趣可以找ping的源代码读一读 59 ICMP安全问题 • ICMP协议本身的特点决定了它非常容易被用于攻击 网络上的路由器和主机,此外也被用于攻击前期扫描 工作的系统指纹识别 如: • 1.可以利用操作系统规定的ICMP数据包最大尺寸不 超过64KB这一规定,向主机发起“Ping of Death”攻 击 • 2.向目标主机长时间、连续、大量地发送ICMP数据 包,也会最终使系统瘫痪。 60 ICMP协议安全解决办法 • 在路由器上对ICMP数据包进行带宽限制, 将ICMP占用的带宽控制在一定的范围内 • 在主机上设置ICMP数据包的处理规则,可 以设定拒绝所有的ICMP数据包--包过滤/防 火墙 61 网络层介绍网络层介绍 ƒ 网络层主要用于寻址和路由。它并不提供 任何错误纠正和流控制的方法。网络层使 用较高效的服务来传送数据报文 62 IPIP地址地址 IP地址:32bit, 4字节 如:10000000 00001011 00000011 00011111 通常采用点分十进制记法: 即:128.11.3.31 Dotted decimal string representation 63 IPIP地址分类地址分类 0.0.0.0 ~ 127.255.255.255 128.0.0.0 ~ 191.255.255.255 192.0.0.0 ~ 223.255.255.255 224.0.0.0 ~ 239.255.255.255 240.0.0.0 ~ 247.255.255.255 64 特殊的IP地址 主机号为全1 : 广播至本网络上的所有主机 192.168.10.255 广播至192.168.10.1~192.168.10.254 主机号全为0 : 代表本网络的地址,如192.168.10.0 0.0.0.0 : 本机,通常用来做源地址 255.255.255.255: 网络内广播,路由器不转发 127.x.x.x : 代表本机环回(loop back)测试用 65 子网掩码子网掩码 1. IP地址为: 140.252.20.68 0x8C FC 14 44 子网掩码: 255.255.255.0 0xFF FF FF 00 子网地址: 140.252.20.0 ~ 140.252.20.255 2. IP地址为: 140.252.20.68 0x8C FC 14 44 子网掩码: 255.255.255.224 0xFF FF FF E0 10001100 11111100 00010100 01000100 11111111 11111111 11111111 11100000 子网地址: 140.252.20.64 ~ 140.252.20.95 IP的子网掩码表明了该IP所在的网络 另一种表示法:140.252.20.68/24 140.252.20.68/27 66 掩码的作用 • 给定一个IP地址和一个掩码,可以得知该 子网的IP范围 • 给定两个IP和掩码,可以判断这两个IP是 否在一个子网内 • 主要用途是选路时使用 67 私有IP地址 用于私有网络,不在Internet上出现,见RFC1918 68 路由路由 简单的讲 路由(名词):数据报从源地址到目的地址所经过的道路,由一 系列路由节点的地址构成。 路由(动词):某个路由节点为数据报选择投递方向的选路过 程。 路由节点:一个具有路由能力的主机或路由器,其内维护一张路 由表,该表中标明了去往某个网络,应该经由的接口。 接口:路由节点连往某个网络的一个端口。 路由表:由很多路由条目组成。其中最后一条是缺省路由条目。 条目:路由表中的一行,每个条目主要由4部分组成:网络地址, 掩码,下一跳节点,接口。 缺省路由条目:路由表中的最后一行, 该条目主要由2部分组成: 下一跳节点,接口。 69 路由路由--简单的讲简单的讲 选路过程:简单的讲 1.路由节点提取出数据报的目的地址。 2.查找路由表中的每一个条目,将目的地址与路由 条目中的掩码做“与”的计算,如果等于该条目中 的网络地址,就将该数据报从该条目所标明的接 口投递给下一跳节点(若下一跳为空或就是自 己,表明目的地址在与路由节点直接相连的网络 上,直接发往目的地址即可)。 3.如果找不到,就按缺省路由条目所指示的方向投 递。 70 发现网络路由路径 Traceroute用来发现实际的路由路径 ˆ原理:给目标的一个无效端口发送一系列UDP,其 TTL依次递增,中间路由器返回一个ICMP Time Exceeded消息 ˆUDP包的端口设置为一个不太可能用到的值(缺省为 33434),因此,目标会送回一个ICMP Destination Unreachable消息,指示端口不可达 • 使用防火墙或者工具防范:如rotoroutor,它可以记录外 来的traceroute请求,产生虚假的应答。 71 example C:\>tracert www.bupt.edu.cn Tracing route to www.bupt.edu.cn [202.112.96.163] over a maximum of 30 hops: 1 <10 ms <10 ms <10 ms 162.105.X.X 2 <10 ms <10 ms <10 ms 162.105.254.250 3 <10 ms <10 ms <10 ms 162.105.253.250 4 <10 ms 10 ms <10 ms pku0.cernet.net [202.112.38.73] 5 <10 ms <10 ms <10 ms 202.112.53.13 6 <10 ms <10 ms <10 ms 202.112.62.246 7 <10 ms <10 ms <10 ms bpt1.cernet.net [202.112.38.78] 8 10 ms <10 ms <10 ms 202.112.42.2 9 <10 ms 10 ms <10 ms 202.112.42.34 10 <10 ms <10 ms <10 ms www.bupt.edu.cn [202.112.96.163] Trace complete. 72 IP协议安全问题 • IP协议存在的主要缺陷包括IP通信不需用进行身 份认证,IP数据传输没有加密,IP的分组和重组 机制不完善,IP地址的表示不需要真实并确认真 假等。 • IP碎片攻击,源路由攻击,IP欺骗,IP伪造, Ping Flooding和Ping of Death等大量的攻击, 都是利用IP协议的缺陷对IP协议进行攻击的。如 IP 欺骗,且很多上层的安全隐患源于 IP 欺骗,如 DNS 欺骗等 73 IP欺骗 • IP欺骗的动机 ˆ隐藏自己的IP地址,防止被追踪 ˆ试图获得授权,进入以IP地址认证的系统 ˆ穿越防火墙 • IP欺骗成功的原因:根据目标地址进行路由 • 实现手段 ˆ发送IP包,包头填写上虚假的源IP地址 ˆ在Unix平台上,直接用socket就可以 €需要root权限 ˆ在Windows平台上,可以使用winpcap等工具 74 IP欺骗 • 双向欺骗 • 关键技术-让回应包通过H ˆH和A在同一个子网内部 ˆ使用源路由选项 被假冒者A 目标机器B 攻击者H 假冒包:A -> B 回应包:B -> A H能看到这 个包吗? 75 如何避免IP欺骗 ˆ路由器上设置过滤器 €入口:外来包带有内部IP地址 €出口:内部包带有外部IP地址 ˆ路由器上禁止源路由这样的包 76 IP协议安全解决办法 • 网络分段 • VLAN • 防火墙 • IPSec 77 黑客是如何隐藏IP的? • 利用proxy,主要是http proxy和socks proxy。 • 一些网站会公布proxy,如 • http://www.multiproxy.org/cgi-bin/search-proxy.pl • http://www.openproxies.com • http://www.proxycn.com • http://www.spousecare.com/anonproxy/chineseproxy.htm • 如:219.232.9.181:80 78 黑客是如何隐藏IP的? • 简单的检验办法: http://ipid.shat.net/ • 如何查找proxyserver: 工具:proxyhunter • 如何使用: IE设置,应用程序设置 • 想设置一次,就不动了 工具:multiproxy (127.0.0.1:8088) 79 黑客是如何隐藏IP的? • 如何让一个不支持代理功能的软件支持socks代 理: 工具:sockscap32 soft->sockscap->socks proxy->target • 如果只有http代理,但软件只支持socks代理, 怎么办: 工具:socks2http sock2http->http proxy->gateway->target 80 传输层介绍传输层介绍 ƒ 传输层控制主机间传输的数 据流。传输层存在两个协 议,用户数据报协议(UDP)和 传输控制协议(TCP) 81 用户数据报协议用户数据报协议(UDP)(UDP) ƒ 传输层协议,为无确认的数据报服务, 只是简单的接收和传输数据 ƒ UDP比TCP传输数据快 UDP头标 UDP数据区 IP头标 IP数据区 82 UDPUDP数据报数据报 83 UDP协议安全问题 • 对UDP协议的攻击,主要利用UDP协议本 身特性,进行流量攻击,强化UDP通信的 不可靠性,以达到拒绝服务的目的。 84 传输控制协议传输控制协议(TCP)(TCP) ƒ 传输层协议,由上层协议接收任意长度的报 文,并提供面向连接的传输服务 ƒ TCP接收数据流,并分成段,然后将这些段送 给IP,因IP为无连接的,所以TCP必须为每个 段提供顺序同步 85 TCPTCP包头结构包头结构 16位源端口号 16位目的端口号 32位序号 32位确认序号 16位窗口大小 选项 数据 20字节 0151631 4位数据 偏移 保留 (6位) U R G A C K P S H R S T S Y N F I N 16位检验和 16位紧急指针 86 TCPTCP报文段报文段 • 源端口号和目的端口号:源和目的主机的IP地址加上端口 号构成一个TCP连接 • 序号和确认号:序号为该TCP数据包的第一个数据字在所 发送的数据流中的偏移量;确认号为希望接收的下一个数 据字的序号; • 首部长度,以4个字节为单位,通常为5 • 6个标志位: ˆ URG:如果使用了紧急指针,URG置1,紧急指针为当前序号到 紧急数据位置的偏移量 ˆ ACK:为1表示确认号有效,为0表示该TCP数据包不包含确认信 息 ˆ PSH:表示是带有PUSH标志的数据,接收到数据后不必等缓冲 区满再发送 87 TCPTCP报文段报文段 ˆRST:用于连接复位,也可用于拒绝非法的数据或拒 绝连接请求 ˆSYN:用于建立连接,连接请求时SYN=1, ACK=0;响应连接请求时SYN=1,ACK=1 ˆFIN:用于释放连接,表示发送方已经没有供发送的数 据 • 窗口大小:表示在确认字节后还可以发送的字节 数,用于流量控制 • 校验和:覆盖了整个数据包,包括对数据包的首 部和数据 • 选项:常见的选项是MSS(Maximum Segment Size) 88 TCPTCP标志 ƒ建立和中断TCP连接 ƒ有三个标志来完成这些过程 • SYN:同步序列号 • FIN:发送端没有更多的数据要传输的信号 • ACK:识别数据包中的确认信息 89 建立一个建立一个TCPTCP连接连接 服务器客户端/请求端 SYN标志,ISN及目的端口号 SYN标志,ISN及确认信息(ACK) 确认信息(ACK) ISN:初始序列号 90 TCP协议工作机制 发送SYN信息 (序列号=x) 发送ACK 信息 (确认号=y+1) 主机A 主机B 发送SYN、ACK信息 (序列号=y, 确认号=x+1) 91 结束一个结束一个TCPTCP连接连接 服务器客户端/请求端 FIN标识,停止服务器端到客户端 的数据传输 确认信息(ACK) FIN标识,停止客户端到服务器端 的数据传输 确认信息(ACK) 92 关于端口 TCP 端口号 F T P 传输层 T E L N E T D N S S N M P T F T P S M T P UDP 应用层 21 23 25 53 69 161 93 客户端与服务器客户端与服务器 94 客户端与服务器客户端与服务器 95 TCP协议的安全问题 • TCP协议被攻击,主要是利用TCP的三次 握手机制,如有: ˆSYN Flooding攻击 ˆTcp 扫描攻击包括SYN scan、FIN scan ˆ会话劫持 96 SYNSYN--floodflood攻击攻击 ƒ这种拒绝服务攻击利用了TCP建立连接时三 方握手的弱点 ƒ攻击者可以建立很多半开连接。在这个过程 中,当服务器要跟攻击者建立连接时,攻击 者却终止了连接。攻击者再建立其它的连接 然后再终止,直到目标服务器打开成百上千 的半开连接 97 TCP会话劫持 • 在现实生活中,例如银行的一笔交易 ˆ如果营业员检查了顾客的身份证和帐户卡, ˆ抬起头来,发现不再是刚才的顾客 ˆ他会把钱交给外面的顾客吗? • 网络中的问题 ˆ在网络上,没有人知道你是一条狗 98 TCP会话劫持 被劫持者A 服务器B 1 A远程登录,建立会话,完成认证过程 攻击者H 2 监听流量 3 劫持会话 4 迫使A下线 99 进行会话劫持的工具 • Juggernaut ˆ可以进行TCP会话攻击的网络sniffer程序 • Hunt ˆ功能与Juggernaut类似 • TTY Watcher ˆ免费程序,针对单一主机上的连接 • IP Watcher ˆ商用的会话劫持工具 100 如何防止会话劫持 • 部署共享式网络,用交换机代替集线器 ˆ无法进行监听 • TCP会话加密 101 传输层安全措施 • 传输层起着承上启下的作用,可以提供多种 安全服务: ˆ对等实体认证服务 ˆ访问控制服务 ˆ数据保密服务 ˆ数据完整性服务 ˆ数据源点认证服务 102 传输层安全措施 • 安全协议:SSL • 应用传输层安全协议要对传输层界面和应 用程序两端都进行修改 • 基于UDP的通信很难在传输层建立起安全 机制 • 优点:提供基于进程对进程的(而不是主机 对主机的)安全服务 103 扫描技术 • 基于TCP/IP协议,对各种网络服务,无论是主机或者 防火墙、路由器都适用 • 扫描器能够 – 发现系统存活情况 – 对端口扫描,发现哪些服务在运行 – 扫描器能够暴露网络上潜在的脆弱性,避免遭受不必要的攻 击 – 有进一步的功能,包括操作系统辨识、应用系统识别 • 用途,双刃剑 – 安全管理员可以用来确保自己系统的安全性 – 黑客用来探查系统的入侵点 • 端口扫描的技术已经非常成熟,目前有大量的商业、 非商业的扫描器 104 扫描技术 • 主机扫描:确定在目标网络上的主机是否可 达,同时尽可能多映射目标网络的拓扑结构, 主要利用ICMP数据包 • 端口扫描:发现远程主机开放的端口以及服务 • 操作系统指纹扫描:根据协议栈判别操作系统 105 主机扫描 • 主机扫描的目的是确定在目标网络上的主 机是否可达,同时尽可能多映射目标网络 的拓扑结构 106 传统主机扫描技术 如ping UNIX下有一些并行处理工具 ,处理效率较高 fping(http://ftp.tamu.edu/pub/Unix/src/) Nmap( http://www.insecure.org), Windows工具:pinger NONE-ECHO ICMP 其它ICMP服务类型(13和14、15和16、17和18)也可 以用于对主机或网络设备如路由器等的探测 107 高级主机扫描技术 • 利用被探测主机产生的ICMP错误报文来进 行复杂的主机探测 • 异常的IP包头 ˆ向目标主机发送包头错误的IP包,目标主机或 过滤设备会反馈ICMP Parameter Problem Error信息。常见的伪造错误字段为Header Length和IP Options。不同厂家的路由器和操 作系统对这些错误的处理方式不同,返回的结 果也不同。 108 高级主机扫描技术 • 错误的数据分片 ˆ当目标主机接收到错误的数据分片(如某些分片丢 失),并且在规定的时间间隔内得不到更正时,将 丢弃这些错误数据包,并向发送主机反馈ICMP Fragment Reassembly Time Exceeded 错误报 文。 • 用UDP扫描 ˆ向目标主机特定端口发送一个0字节数据的UDP 包,关闭端口会反馈ICMP Port Unreachable 错误 报文,而开放的端口则没有任何反馈。通过多个端 口的扫描,还可以探测到目标系统。 109 高级主机扫描技术 • 通过超长包探测内部路由器 ˆ若构造的数据包长度超过目标系统所在路由器 的PMTU且设置禁止分片标志, 该路由器会反馈 Fragmentation Needed and Don’t Fragment Bit was Set差错报文。 110 主机扫描的对策 • 使用可以检测并记录ICMP扫描的工具 • 使用入侵检测系统 • 在防火墙或路由器中设置允许进出自己网络 的ICMP分组类型 111 端口扫描 • 端口扫描的目的是得到目标主机开放和关闭的端 口列表 • 开放的端口往往与一定的服务相对应 ,通过这些 开放的端口,黒客就能了解主机运行的服务,然 后就可以进一步整理和分析这些服务可能存在的 漏洞,随后采取针对性的攻击。 • 已知的端口扫描的类型包括: ˆ开放扫描(Open Scanning) ˆ半开扫描(Half-Open Scanning) ˆ 隐蔽扫描(Stealth Scanning) 112 例子:Superscan 113 Superscan 114 Superscan 115 Superscan 116 Superscan 117 TCP连接若干要点 TCP/IP的一些实现原则 1. 当一个SYN|ACK或者FIN数据包到达一个关闭的端口, 端口发送一个RST数据包 2. 当一个SYN|ACK或者FIN数据包到达一个监听的端口, 数据包被丢弃 3. 当一个包含ACK的数据包到达一个监听端口时,数据包 被丢弃,同时发送一个RST数据包 4. 当一个不包含SYN位的数据包到达一个监听端口时,数 据包被丢弃 5. 当一个SYN数据包到达一个监听端口时,正常的三阶段 握手继续,回答一个SYN|ACK数据包 118 开放扫描 • 需要扫描方通过三次握手过程与目标主机建立完 整的TCP连接 • 可靠性高,产生大量审计数据,容易被发现 119 成功的TCP连接步骤 失败的TCP连接步骤 120 TCP Connect()扫描 • 使用Socket的函数connect()来探测对方的端口是否是活 动的。如果connect()返回成功,则说明该端口是开放 的,否则该端口就是关闭的。 • 优点:该扫描方法的优点在于非常易于实现,只需使用系 统调用即可完成,而且不需要用户有特殊的权限。另外一 个优点就是扫描结果准确。 • 缺点: 1) 无法实施源地址欺骗,因为成功连接的第三步还需要根 据服务器发送的序列号来发送ACK标志的数据包。 2) 很容易被对方的入侵检测系统或防火墙检测到。 121 半开扫描 • 与开放扫描相反,半开(Half-open)扫描方法 并不使用完整的TCP三次握手来进行连接尝试。 • 根据发送的初始TCP包的标志位的不同,存在多 种半开扫描方式。 ˆTCP SYN扫描 ˆIP ID 头扫描(IP ID header Scanning) 122 目标端口开放时TCP SYN扫描的步骤 目标端口关闭时TCP SYN扫描的步骤 123 TCP SYN扫描 • 注意第三步客户端发送RST数据包给服务器。 • 优点:很少有系统会记录这样的行为(而不发RST 则可能被记录),另外它的扫描结果也是相当准 确的,能达到很快的速度。 • 缺点: 1)SYN洪水是一种常见的拒绝服务的攻击方法,许 多防火墙和入侵检测系统对SYN包都建立了报警 和过滤机制。因此SYN扫描的隐蔽性逐渐下降。 2)用户构造SYN数据包需要管理员root权限 124 秘密扫描 • 秘密扫描是指一些较难被入侵检测系统和操作系 统发现的扫描方法。这些方法的特征是: ˆ设置TCP头中的某个或某些标志位(ACK,FIN,RST) ˆ不设置TCP头中的任何标志位(NULL 扫描) ˆ设置TCP头中的所有标志位 ˆ能穿透防火墙 ˆ伪装成正常的数据通信 125 秘密扫描 • 该类扫描的另一个特点就是一般是反向确定结果 的(False positives),即当对方没有任何响应 时认为目标端口是开放的,而如果返回数据包则 认为目标端口是关闭的。 ˆ1)SYN|ACK扫描 ˆ2)FIN扫描 ˆ3)ACK扫描 ˆ4)NULL空扫描 ˆ5) XMAS扫描 ˆ6) UDP ICMP端口不能到达扫描 ˆ…… 126 SYN|ACK扫描 通过发送带SYN|ACK标志的数据包,一个关 闭的端口会返回RST标志,而一个开放的端口则 会忽略该包,不返回任何信息。 目标端口关闭时SYN|ACK扫描的步骤 127 SYN|ACK扫描特点 • 这种反向确定的方法的主要缺点就是扫描结果的 可信度下降。因为存在这样一种可能性:目标端 口是关闭的,但Server回送的RST包被防火墙过 滤了,或者因为网络原因在传输过程中丢失了, 这时接收不到RST数据包,就会认定目标端口时 开放的。这就造成了结果的误判。 • 该扫描的优点是扫描速度快,能躲避常规的检 测。 128 FIN扫描 目标端口关闭时FIN扫描的步骤 特点:FIN扫描只对UNIX/LINUX的系统有效。 优点:FIN扫描的优点是比TCP SYN扫描更为隐蔽, 能躲避大多数入侵检测系统的检测 缺点:扫描结果不是很可靠,而且对于Windows系 列操作系统无效。 129 TCP 反向探测扫描 • 又称认证扫描,该方法主要是基于鉴别协议 (Identification Protocol),见RFC1413。该协 议提供了一种根据TCP连接的源、目的端口来得 到所有者身份的方法。该应用基于TCP协议,服 务器在113端口监听连接信息。 • 当一个连接建立时,服务器从发送来的信息中读 取一行,该行指明了客户端感兴趣的TCP连接。 如果该连接确实存在,服务器会把该连接的所有 者信息(user-id)发送给客户端机器。 130 TCP 反向探测扫描 • 最初的RFC建议了一种帮助应用服务器认证客户 端的协议,然而在实际的实现中也考虑了反向应 用(即客户端认证应用服务器)。 • 可以先连接到80端口,然后通过identd来发现服 务器是否在root下运行 • 建议应用服务器关闭identd,或者在防火墙上禁 止,除非是为了审计的目的 131 ACK 扫描 • ACK扫描主要利用了某些操作系统的IP协议实现的Bug, 这些操作系统主要指BSD系列。有两个方法可以鉴别端口 的状态, • 发送ACK包,检查回送的RST包的IP头的TTL值,开放端 口发送的RST包的IP头中的TTL值一般比关闭的端口小, 而且小于等于64。 • 另一个方法是检查TCP头中的WINDOW值。开放端口发 送的RST包的TCP头的WINDOW值一般是非0的,而关闭 的端口返回的包的WINDOW值为0。 132 XMAS扫描和NULL扫描 • XMAS扫描是向目标发送一个将所有标志位都设 置为有效的TCP包,这些标志位包括: ACK,FIN,RST,SYN,URG,PSH。如果对方端口是 开放的,则会完全忽略这个包,而不返回任何数 据包;如果端口是关闭的,则会回送一个RST数 据包。 • NULL扫描与XMAS扫描类似,只是将TCP包中的 所以标志位都置0。 • 不同的操作系统会有不同的响应方式 133 UDP ICMP端口不能到达扫描 • 原理 ˆ有些协议栈实现的时候,对于关闭的UDP端 口,会送回一个ICMP Port Unreach错误。 • 缺点 ˆ速度慢,而且UDP包和ICMP包都不是可靠 的。 ˆ需要root权限,才能读取ICMP Port Unreach消息。 134 UDP ICMP端口不能到达扫描 • 非root用户不能直接读取ICMP Port Unreach消 息,但是Linux提供了一种方法可以间接通知 到。 • 做法 ˆ第二次对一个关闭的UDP端口调用write()总是会失 败。 ˆ在ICMP错误到达之前,在UDP端口上调用recvfrom() 会返回EAGAIN(重试),否则会返回 ECONNREFUSED(连接拒绝)。 135 TCP ftp proxy扫描 • 又名FTP bounce attack, 原理: – 在ftp协议中,数据连接可以与控制连接位于 不同的机器上。让ftp server与目标主机建立 连接,而且目标主机的端口可以指定。 – 如果端口打开,则返回"226: Transfer Complete."。否则,返回"425: Can't build data connection: Connection refused." 。 – Ftp这个缺陷还可以被用来向目标(邮件,新闻) 传送匿名信息。 • 优点:这种技术可以用来穿透防火墙。 • 缺点:慢,有些ftp server禁止这种特性。 136 TCP ftp proxy扫描 137 黑客实现扫描隐蔽性的技术 • 实现隐蔽性的技术 ˆ包特征的随机选择 ˆ慢速扫描 ˆ源地址欺骗 ˆ分布式(合作)扫描 138 包特征的随机化 • 包特征包括IP头中的TTL(Time to Live)字 段,TCP头中的源端口、目的端口等字段。在正 常的通讯中,某主机收到的数据包一般是杂乱无 章的,所以为了将扫描行为伪装成正常通讯,黒 客就会将这些包特征随机化。 139 慢速扫描 • 许多入侵监测系统会统计某个IP地址在一 段时间内的连接次数。当其频率超出设定 的范围时,NIDS就会报警。 • 为了躲避这类的检测,谨慎的黑客会用很 慢的速度来扫描对方主机。 140 源IP欺骗 • 黑客为了使自己电脑的真实IP不被发现,在进行 端口扫描时,伪造大量含有虚假源IP地址的数据 包同时发给扫描目标。因此目标主机无法从这么 多IP地址中判断扫描真实的发起者。 141 分布式扫描 • 分布式扫描,也称合作扫描。即一组黒客共同对 一台目标主机或某个网络进行扫描,他们之间就 可以进行扫描分工。例如每个人扫描某几个端口 和某几台主机。这样每个黒客发起的扫描数较 小,难以被发现。 142 操作系统辨识 • 操作系统辨识的动机 – 许多漏洞是系统相关的,而且往往与相应的版本对应 – 从操作系统或者应用系统的具体实现中发掘出来的攻 击手段都需要辨识系统 • 如何辨识一个操作系统 – 一些端口服务的提示信息,例如,telnet、http、ftp 等服务的提示信息 – TCP/IP栈指纹 – DNS泄漏出OS系统 – 社会工程(social engineering) 143 端口服务提供的信息 • Telnet服务 • Http服务 • Ftp服务 144 某大学的ftp进站页面 145 栈指纹技术 • 定义:利用TCP/IP协议栈实现上的特点来辨识 一个操作系统 – 可辨识的OS的种类,包括哪些操作系统 – 结论的精确度,细微的版本差异是否能识别 • 一些工具 – Checkos, by Shok – Queso, by Savage – Nmap, by Fyodor 146 主动栈指纹识别技术 • 原理:寻找不同操作系统之间在处理网络数据包 上的差异,并且把足够多的差异组合起来,以便 精确地识别出一个系统的OS版本 • 原因:不同厂家的IP协议栈实现之间存在着许多 细微的差别,各厂家在编写协议栈时,对特定的 RFC文档规定会作出不同的解释。 147 主动栈指纹识别常用的手段 TCP协议实现 – 给一个开放的端口发送FIN包,有些操作系统有回 应,有的没有回应 – 对于非正常数据包的反应 9比如,发送一个包含未定义TCP标记的数据包 – 根据TCP连接的序列号风格 9寻找初始序列号之间的规律 – TCP初始化窗口 9有些操作系统会使用一些固定的窗口大小 IP协议实现 – DF位(Don't Fragment bit ) 9某些操作系统会设置IP头的DF位来改善性能 148 主动栈指纹识别常用的手段 • 分片处理方式 – 分片重叠的情况下,处理会不同:用后到的新数据覆 盖先到的旧数据或者反之 • ICMP协议 – ICMP错误消息的限制 9发送一批UDP包给高端关闭的端口,然后计算返回来的不可 达错误消息,这是因为有些操作系统会遵循RFC1812,对 ICMP发送的频率有限制。 – ICMP端口不可达消息的大小 9通常情况下送回IP头+8个字节,但是个别系统送回的数据更 多一些 – ICMP回应消息中,IP头中TOS域的值,大多数OS设 之为0,也可设为其它值。 149 主动栈指纹识别常用的手段 • TCP选项(RFC793和更新的RFC1323) – 这里充满了各种组合的可能性 – 设置多个选项(如“最大分段长度”“数据窗缩放比 例”“时间戳”等选项)并发送,分析其返回结果。 – 有些高级选项在新的协议栈实现中加入 • SYN flooding 测试 – 如果发送太多的 伪造SYN包,一些操作系统会停止建 立新的连接。许多操作系 统只能处理8 个包。 150 Nmap识别操作系统的例子 151 • nmap –v target.example.com 这个命令对target.example.com上所有的保留TCP端口 做了一次扫描,-v表示用详细模式。 • nmap -sS -O target.example.com/24 这个命令将开始一次SYN的半开扫描,针对的目标是 target.example.com所在的C类子网,它还试图确定在目 标上运行的是什么操作系统。这个命令需要管理员权限, 因为用到了半开扫描以及系统侦测。 152 被动栈指纹识别方法 • 它和主动栈指纹识别方法类似 • 不是向目标系统发送分组,而是被动监测 网络通信,以确定所用的操作系统 – 如根据TCP/IP会话中的几个属性: 9TTL 9窗口大小 9DF 9TOS – Siphon工具, http://siphon.datanerds.net/,osprints.conf 153 例:被动栈指纹识别方法 telnet 192.168.102.245(发起方为192.168.102.155 ) 利用snort监听到的数据包: 192.168.102.245:23-> 192.168.102.155:2300 TCP TTL:255 TOS:0x0 ID:58955 DF **S***A* Seq:0xD3B709A4 Ack:0xBE09B2B7 Win:0x2798 TCP Options => NOP NOP TS:9688775 9682347 NOP WS:0 MSS:1460 和siphon的指纹数据库文件osprints.conf比较, 可猜测 192.168.102.245的操作系统为 Solaris 2.6-2.7 154 端口扫描和系统识别的对策 • 端口扫描监测工具监视操作系统检测活动 • 让操作系统识别失效的补丁 –修改OS的源代码或改动某个OS参数以达 到改变单个独特的协议栈特征的目的 • “不吱声就不会被发现”,这句古老格言并 不适合信息安全工作。 • 把代理,防火墙,入侵检测用起来,即便 黑客知道目标的开放端口和操作系统,也 无计可施。 155 nmap: Network Mapper • By Fyodor – 作者研究了诸多扫描器,每一种扫描器都有自己的优 点,它把所有这些技术集成起来,写成了nmap • 源码开放,C语言 • 两篇技术文档 – The Art of Port Scanning – Remote OS detection via TCP/IP Stack FingerPrinting • 除了扫描功能,可以识别操作系统,甚至是内核的版本 156 扫描器 • SATAN • SAINT • SSS • Strobe • X-Scan • …… •ISS (安氏) •Pinger •Portscan •Superscan •流光 157 资源和用户信息扫描 • 资源扫描和用户扫描都是攻击目标系统的很有价值的信 息,而Windows系统,特别是Windows NT/2000在这些方 面存在着严重的漏洞,很容易让非法入侵者获取到关于 该目标系统的很多有用信息,如共享资源、Netbios名和 用户组等。 ˆ资源扫描:用户扫描网络资源和共享资源,如目标网 络计算机名、域名和共享文件等等; ˆ用户扫描:用户扫描目标系统上合法用户的用户名和 用户组名。 •NetBIOS协议 •CIFS/SMB协议 •空会话 158 查点(enumeration) —收集目标有效的用户账号或保护不当的共 享资源,这就是查点(enumeration)。 —查点要对目标系统进行连接和查询,查点 活动有可能会被目标系统记录。 —查点通常是针对特定操作系统进行。 159 Windows NT/2000的查点 —Windows NT的网络服务依赖于 CIFS/SMB(Common Internet File System/Server Message Block)和NetBIOS数 据传输协议,很容易泄漏共享信息。Windows 2000也同样具有NT的不安全特性。 —实例 9如果通过端口扫描获知TCP端口139已经打开 • net use \\192.168.102.230\IPC$ "" /USER: "" 9在攻击者和目标主机间建立连接 —Windows 2000还有另一个SMB端口445 160 NetBIOS网络资源查点 —NT/2000中有很多工具可用于提供对网络资源的 查询 9nbtstat,可以获取NetBIOS远程主机名字表 161 NetBIOS网络资源查点 9nbtscan,一次可对多个主机进行查询,弥补 了nbtstat一次只能对一台主机进行查询的缺陷 162 NetBIOS 网络资源查点 9 net view查看域、计算机或计算机共享资源的列表 9 如果建立了空会话连接,可用net view查看目标共享 资源 163 NetBIOS 网络资源查点工具 —两个常用的网络资源查点工具:legion和NAT Legion 164 NetBIOS 网络资源查点工具 N A T 165 NetBIOS 网络资源查点工具 —NTRK中的网络资源查点工具 9nltest、rmtshare、srvcheck、srvinfo、 netdom等 —其他网络资源查点工具 9epdump、getmac、netviewx、enum、 dumpsec等 —注:NTRK是Windows提供的网络管理工具: NT Resource Kit,在2000 Server安装盘的 Support\Tools目录 166 NetBIOS 用户查点 —攻击者对目标主机的用户名和密码更感 兴趣 —一旦获取用户名,50%的努力花在窃取 账号上 —用户通常使用弱密码 —在查询资源的同时可以查询用户 9前面介绍的一些工具,如NAT、enum、 dumpsec等 167 服务器程序及标记查点 —连接目标主机的应用程序并根据输出来获 取标记 —可以确认服务器上运行的软件和版本 —常用的方法 9telnet和nc(瑞士军刀) • c:\telnet 192.168.102.155 80 168 NT/2000服务器程序及标记查点 €nc –v 192.168.102.233 80 在确定了服务器软件的厂商和版本之后,攻击者就 可以使用特定平台的技术和方法进行攻击 169 查点的对策 —在路由器、防火墙或其他网络关口设置,不允许 对TCP和UDP的135~139端口的访问 —2000和xp中,还要禁止445端口。 170 查点的对策 — Hkey_Local_Machine\SYSTEM\CurrentControlSet\Co ntrol\LSA,增加一个数据项RestrictAnonymous,数据 类型为REG_DWORD,NT下数值设为1,2000下设为2 — 2000下,“管理工具”中的“本地安全设置”|“本地策 略”|“安全选项”中对匿名连接的额外限制(相当于设置 RestrictAnonymous为2) 171 Unix/Linux的查点 —Unix/Linux的具体实现依赖于标准的TCP/IP, 无法通过传统的NetBIOS获取信息 —利用Unix/Linux提供的一些服务仍然可以进行 查点 —网络资源查点 9 showmount,用于查点网络中使用NFS的文件系统 (使用端口2049) 9 网络信息服务NIS —用户查点 9 finger:自动获取远程主机用户信息的简便方法, finger服务(端口号为79)常运行在不安全的缺省 配置上 172 Unix/Linux的查点 173 查点的对策 —对服务程序标记查点的对策: 9对具有风险的应用程序,尽可能隐藏其 标记中的厂商和版本信息; 9定期使用端口扫描和netcat工具连接活 动端口进行网络系统检查,确保没有泄 露信息 9锁定注册表,不能对它进行远程访问。 服务中关闭Remote Registry Service。 174 一点题外话 • windowsXP和windows2000的差异,导致共享 容易出一些问题。 • 网络连接->属性->选中microsoft的文件和打印机 共享。 • 启用guest: 我的电脑->管理->系统工具->用户和 组管理->启用guest • gpedit.msc->计算机配置->windows设置->安全 设置->本地策略->用户权力指派->拒绝从网络访 问这台计算机->删除guest帐号 • 不使用简单文件共享 175 不使用简单文件共享 176 Q&A
还剩175页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

Mr.Dangerous

贡献于2014-10-28

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf