作者: ArthurKiller
鏈接:http://www.freebuf.com/news/107916.html(點擊尾部閱讀原文前往)
注:本文主張交流與科研學習,請勿對該技術進行惡意使用!本平臺及作者對讀者的之后的行為不承擔任何法律責任。
在上集《揭秘在線DDoS攻擊平臺(上)》我們已經知道了DDOS流量的獲取方式,并且總結出每種流量的獲取方式。原理說的差不多了,所以這篇文章將圍繞技術角度攥寫。在最后部分我將會發(fā)放辛辛苦苦收集的各種DDOS攻擊腳本和各類在線DDOS平臺的源代碼。
當我們獲取到足夠流量的時候就需要對流量進行管理和分配。DDOS流量的管理可以分為以下三大類,分別是單一DDOS腳本控制,單個API接口控制多個DDOS腳本和單個CMS或者API控制多個API接口。
這類流量控制是最簡單的,屬于一個拒絕服務攻擊(DOS),還不能稱之為分布式拒絕服務攻擊(DDOS)。
黑客通過源代碼編譯好一個腳本后直接對目標站點進行攻擊。這種控制方式主要運營在壓力測試模擬階段上,并不會用作真正的DDOS攻擊。因為流量過小,攻擊方式過于單一。
這時安全研究人員為了使攻擊復雜化,也為了方便流量的管理。這個時候會編譯一個API接口來統(tǒng)一管理全部的DDOS流量。
在DDOS攻擊里面,我們需要用到眾多的服務器,那么單個API已經不能滿足我們的需求了。這時每個服務器都會有一個自己的API接口,于是我們又會再去重新編寫一個API接口來管理全部服務器的API接口。
在攻擊目標站點的時候,只需要一個命令,全部的服務器都會對目標站點展開各種各樣的DDOS攻擊。
流量控制流程圖
在上一篇我已經說過DDOS攻擊分為Layer4和Layer7兩個大類,并且每個Layer都有很多種攻擊方式,今天我們就來說一下怎么使用這些DDOS攻擊腳本。
我所提供和收集的DDOS腳本文件全部都是由C++所編寫,所以在Linux上用gcc來對腳本進行編譯。
使用以下命令對源代碼進行編譯
gcc 腳本名稱.c -o 腳本名稱 -lpthread
或者
gcc 腳本名稱.c -lpthread -lpcap -o 腳本名稱
編譯完成后需要對該腳本賦予足夠的權限
chmod 755 腳本名稱
對腳本編譯及賦予權限
我先拿一個ACK DDOS腳本舉個例子。我們可以看到這個攻擊腳本需要的主要是以下幾個命令參數。
,/腳本名稱 <攻擊線程> <是否限制流量(如果不限輸入-1)> <攻擊時間>
攻擊時間>是否限制流量(如果不限輸入-1)>攻擊線程>
ACK DDOS命令
那么我們來嘗試一下對局域網內IP進行DDOS攻擊。可以看到目標IP已經無法ping通了。
使用ACK DDOS攻擊某主機
但是有時候我們會看到AMP DDOS攻擊需要添加一個AMP列表,如下圖紅色方框所示。這個AMP列表到底是什么?又是怎么得到到?
DNS反射攻擊(需要AMP文件)
這里我需要詳細解釋一下。AMP的全稱是Amplification,中文意思就是放大。比如大家熟悉的DNS反射型攻擊就是一個標準的AMP DDOS攻擊。其原理是A服務器發(fā)送大量的數據包給大量的DNS服務器,但是數據包是篡改過的。
黑客會把發(fā)送過去的數據包里A服務器的IP地址更改成B服務器的IP地址。DNS服務器會以為是B服務器發(fā)送的數據包,于是就會把返回的數據包發(fā)送給B服務器。DNS放大攻擊的好處是可以用一臺主機達到N臺主機的攻擊效果。
大家可以參考以下圖片來理解。
DNS AMP DDOS攻擊
而我們所需要的AMP列表就是全球所有的DNS服務器IP地址或者是可以做數據包跳轉的IP地址。在我提供的源代碼里面也有AMP資源掃描腳本文件的源代碼,編譯方式同上。
資源掃描器代碼
我們先看看掃描一個DNS資源需要什么命令參數。
./AMP掃描腳本名稱 <開始ip> <結束ip> <輸出文件位置> <線程> <多少毫秒開始延時一次>
多少毫秒開始延時一次>線程>輸出文件位置>結束ip>開始ip>
DNS掃描器指令
一般情況下,我們會把1.1.1.1作為開頭IP地址,然后把255.255.255.255作為末端IP地址,這樣就可以掃描到全球的DNS服務器的IP地址了。
DNS反射攻擊只是AMP DDOS攻擊的其中一種,還有很多AMP DDOS攻擊方式,比如MySQL AMP DDOS攻擊,NTP AMP DDOS攻擊等。以1GB的上行寬帶速度來看,一般需要3-5個小時才能掃描完成。
一個AMP列表的制作就需要數個小時,那么多AMP列表的制作需要的時間就更久了。這里想了一個方式能夠讓大家快速的得到這些AMP列表。這里大家先別激動,這個只是一個想法,還并沒有人去執(zhí)行。
首先是是一個人或者團隊專門來負責對AMP 列表的更新和維護,掃描到的列表生成txt文本文件后存放在WEB服務器上。隨后這個人或者團隊可以免費或者付費對大家開放列表的下載地址。如果有人的AMP列表需要更新,在服務上寫一個sh可執(zhí)行文件,內容為
#!/bin/bash
rm -I 老的AMP列表1.txt
rm -I 老的AMP列表2.txt
…………省略…………
wget http://AMP列表存放的域名/新的AMP列表1.txt
wget http://AMP列表存放的域名/新的AMP列表2.txt
…………省略…………
然后直接運行這個可執(zhí)行程序,那么整個AMP列表的內容就會隨之更新了。目前全球沒一個人在做這件事,有興趣(金錢和技術)的人可以考慮做做看。
因為DDOS攻擊的方式太多了,我無法把每個攻擊的方式和原理都詳細的講解一遍。如果每種攻擊方式都詳細講一遍,差不多可以出一本書了。但是大家可以參考“閱讀原文中”的表格去網上搜索相關的資料和腳本代碼。
你使用一兩個DDOS腳本還好,但是如果你要使用幾十個DDOS腳本呢?一個一個的執(zhí)行嗎?所以我們還需要搭建一個API來對這些腳本文件進行調用。API編寫最簡便的還是PHP,所以我們還需要在服務器上搭建相關的環(huán)境。這些命令只適用于Cent OS,其它版本的Linux系統(tǒng)請自行Google。
輸入以下命令進行安裝
1.yum -y update
2.yum install gcc libcap libpcap libpcap-devel screen php dstat cmake gmp gmp-devel gengetopt byacc flex git json-c zmap iptraf nano(或者直接輸入yum groupinstall 'Development Tools')
3.yum groupinstall 'Development Tools'
4.yum install gcc php-devel php-pear libssh2 libssh2-devel
5.pecl install -f ssh2
6.touch /etc/php.d/ssh2.ini
7.echo extension=ssh2.so > /etc/php.d/ssh2.ini
8.Service httpd restart
就這么簡單,環(huán)境已經搭建完成。然后你需要把API文件,DDOS腳本和AMP列表文件文件放入到你的WEB目錄內。環(huán)境創(chuàng)建完畢后默認的WEB目錄在
/var/www/html
這時你需要對你的API文件進行編輯。我們先來看看這個API文件哪里需要改的。
如下圖所示,在代碼第六行那里有個紅方框,在紅方框內設置一個你自己的Key Code。
Key Code設置
在11行那里我們需要輸入服務器的IP地址,SSH的賬號和密碼。
服務器SSH IP地址,賬號和密碼
從43行到63行是調用腳本文件的。在==后面填寫的是DDOS攻擊名稱,./后面跟著的是腳本的路徑和文件名稱,然后每個$后面的變量值都是要填寫的指令,如果沒有動態(tài)變量那么直接填寫相關命令,比如AMP列表文件名稱。
如果你的DDOS腳本文件或者AMP列表文件在其它文件夾,那么請確保對API內的DDOS腳本文件路徑進行更改,并且確定這個API文件有權限訪問你的腳本文件所在目錄。
調用DDOS攻擊腳本文件
然后就是使用這個API文件了,根據源代碼的里面的各種變量和常量值,我們可以這么構建。
http://服務IP地址/api.php?key=自己設置的Key Code&host=目標地址&time=攻擊時間&port=端口&method=攻擊方式
舉例:
http://192.168.1.2/api.php?key=keycode&host=192.168.1.3&time=50&port=80&method=DNS
搭建完API后我們需要核實一下是否成功的對腳本進行調用。這里很簡單,直接用HTOP查看整個服務器的進程就行。輸入以下命令開啟htop服務。
htop
下面這張圖是未執(zhí)行API前的運行程序
未執(zhí)行API前
下面這張圖是執(zhí)行API后的運行程序,可以發(fā)現多了幾個DDOS攻擊腳本運行在后臺。
執(zhí)行API后
在線DDOS平臺的搭建也沒多復雜,我已經提供給大家足夠的在線DDOS CMS源碼,并且都附上了數據庫結構。這些在線DDOS平臺都是采用PHP編寫,數據庫都是MySQL。
每個CMS都有特定的文件來填寫DDOS API,在填寫API的文件里面可以填寫多個API,之后要發(fā)送攻擊命令的時候只需要調用一個API接口,這個API接口又會調用你輸入的API接口,然后你輸入的API接口又會調用全部的DDOS攻擊腳本文件,非常的方便。
這個地方需要普及的知識太多了,但是凡是搭建過WEB服務器的人都很清楚這些流程,我就不專門去講了,大家自己研究一下。
某在線DDOS平臺API插入界面
我通過各種PY交易獲得了大量的在線DDOS平臺的源碼和DDOS腳本的源代碼,為了這個專題也花了不少的精力和少許的金錢,但是能夠免費的為國內的安全研究人員提供一個在線DDOS平臺的研究我是非常高興的。
但是我為什么不提供像低軌道粒子炮,HUC DDOS這種工具?得了吧,那種東西不配叫做DDOS(分布式拒絕服務)攻擊,稱其量只能算作DOS(拒絕服務)攻擊,拿來打蒼蠅都打不死。與其提供給你們一把AK47,不如直接給你們制造核彈頭的原材料。
筆者曾在美國生活,美國在線DDOS平臺處于一個法律的灰色地帶,你既不能說它非法,也不能完全說它合法,因為DDOS和大流量的攻擊演練并沒有太清晰的界限。
我在美國那段時期有幸和一個在線DDOS平臺的站長聊過幾次,他說他們的主要收入都是來自中國,他甚至想專門弄一個中文版本的在線DDOS平臺,只可惜他不會中文,而且又擔心被GFW攔截。
在中國開DDOS在線平臺只有授權檢測證明我才能購買這個服務,而客戶群體普遍都是廠商,針對個人用戶的反而很少。于此同時就造成DDOS演練在國內變成了供不應求的局面,要做壓力測試廠商有時只能被迫去購買國外的流量。在這種情況下,壓力測試服務只能成為安全廠商的一個附加服務。
據筆者了解,國內諸如阿里巴巴、騰訊、淘寶都有專門的DDOS演練平臺,可以自動化的演練此類攻擊,因而這些企業(yè)對于DDOS的防御能力是相對較強的。
可是其他國內的互聯(lián)網廠商做過正規(guī)壓力測試服務的非常少,基本上只要三個G的上行流量可以打死國內一大堆網站,并且不管這些廠商用什么服務器。DDOS攻擊是最難防御的,也是威脅程度很高的。但是值得慶幸的是國內還有個GFW對這些DDOS流量進行攔截。
在2016年二月,愛爾蘭就遭受到大規(guī)模的DDOS攻擊,整個國家的網絡差點癱瘓。那么中國企業(yè)能夠應對這種壓力嗎?國內廠商和政府的服務器是否做好了抗DDOS的準備?
●本文編號192,以后想閱讀這篇文章直接輸入192即可。
●輸入m可以獲取到文章目錄。
更多推薦請看《15個技術類公眾微信》