对恶意软件Dridex的流量分析

栏目: 编程工具 · 发布时间: 5年前

内容简介:流量分析需要我们有扎实的网络知识为基础,同时需要具备实际操作的能力和经验。通过写本篇文章,记录下练习流量分析的过程。以便提高从流量上确定感染情况,以及分析溯源等能力。WireShark是一款强大的网络协议分析开源软件,它提供了灵活的插件机制,使用户可以方便地扩展wireshark的功能。插件的功能包括但不限于:协议解析器。

*本文作者:arr0w1,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

前言

流量分析需要我们有扎实的网络知识为基础,同时需要具备实际操作的能力和经验。通过写本篇文章,记录下练习流量分析的过程。以便提高从流量上确定感染情况,以及分析溯源等能力。

wireshark及其插件

WireShark是一款强大的网络协议分析开源软件,它提供了灵活的插件机制,使用户可以方便地扩展wireshark的功能。插件的功能包括但不限于:协议解析器。

可以使用 LuaC语言 来编写Wireshark插件。 使用Lua写插件,优势是:相对简单好上手,代码量少,部署在插件目录,不用和主程序一起编译。

配置与安装

我在Mac OS系统下亲测安装wireshark插件,踩了一些坑,最终安装成功。整个过程如下:

安装lua

curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz
tar zxf lua-5.2.3.tar.gz
cd lua-5.2.3
make macosx
make test
sudo make install

输入 lua 看到 Lua 5.2.3 Copyright (C) 1994-2013 Lua.org, PUC-Rio 表示已经安装好了。

安装wireshark插件的通用过程

在Mac OS系统下,先进入wireshark目录。 cd /Applications/WireShark.app/Contents/Resources/share/wireshark

将lua脚本(可以自己写)复制到该目录中。

然后编辑文件init.lua,将其中的 disable_lua = true 改为 disable_lua = false ,并在文件最后一行处写下你打算加载的插件 dofile("xxx.lua") ,并保存该文件。

以安装patoolkit插件集合为例

PA Toolkit是一系列专注于安全性的流量分析插件的集合。

github地址: pentesteracademy/patoolkit: PA Toolkit is a collection of traffic analysis plugins focused on security

PA Toolkit的插件有以下几种,大概说下功能: WiFi(WiFi网络概览,检测beacon,deauth floods洪水攻击等) HTTP(列出所有访问过的http网站,通过http协议下载的文件) HTTPS(列出以HTTPS协议访问的所有网站的域名) ARP(MAC-IP表,检测MAC地址欺骗和ARP投毒) DNS(列出使用的DNS服务器和DNS解析,检测DNS Tunnels)

开始安装,把该项目下载到本地,进入该项目中的 plugin 目录,看到如下的文件结构:

├── arp
│   └── arp_table.lua
├── dhcp
│   └── dhcp_table.lua
├── dns
│   └── dns_table.lua
├── ssh
│   └── ssh_info.lua
├── util.lua
├── web
│   ├── downloded_files.lua
│   ├── get_requests.lua
│   ├── post_requests.lua
│   ├── tor_detection.lua
│   └── website_lists.lua
└── wifi
    ├── beacon_flood_detection.lua
    ├── check_wpa_bruteforce_possiblity.lua
    ├── deauth_flood_detection.lua
    ├── security.lua
    └── wifi_overview.lua

进入wireshark目录 cd /Applications/WireShark.app/Contents/Resources/share/wireshark , 将plugin文件夹中的所有lua脚本复制到该目录中。

然后编辑文件init.lua,在最后一行写需要加载的插件,即:

dofile(DATA_DIR.."util.lua")
dofile(DATA_DIR.."arp/arp_table.lua")
dofile(DATA_DIR.."dhcp/dhcp_table.lua")
dofile(DATA_DIR.."dns/dns_table.lua")
dofile(DATA_DIR.."ssh/ssh_info.lua")
dofile(DATA_DIR.."web/downloded_files.lua")
dofile(DATA_DIR.."web/get_requests.lua")
dofile(DATA_DIR.."web/post_requests.lua")
dofile(DATA_DIR.."web/website_lists.lua")
dofile(DATA_DIR.."web/tor_detection.lua")
dofile(DATA_DIR.."wifi/beacon_flood_detection.lua")
dofile(DATA_DIR.."wifi/check_wpa_bruteforce_possiblity.lua")
dofile(DATA_DIR.."wifi/deauth_flood_detection.lua")
dofile(DATA_DIR.."wifi/security.lua")
dofile(DATA_DIR.."wifi/wifi_overview.lua")

