tfn2k使用方法和對(duì)策(3)
發(fā)布日期:2021-12-24 00:20 | 文章來(lái)源:源碼之家
tfn2k使用方法和對(duì)策(3) 作者:佳佳 本來(lái)想再分兩次寫(xiě)完本文,后來(lái)發(fā)現(xiàn)佳佳要翻譯的兩篇文章 http://packetstorm.securify.com/distributed/TFN2k_Analysis-1.3.txt http://packetstorm.securify.com/distributed/tfn.analysis.txt backend已經(jīng)翻譯過(guò)(本文最后給出了鏈接),佳佳就不做太多重復(fù)勞動(dòng)了。 先介紹一下DDoS攻擊的原理: DDoS把DoS又向前發(fā)展了一步,DDoS的行為更為自動(dòng)化,它可以方便地協(xié)調(diào)從多臺(tái)計(jì)算機(jī)上啟動(dòng)的進(jìn)程,讓一股DoS洪流沖擊網(wǎng)絡(luò),并使網(wǎng)絡(luò)因過(guò)載而崩潰。確切地講,DDoS攻擊是指在不同的高帶寬主機(jī)上安裝大量的DoS服務(wù)程序,它們等待來(lái)自中央客戶端的命令,中央客戶端隨后通知全體受控服務(wù)程序,并批示它們對(duì)一個(gè)特定目標(biāo)發(fā)送盡可能多的網(wǎng)絡(luò)訪問(wèn)請(qǐng)求。 對(duì)DoS而言,其攻擊方式很多,主要使用的攻擊有4種,分別是TCP-SYN flood,UDP flood,ICMP flood,smurf?!?TCP--- 當(dāng)用戶進(jìn)行一次標(biāo)準(zhǔn)的TCP連接時(shí),會(huì)有一個(gè)3次握手過(guò)程。首先是請(qǐng)求服務(wù)方發(fā)送一個(gè)SYN消息,服務(wù)方收到SYN后,會(huì)向請(qǐng)求方回送一個(gè)SYN-ACK表示確認(rèn),當(dāng)請(qǐng)求方收到SYN-ACK后,再次向服務(wù)方發(fā)送一個(gè)ACK消息,這樣,一次TCP連接建立成功。但是TCP-SYN flood在實(shí)現(xiàn)過(guò)程中只進(jìn)行前2個(gè)步驟:當(dāng)服務(wù)方收到請(qǐng)求方的SYN-ACK確認(rèn)消息后,請(qǐng)求方由于采用源地址欺騙等手段使得服務(wù)方收不到ACK回應(yīng),于是,服務(wù)方會(huì)在一定時(shí)間處于等待接收請(qǐng)求方ACK消息的狀態(tài)。對(duì)于某臺(tái)服務(wù)器來(lái)說(shuō),可用的TCP連接是有限的,如果惡意攻擊方快速連續(xù)地發(fā)送此類連接請(qǐng)求,該服務(wù)器可用的TCP連接隊(duì)列將很快被阻塞,系統(tǒng)可用資源急劇減少,網(wǎng)絡(luò)可用帶寬迅速縮小,長(zhǎng)此下去,網(wǎng)絡(luò)將無(wú)法向用戶提供正常的服務(wù)?!?UDP---- 由于UDP(用戶數(shù)據(jù)包協(xié)議)在網(wǎng)絡(luò)中的應(yīng)用比較廣泛,基于UDP攻擊種類也較多。如今在Internet上提供WWW和Mail等服務(wù)設(shè)備通常是使用Unix的服務(wù)器,它們默認(rèn)一些被惡意利用的UDP服務(wù),如echo和chargen服務(wù),它會(huì)顯示接收到的每一個(gè)數(shù)據(jù)包,而原本作為測(cè)試功能的chargen服務(wù)會(huì)在收到每一個(gè)數(shù)據(jù)包時(shí)隨機(jī)反饋一些字符,如果惡意攻擊者將這2個(gè)UDP服務(wù)互指,則網(wǎng)絡(luò)可用帶寬將很快耗盡?!?ICMP----由于在早期的階段,路由器對(duì)包的最大尺寸都有限制,許多操作系統(tǒng)對(duì)TCP/IP棧的實(shí)現(xiàn)在ICMP包上都是規(guī)定64KB,并且在對(duì)包的標(biāo)題頭進(jìn)行讀取之后,要根據(jù)該標(biāo)題頭里包含的信息來(lái)為有效載荷生成緩沖區(qū),當(dāng)產(chǎn)生畸形的,聲稱自己的尺寸超過(guò)ICMP上限的包也就是加載的尺寸超過(guò)64K上限時(shí),就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP堆棧崩潰,致使接受方當(dāng)機(jī)。如果對(duì)方的操作系統(tǒng)已經(jīng)可以防御堆棧崩潰,也占去許多帶寬。 Smurf----一個(gè)簡(jiǎn)單的smurf攻擊通過(guò)使用將回復(fù)地址設(shè)置成受害網(wǎng)絡(luò)的廣播地址的ICMP應(yīng)答請(qǐng)求(ping)數(shù)據(jù)包來(lái)淹沒(méi)受害主機(jī)的方式進(jìn)行,最終導(dǎo)致該網(wǎng)絡(luò)的所有主機(jī)都對(duì)此ICMP應(yīng)答請(qǐng)求作出答復(fù),導(dǎo)致網(wǎng)絡(luò)阻塞,比ping of death洪水的流量高出一或兩個(gè)數(shù)量級(jí)。更加復(fù)雜的Smurf將源地址改為第三方的受害者,最終導(dǎo)致第三方雪崩。 tfn2k的程序及分析: 在你執(zhí)行 $tar zxvf tfn2k.tgz 以后 在src目錄下就是源文件, 其中主要的兩個(gè)文件就是tfn.c和td.c 你可以看一下Makefile文件 SERVER_OBJ = pass.o aes.o base64.o cast.o flood.o ip.o process.o tribe.o td.o CLIENT_OBJ = pass.o aes.o base64.o cast.o ip.o tribe.o tfn.o 可以看出tfn和td各是由哪些.o鏈接而成的。 tfn.c: tfn和td的網(wǎng)絡(luò)通訊是經(jīng)過(guò)CAST-256算法(RFC 2612)加密,還可能混雜了許多虛假數(shù)據(jù)包。參看security_through_obscurity()和encode64()等函數(shù)。 盡管tfn沒(méi)有密碼保護(hù),每一個(gè)發(fā)送給td的命令都有一個(gè)16位二進(jìn)制形式的數(shù)在ICMP_ECHOREPLY包的id域。這個(gè)序列號(hào)通常是0x0000,這樣看起來(lái)更象ping初始包的響應(yīng)。參看passchk()函數(shù)。 tfn_sendto()函數(shù)是根據(jù)hosts.txt向td發(fā)命令。 usage()函數(shù)是使用幫助。 td.c: td的守護(hù)程序是完全沉默的,它不會(huì)對(duì)接收到的命令有任何回應(yīng)。客戶端重復(fù)發(fā)送每一個(gè)命令20次(RETRY=20),并且認(rèn)為守護(hù)程序應(yīng)該至少能接收到其中一個(gè)。如果沒(méi)有接收到需要重新發(fā)送,你也可以修改RETRY(tfn.c文件中)的值。 守護(hù)進(jìn)程為每一個(gè)攻擊產(chǎn)生子進(jìn)程(td.c文件中)。 在看td.c文件時(shí)有些迷惑,它作為服務(wù)器端并沒(méi)有綁定固定的端口,后來(lái)才明白從tfn到td的通訊是通過(guò)ICMP_ECHOREPLY數(shù)據(jù)包完成,這樣在tfn和td就沒(méi)有任何基于TCP或UDP的通訊了。 td試圖通過(guò)修改argv[0]內(nèi)容以掩飾自己。偽造的進(jìn)程名在編譯時(shí)指定,因此每次安裝時(shí)都有可能不同。這個(gè)功能使TFN2K偽裝成代理端主機(jī)的普通正常進(jìn)程。只是簡(jiǎn)單地檢查進(jìn)程列表未必能找到td(及其子進(jìn)程),在你運(yùn)行 #./td 以后,在運(yùn)行 #ps -af 可能根本就找不到td.(不要以為它沒(méi)有運(yùn)行啊!)。 td.c的tribe_cmd()是根據(jù)id(0--10)執(zhí)行命令,它要調(diào)用process.c中的函數(shù)。 process.c中的commerce_syn(),commerce_udp(),commerce_icmp(),commerce_mix(),commerce_smurf()等函數(shù)就是發(fā)動(dòng)攻擊的具體程序,根據(jù)id(0--11)分別對(duì)應(yīng)著tcp,udp,icmp,mix,smurf等攻擊。 防御措施: 見(jiàn)下列鏈接文章,我就不重復(fù)了。 其它DDoS工具 1. Trinoo: 它是基于UDP flood的攻擊軟件,它向被攻擊目標(biāo)主機(jī)的隨機(jī)端口發(fā)出全零的4字節(jié)UDP包,在處理這些超出其處理能力垃圾數(shù)據(jù)包的過(guò)程中,被攻擊主機(jī)的網(wǎng)絡(luò)性能不斷下降,直到不能提供正常服務(wù),乃至崩潰,它對(duì)IP地址不做假,此攻擊方法用得不如TFN多?!?下載地址:http://darknet.evilnerds.org/dos/ddos/trinoo.tar.gz 2. Stacheldraht:對(duì)命令來(lái)源做假,而且可以防范一些路由器用RFC2267過(guò)濾。若檢查出有過(guò)濾現(xiàn)象,它將只做假IP地址最后8位,從而讓用戶無(wú)法了解到底是哪幾個(gè)網(wǎng)段的哪臺(tái)機(jī)器被攻擊。此外,它還具有自動(dòng)更新功能,可隨軟件的更新而自動(dòng)更新?!?下載地址:http://darknet.evilnerds.org/dos/ddos/stachel-yps.tar.gz 關(guān)于TFN2K的探討就此結(jié)束,其實(shí)許多前輩都撰文寫(xiě)過(guò)此類的文章。我只是參考他們的文章(中文或英文),并細(xì)節(jié)化了一些。如果有指教或有問(wèn)題請(qǐng)來(lái)信jjgirl@sina.com或在我的BBS留言。感謝你耐心看完佳佳寫(xiě)的不怎么樣的文章。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章
上一篇: