記一次被DDoS敲詐的歷程-愛新聞

記一次被DDoS敲詐的歷程

黑客3

聲明:本文來自於微信公眾號糖果的實驗室(ID:mycandylab),作者:糖果LUA,授權站長之家轉載發布。

0×01 背景

之前一個蜀國的朋友業務被DDOS攻擊,業務服務被機房斷網,客戶單流失有經濟損失,這篇具體說的就是這件事情。

背景是這樣,一個朋友網站業務被DDoS了,先是威脅要800 元RMB,然後又轉成提供DDOS的服務,然後又變成了DDOS培訓, 又變成了賣DDOS軟件,最後又變成了DDOS高防測試提供者,最後到警察叔叔那裡,報警立案成功的故事。

採用高仿系統對於防護ddos問題當然有效,但也要注意誤攔行為對用戶訂單的影響。每個公司的具體情況是不一樣的,解決問題也要有具體的針對性,比如當機房不是自己的,路由防火牆設備不是自己控制的,無法從類似設備上取得第一手流量信息時(如果能用SNMP),如何處理。當CDN是第三方提供,不能進行黑名單阻斷設置等各種情況下,又如何處理。

0×02 來自黑客的威脅

就在這幾天,一個朋友傳來了他被DDoS的消息,正在搬磚中看到他發的消息,說他們的客服收到到0118 號客人的威脅信息,說要馬上乾掉你們。

這位朋友可能見過大場面的人,這點威脅就能嚇倒他嗎, 太天真了。

大家可看看下面這個圖。

看到上面這個流量激增你們也能看出來,之後服務器真的就掛了,真的掛了,掛了。

這位朋友默默的看了眼高仿的價格,這個價格再次擊穿了他的心裡防線。我買,我買, 我買不起。買不起是開玩笑,但這也太貴了。

不過這個時候這位朋友想起來了,客服留言中的那個黑客微信聯繫方式, 先加個微信會會這位朋友。

這麼長的對話內容,大概的意思是說, 對方要800 塊錢,並且還能幫助搞其它競爭對手。這位朋友的回答就比較藝術了,沒錢,要錢向老闆要去。

0×03 常見流量攻擊的形式

到這了,我們插入一段技術內容,流量攻擊的幾種常見形式。

到7 層的攻擊

1.大量肉雞產生的CC(ChallengeCollapsar)。

2.向WEB服務端口發送的大量的,巨型垃圾包(其實也不是很大,單條1MB以上)。

到4 層的攻擊

3.TCP sync攻擊,每次第一次tcp握手就跑,純撩閒式的方式。

除了sync方式攻擊,其它的兩種,都可以達到7 層,形成WEB服務日誌。

第1 種和第2 種,我們都可以看到nginx日誌,大post的垃圾請求有一個問題是,發送的請求數據,可能都不符合HTTP規範。

比較粗爆的請求,可以通過下面簡單的方法, 加入到nginx.conf配置中,進行非http請求的協議數據的過濾。

1.限定請求方法:

if ($request_method !~ ^(GET|HEAD)$ ) { return444;}

2.限定主機名:

if ($host !~* xxx.com$) {return 444;}

0×04 WAF防護

我們的服務有很多都是用nginx、openresy、tengine搭建的,所以用nginx lua做WAF防護也是一件很正常的事, 看看下面的配置就能知道這位朋友用的是那個WAF了吧。

用LUA寫CC的安全策略是一個相對很便捷的過程。

威脅請求產生了大量的501 和444。

命中了策略後,產生了對應的命中日誌。

就算我們明確知道攻擊源,要進行攔截也是有問題的,我們在服務器上部署了WAF,但前端服務還有CDN和LVS,可以在後端分析出威脅,但不能在這些設備上進行ip block阻斷。

並且,這位朋友的日誌分析還沒有應用到大數據層面,在手動分析日誌階段, 這樣分析和響應速度很難和WAF協同工作。

但就算WAF可以攔截一部分威脅,當小規模的機房和服務器還是有帶寬上限的,一旦請深求擁堵帶寬大於這個上限,還是一樣無響應。

並且有機房根本沒有阻斷功能,只有報警功能,一般帶寬被佔滿,業務就會被機房業斷網。

0×05 左右互博

攻擊是消停了,可是這位朋友感覺還是不對, 要不就模擬一下自己DDoS自己機吧。

拿起心愛的GO開擼:

QQ圖片20190628114013.png

你的代碼寫的真棒,也許有的朋友需要這代碼,老規矩放到github上:go-attacker

