cc攻擊
用於攻擊頁面的指令
攻擊者藉助代理伺服器生成指向受害主機的合法請求,實現DDOS和偽裝就叫:CC(Challenge Collapsar)。
CC主要是用來攻擊頁面的。大家都有這樣的經歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,訪問的人越多,論壇的頁面越多,資料庫壓力就越大,被訪問的頻率也越高,佔用的系統資源也就相當可觀。
CC就是充分利用了這個特點,模擬多個用戶(多少線程就是多少用戶)不停的進行訪問(訪問那些需要大量數據操作,就是需要大量CPU時間的頁面).這一點用一個一般的性能測試軟體就可以做到大量模擬用戶併發。
假設伺服器A對Search.asp的處理時間需要0.01S(多線程只是時間分割,對結論沒有影響),也就是說他一秒可以保證100個用戶的Search請求,伺服器允許的最大連接時間為60s,那麼使用CC模擬120個用戶併發連接,那麼經過 1分鐘,伺服器的被請求了7200次,處理了6000次,於是剩下了1200個併發連接沒有被處理。有的朋友會說:丟連接!丟連接!問題是伺服器是按先來後到的順序丟的,這1200個是在最後10秒的時候發起的,想丟䲁!還早,經過計算,伺服器滿負開始丟連接的時候,應該是有7200個併發連接存在隊列, 然後伺服器開始120個/秒的丟連接,發動的連接也是120個/秒,伺服器永遠有處理不完的連接,伺服器的CPU 100%並長時間保持,然後丟連接的60秒伺服器也判斷處理不過來了,新的連接也處理不了,這樣伺服器達到了超級繁忙狀態.
假設伺服器處理Search只用了0.01S,也就是10毫秒(這個速度你可以去各個有開放時間顯示的論壇看看),使用的線程也只有120,很多伺服器的丟連接時間遠比60S長,使用線程遠比120多,可以想象可怕了吧,而且客戶機只要發送了斷開,連接的保持是代理做的,而且當伺服器收到SQL請求,肯定會進入隊列,不論連接是否已經斷開,而且伺服器是併發的,不是順序執行,這樣使得更多的請求進入內存請求,對伺服器負擔更大.
CC攻擊的原理就是攻擊者控制某些 主機不停地發大量 數據包給對方伺服器造成伺服器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成伺服器資源的浪費,CPU長時間處於100%,永遠都有處理不完的連接直至就網路擁塞,正常的訪問被中止。
CC攻擊可以歸為DDoS攻擊的一種。他們之間都原理都是一樣的,即發送大量的請求數據來導致伺服器拒絕服務,是一種連接攻擊。CC攻擊又可分為代理CC攻擊,和肉雞CC攻擊。代理CC攻擊是 黑客藉助 代理伺服器生成指向受害 主機的合法網頁請求,實現DOS,和偽裝就叫:cc(Challenge Collapsar)。而肉雞CC攻擊是黑客使用CC攻擊軟體,控制大量肉雞,發動攻擊,相比來後者比前者更難防禦。因為 肉雞可以模擬正常用戶訪問網站的請求。偽造成合法 數據包。
CC攻擊主要是用來攻擊網站的。想必大家都有這樣的經歷,就是在訪問某個網站時,如果這個網站比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁面越多,資料庫就越大,被訪問的頻率也越高,佔用的系統資源也就相當可觀,現在知道為什麼很多空間服務商都說大家不要上傳論壇,聊天室等東西了吧。
一個 靜態頁面不需要伺服器多少資源,甚至可以說直接從內存中讀出來發給你就可以了,但是論壇之類的動態網站就不一樣了,我看一個帖子,系統需要到資料庫中判斷我是否有讀帖子的許可權,如果有,就讀出帖子裡面的內容,顯示出來——這裡至少訪問了2次資料庫,如果資料庫的體積有200MB大小,系統很可能就要在這200MB大小的數據空間搜索一遍,這需要多少的CPU資源和時間?如果我是查找一個 關鍵字,那麼時間更加可觀,因為前面的搜索可以限定在一個很小的範圍內,比如用戶許可權只查用戶表,帖子內容只查帖子表,而且查到就可以馬上停止查詢,而搜索肯定會對所有的數據進行一次判斷,消耗的時間是相當的大。
CC攻擊就是充分利用了這個特點,模擬多個用戶(多少線程就是多少用戶)不停的進行訪問(訪問那些需要大量數據操作,就是需要大量CPU時間的頁面,比如asp/php/jsp/cgi)。很多朋友問到,為什麼要使用代理呢?因為代理可以有效地隱藏自己的身份,也可以繞開所有的防火牆,因為基本上所有的防火牆都會檢測併發的TCP/IP連接數目,超過一定數目一定頻率就會被認為是Connection-Flood。當然也可以使用肉雞發動CC攻擊。肉雞的CC攻擊效果更可觀。致使伺服器CPU%100,甚至死機的現象。
使用代理攻擊還能很好的保持連接,我們這裡發送了數據,代理幫我們轉發給對方伺服器,我們就可以馬上斷開,代理還會繼續保持著和對方連接(我知道的記錄是有人利用2000個代理產生了35萬 併發連接)。
防禦CC攻擊可以通過多種方法,禁止網站代理訪問,盡量將網站做成靜態頁面,限制連接數量等。
CC攻擊有一定的隱蔽性,那如何確定伺服器正在遭受或者曾經遭受CC攻擊呢䲁我們可以通過以下三個方法來確定。
⑴.命令行法
一般遭受CC攻擊時,Web伺服器會出現80埠對外關閉的現象,因為這個埠已經被大量的垃圾數據堵塞了正常的連接被中止了。我們可以通過在命令行下輸入命令netstat -an來查看,“SYN_RECEⅣED”是TCP連接狀態標誌,意思是“正在處於連接的初始同步狀態”,表明無法建立握手應答處於等待狀態。這就是攻擊的特徵,一般情況下這樣的記錄一般都會有很多條,表示來自不同的代理IP的攻擊。
⑵.批處理法
上述方法需要手工輸入命令且如果Web伺服器IP連接太多看起來比較費勁,我們可以建立一個 批處理文件,通過該 腳本代碼確定是否存在CC攻擊。打開 記事本鍵入如下代碼保存為CC.bat:
@echo off
time /t >>log.log
netstat -n -p tcp |find ":80">>Log.log
notepad log.log
exit
上面的腳本的含義是篩選出當前所有的到80埠的連接。當我們感覺伺服器異常是就可以雙擊運行該批處理文件,然後在打開的log.log文件中查看所有的連接。如果同一個IP有比較多的到伺服器的連接,那就基本可以確定該IP正在對伺服器進行CC攻擊
⑶.查看系統日誌
Web日誌一般在C:\WINDOWS\system32\LogFiles\HTTPERR目錄下,該目錄下用類似httperr1.log的日誌文件,這個文件就是記錄Web訪問錯誤的記錄。管理員可以依據日誌時間屬性選擇相應的日誌打開進行分析是否Web被CC攻擊了。
默認情況下,Web日誌記錄的項並不是很多,我們可以通過ⅡS進行設置,讓Web日誌記錄更多的項以便進行安全分析。其操作步驟是:“開始→管理工具”打開“Internet信息伺服器”,展開左側的項定位到到相應的Web站點,然後右鍵點擊選擇“屬性”打開站點屬性窗口,在“網站”選項卡下點擊“屬性”按鈕,在“日誌記錄屬性”窗口的“高級”選項卡下可以勾選相應的“擴展屬性”,以便讓Web日誌進行記錄。比如其中的“發送的位元組數”、“接收的位元組數”、“所用時間”這三項默認是沒有選中的,但在記錄判斷CC攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在“常規”選項卡下對“新日誌計劃”進行設置,讓其“每小時”或者“每一天”進行記錄。為了便於日後進行分析時好確定時間可以勾選“文件命名和創建使用當地時間”。
取消域名綁定
一般cc攻擊都是針對網站的域名進行攻擊,比如網站域名是“xxx”,那麼攻擊者就在攻擊工具中設定攻擊對象為該域名然後實施攻擊。
對於這樣的攻擊措施是在ⅡS上取消這個域名的綁定,讓CC攻擊失去目標。具體操作步驟是:打開“ⅡS管理器”定位到具體站點右鍵“屬性”打開該站點的屬性面板,點擊IP地址右側的“高級”按鈕,選擇該域名項進行編輯,將“主機頭值”刪除或者改為其它的值(域名)。
實例模擬測試,取消域名綁定后Web伺服器的CPU馬上恢復正常狀態,通過IP進行訪問連接一切正常。但是不足之處也很明顯,取消或者更改域名對於別人的訪問帶來了不便,另外,對於針對IP的CC攻擊它是無效的,就算更換域名攻擊者發現之後,他也會對新域名實施攻擊。
域名欺騙解析
如果發現針對域名的CC攻擊,可以把被攻擊的域名解析到127.0.0.1這個地址上。知道127.0.0.1是本地迴環IP是用來進行網路測試的,如果把被攻擊的域名解析到這個IP上,就可以實現攻擊者自己攻擊自己的目的,這樣他再多的肉雞或者代理也會宕機,讓其自作自受。另外,當Web伺服器遭受CC攻擊時把被攻擊的域名解析到國家有權威的政府網站或者是網警的網站,讓其網警來收拾他們。現在一般的Web站點都是利用類似“新網”這樣的服務商提供的動態域名解析服務,大家可以登錄進去之後進行設置。
更改Web埠
一般情況下Web伺服器通過80埠對外提供服務,因此攻擊者實施攻擊就以默認的80埠進行攻擊,所以,我們可以修改Web埠達到防CC攻擊的目的。運行ⅡS管理器,定位到相應站點,打開站點“屬性”面板,在“網站標識”下有個TCP埠默認為80,我們修改為其他的埠就可以了。
ⅡS屏蔽IP
我們通過命令或在查看日誌發現了CC攻擊的源IP,就可以在ⅡS中設置屏蔽該IP對Web站點的訪問,從而達到防範ⅡS攻擊的目的。在相應站點的“屬性”面板中,點擊“目錄安全性”選項卡,點擊“IP地址和域名現在”下的“編輯”按鈕打開設置對話框。在此窗口中我們可以設置“授權訪問”也就是“白名單”,也可以設置“拒絕訪問”即“黑名單”。比如我們可以將攻擊者的IP添加到“拒絕訪問”列表中,就屏蔽了該IP對於Web的訪問。
IPSec封鎖
IPSec是優秀的系統防火牆,在排除其他還有別的類型的DDOS攻擊時,針對CC攻擊可以用設置IP策略來對付攻擊。以219.128.*.43這個IP為例子,筆者實際操作對該IP的訪問封鎖。
第一步:“開始→管理工具”,打開“本地安全設置”,右鍵點擊“IP安全策略,在本地機器”選擇“創建IP安全策略”,然後點擊“下一步”,輸入策略“名稱”和“描述”。然後默認一路“下一步”創建了一個名為“封CC攻擊”的IPSec策略。
第二步:右鍵點擊“IP安全策略,在本地機器”選擇“管理IP篩選器表和篩選器操作”,在打開的窗口中點“添加”,在“IP 篩選器列表”窗口添人同第一步的名稱和描述信息。取消“使用添加嚮導”的勾選,然後點擊“添加”。在“IP 篩選器 屬性”窗口的“地址”選項下設置“源地址”為“192.168.1.6”,目標地址為“我的IP地址”,取消對“鏡像”的勾選;點擊“協議”選項卡,設置“協議類型”為“TCP”,設置“協議埠”為“從任意埠”到“此埠80”最後確定退出。
第三步:在“新規則 屬性”窗口中點選剛才創建的“封CC攻擊”規則,點擊“篩選器操作”選項卡下的“添加”,點選“安全措施”下的“阻止”,在“常規”選項卡下為該篩選器命名為“阻止CC攻擊”然後確定退出。
第四步:點選剛才創建的“阻止CC攻擊”篩選器,一路“確定”退出IP策略編輯器,可以看到在組策略窗口的中創建成功一個名為“封CC攻擊”的策略,然後右鍵點擊該策略選擇“指派”。這樣就實現了對該IP的封鎖。
防火牆
除了利用上述方法外,還可以通過第三方的防火牆進行防範,打開防護牆防火牆可以了,筆者以天鷹ddos防火牆為例進行演示。安裝好天鷹ddos防火牆即可開啟防護,傻瓜式配置界面,默認參數即可防護網站,誤封較少,智能識別蜘蛛。
防CC攻擊
使用加速樂雲防火牆,若遇到CC攻擊時,將自動啟動,可以在2分鐘內快速確定攻擊IP,並封鎖IP,完全攔截CC攻擊。
網路流傳一種說法,就是把被攻擊的域名解析到127.0.0.1這個地址上,造成攻擊者本地迴環IP,從而實現攻擊者攻擊自己的目的,其實這是不正確的說法,說起CC攻擊,其實更確切的說是對資料庫的攻擊,排除對IIS連接數、帶寬的限制,危害最大的就是不斷通過頁面造成對資料庫堵塞,從而導致伺服器假死,而這一系列都是建立在服務之上,作為攻擊者的PC,本身沒有開啟IIS服務,所以即使將域名解析到127.0.0.1也不能對攻擊者造成影響,更何況沒有SQL server的影響,而上述解決方法是早期一些WEB程序員單層次的想法,並非權威的實際考證;另外將域名解析到政府或網警網站也是不可行,因為憑藉權威部門的技術分析,不難判斷攻擊源所針對的網站。
總體說來cc攻擊屬於技術技巧強的攻擊,目前的防護手段足以解決諸如此類的攻擊,然而帶給我們巨大的挑戰的是巨型流量的攻擊,在帶寬資源緊缺的情況下任何的防護措施都會消耗很大的成本,我們期待不久的雲概念被炒作的沸沸揚揚,至於能否起到實實在在的作用就不可而知了。希望上述文檔給您幫助。