# DOS與DDOS
## DDOS基礎
### DDOS介紹
DoS指利用程序漏洞或一對一資源耗盡的Denial of Service拒絕服務 , 一對一的攻擊完全拼的是各自的資源,效果差
DDoS分布式拒絕服務 多對一的攻擊匯聚資源能力,重點在于量大,屬于資源耗盡型
### Anonymous 匿名者
世界最著名的黑客組織,組織結構寬松,人員來自世界各地。以DDoS攻擊著稱的無政府主義者 -亦正亦邪,攻擊恐怖組織也攻擊政府宗教機構 ,近些年來涉足政治斗爭,成員露面時均帶有Guy Fawkes面具,最早的核心成員來自4chan圖片社區 ,慣常雇傭外圍黑客成員發動DDoS攻擊
## DDos分類
### 一、基于發起的方式分類
#### 第一類以力取勝
海量數據包從互聯網的各個角落蜂擁而來,堵塞IDC入口,讓各種強大的硬件防御系統、快速高效的應急流程無用武之地。這種類型的攻擊典型代表是ICMP Flood和UDP Flood,現在已不常見。
#### 第二類以巧取勝
靈動而難以察覺,每隔幾分鐘發一個包甚至只需要一個包,就可以讓豪華配置的服務器不再響應。這類攻擊主要是利用協議或者軟件的漏洞發起,例如Slowloris攻擊、Hash沖突攻擊等,需要特定環境機緣巧合下才能出現。
#### 第三類是上述兩種的混合
輕靈渾厚兼而有之,既利用了協議、系統的缺陷,又具備了海量的流量,例如SYN Flood攻擊、DNS Query Flood攻擊,是當前的主流攻擊方式。
### 二、基于入侵的目標分類
#### 1、DDoS網絡帶寬
基于巨量的Flood耗盡目標網絡帶寬資源 如:ICMP Flood, UDP Flood

#### 2、DDoS系統資源
攻擊協議漏洞發起的拒絕服務攻擊 如:Syn Flood、Ping of Death、ARP、DNS、802.11、SSL

#### 3、DDoS應用資源
針對應用軟件和操作系統漏洞發起的拒絕服務攻擊,大量頻繁訪問消耗系統資源嚴重的應用(CC),通常表現為操作系統運行正常,網絡流量不大,但服務停止響應 ,可以是一擊斃命的,也可以是耗盡目標資源的

