该僵尸网络的 C2 服务器使用 Django 框架作为后端。 它远非最高效的 Web 服务器,但这被以下优点所抵消:
aura-server 文件夹中。管理站点位于 http://your_server:server_port/admin,在设置超级用户后即可访问(见下文)。
C2 服务器当前配置为使用 SQLite3 数据库 bots.sqlite3。
可以在 中更改当前配置。
您可能希望改用 MySQL 甚至 PostgreSQL;由于 Django 的可移植数据库 API,这很容易实现。
主要客户端使用 C++ 编写,可通过 CMake 为 Linux 或 Windows 编译。 其他客户端使用 Rust、Bash 和 PowerShell 编写,但由于基本不受支持,可能缺少某些功能。我会修复任何我注意到的重大错误,但目前它们仍将缺少某些功能,例如在不同的 shell 中运行命令。
客户端将收集相关的系统信息并将其发送到 C2 服务器,以注册新的机器人。 识别方式如下:首先创建一个包含随机数据的文件——在代码中称为 认证文件——然后在每次客户端运行时对其进行哈希,以标识客户端并与 C2 服务器进行身份验证。 然后它会将代码中指定文件夹内的所有文件安装到目标位置,并使用与客户端运行时间等权限初始化系统服务或计划任务。 默认设置下,客户端和其他文件会伪装成配置文件。
由于这是出于测试目的,C2 服务器需要硬编码到客户端和 Web 交付文件中。 当前所有文件均设置为 localhost。 这是因为真正的僵尸网络会使用类似域名生成算法(DGA)的机制,将客户端上不断变化的域名流与正在注册的临时域名流同步——或者像最初的 Mirai 僵尸网络那样使用真正坚不可摧的主机。
代码也未进行混淆处理,也没有任何防止逆向工程的措施;这将违背作为测试和演示用途僵尸网络的目的。
killswitch 文件夹包含用于在您的设备上测试时轻松移除客户端的脚本。