拒絕服務
Dos不是DOS
- 利用程序漏洞或一對一資源耗盡的Denial of Service拒絕服務(dos攻擊者與被攻擊者都是一個節點)
DDOS分佈式拒絕服務
- 一對一的攻擊徹底拼各自的資源,效果差
- 多對一的攻擊匯聚資源能力,重點在於量大,屬於資源耗盡型
歷史
- 之前:欠缺技術能力的無賴,我ping死你(最難纏的無賴)
- 如今:最強大最危險的攻擊,攻擊方式衆多(專業化的要求勒索)
親身經驗:電商網站被勒索、Bill gates殭屍程序
販賣和租用雞肉已經成爲黑產中重要的一部分
最終的辦法就是拼資源,投資抗D,或者乖乖交保護費
ps:
什麼是Dos?什麼是DOS?cmd打開的是什麼?Dos的分類?
拒絕服務,最早發明的電腦使用的界面,命令提示符,發送少許的數據使得服務器奔潰/一對一資源耗盡
什麼是DDOS? DDOS與Dos的區別?
分佈式拒絕服務,攻擊發起者與被攻擊的對象
破壞計算機的CIA中的哪個?現實中的分佈式拒絕服務?
A-可用性,電影散場/飯館吃飯
如何區分惡意流量?若是DDOS攻擊專業化,如何區分? 抗D設備/交錢解決不了問題的狀況下?
流量清洗,投資抗D/乖乖交保護費,惡意流量扔到黑洞
黑客如何利用DDOS?如何盈利?
利用漏洞植入木馬定時去攻擊,收錢攻擊/出租肉雞
------------------------------------------------------------------------------------------------------------------------------------
拒絕服務組織
Anonymous匿名者
- 世界最著名的黑客組織
- 組織結構寬鬆,人員來自世界各地
- 以DDoS攻擊著稱的無政府主義者
- 亦正亦邪,攻擊恐怖組織也攻擊政府宗教機構
- 近些年來涉足政治鬥爭
- 成員露面時均帶有Guy Fawkes面具
- 最先的核心成員來自4chan圖片社區
- 慣常僱傭外圍黑客成員發動DDos攻擊
口號
- We are Anonymous , We are a Legion ,
We do not forgive , We do not forget ,
Expect us.
ps:
爲何要攻擊?黑客表明什麼?
或許是道德,表明技術
------------------------------------------------------------------------------------------------------------------------------------
DoS分類
D網絡
- 基於巨量的Flood耗盡目標網絡寬帶資源
- ICMP Flood、UDP Flood
D協議
- 攻擊協議漏洞發起的拒絕服務攻擊
- 如Syn Flood、Ping of Death、ARP、DNS、802.十一、SSL
D應用
- 針對應用軟件和操做系統漏洞發起的拒絕服務攻擊
- 大量頻繁訪問消耗系統資源嚴重的應用(CC)
- 一般表現爲操做系統運行正常,網絡流量不大,但服務中止響應
- 能夠是一擊斃命的,也能夠是耗盡目標資源的
以上分類並不嚴謹,沒必要太過執着於此
ps:
Dos是有哪些分類?
網絡,協議,應用
------------------------------------------------------------------------------------------------------------------------------------
爲什麼會被DoS
從攻擊者到被害者
- 網絡--->FW--->服務器OS--->服務應用
資源耗盡
- 網絡:寬帶
- FW:吞吐量、併發鏈接
- 服務器:CPU、內存、I/O
- 應用:處理請求能力,對OS資源的使用權
程序漏洞攻擊
- 緩衝區溢出
- 協議、程序邏輯漏洞
鏈路上任何一點均可成爲目標
ps:
攻擊流程?
網絡--->FW--->服務器OS(進行響應,創建握手)--->服務應用(IIS,tomcat,jobss)
攻擊目標?
網絡資源,網絡設備(路由器,交換機,防火牆)
服務器系統,服務上的應用
windows
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Syn-Flood
長伴隨IP欺騙
- 真正的攻擊目標
Scapy
- i=IP()
- i.dst=1.1.1.1
- i.display()
- t=TCP()
- srl(i/t,verbose=1,timeout=3)
- sr1(IP(dst=1.1.1.1)/TCP())
ps:
攻擊的原理?攻擊的實現方式?
利用三次握手的缺陷(協議不可靠),
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Syn-Flood
攻擊腳本:./syn_flood.py
- iptables -A OUTPUT -p tcp --tcp-flags RST -d 1.1.1.1 -j DROP
- netstat -n | awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}'
- windows系統默認半開鏈接數10個
LISTEN S服務器端口處於偵聽狀態,等待鏈接請求
SYN-SENT C發起鏈接請求,等待對端響應
SYN-RECV S已收到鏈接請求
ESTABLISHED C/S三次握手成功,TCP鏈接已經創建
FIN-WAIT-1 C/S等待對端響應中斷請求確認,或對端終端請求
FIN-WAIT-2 C/S等待對端發送中斷請求
CLOSE-WAIT C/S等待本地 進程/用戶 關閉鏈接
CLOSING C/S等待對端響應鏈接中斷確認
LAST-ACK C/S等待對端響應以前的鏈接中斷確認
TIME-WAIT C/S等待足夠時間長度確保對端收到鏈接中斷確認(最大4分鐘)
CLOSED C/S無任何鏈接狀態
IP地址欺騙
常常用於Dos攻擊
根據IP頭地址尋址
- 僞造IP源地址
邊界路由器過濾
- 入站、出站
受害者多是源、目的地址
繞過基於地址的驗證
壓力測試模擬多用戶
上層協議(TCP序列號)
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Smurf攻擊
世界上最古老的DDOS攻擊技術
- 向廣播地址發送僞造源地址的ICMP echo Request (ping) 包
- LAN全部計算機向僞造源地址返回響應包
- 對現代操做系統幾乎無效(不響應目標爲廣播的ping)
Scapy
- i=IP()
- i.dst="1.1.1.255"
- p=ICMP()
- p.display()
- r=(i/p)
- send(IP(dst="1.1.1.255",src="1.1.1.2")/ICMP(),count=100,verbose=1)
ps:
什麼是Smurf攻擊?
攻擊者向網絡廣播地址發送ICMP包,並將回覆地址設置成受害網絡的廣播地址,經過使用ICMP應答請求數據包來淹沒受害主機的方式進行,最終致使該網絡的全部主機都對次ICMP應答請求做出答覆,致使網絡阻塞。更加複雜的Smurf攻擊攻擊將源地址改成第三方受害者,最終致使第三方崩潰。 (IP欺騙和ICMP回覆方法)
攻擊範圍?
局域網內/外網
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Sockstress
2008年由Jack C.Louis發現
針對TCP服務的拒絕五福攻擊
- 消耗被攻擊目標系統資源
- 與攻擊目標創建大量socket連接
- 完成三次握手,最後的ACK包 windows 大小爲0(客戶端不接收數據)
- 攻擊者資源消耗小(CPU、內存、帶寬)
- 異步攻擊,單機可拒絕服務高配資源服務器
- Window 窗口實現的TCP流控
ps:
什麼是Sockstress?
此攻擊方式爲在已經創建tcp鏈接的狀況下,即在syn、syn+ack、ack(在此階段發送中攜帶窗口爲0)創建完成後,服務器會一直等待客戶端的發送,由於客戶端會一直與服務器保持鏈接,但不發送數據並且不用維持此鏈接,服務器一直等待而不斷開,消耗內存和cpu資源。與syn flood的半鏈接不一樣。
tomcat