search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

淺談拒絕服務攻擊的原理與防禦(2) :反射型DDOS

*本文原創作者:黑戈爾,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載

0×01 前言

前幾天提交了一篇關於DDOS攻擊的文章到今天下午才審核通過發表出來,所以晚上閑來無事在接著寫下面的內容,今天我就不多說廢話了直接來乾貨。

目前來說流量型反射DDOS攻擊都是以UDP為載體的,畢竟TCP的三次握手就讓偽造源地址反射大流量變得不現實(tcp反射ACK倒是還行- -!)

下面來看看一般能用於反射放大的協議以及放大倍數吧

現在TFTP也被利用來進行DDOS反射了,據說放大倍數也很可觀,根據表中顯示看來NTP放大倍數最高,不過NTP伺服器不多,而且開了monlist的更少了,我倒是掃描到過一兩個。

但是DNS和snmp可就是多如牛毛了,而且SNMP的放大倍數也不是他說的那麼小。

我今天剛測試發送一個140位元組左右的報文能收到1400多位元組的恢復,因為我那本破SNMP的書沒細說SNMP報文的詳細構造,我沒能精確的構造SNMP的報文,只能去找了一個現成的,好今天我主要就講NTP、SNMP和DNS的反射攻擊和反射資源的掃描。

0×02 反射放大攻擊的原理

很多協議的請求包要遠小於回復包,以一個位元組的數據換十個位元組的數據回來,這就是一种放大。

但是你這單純的放大攻擊的是自己啊,所以說想要攻擊別人就要在發送請求包時把源地址寫成要攻擊的人的地址,這樣回復的大位元組報文就去你要攻擊的人那裡了,這都是很簡單的道理我想也不用我多說。

這裡放大主要利用的是NTP的monlist(listpeers也行)、DNS的AXFR(ANY也行)、SNMP的getbulkrequest

monlist是返回最近600個與當前NTP伺服器通信過的IP地址

AXFR是區域傳送(有地方叫域傳送),比如freebuf.com下的所有域名返回給請求者

SNMPV2版本中新加的getbulkrequest用於一次請求大量的信息,減少管理站與被管理設備的交互次數

這些協議都是UDP下的協議,我就不詳細說了,不然能講一星期,有興趣的去找一本TCP/IP的書看看,上面都有詳細的介紹。下面直接上掃描這些東西的代碼

用python打開,只能在windows下,因為這個多線程thread在linux下好像不能用,輸入IP的時候可以輸入 x.x.x.x-x.x.x.x形式,或者以逗號分隔 x.x.x.x,a.a.a.a,s.s.s.s又或者只輸入一個ip也行。

線程數要是掃描1.1.0.0-1.2.0.0 這樣大段的話推薦1000-2000線程就可以,要是掃描2.0.0.0-3.0.0.0這樣一千多萬地址,你直接上10000線程吧,不然慢死,我編程水平比較low,所以代碼寫的很雜亂,大家別嘲笑我啊。

還有為了防止大家去做壞事我吧DNS和NTP的payload刪掉了,留下了SNMP的,大家自己去學習學習這倆協議,自己補全payload吧,就算是家庭作業了。

攻擊代碼我也寫好了,只不過嘿嘿……現在還不發呢,下期再發吧。

*本文原創作者:黑戈爾,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