DDoS攻擊工具HOIC分析
本文是綠盟科技安全+技術刊物中的文章,文章對拒絕服務攻擊工具—"High Orbit Ion Cannon" 的技術性分析。HOIC 是一款用RealBasic 開發可移植的多平臺拒絕服務攻擊工具,該工具雖然對使用者的水平有較高要求,需要了解HTTP 協議本身,但由於在DDoS 攻擊來源中具有一定代表性,有必要對其分析並加以防範。本文嘗試透過技術性分析,探討相應的防範措施。
目前針對企業的網際網路攻擊日趨頻繁,且攻擊形式不斷更新,但最常見的形式還是DDoS。綠盟科技威脅響應中心,透過對安全事件的分析瞭解到,很多攻擊者都採用了一種稱為“High Orbit Ion Cannon”的工具,這種工具可以引發拒絕服務攻擊。
作為應對措施之一,行業中常見的形式是建立威脅響應機制,以提供及時且行之有效的攻擊防護分析及建議。本文著重分析了這個工具,並探討了防範措施,從而避免或降低危害及損失。
概述
HOIC(The high orbit ion cannon)是一款基於HTTP 協議開源的DDOS 攻擊工具,可用於內部網路或者外部伺服器的安全性和穩定性的測試等等。HOIC 具有以下特點:
- 高速多執行緒的HTTP 洪水攻擊。
- 一次可同時洪水攻擊高達256 個網站。
- 內建指令碼系統,允許自行修改設定指令碼,用來阻撓DDoS 攻
- 擊的防禦措施,並增加DOS 輸出。
- 簡單且易於使用的介面。
- 可移植到Linux/ Mac。
- 能夠選擇攻擊的執行緒數。
- 可設定三種攻擊強度:低,中,高。
- 用REALbasic 這種極其書面的語言寫成,簡單易修改。
關鍵功能介面
表1
Dim i as integer
for i = 0 to Val( edtThreads.Text )-1
threads.Append( New attackThread )
threads( threads.Ubound ).Run
Next
目標列表顯示攻擊目標資訊,“OUTPUT”顯示攻擊流量資料,OUTPUT 處的位元組數對應全域性變數TotalBytesSent,是動態遞增的。
關鍵功能對應原始碼
點選”FIRE THE LAZER”之後,程式會啟動執行緒框指定個數的執行緒用來攻擊伺服器,並且啟動tmTurbo 控制器,用來不斷透過指令碼來更新Headers。
表2 程式碼段省略
attackThread // 迴圈遍歷列表中的所有目標主機,然後根據全域性變數powerFactor( 對應LOW、MEDIUM 和HIGH) 的不同以不同的兩次攻擊報文之間的休眠時間傳送攻擊資料包,並且不斷在主介面同步顯示傳送的流量。
表3 程式碼段省略
HOIC 本身只是一個DoS 框架程式,真正的DoS 攻擊行為透過副檔名為.hoic 的攻擊指令碼指定,離開這些.hoic 檔案,HOIC本身什麼也幹不了。.hoic 指令碼檔案必須與
HOIC 主程式位於同一目錄,否則會找不到。指令碼也是用RealBasic 寫成,透過Generic函式可以看到程式會以RbScript 類來執行指令碼檔案,指令碼檔案可以影響到程式內的變
量值。例如程式呼叫下面指令碼後,所傳送的攻擊資料包就會根據我們自定義的指令碼中需要構建的HTTP 請求資料塊配置上附帶的資訊,進行攻擊。伺服器會根據自定義的數
據塊資訊把程式傳送的資料包識別為正常的資料包。
下面這些都是HOIC 主程式預定義並使用的全域性變數,可以在.hoic 指令碼中直接使用: Headers 、PostBuffer、powerFactor、URL、UsePost
表4 程式碼段省略
Hoic2.1(dev) 作者由於呼籲大家攻擊一個司法網站,釋出此版本時提供了新指令碼。
此指令碼在多個資料塊中隨機呼叫Array 中的資訊,可以用來降低攻擊被檢測的可能性,提高攻擊效果。
表5 程式碼段省略
HOIC 2.1(dev) 版隨包自帶了四個.hoic檔案:
- DutchFreedom.hoic
- GenericBoost.hoic
- user-agent-test.hoic
- visa_stress.hoic
user-agent-test.hoic 用來演示透過.hoic 指定"User-Agent"。
visa_stress.hoic,顧名思義,在攻擊。
駭客可以建立一個網站向外釋出各種.hoic檔案,別人只要下載駭客編寫的.hoic檔案並載入到HOIC 中,就可以進行相應的DoS 攻擊,甚至不用輸入目標URL。如果使用者設定新增的攻擊URL 與指令碼中指定的目標URL 不一樣,此時發起攻擊後,會先去訪問使用者設定新增的攻擊URL,提交6 次同樣的HTTP 請求,然後再去DoS 指令碼中設定的地址,會抑制前述對話方塊中使用者輸入的URL 從此不再攻擊使用者自己設定的URL。這個設計不知是HOIC 作者有意為之還是無心插柳,總之結果很險惡,因為DutchFreedom.hoic 正是自己指定了目標URL,並且還是隨hoic.zip 自帶的。很多小白們使用HOIC 進行DoS 攻擊,指定DutchFreedom.hoic,他們最終都參與攻擊,而不是攻擊他們自己輸入的目標URL。
HOIC 的作者水平比LOIC 的作者水平高,至少是個比較熟練的RealBasic 程式設計師,程式BUG 較少。HOIC 對使用者的水平有較高要求,需要了解HTTP 協議本身,如果不提供現成的.hoic 檔案,很多使用者可能完全無法有效使用HOIC 進行DoS 攻擊。而高水平的駭客們可以透過提供現成的.hoic 檔案利用各種小白們一起DoS 指定目標。
與同類流行工具的對比及特點
本工具與同類拒絕服務攻擊工具的區別和特點在於可允許使用者定義目標主機的URL、攻擊強度和自定義攻擊指令碼。當使用者點選TURBO 按鈕後, 程式會間隔時間不斷地呼叫使用者自定義指令碼來生成自定義Headers。當使用者點選FIRE THELAZERS 之後,程式會啟動N 個執行緒用來攻擊目標主機,在攻擊過程中會根據使用者選擇的攻擊強度的不同,以不同的時間間隔傳送資料包,並且在介面上同步傳送的資料包的流量。
可使用使用者自定義Headers 來產生偽造的Header,比如自行新增修改sessionID 或cookie 資訊可以對某些設定過濾或阻隔的站點同樣進行有效攻擊。優點是靈活多變,攻擊的資料包都是正常的資料包,攻擊請求都是有效的、無法拒絕的請求。缺點是不能攻擊其他服務埠,此軟體不支援代理,無法改變攻擊來源使用真實IP 進行攻擊,但可透過第三方軟體實現代理偽造攻擊來源。仍然需要大量、分散的主機在同一時間集中進行攻擊效果才更顯著。
軟體在網路上流量特徵
攻擊來源只有一臺主機,此主機發出大量的資料包,佔用了大量流量,非常異常。
這臺主機發包的目標主機只有一個,同時其發包的時間間隔極短,是典型的網路攻擊行為。
攻擊採用的是合法協議,均是透過HTTP 協議攻擊目標主機固定埠,80 埠。
此種攻擊和正常訪問網站是一樣的,只是瞬間訪問量增加幾十倍甚至上百倍。
軟體歷史沿革
The high orbit ion cannon Current Release: 2.1(dev)—2010/12/10
The high orbit ion cannon Current Release: 1.0—2010/12/09
相關文章請參看 DDoS HOIC分析
附錄
文中一些程式碼段不便複製,如果您需要檢視完整內容,請點選下載綠盟科技安全+技術刊物16期,
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/34549/viewspace-1348799/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於TCP反射DDoS攻擊分析TCP反射
- 黑色產業鏈分析丨DDOS攻擊產業
- 遊戲伺服器防ddos攻擊,三招搞定ddos攻擊遊戲伺服器
- Nginx防止DDOS攻擊Nginx
- 淺談DDOS攻擊攻擊與防禦
- DDoS Deflate防Linux下DDOS攻擊Linux
- 什麼是DDoS攻擊?哪些行業最需要預防DDoS攻擊?行業
- 分散式拒絕服務攻擊 DDoS攻擊分散式
- 如何防範DDoS攻擊,使自己的網站減緩DDoS攻擊呢?網站
- FastJson引入存在DDos攻擊安全漏洞案例分析ASTJSON
- 預防ddos攻擊檢測
- DDOS 攻擊的防範教程
- 用 JavaScript 對抗 DDOS 攻擊JavaScript
- DDoS攻擊與CC攻擊的區別是什麼?
- 在Linux中,什麼是DDoS攻擊?如何在Linux中防禦DDoS攻擊?Linux
- DDoS攻擊激增,分享高效可靠的DDoS防禦方案
- 淺析DDOS攻擊防護思路
- DDOS攻擊常見的型別型別
- 淺談DDos攻擊與防禦
- 用 JavaScript 對抗 DDOS 攻擊 (下)JavaScript
- python版本DDOS攻擊指令碼Python指令碼
- 深圳市恆訊科技分析:CDN防DDOS攻擊的原理
- 恆訊科技分析:雲伺服器怎麼防止ddos攻擊?伺服器
- linux核心dos_ddos攻擊防禦演算法分析Linux演算法
- 什麼是CC攻擊?與DDoS攻擊有什麼區別?
- NTP反射型DDos攻擊FAQ/補遺反射
- DDOS攻擊原理,種類及其防禦
- 防ddos攻擊伺服器的方法伺服器
- 【網路安全】如何有效地防禦DDOS攻擊和CC攻擊?
- 【日常篇】DOS攻擊和DDOS攻擊之間有什麼區別?
- ZoomEye專題報告 | DDoS 反射放大攻擊全球探測分析OOM反射
- DDoS攻擊是什麼?網站DDoS防禦策略有哪些?網站
- 聚焦DDoS安全,分享防禦DDoS攻擊的幾大有效方法
- 【網路安全知識】DDOS攻擊和CC攻擊有什麼區別?
- 【DDOS】巧用iptables 幾招搞定 SYN洪水攻擊!
- ddos攻擊伺服器的幾種方式伺服器
- 分散式拒絕服務攻擊(DDoS)原理分散式
- 樹莓派上使用Slowloris進行DDoS攻擊樹莓派