




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络扫描技术,2,内容,TCP/IP基础 网络信息收集 目标探测 网络扫描 查点 从系统中获取有效账号或资源名 网络监听 截获网络上的数据包,3,安全层次,安全的密码算法,安全协议,网络安全,系统安全,应用安全,4,TCP/IP基础,网络体系架构 重要协议的数据包格式 IP、ICMP TCP、UDP TCP连接 一些上层协议,5,网络体系架构,OSI参考模型,TCP/IP模型,6,TCP/IP协议栈,7,协议栈各层数据包结构,8,IP数据包格式,9,IP首部说明,版本号,目前取值4 首部长度,4个字节为单位,取值范围515 服务类型,指定传输的优先级、传输速度、可靠性和吞吐量等 报文总长度,最
2、大长度为65535字节 报文标识,唯一标识一个数据报,如果数据报分段,则每个分段的标识都一样 标志,最高位未使用,定义为0,其余两位为DF(不分段)和MF(更多分段) 段偏移量,以8个字节为单位,指出该分段的第一个数据字在原始数据报中的偏移位置,10,IP首部说明(续),生存时间,取值0255,以秒为单位,每经过一个路由节点减1,为0时被丢弃 协议,指明该数据报的协议类型,1为ICMP,4为IP,6为TCP,17为UDP等 首部校验和,每通过一次网关都要重新计算该值,用于保证IP首部的完整性 选项,长度可变,提供某些场合下需要的控制功能,IP首部的长度必须是4个字节的整数倍,如果选项长度不是4
3、的整数倍,必须填充数据,11,IP地址,保留地址,只用于内部通信: - 55 - 55 - 55,55,55,55,55,55,12,特殊意义的IP地址,全0的IP地址表示本机 以0作网络号的IP地址表示当前的网络 32比特全为1的IP地址表示局
4、域网的广播地址 127.xx.yy.zz保留做回路(loopback)测试,13,ICMP协议,Internet Control Message Protocol,本身是IP的一部分,用途 网关或者目标机器利用ICMP与源通讯,当出现问题时,提供反馈信息 用于报告错误 在IP协议栈中必须实现 特点: 其控制能力并不用于保证传输的可靠性 它本身也不是可靠传输的 并不用来反映ICMP报文的传输情况,14,ICMP数据包,ICMP数据包直接包含在IP数据包的净荷数据中,IP头中协议类型为1 ICMP数据的第一个字节代表ICMP报文的类型,它决定了后续数据的格式,15,ICMP报文分类,ICMP差错报
5、文 目的不可达报文(类型3) 超时报文(类型11) 参数出错报文(类型12) ICMP控制报文 报源抑制报文(类型4) 重定向(类型5) ICMP请求/应答报文 回送请求和响应报文(类型0和8) 时间戳请求和响应报文(类型13和14) 地址掩码请求和响应报文(类型17和18) 其他,16,ICMP报文类型,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
6、Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply,17,ICMP Echo报文,类型:0表示Echo Reply,8表示Echo 代码:0 标识符:标识一个会话,例如,用进程ID 序号:可能这样用:每个请求增1 选项数据:回显,18,ICMP Time Exceeded报文,类型:11 代码:0表示传输过程中时间到,1表示分片装配过程中时间到 出错的IP包IP首部+原始IP数据包中前8个字节,19,ICMP Destination Unreachable报文,类型:3 代
7、码:0表示网络不可达,1表示主机不可达;2表示协议不可达;3表示端口不可达;等等 出错的IP包的IP首部+原始IP数据包中前8个字节,20,TCP数据包格式,21,TCP首部说明,源端口号和目的端口号:源和目的主机的IP地址加上端口号构成一个TCP连接 序号和确认号:序号为该TCP数据包的第一个数据字在所发送的数据流中的偏移量;确认号为希望接收的下一个数据字的序号; 首部长度,以4个字节为单位,通常为20个字节 6个标志位: URG:如果使用了紧急指针,URG置1,紧急指针为当前序号到紧急数据位置的偏移量 ACK:为1表示确认号有效,为0表示该TCP数据包不包含确认信息 PSH:表示是带有PU
8、SH标志的数据,接收到数据后不必等缓冲区满再发送,22,TCP首部说明(续),RST:用于连接复位,也可用于拒绝非法的数据或拒绝连接请求 SYN:用于建立连接,连接请求时SYN1,ACK=0;响应连接请求时SYN=1,ACK=1 FIN:用于释放连接,表示发送方已经没有供发送的数据 窗口大小:表示在确认字节后还可以发送字节数,用于流量控制 校验和:覆盖了整个数据包,包括对数据包的首部和数据 选项:常见的选项是MSS(Maximum Segment Size),23,UDP数据包格式,24,TCP连接的建立和终止,25,TCP连接若干要点,TCP/IP的一些实现原则 当一个SYN或者FIN数据包
9、到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包 当一个RST数据包到达一个监听端口,RST被丢弃 当一个RST数据包到达一个关闭的端口,RST被丢弃 当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包,当一个不包含SYN位的数据包到达一个监听端口时,数据包被丢弃 当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN|ACK数据包 当一个FIN数据包到达一个监听端口时,数据包被丢弃,26,常用的上层协议,DNS: 53/tcp,udp FTP: 20,21/tcp telnet: 23/tcp HTTP: 80/tcp NNTP
10、: 119/tcp SMTP: 25/tcp POP3: 110/tcp 参考:IANA提供的port-numbers.txt,27,网络攻击的完整过程,28,信息收集,信息收集技术是一把双刃剑 黑客在攻击之前需要收集信息,才能实施有效的攻击 安全管理员用信息收集技术来发现系统的弱点并进行修补,攻击工具 攻击命令,攻击机制,目标网络,目标系统,攻击者,漏洞扫描 评估 加固,攻击过程,实时 入侵 检测,知己知彼,百战不殆,29,信息收集过程,信息收集(踩点,footprint)是一个综合过程 从一些社会信息入手 找到网络地址范围 找到关键的机器地址 找到开放端口和入口点 找到系统的制造商和版本
11、,30,攻击者需要的信息,域名 经过网络可以到达的IP地址 每个主机上运行的TCP和UDP服务 系统体系结构 访问控制机制 系统信息(用户名和用户组名、系统标识、路由表、SNMP信息等) 其他信息,如模拟/数字电话号码、认证机制等 ,31,社会信息,DNS域名 网络实名 管理人员在新闻组或者论坛上的求助信息也会泄漏信息 网站的网页中 新闻报道 例如:XX公司采用XX系统, 这样的信息可以合法地获取,32,例:来自网站的公开信息,33,网站上令人感兴趣的信息,机构所在位置 与其关系紧密的公司或实体 电话号码 联系人姓名和电子邮件地址 指示所用安全机制的类型的私密或安全策略 与其相关联的Web服务
12、器链接,此外,尝试查阅HTML源代码,34,非网络技术的探查手段,社会工程 通过一些公开的信息,获取支持人员的信任 假冒网管人员,骗取员工的信任(安装木马、修改口令等) 查电话簿、XX手册(指南) 在信息发达的社会中,只要存在,就没有找不到的,是这样吗? 通过搜索引擎可以获取到大量的信息 搜索引擎提供的信息的有效性?(google、AltaVista),35,信息收集:whois,Whois 为Internet提供目录服务,包括名字、通讯地址、电话号码、电子邮箱、IP地址等信息 Client/Server结构 Client端 发出请求,接受结果,并按格式显示到客户屏幕上 Server端 建立数
13、据库,接受注册请求 提供在线查询服务 客户程序 UNIX系统自带whois程序 Windows也有一些工具 直接通过Web查询,36,例:Sam Spade工具,37,各种whois数据来源, 多数Unix提供了whois,fwhois由Chris Cappuccio创建 如果需要查询com、net、edu、org以外的域可以查询以下的whois服务器 欧洲IP地址分配 亚太IP地址分配 美国军事部门,38, 美国政府部门 美国以外的whois服务器 通过这些查询可以得到
14、黑客感兴趣的一些信息: 注册机构:显示特定的注册信息和相关的whois服务器; 机构本身:显示与某个特定机构相关的所有信息; 域名:显示与某个特定域名相关的所有信息 网络:显示与某个特定网络或IP地址相关的所有信息; 联系点:显示与某位特定人员(通常是管理方面联系人)相关的所有信息,各种whois数据来源(续),39,公共数据库安全对策,考虑使用免费电话或不在本机构电话交换机范围内的电话,避免拨入攻击和社交工程 伪造虚假的管理方面联系人,期望以此捕获潜在的社交工程师 加强注册机构的信息更新方式,可以使用安全的认证机制 弱的认证方式:电子邮件的FROM字段 1998年对AOL的攻击修改其域名信息
15、,40,信息收集:DNS查询,关于DNS 是一个全球分布式数据库,对于每一个DNS节点,包含有该节点所在的机器的信息、邮件服务器的信息、主机CPU和操作系统等信息 Nslookup是一个功能强大的客户程序 熟悉nslookup,就可以把DNS数据库中的信息挖掘出来 分两种运行模式 非交互式,通过命令行提交命令 交互式:可以访问DNS数据库中所有开放的信息 UNIX/LINUX环境下的host命令有类似的功能,41,DNS节点的例子,42,DNS 以前的做法,socket(PF_INET, SOCK_PACKET, protocol) 不同的UNIX或者Linux版本可能会有不同的函数调用,本质
16、上 打开一个socket(或者通过open打开一个设备) 通过ioctl()或者setsockopt()设置为混杂模式,141,BPF(Berkeley Packet Filter),BSD抓包法 BPF是一个核心态的组件,也是一个过滤器 Network Tap接收所有的数据包 Kernel Buffer,保存过滤器送过来的数据包 User buffer,用户态上的数据包缓冲区 Libpcap(一个抓包工具库)支持BPF Libpcap是用户态的一个抓包工具 Libpcap几乎是系统无关的 BPF是一种比较理想的抓包方案 在核心态,所以效率比较高, 但是,只有少数OS支持(主要是一些BSD操作
17、系统),142,BPF和libpcap,143,关于libpcap,用户态下的数据包截获 系统独立的API接口,C语言接口 目前最新为1.10版本 广泛应用于: 网络数据收集 安全监控 网络调试 支持过滤机制,BPF Programming with pcap /pcap.htm,144,libpcap介绍,为捕获数据包做准备的几个函数 char *pcap_lookupdev(char *errbuf);返回一个指向网络设备的指针,这个指针下面用到 pcap_t *pcap_open_live(char *device, int snaplen, i
18、nt promisc, int to_ms, char *ebuf);用来获取一个packet capture descriptor;snaplen指定了抓取数据包的最大长度 pcap_dumper_t *pcap_dump_open(pcap_t *p, char *fname);打开一个savefile文件,用于dump pcap_t *pcap_open_offline(char *fname, char *ebuf);打开一个savefile,从中读取数据包,145,Libpcap: 设置filter,设置过滤器用到的函数 int pcap_lookupnet(char *device
19、, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf) 获得与网络设备相关的网络号和掩码 int pcap_compile(pcap_t *p, struct bpf_program *fp,char *str, int optimize, bpf_u_int32 netmask)把字符串str编译成一个过滤器程序 int pcap_setfilter(pcap_t *p, struct bpf_program *fp)设置一个过滤器,146,Libpcap: 捕获数据,捕获数据用到的两个函数 int pcap_dispatch(pcap_
20、t *p, int cnt, pcap_handler callback, u_char *user) int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user) 参数含义: cnt指定了捕获数据包的最大数目 pcap_handler是一个回调函数 二者区别在于pcap_loop不会因为read操作超时而返回。 另一个函数:void pcap_dump(u_char *user, struct pcap_pkthdr *h, u_char *sp) 把数据包写到一个由pcap_dump_open()打开的文件中,
21、147,Windows平台下的抓包技术,内核本身没有提供标准的接口 通过增加一个驱动程序或者网络组件来访问内核网卡驱动提供的数据包 在Windows不同操作系统平台下有所不同 不同sniffer采用的技术不同 WinPcap是一个重要的抓包工具,它是libpcap的Windows版本,148,WinPcap,WinPcap包括三个部分 第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码 第二个模块packet.dll为win32平台提供了一个公共的接口
22、。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在不同版本的Windows平台上,而无需重新编译 第三个模块 Wpcap.dll是不依赖于操作系统的。它提供了更加高层、抽象的函数。 packet.dll和Wpcap.dll packet.dll直接映射了内核的调用 Wpcap.dll提供了更加友好、功能更加强大的函数调用,149,WinPcap和NPF,150,Windows的网络结构,NDIS(Network Driver Interface Specification,网络驱动接口规范)描述了网络驱动
23、与底层网卡之间的接口规范,以及它与上层协议之间的规范 NPF作为一个核心驱动程序而提供的,151,WinPcap的优势,提供了一套标准的抓包接口 与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来 便于开发各种网络分析工具 除了与libpcap兼容的功能之外,还有 充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持 支持内核态的统计模式 提供了发送数据包的能力 http:/winpcap.polito.it/,152,在交换式网络上监听数据包,ARP重定向技术,一种中间人攻击,GW,1 B打开IP转发功能,2 B发送假冒的arp包给A,声称自己是GW
24、的IP地址,3 A给外部发送数据,首先发给B,4 B再转发给GW,原理:利用dsniff中的arpredirect工具,A,B,153,发送数据包Libnet,利用Libnet构造数据包并发送出去 关于Libnet 支持多种操作系统平台 提供了50多个C API函数,功能涵盖 内存管理(分配和释放)函数 地址解析函数 各种协议类型的数据包构造函数 数据包发送函数(IP层和链路层) 一些辅助函数,如产生随机数、错误报告等,154,使用Libnet的基本过程,数据包内存初始化 网络接口初始化 构造所需的数据包 计算数据包的校验和 发送数据包 关闭网络接口 释放数据包内存,libnet_init_p
25、acket(); libnet_open_raw_sock(); libnet_build_ip(); libnet_build_tcp(); libnet_do_checksum(); libnet_write_ip(); libnet_close_raw_sock(); libnet_destroy_packet();,155,Sniffer的反措施,合理的网络分段,在网络中使用网桥和交换机;相互信任的主机处于同一网段 使用加密技术传送敏感数据,如SSH 为了防止ARP欺骗,使用永久的ARP缓存条目 如何检测处于混杂模式的节点 ,156,检测处于混杂模式的节点,网卡和操作系统对于是否处于混
26、杂模式会有一些不同的行为,利用这些特征可以判断机器是否运行在混杂模式下 一些检测手段 观测DNS 很多网络监听软件会尝试进行地址反向解析,可以通过观测DNS上是否有明显增多的解析请求 根据操作系统的特征 Linux内核的特性:正常情况下,只处理本机MAC地址或者以太广播地址的包。在混杂模式下,许多版本的Linux内核只检查 数据包中的IP地址以确定是否送到IP堆栈。因此,可以构造无效以太地址而IP地址有效的ICMP ECHO请求,看机器是否返回应答包(混杂模式),或忽略(非混杂模式)。 Windows 9x/NT:在混杂模式下,检查一个包是否为以太广播包时,只看MAC地址前八位是否为0 xff。,157,检测处于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人房屋售房合同样本
- 住宅小区车位转让合同样本
- 个人专利咨询合同样本
- 仿石漆经销合同标准文本
- 公司公积金合同样本
- 共建单位挂牌合同样本
- 专业版个人合作合同样本
- 2025临时买卖合同范本
- 书店入股合同标准文本
- 入股个体酒吧合同标准文本
- 雷锋叔叔你在哪里教学反思
- 软件详细设计说明书(例)
- 钢拱桥专项吊装方案终稿
- 24式太极拳教案(1~4课)
- 哈萨克斯坦铁路车站代码
- 产业经济学的课后复习答案
- 中国绿色经济发展之路(PPT-37张)课件
- 客房控制系统——RCU系统培训PPT通用通用课件
- 履带式液压挖掘机挖掘机构设计
- 川崎病诊治指南最新ppt课件
- (会议纪要(2011)第29期)河南煤业化工集团有限责任公司会议纪要
评论
0/150
提交评论