国家安全局和美国联邦调查局
Drovorub 控制中心接收 JSON 格式的配置文件路径作为命令行参数:
{
“数据库主机”:“ “,
“数据库端口”:“ “,
“db_db”:“ “,
“数据库用户”:“ “,
“数据库密码”:“ “,
“l端口”:“ “,
“主机”:“ “,
“ping_sec”:“ “,
“隐私密钥文件”:“ “,
“短语” : ” »
}
MySQL DBMS 用作后端。 WebSocket 协议用于连接客户端。
客户端具有内置配置,包括服务器 URL、其 RSA 公钥、用户名和密码。 安装rootkit后,配置将保存为JSON格式的文本文件,该文件通过Drovoruba内核模块对系统隐藏:
{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
“密钥”:“Y2xpZW50a2V5”
}
这里的“id”是服务器发出的唯一标识符,其中最后48位对应服务器网络接口的MAC地址。 默认的“key”参数是服务器在初始握手期间使用的base64编码字符串“clientkey”。 此外,配置文件可能包含有关隐藏文件、模块和网络端口的信息:
{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
“密钥”:“Y2xpZW50a2V5”,
“监视器” : {
“文件” : [
{
“活跃”:“真实”
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
“掩码”:“测试文件1”
}
],
“模块” : [
{
“活跃”:“真实”
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
“掩码”:“测试模块1”
}
],
“网” : [
{
“活跃”:“真实”
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
“端口”:“12345”,
“协议”:“TCP”
}
] }
}
Drovorub 的另一个组件是代理;它的配置文件包含用于连接到服务器的信息:
{
“client_login”:“用户123”,
“client_pass”:“pass4567”,
“clientid”:“e391847c-bae7-11ea-b4bc-000c29130b71”,
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" :"公钥",
“服务器主机”:“192.168.57.100XNUMX”,
“服务器端口”:“45122”,
“server_uri”:“/ws”
}
“clientid”和“clientkey_base64”字段最初是缺失的;它们是在服务器上初始注册后添加的。
安装完成后,进行如下操作:
- 加载内核模块,为系统调用注册钩子;
- 客户端向内核模块注册;
- 内核模块隐藏正在运行的客户端进程及其在磁盘上的可执行文件。
伪设备(例如 /dev/zero)用于在客户端和内核模块之间进行通信。 内核模块解析写入设备的所有数据,并且为了以相反方向传输,它向客户端发送 SIGUSR1 信号,然后从同一设备读取数据。
要检测 Lumberjack,您可以使用 NIDS 进行网络流量分析(无法检测受感染系统本身的恶意网络活动,因为内核模块隐藏了它使用的网络套接字、netfilter 规则以及可能被原始套接字拦截的数据包) 。 在安装了 Drovorub 的系统上,您可以通过向内核模块发送隐藏文件的命令来检测内核模块:
触摸测试文件
回声“ASDFZXCV:hf:测试文件”> / dev /零
ls
创建的“testfile”文件变得不可见。
其他检测方法包括内存和磁盘内容分析。 为了防止感染,建议对内核和模块使用强制签名验证,从 Linux 内核版本 3.7 开始可用。
该报告包含用于检测 Drovorub 网络活动的 Snort 规则和用于检测其组件的 Yara 规则。
让我们回想一下,第 85 GTSSS GRU(军事单位 26165)与该组织有关联
来源: opennet.ru