启动wireshark,如果提示错误”/usr/local/lib/lua/5.2目录中没有xx.lua文件”,只需要将util.lua和security.lua复制到该目录就行。

启动后无报错且能看到插件菜单,如下图,说明插件安装成功,可以用插件辅助,更快地进行流量分析了。

对恶意软件Dridex的流量分析

其它补充

windows下的安装,大同小异,在图片中的路径中,编辑文件即可,其它步骤相同,参考以上安装过程。 

对恶意软件Dridex的流量分析

实例:对“以银行为目标的恶意软件”的流量分析

如果企业内网受到这种类型的恶意软件感染,从流量上应该如何分析感染过程?确定内网中的感染情况?

已知自身的网络环境

局域网范围 172.17.8.0/24 (即172.17.8.0到172.17.8.255)

局域网网关 172.17.8.1

局域网广播地址 172.17.8.255

域 timbershade.info

域控制器 172.17.8.2 – Timbershade-DC

需要解决的问题

被感染的Windows主机的IP地址是什么?

被感染的Windows主机的MAC地址是什么?

被感染的Windows主机的计算机名是什么?

被感染的Windows主机的用户的帐户名是什么?

发送到被感染的Windows主机的可执行文件的SHA256文件hash是什么?

参考IDS警报,这是什么类型的感染?

步骤1 确定分析目标的ip

使用Statistics菜单选项,如下图所示。

已经知道局域网的ip范围是172.17.8.0/24(即172.17.8.0到172.17.8.255),如图,Conversations中看到只有一个IP地址172.17.8.109既不是域控制器(172.17.8.2)也不是广播地址(172.17.8.255)。另外,IDS警报文件只显示了172.17.8.109这个ip的警报。

对恶意软件Dridex的流量分析

步骤2 查找IP地址与MAC地址和计算机名关联关系

方法一:通过DHCP协议查看

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

可以通过查看DHCP流量(过滤语法:bootp)将IP地址、MAC地址和计算机名,三者关联起来,如下图所示。

对恶意软件Dridex的流量分析

黄色是:计算机名 Dunn-Windows-PC

蓝色是:ip 172.17.8.109

红色是:Mac地址 14:fe:b5:d4:15:ca (Dell_d4:15:ca)

方法二:通过NetBIOS协议查看

根据 NetBIOS / NBNS – Wireshark Wiki ,NetBIOS名字服务 即 NetBIOS Name Service (NBNS)是NetBIOS-over-TCP协议套件的一部分,此服务通常在Windows系统上称为WINS (Windows Internet Name Service) 。 传输协议:通常NBNS使用UDP作为其传输协议。众所周知的NBNS流量UDP端口是137。(NBNS也可以使用TCP作为其某些操作的传输协议,尽管在实践中可能永远不会这样做,TCP端口是137)。 WINS (Windows Internet Name Service):名字服务,功能包括名字注册和名字解析,简单的说这里的名字解析功能,NBNS(windows下称为WINS)将“NetBIOS名字”转换为ip地址。 WINS提供了一个分布式的动态更新的数据库,能在路由网络的环境中动态地对IP地址和NETBios名的映射进行注册与查询。 WINS用来注册“NetBIOS计算机名”,并在需要时将它解析成为IP地址。(其实这个功能比较像DNS协议,它们都是将人类可读的名称转换为IP地址)

在此处也可以通过查看 NBNS流量(过滤语法:NBNS)一样能得到“IP地址与MAC地址和计算机名关联关系”,如下图所示。

对恶意软件Dridex的流量分析

黄色是:计算机名 DUNN-WINDOWS-PC<00> (Workstation/Redirector) 

蓝色是:ip 172.17.8.109 

红色是:Mac地址 14:fe:b5:d4:15:ca (Dell_d4:15:ca)