## 攻擊現象、流程、方式
### 攻擊現象
DDoS的表現形式主要有兩種,
一種為流量攻擊,主要是針對網絡帶寬的攻擊,即大量攻擊包導致網絡帶寬被阻塞,合法網絡包被虛假的攻擊包淹沒而無法到達主機;
另一種為資源耗盡攻擊,主要是針對服務器主機的攻擊,即通過大量攻擊包導致主機的內存被耗盡或CPU被內核及應用程序占完而造成無法提供網絡服務。
當被DDoS攻擊時,主要表現為:
1. 被攻擊主機上有大量等待的TCP連接。
2. 網絡中充斥著大量的無用的數據包,源地址為假。
3. 制造高流量無用數據,造成網絡擁塞,使受害主機無法正常和外界通訊。
4. 利用受害主機提供的服務或傳輸協議上的缺陷,反復高速地發出特定的服務請求,使受害主機無法及時處理所有正常請求。
5. 嚴重時會造成系統死機。
### 攻擊流程
攻擊者進行一次DDoS攻擊大概需要經過了解攻擊目標、攻占傀儡機、實際攻擊三個主要步驟,下面依次說明每一步驟的具體過程:
#### 1、了解攻擊目標
了解攻擊目標就是對所要攻擊的目標有一個全面和準確的了解,以便對將來的攻擊做到心中有數。主要關心的內容包括被攻擊目標的主機數目、地址情況。目標主機的配置、性能、目標的帶寬等等。對于DDoS攻擊者來說,攻擊互聯網上的某個站點,有一個重點就是確定到底有多少臺主機在支持這個站點,一個大的網站可能有很多臺主機利用負載均衡技術提供服務。所有這些攻擊目標的信息都關系到后面兩個階段的實施目標和策略,如果盲目的發動DDoS攻擊就不能保證攻擊目的的完成,還可能過早的暴露攻擊者的身份,所以了解攻擊目標是有經驗的攻擊者必經的步驟。
#### 2、攻占傀儡機
攻占傀儡主機就是控制盡可能多的機器,然后安裝相應的攻擊程序。在主控機上安裝控制攻擊的程序,而攻擊機則安裝DDoS攻擊的發包程序。攻擊者最感興趣,也最有可能成為別人的傀儡主機的機器包括那些鏈路狀態好、性能好同時安全管理水平差的主機。攻擊者一般會利用已有的或者未公布的一些系統或者應用軟件的漏洞.取得一定的控制權,起碼可以安裝攻擊實施所需要的程序,更厲害的可能還會取得最高控制權、留下后門等等。在早期的DDoS攻擊過程中,攻占傀儡主機這一步主要是攻擊者自己手動完成的,親自掃描網絡,發現安全性比較差的主機,將其攻占并且安裝攻擊程序。但是后來隨著DDoS攻擊和蠕蟲的融合,攻占傀儡機變成了一個自動化的過程,攻擊者只要將蠕蟲放入網絡中,蠕蟲就會在不斷擴散中不停地攻占主機,這樣所能聯合的攻擊機將變得非常巨大,DDoS攻擊的威力更大。
#### 3、實際攻擊
DDoS攻擊的最后一個階段就是實際的攻擊過程,攻擊者通過主控機向攻擊機發出攻擊指令,或者按照原先設定好的攻擊時間和目標,攻擊機不停的向目標或者反射服務器發送大量的攻擊包,來吞沒被攻擊者,達到拒絕服務的最終目的。和前兩個過程相比,實際攻擊過程倒是最簡單的一個階段,一些有經驗的攻擊者可能還會在攻擊的同時通過各種手段檢查攻擊效果,甚至在攻擊過程中動態調整攻擊策略,盡可能清除在主控機和攻擊機上留下的蛛絲馬跡。
### 攻擊方式
#### 一、SYN Flood攻擊
攻擊原理:
依據tcp建立連接的三次握手。此攻擊以多個隨機的源主機地址向目的主機發送syn包,而在收到目的主機的syn+ack包后并不回應,目的主機就為這些源主機建立大量的連接隊列,由于沒有收到ack一直維護這些連接隊列,造成資源的大量消耗而不能向正常的請求提供服務。
與之類似的攻擊方式還有ackflood、s-ackflood、finflood、rstflood、tcpflood
#### 二、UDP Flood攻擊
攻擊原理:
有時被保護服務器也有同外部服務器進行udp交互的需求,攻擊者就會利用此交互對被保護服務器進行udp反射放大攻擊。
此攻擊在短時間那冒充被攻擊地址向外部公用的服務器發送大量的udp請求包,外部服務器收到虛假的udp請求就會回復大量的回應包給被攻擊服務器地址,造成目標主機被保護服務器不能處理其他正常的交互流。
#### 三、ICMP Flood攻擊
ICMP Flood攻擊屬于流量型的攻擊方式,是利用大的流量給服務器帶來較大的負載,影響服務器的正常服務。由于目前很多防火墻直接過濾ICMP報文。因此ICMP Flood出現的頻度較低。
#### 四、Connection Flood攻擊
攻擊原理:
利用真實 IP 地址(代理服務器、廣告頁面)在服務器上建立大量連接服務器上殘余連接(WAIT狀態)過多,效率降低,甚至資源耗盡,無法響應; 蠕蟲傳播過程中會出現大量源IP地址相同的包,對于 TCP 蠕蟲則表現為大范圍掃描行為; 消耗骨干設備的資源,如防火墻的連接數。
#### 五、HTTP Flood攻擊
真正令各大廠商以及互聯網企業頭疼的是HTTP Flood攻擊。HTTP Flood是針對Web服務在第七層協議發起的攻擊。它的巨大危害性主要表現在三個方面:發起方便、過濾困難、影響深遠。
HTTP Flood攻擊在HTTP層發起,極力模仿正常用戶的網頁請求行為,與網站業務緊密相關,安全廠商很難提供一套通用的且不影響用戶體驗的方案。在一個地方工作得很好的規則,換一個場景可能帶來大量的誤殺。
#### 六、DNS Query Flood攻擊
作為互聯網最基礎、最核心的服務,DNS自然也是DDoS攻擊的重要目標之一。打垮DNS服務能夠間接打垮一家公司的全部業務,或者打垮一個地區的網絡服務。DNS Query Flood就是攻擊者操縱大量傀儡機器,對目標發起海量的域名查詢請求。為了防止基于ACL的過濾,必須提高數據包的隨機性。常用的做法是UDP層隨機偽造源IP地址、隨機偽造源端口等參數。在DNS協議層,隨機偽造查詢ID以及待解析域名。隨機偽造待解析域名除了防止過濾外,還可以降低命中DNS緩存的可能性,盡可能多地消耗DNS服務器的CPU資源。
#### 七、CC攻擊
攻擊原理:
互聯網的架構追求擴展性本質上是為了提高并發能力,各種SQL性能優化措施:消除慢查詢、分表分庫、索引、優化數據結構、限制搜索頻率等本質都是為了解決資源消耗,而CC大有反其道而行之的意味,占滿服務器并發連接數,盡可能使請求避開緩存而直接讀數據庫,讀數據庫要找最消耗資源的查詢,最好無法利用索引,每個查詢都全表掃描,這樣就能用最小的攻擊資源起到最大的拒絕服務效果。
#### 八、慢速連接攻擊
攻擊原理:
在http協議中規定,http的頭部以連續的“\r\n\r\n”作為結束標志。許多web服務器在處理http請求的頭部信息時,會等待頭部傳輸結束后再進行處理。因此,如果web服務器沒有接收到連續的“\r\n\r\n”,就會一直接收數據并保持與客戶端的連接。Slow-header的工作原理是攻擊者在發送http get請求時,緩慢的發送無用的header字段,并且一直不發送“\r\n\r\n”結束標志。Web服務器能夠處理的并發連接數是有限的,如果攻擊者利用大量的主機發送這種不完整的http get請求把那個持續占用這些連接,就會耗盡web服務器的資源。
## 防御原則
在響應方面,雖然還沒有很好的對付攻擊行為的方法,但仍然可以采取措施使攻擊的影響降至最小。對于提供信息服務的主機系統,應對的根本原則是:**盡可能地保持服務、迅速恢復服務。**
由于分布式攻擊入侵網絡上的大量機器和網絡設備,所以要對付這種攻擊歸根到底還是要解決網絡的整體安全問題。真正解決安全問題一定要多個部門的配合,從邊緣設備到骨干網絡都要認真做好防范攻擊的準備,一旦發現攻擊就要及時地掐斷最近攻擊來源的那個路徑,限制攻擊力度的無限增強。網絡用戶、管理者以及ISP之間應經常交流,共同制訂計劃,提高整個網絡的安全性。
### DDoS防護的未來
因為DDoS防護是旁路部署架構,因此沒辦法做到對攻擊的實時清洗,只能做到分鐘級或者秒級響應。
1. 因此努力的一個方向,是如何縮短從攻擊開始,到攻擊流量進防護這段時間的延遲;
2. 同時,隨著IPv6網絡的全面部署實施,地址的數量和范圍,與IPv4時代不在一個數量級,如何針對每一個IPv6目標地址進行快速攻擊發現,也是一項非常大的挑戰
3. 第三點,攻擊檢測的面可以更廣,從單純的流量閾值來檢測發現攻擊,可以深入到流量成分的分析,比如SYN包占比、HTTP QPS占比等,也可以是觸發攻擊的條件。
- src導航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查詢
- 備案信息查詢
- 信用信息查詢
- IP反查站點的站
- 瀏覽器插件
- 收集子域名信息
- 在線平臺
- 工具枚舉
- ssl與證書透明度
- DNS歷史解析
- DNS域傳送漏洞
- C段探測
- JS文件域名&ip探測
- 搜索引擎&情報社區
- google黑客
- 威脅情報
- 鐘馗之眼
- 收集相關應用信息
- 微信公眾號&微博
- APP收集&反編譯
- 收集常用端口信息
- 常見端口&解析&總結
- 掃描工具
- 網絡空間引擎搜索
- 瀏覽器插件
- nmap掃描
- 收集敏感信息
- 源碼泄露
- 郵箱信息收集
- 備份文件泄露
- 目錄&后臺掃描
- 公網網盤
- 歷史資產
- 指紋&WAF&CDN識別
- 指紋識別
- CDN識別
- 繞過CDN查找真實IP
- WAF識別
- 漏洞資源和社工
- 漏洞公共資源庫
- 社會工程
- 資產梳理
- 各種對滲透有幫助的平臺
- 掃描器
- 掃描器對比
- AppScan(IBM)_web和系統
- AWVS_web掃描
- X-Scan_系統掃描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_綠盟_web
- 安恒明鑒
- Nessus_系統
- nexpose_系統
- 啟明天鏡_web_系統
- SQL注入
- 常用函數
- sql注入步驟
- union注入和information_schema庫
- 函數和報錯注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解決方案
- Access數據庫注入
- MSSQL數據庫注入
- MYSQL數據庫注入
- 神器SQLmap
- xss跨站腳本攻擊
- xss原理和分類
- xss案例和修復
- xss繞過技巧
- xss案例
- 文件上傳下載包含
- 常有用文件路徑
- 文件上傳漏洞
- 文件下載漏洞
- 文件包含漏洞
- upload-labs上傳漏洞練習
- XXE、SSRF、CSRF
- SSRF原理基礎
- SSRF案例實戰
- CSRF原理基礎
- CSRF案例及防范
- XXE之XML_DTD基礎
- XXE之payload與修復
- XXE結合SSRF
- 遠程命令執行與反序列化
- 遠程命令和代碼執行漏洞
- 反序列化漏洞
- 驗證碼與暴力破解
- 爆破與驗證碼原理
- CS架構暴力破解
- BS架構暴力破解
- WEB編輯器漏洞
- 編輯器漏洞基礎
- Ewebeditor編輯器
- FCKeditor編輯器
- 其他編輯器
- web中間件漏洞
- 中間件解析漏洞
- Tomcat常見的漏洞總結
- Jboss漏洞利用總結
- Weblogic漏洞利用總結
- WEB具體步驟
- 旁注和越權
- CDN繞過
- 越權與邏輯漏洞
- WEB應用常見其他漏洞
- WEB登陸頁面滲透思路
- 獲取WEBshell思路
- 社工、釣魚、apt
- 社工和信息收集
- 域名欺騙
- 釣魚郵件
- 一些釣魚用的掛馬工具
- 代碼審計
- 代碼審計工具
- WAF繞過
- WAF基礎及云WAF
- 各種WAF繞過方法
- 繞過WAF上傳文件
- 系統提權
- windows系統提權
- linux系統提權
- 數據庫提權操作系統
- 內網橫向滲透
- 內網穿透方式
- 一些內網第三方應用提權
- ARP與DOS
- ARP欺騙
- DOS與DDOS
- 一些DOS工具