0×06 採用高防

朋友這段自創的GO就是模擬產生大量的GET請求。結果朋友發現自己針對自己的,服務也一樣抗不住,有反正都是造成擁塞,乾脆就用WRK得了,就模擬正常的HTTP請求就行。

wrk -c1000-t10 -d10 --latency http://127.0.0.1:8080 /find

結果一樣扛不住,還得找那個哥哥聊聊。

結果這個發起DDoS的哥們,從攻擊改成培訓了, 傳授相關技術培訓費1200,上手快,時間段,經濟效益高,但是犯法,這個不能幹!

朋友先給200 人家不要,不過有新情況, 不但可以培訓,還可以賣軟件,黑產現在都這麼會做生意了嗎,這麼多才多藝。

0×07 取證報官

朋友一看,請救兵吧,高防還是得買,然後報官,這時候就得去找警察叔叔。

前行100 米和警察叔叔友好交流,和警察叔叔聊了一下,發現了一個問題。

800 元也夠不到5000 元啊,但是警察叔叔讓回去收集證據了。

0×08 高防測試

這位朋友最後還是找到一家公司提供高防服務,希望在自動切換以外,可以手動切換到高仿。

因為有很多的域名接入,在測試階段發現,接入高仿以後,貌似有很多的正常流量和CDN的流理被清洗掉了,這樣一天下來掉了很多單的銷量。因為還是在測試階段,還需要進一步的測試確認和加白。 

用戶->CDN->高仿->服務。

上了高防護了好不好用啊,這朋友想問問DDoS的朋友,接收不接收測試的活。

到這個,就想問一句,抗DDOS的硬盤能不能也給來一塊。

持續一段時間的攻擊來了,但是服務貌似應該沒掛。

0×09 立案成功

文章的最後就是,這位朋友成功的立案了,還是警察叔叔給力, 能不能抓到威脅要800 元的朋友要看後續。 

0×10 學習安全技術

這位朋友高仿也上了,也立案了,利用間歇時間趕緊抓緊間學習安全知識, 上Freebuf找公開課看,安全技術書到用時方恨少。有人問安全有什麼用,像這位朋友如果服務被攻擊,每天會丟失的訂單,訂單的成本應該遠遠不是800 元這個金額。

0×11 高防外的可能方案

實際上,因為我們這位蜀國朋友的服務不在自建機房,實際上機房的具體報警策略,機房提供商不會給被服務者提供的,當機房中的某個IP流量過大,就可能觸發流量報警,甚至後續的斷網。

假設整個網絡結點的抽象結構是下面這樣:

機房網絡設備-> 防火牆->CDN->WAF->WEB服務

1.什麼做不到

1.1 不能在機房和CDN層面時行攔截

那機房網絡設備、防火牆是沒法干預的,攔截策略也是不知道的。

就算我們自己從WEB服務中分析出異常的訪問, 也沒有辦法在機房設備上攔截。如果CDN提供商也不支持IP封禁接口,也不能在cdn上進行攔截。

1.2 不能過濾80 和443 以外的流量

在這位朋友的網格結構中沒有提到LVS等負載的情況, 這樣的話,就不具備LVS過濾80 和443 端口以外數據的能力。

2.什麼能做到

實際的WAF和業務服務器這位朋友是可以操作的,如果可以4 層流量中取得HTTP日誌,可在4 層階段讓日誌落地。但實際如果在WAF結果之前都不能做攔截動作, 就只能直接在7 層通過Openresty解析出HTTP數據和日誌再做分析,這樣那個效率高,具體看情況。

2.1 做日誌分析

Openresty落地的HTTP日誌都是可以分析,如是不是通過大流量的網絡聚合日誌,一般的ELK對單個WEB日誌的數據就可以分析,分析出威脅可疑的IP,發現其中的集團攻擊行為,也可以與威脅情報庫碰撞,發現異常被控肉機等。

2.2 停止域名解析

因為網站多域名解析的設計,可以在機房斷網之前,停止被攻擊的域名解析。一個域名停制解析不會大面積影響訂單。這樣就需要找到一個報警閥值,這個值與機房斷網的閥值相關,當WAF分析出可能會造成機房斷網的那個極限量時,就提前觸發停止域名解析。

3.期望能做到什麼

期望第三方CDN可以提供IP攔截接口,期望高仿支持接口手動切換高仿。   

期待這位朋友,在沉迷於網絡安全技術學習的同時,不在被攻擊困擾。

發佈留言