
最近,美国国家安全局和联邦调查局发布了一份报告,概述了俄罗斯总参谋部主要情报局(GRU)第85主要特殊服务中心(GTsSS),军事单位26265为干预2016年美国总统选举而利用的命令与控制能力。虽然该报告包含了恶意软件技术的技术细节,但并未提供适用于网络威胁狩猎的网络规模工具。今天,Insane Forensics 公开了一款免费的开源工具,用于辅助基于Elasticsearch和Kibana对GRU的Drovorub恶意软件进行大规模网络检测与响应。该工具可处理现有的网络捕获(pcap文件),也支持实时捕获模式。

免责声明:我们完全基于NSA/FBI报告数据构建此工具。我们没有实际的恶意软件样本或数据包捕获。如果您有样本/网络捕获,或者能用真实数据验证此工具,请与我们联系。
以下说明仅供参考。请根据您的环境理解所需的变化后再进行操作。
pip install -r requirements.txtpython3 create_elk_index.py https://<elk ip>:9200 drovorub_test -elk_un <elk用户名> -elk_pw <elk密码>python3 drovorubhunt.py <elk ip> drovorub_test -elk_un <用户名> -elk_pw <密码> -pcap <pcap文件>python3 drovorubhunt.py <elk ip> drovorub_test -elk_un <用户名> -elk_pw <密码> -live <接口>python3 drovorubhunt.py <elk ip> drovorub_test -elk_un <用户名> -elk_pw <密码> -test。如果使用测试数据,请确保将时间窗口调回2016年,因为样本数据来自那个时间戳。测试数据载荷来自NSA/FBI报告截图。提供的仪表盘支持针对Drovorub命令与控制(C2)的主要狩猎和响应技术。Drovorub C2使用RFC 6455定义的WebSocket协议。所有WebSocket通信都将出现在所提供仪表盘的源、目标和网络协议面板中。我们做出这一设计决策,是为了在报告中所知通信格式之外,允许更宽泛地发现潜在未知或未解码的WebSocket通信。

作为网络分析师,您应尝试理解环境中健康与异常的WebSocket通信之间的区别。源和目标面板的最内层环显示通信资产的MAC地址。中间环显示IP地址,外层环显示端口。对于网络协议面板,内层环显示传输协议,外层环显示应用层协议。您可以通过点击任何环值或右侧的值进行数据透视。

名为“Drovorub Session Tracking”的面板允许您在Drovorub C2会话中出现的会话ID之间进行数据透视。此面板还可以显示整个环境中以及到单个主机的活跃会话数量。内层环代表目标ID,中间环代表源ID,外层环代表会话ID。在显示的仪表盘中,我们看到两个Drovorub通信资产之间有一个会话。

模块和操作面板允许您按观察到的Drovorub模块或操作进行数据透视。每个面板表示所看到每个模块或操作的加权计数值的词云。您只需点击即可在特定模块上进行数据透视。点击将对整个仪表盘应用Kibana筛选器。在下图中,激活的筛选器显示了Drovorub shell模块的通信流量。我们可以快速看到两个主机之间的shell模块流量,数据字段中返回了根级别的命令提示符。


仪表盘的其余部分显示了各个模块和操作的一些参数。上方的“隧道本地连接”和“隧道远程连接”面板显示了Drovorub隧道模块使用的隧道信息。

本地和远程路径字段显示了请求了哪些文件以及文件移动到了何处。在此例中,/etc/passwd文件被移动到了/tmp/passwd。