步骤3 查找Windows用户的帐户名

使用以下Wireshark过滤语法:  kerberos.CNameString and !(kerberos.CNameString contains $)  

对恶意软件Dridex的流量分析

看到kerberos.CNameString为margaret.dunn,得到了Windows用户的帐户名:margaret.dunn。

为什么 kerberos 协议的流量中有 Windows用户的帐户名?

原理:

因为Kerberos认证过程中, 客户机用户以明文方式发送 AS-REQ(认证请求)密钥分发中心 KDC (Key Distribution Center) 以向AS( Authentication Server认证服务 进行认证,要求得到某服务器的证书。

AS-REQ(认证请求)中包含 Windows用户的帐户名, 所以可以从流量中的AS-REQ(认证请求)中找到Windows用户的帐户名。

步骤4 确定威胁类型

使用 EmergingThreats (ET) 规则集,从 IDS( Security Onion的Sguil)发现的这些警报( 如下图 ):

对恶意软件Dridex的流量分析

根据IDS警报,可以看到警报列表中最下面的警报为:  ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex)  

Dridex的ssl证书被IDS黑名单规则匹配到,所以应该是Dridex感染。

可以看到在IDS警报列表最下面这些“dridex证书警报”之前,有个“可执行文件下载”的警报,可得出Windows EXE或DLL文件是从91.121.30.169的TCP端口8000下载的,需要从流量中提取这个样本文件。

步骤5 提取样本文件

在wireshark中菜单 File → Export Objects → HTTP ,可以找到一些对分析有意义的文件,如压缩文件、文本文件、音频文件、图片等。

对恶意软件Dridex的流量分析

在导出这些文件之前,怎么判断哪个是Windows可执行文件呢? Follow 这个HTTP请求的TCP流,可以从3处发现特征可以确定Windows可执行文件(exe或dll),如下图所示。 

对恶意软件Dridex的流量分析

对恶意软件Dridex的流量分析

从pcap提取到了恶意样本文件。

现在可以自己计算hash,也可以顺手提交给VirusTotal获得更多有关它的信息、IoC等。

(当然也可以通过插件的功能快速查看下载的文件,便于分析和理解恶意软件的逻辑) 

对恶意软件Dridex的流量分析

问题的答案

被感染的Windows主机的IP地址是什么?

172.17.8.109

被感染的Windows主机的MAC地址是什么?

14:fe:b5:d4:15:ca (Dell_d4:15:ca)

被感染的Windows主机的计算机名是什么?

 Dunn-Windows-PC

被感染的Windows主机的用户的帐户名是什么?

margaret.dunn

发送到被感染的Windows主机的可执行文件的SHA256文件hash是?

9f6e3e65aedca997c6445329663bd1d279392a34cfda7d1b56461eb41641fa08

根据IDS警报,这是什么类型的感染?

Dridex

简介:Dridex是一种专门针对银行的恶意软件,它利用Microsoft Office中的宏来感染系统。一旦计算机被感染,Dridex攻击者就可以窃取系统上的银行凭据和其他个人信息,以访问用户的财务记录。

总结

流量分析作为企业网络安全防御体系的重要的一部分,与日志分析等相结合,尽可能完整还原恶意软件攻击过程,这样才有可能将恶意软件从企业网络中彻底清理,同时对流量特征进行分析,可得到并整理出IoC、相关样本文件、甚至是写出一份完整的分析报告,分享这些成果,可供其他企业和安全人员参考、学习,提高其自身防御水平。这样其实为推动安全行业的发展做出了贡献,也有助于企业及安全人员的综合能力的提高。

*本文作者:arr0w1,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


以上所述就是小编给大家介绍的《对恶意软件Dridex的流量分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法谜题

算法谜题

Anany Levitin、Maria Levitin / 赵勇、徐章宁、高博 / 人民邮电出版社 / 2014-1-1

算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。 本书是一本经典算法谜题的合集。本书包括了一些古已有之的谜题,数学和计算机科学有一部分知识就发源于此。本书中还有一些较新的谜题,其中有一部分谜题被用作知名IT企业的面试题。全书可分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法......一起来看看 《算法谜题》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具