




已阅读5页,还剩150页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络扫描技术,2,内容,TCP/IP基础网络信息收集目标探测网络扫描查点从系统中获取有效账号或资源名网络监听截获网络上的数据包,3,安全层次,安全的密码算法,安全协议,网络安全,系统安全,应用安全,4,TCP/IP基础,网络体系架构重要协议的数据包格式IP、ICMPTCP、UDPTCP连接一些上层协议,5,网络体系架构,OSI参考模型,TCP/IP模型,6,TCP/IP协议栈,7,协议栈各层数据包结构,8,IP数据包格式,9,IP首部说明,版本号,目前取值4首部长度,4个字节为单位,取值范围515服务类型,指定传输的优先级、传输速度、可靠性和吞吐量等报文总长度,最大长度为65535字节报文标识,唯一标识一个数据报,如果数据报分段,则每个分段的标识都一样标志,最高位未使用,定义为0,其余两位为DF(不分段)和MF(更多分段)段偏移量,以8个字节为单位,指出该分段的第一个数据字在原始数据报中的偏移位置,10,IP首部说明(续),生存时间,取值0255,以秒为单位,每经过一个路由节点减1,为0时被丢弃协议,指明该数据报的协议类型,1为ICMP,4为IP,6为TCP,17为UDP等首部校验和,每通过一次网关都要重新计算该值,用于保证IP首部的完整性选项,长度可变,提供某些场合下需要的控制功能,IP首部的长度必须是4个字节的整数倍,如果选项长度不是4的整数倍,必须填充数据,11,IP地址,保留地址,只用于内部通信:-55-55-55,55,55,55,55,55,12,特殊意义的IP地址,全0的IP地址表示本机以0作网络号的IP地址表示当前的网络32比特全为1的IP地址表示局域网的广播地址127.xx.yy.zz保留做回路(loopback)测试,13,ICMP协议,InternetControlMessageProtocol,本身是IP的一部分,用途网关或者目标机器利用ICMP与源通讯,当出现问题时,提供反馈信息用于报告错误在IP协议栈中必须实现特点:其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的并不用来反映ICMP报文的传输情况,14,ICMP数据包,ICMP数据包直接包含在IP数据包的净荷数据中,IP头中协议类型为1ICMP数据的第一个字节代表ICMP报文的类型,它决定了后续数据的格式,15,ICMP报文类型,0EchoReply3DestinationUnreachable4SourceQuench5Redirect8Echo11TimeExceeded12ParameterProblem,13Timestamp14TimestampReply15InformationRequest16InformationReply17AddressMaskRequest18AddressMaskReply,16,ICMP报文分类,ICMP差错报文目的不可达报文(类型3)超时报文(类型11)参数出错报文(类型12)ICMP控制报文报源抑制报文(类型4)重定向(类型5)ICMP请求/应答报文回送请求和响应报文(类型0和8)时间戳请求和响应报文(类型13和14)地址掩码请求和响应报文(类型17和18)其他,17,ICMPEcho报文,类型:0表示EchoReply,8表示Echo代码:0标识符:标识一个会话,例如,用进程ID序号:可能这样用:每个请求增1选项数据:回显,18,ICMPTimeExceeded报文,类型:11代码:0表示传输过程中时间到,1表示分片装配过程中时间到出错的IP包IP首部+原始IP数据包中前8个字节,19,ICMPDestinationUnreachable报文,类型:3代码: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:表示是带有PUSH标志的数据,接收到数据后不必等缓冲区满再发送,22,TCP首部说明(续),RST:用于连接复位,也可用于拒绝非法的数据或拒绝连接请求SYN:用于建立连接,连接请求时SYN1,ACK=0;响应连接请求时SYN=1,ACK=1FIN:用于释放连接,表示发送方已经没有供发送的数据窗口大小:表示在确认字节后还可以发送字节数,用于流量控制校验和:覆盖了整个数据包,包括对数据包的首部和数据选项:常见的选项是MSS(MaximumSegmentSize),23,UDP数据包格式,24,TCP连接的建立和终止,25,TCP连接若干要点,TCP/IP的一些实现原则当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包当一个RST数据包到达一个监听端口,RST被丢弃当一个RST数据包到达一个关闭的端口,RST被丢弃当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包,当一个不包含SYN位的数据包到达一个监听端口时,数据包被丢弃当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN|ACK数据包当一个FIN数据包到达一个监听端口时,数据包被丢弃,26,常用的上层协议,DNS:53/tcp,udpFTP:20,21/tcptelnet:23/tcpHTTP:80/tcpNNTP:119/tcpSMTP:25/tcpPOP3:110/tcp参考:IANA提供的port-numbers.txt,27,网络攻击的完整过程,28,信息收集,信息收集技术是一把双刃剑黑客在攻击之前需要收集信息,才能实施有效的攻击安全管理员用信息收集技术来发现系统的弱点并进行修补,攻击工具攻击命令,攻击机制,目标网络,目标系统,攻击者,漏洞扫描评估加固,攻击过程,实时入侵检测,知己知彼,百战不殆,29,信息收集过程,信息收集(踩点,footprint)是一个综合过程从一些社会信息入手找到网络地址范围找到关键的机器地址找到开放端口和入口点找到系统的制造商和版本,30,攻击者需要的信息,域名经过网络可以到达的IP地址每个主机上运行的TCP和UDP服务系统体系结构访问控制机制系统信息(用户名和用户组名、系统标识、路由表、SNMP信息等)其他信息,如模拟/数字电话号码、认证机制等,31,社会信息,DNS域名网络实名管理人员在新闻组或者论坛上的求助信息也会泄漏信息网站的网页中新闻报道例如:XX公司采用XX系统,这样的信息可以合法地获取,32,例:来自网站的公开信息,33,网站上令人感兴趣的信息,机构所在位置与其关系紧密的公司或实体电话号码联系人姓名和电子邮件地址指示所用安全机制的类型的私密或安全策略与其相关联的Web服务器链接,此外,尝试查阅HTML源代码,34,非网络技术的探查手段,社会工程通过一些公开的信息,获取支持人员的信任假冒网管人员,骗取员工的信任(安装木马、修改口令等)查电话簿、XX手册(指南)在信息发达的社会中,只要存在,就没有找不到的,是这样吗?通过搜索引擎可以获取到大量的信息搜索引擎提供的信息的有效性?(google、AltaVista),35,信息收集:whois,Whois为Internet提供目录服务,包括名字、通讯地址、电话号码、电子邮箱、IP地址等信息Client/Server结构Client端发出请求,接受结果,并按格式显示到客户屏幕上Server端建立数据库,接受注册请求提供在线查询服务客户程序UNIX系统自带whois程序Windows也有一些工具直接通过Web查询,36,例:SamSpade工具,37,各种whois数据来源,多数Unix提供了whois,fwhois由ChrisCappuccio创建如果需要查询com、net、edu、org以外的域可以查询以下的whois服务器欧洲IP地址分配亚太IP地址分配美国军事部门,38,美国政府部门美国以外的whois服务器通过这些查询可以得到黑客感兴趣的一些信息:注册机构:显示特定的注册信息和相关的whois服务器;机构本身:显示与某个特定机构相关的所有信息;域名:显示与某个特定域名相关的所有信息网络:显示与某个特定网络或IP地址相关的所有信息;联系点:显示与某位特定人员(通常是管理方面联系人)相关的所有信息,各种whois数据来源(续),39,公共数据库安全对策,考虑使用免费电话或不在本机构电话交换机范围内的电话,避免拨入攻击和社交工程伪造虚假的管理方面联系人,期望以此捕获潜在的社交工程师加强注册机构的信息更新方式,可以使用安全的认证机制弱的认证方式:电子邮件的FROM字段1998年对AOL的攻击修改其域名信息,40,信息收集:DNS查询,关于DNS是一个全球分布式数据库,对于每一个DNS节点,包含有该节点所在的机器的信息、邮件服务器的信息、主机CPU和操作系统等信息Nslookup是一个功能强大的客户程序熟悉nslookup,就可以把DNS数据库中的信息挖掘出来分两种运行模式非交互式,通过命令行提交命令交互式:可以访问DNS数据库中所有开放的信息UNIX/LINUX环境下的host命令有类似的功能,41,DNS节点的例子,42,DNS以前的做法,socket(PF_INET,SOCK_PACKET,protocol)不同的UNIX或者Linux版本可能会有不同的函数调用,本质上打开一个socket(或者通过open打开一个设备)通过ioctl()或者setsockopt()设置为混杂模式,133,BPF(BerkeleyPacketFilter),BSD抓包法BPF是一个核心态的组件,也是一个过滤器NetworkTap接收所有的数据包KernelBuffer,保存过滤器送过来的数据包Userbuffer,用户态上的数据包缓冲区Libpcap(一个抓包工具库)支持BPFLibpcap是用户态的一个抓包工具Libpcap几乎是系统无关的BPF是一种比较理想的抓包方案在核心态,所以效率比较高,但是,只有少数OS支持(主要是一些BSD操作系统),134,BPF和libpcap,135,关于libpcap,用户态下的数据包截获系统独立的API接口,C语言接口目前最新为1.10版本广泛应用于:网络数据收集安全监控网络调试支持过滤机制,BPFProgrammingwithpcap/pcap.htm,136,libpcap介绍,为捕获数据包做准备的几个函数char*pcap_lookupdev(char*errbuf);返回一个指向网络设备的指针,这个指针下面用到pcap_t*pcap_open_live(char*device,intsnaplen,intpromisc,intto_ms,char*ebuf);用来获取一个packetcapturedescriptor;snaplen指定了抓取数据包的最大长度pcap_dumper_t*pcap_dump_open(pcap_t*p,char*fname);打开一个savefile文件,用于dumppcap_t*pcap_open_offline(char*fname,char*ebuf);打开一个savefile,从中读取数据包,137,Libpcap:设置filter,设置过滤器用到的函数intpcap_lookupnet(char*device,bpf_u_int32*netp,bpf_u_int32*maskp,char*errbuf)获得与网络设备相关的网络号和掩码intpcap_compile(pcap_t*p,structbpf_program*fp,char*str,intoptimize,bpf_u_int32netmask)把字符串str编译成一个过滤器程序intpcap_setfilter(pcap_t*p,structbpf_program*fp)设置一个过滤器,138,Libpcap:捕获数据,捕获数据用到的两个函数intpcap_dispatch(pcap_t*p,intcnt,pcap_handlercallback,u_char*user)intpcap_loop(pcap_t*p,intcnt,pcap_handlercallback,u_char*user)参数含义:cnt指定了捕获数据包的最大数目pcap_handler是一个回调函数二者区别在于pcap_loop不会因为read操作超时而返回。另一个函数:voidpcap_dump(u_char*user,structpcap_pkthdr*h,u_char*sp)把数据包写到一个由pcap_dump_open()打开的文件中,139,Windows平台下的抓包技术,内核本身没有提供标准的接口通过增加一个驱动程序或者网络组件来访问内核网卡驱动提供的数据包在Windows不同操作系统平台下有所不同不同sniffer采用的技术不同WinPcap是一个重要的抓包工具,它是libpcap的Windows版本,140,WinPcap,WinPcap包括三个部分第一个模块NPF(NetgroupPacketFilter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码第二个模块packet.dll为win32平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在不同版本的Windows平台上,而无需重新编译第三个模块Wpcap.dll是不依赖于操作系统的。它提供了更加高层、抽象的函数。packet.dll和Wpcap.dllpacket.dll直接映射了内核的调用Wpcap.dll提供了更加友好、功能更加强大的函数调用,141,WinPcap和NPF,142,Windows的网络结构,NDIS(NetworkDriverInterfaceSpecification,网络驱动接口规范)描述了网络驱动与底层网卡之间的接口规范,以及它与上层协议之间的规范NPF作为一个核心驱动程序而提供的,143,WinPcap的优势,提供了一套标准的抓包接口与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来便于开发各种网络分析工具除了与libpcap兼容的功能之外,还有充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持支持内核态的统计模式提供了发送数据包的能力http:/winpcap.polito.it/,144,在交换式网络上监听数据包,ARP重定向技术,一种中间人攻击,GW,1B打开IP转发功能,2B发送假冒的arp包给A,声称自己是GW的IP地址,3A给外部发送数据,首先发给B,4B再转发给GW,原理:利用dsniff中的arpredirect工具,A,B,145,发送数据包Libnet,利用Libnet构造数据包并发送出去关于Libnet支持多种操作系统平台提供了50多个CAPI函数,功能涵盖内存管理(分配和释放)函数地址解析函数各种协议类型的数据包构造函数数据包发送函数(IP层和链路层)一些辅助函数,如产生随机数、错误报告等,146,使用Libnet的基本过程,数据包内存初始化网络接口初始化构造所需的数据包计算数据包的校验和发送数据包关闭网络接口释放数据包内存,libnet_init_packet();libnet_open_raw_sock();libnet_build_ip();libnet_build_tcp();libnet_do_checksum();libnet_write_ip();libnet_close_raw_sock();libnet_destroy_packet();,147,Sniffer的反措施,合理的网络分段,在网络中使用网桥和交换机;相互信任的主机处于同一网段使用加密技术传送敏感数据,如SSH为了防止ARP欺骗,使用永久的ARP缓存条目如何检测处于混杂模式的节点,148,检测处于混杂模式的节点,网卡和操作系统对于是否处于混杂模式会有一些不同的行为,利用这些特征可以判断机器是否运行在混杂模式下一些检测手段观测DNS很多网络监听软件会尝试进行地址反向解析,可以通过观测DNS上是否有明显增多的解析请求根据操作系统的特征Linux内核的特性:正常情况下,只处理本机MAC地址或者以太广播地址的包。在混杂模式下,许多版本的Linux内核只检查数据包中的IP地址以确定是否送到IP堆栈。因此,可以构造无效以太地址而IP地址有效的ICMPECHO请求,看机器是否返回应答包(混杂模式),或忽略(非混杂模式)。W
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国机场货物装载机行业产业运行态势及投资规划深度研究报告
- 消防队装备车辆授课课件
- 2025至2030液压注射机行业项目调研及市场前景预测评估报告
- 消防队培训知识点总结课件
- 2025至2030中国体声波滤波器行业项目调研及市场前景预测评估报告
- 2025至2030中国沉香木行业项目调研及市场前景预测评估报告
- 2025至2030中国机场酒店行业市场发展分析及竞争格局与投资发展报告
- 2025至2030中国聚烯烃市场前景展望与趋势预测分析报告
- N-3-Indolylacetyl-glycine-13C2-15N-生命科学试剂-MCE
- 中式恐怖毕业论文
- IT设备维修申请表
- 郑州市第四中学新初一分班(摸底)语文模拟试题(5套带答案)
- 2-第二章-各向异性材料的应力-应变关系
- 医院防爆反恐应急预案
- 云南省安全员C证考试题库及答案
- 死亡待遇申请表
- 集中供热管网系统一次网的调节方法
- 无线充电技术在汽车上的应用
- 马工程《刑法学(下册)》教学课件 第17章 危害国家安全罪
- 11科室临床路径、单病种管理目录
- 《廉洁从业》企业文化培训课件
评论
0/150
提交评论