聚锋实验室 · 2016/04/14 10:11

作者:Mr.Right、Gongmo、K0r4dji

申明:文中提到的攻击方式仅为曝光、打击恶意网络攻击行为,切勿模仿,否则后果自负。

0x00 前言


近期,越来越多的人被一种恶意软件程序勒索,电脑上的多种重要文件都被加密而无法打开,并且无计可施,只能乖乖支付赎金,以对文件解密。

网上关于该类病毒的详细分析案例很多,在此不再详述。本文分享主要通过WireShark从流量分析判断勒索邮件、再进行深入分析。

0x01 截获邮件样本


通过监控某政府邮件服务器发现,近期大量用户收到此诈骗勒索邮件,邮件的发件人一般为陌生人,收件人指向明确,且带有跟收件人名称一致的ZIP附件,邮件内容一般为“请检查附件的XX,为了避免罚款,你必须在X小时内支付。”的诈骗威胁内容。

解压ZIP附件可发现病毒文件。

0x02 WireShark分析


对于邮件协议的分析,我们首先按OSI七层模型对其数据进行建模,对网络协议的每层进行分析,最后汇总其安全性。(同样适用于其它协议)

(一) 物理层分析

暂不做分析。

(二) 链路层分析

由于该流量接入点为邮件服务器边界出口,所以多为SMTP数据。该数据链路层帧格式为以太帧(Ethernet II),共14字节,前12字节表示两端的MAC地址,后两字节0x0800表示后接IPV4协议。

此层数据无异常。

(三) 网络层分析

从网络层数据开始,我们就会逐渐发现异常。当然,这个数据在网络层对我们有用的也就是源、目的IP地址。源地址10.190.3.172为邮件服务器地址,目的地址191.102.101.248 (哥伦比亚)为发件方地址。

简单做几个测试,就发现有异常:

  1. 191.102.101.248并未开放TCP25端口;

  2. 191.102.101.248与elynos.com无关;

初步判断发件人的邮箱是伪造的。

(四) 传输层分析

我们简单统计一下该数据的TCP25端口,发现在包数量等于28的附近区域,有大量不同IP发来的邮件,且字节长度也基本相等,可以初步判断大量邮箱收到差不内容的异常邮件。

提取一封follow tcpstream,可看出,也是一封勒索邮件。

(五) 会话层分析

SMTP协议在会话层一般分析要素包括:认证过程、收发关系、加密协商、头部协商等。

将一封邮件的会话Follow TCPStream,可以看出邮件的发件人是来自外部的“陌生人”。

我们将部分邮件收发关系进行汇总,可以看出虽然发着同样的勒索邮件,但其发件人地址为了躲避垃圾邮件过滤,伪造了大量的邮箱地址及域名。

(六) 表示层分析

在表示层分析要素一般包括编码和列表等,由于此邮件属于正常通信邮件,在表示层无异常因素。

(七) 应用层分析

针对此案例,应用层分析目标包括:邮件正文内容安全、邮件附件安全、是否为垃圾邮件等。

1.指向性:收件人邮箱名为:[email protected],邮件正文称呼为“dear voice5”,邮件附件名称为“voice5_*.zip”,可看出此勒索邮件为骗取点击率,进行了简单的社工。

2.邮件正文:

“Please check the bill in attachment.

In order to avoid fine you have to pay in 48 hours.”

明显的诈骗威胁内容。

3.将此邮件内容Save一下,可得到附件内容。通过分析,可确认附件为敲诈勒索病毒。(本文不详述)

0x03 勒索病毒分析


(注:本章节不全属于Wireshark分析范畴)

(一)病毒初始化文件

1)病毒文件一共是6个,其中红框中的3个文件是隐藏文件,js文件是引导用户打开的文件。为了防止杀毒软件查杀病毒,病毒文件首先是按照pe结构分开的,js命令把pe文件组合在一起,构成一个完成的bin文件。

2)组合好的病毒文件会放到c:\User\Username\Appdata\Local\temp目录下,然后后台运行。如下图红色框中

在IDA中打开bin文件。大段大段的加密数据文件。如下图所示:

(二)病毒行为

1)病毒解密还原后,才能正常执行。病毒文件经过了很多的亦或乘除等算法,通过VirtualAlloc在内存中存放一段代码,然后调用RtlDecompressBuffer进行解压,并在内存里还原代码。所有API函数都是动态调用的。下图是其中的一小部分还原数据的内容。

2)在内存解密,申请分页,并拥有执行能力。

3)病毒会在HEKY_CURRENT_USER下创建一个属于用户的key值。

4)病毒会判断系统版本:从Win2000,xp 一直到最新的Win10以及Win Server 2016;

由于我们的虚拟机是win7;所以这里判断出是win7 zh代表中国。

病毒开始构造一个连接,准备发往作者的服务器。构造如下:

Id=00&act=00&affid=00&lang=00&corp=0&serv=00&os=00&sp=00&x64=00;

很明显这是在获取系统的一些信息,包括ID号,版本号,语言等。

病毒准备提交的网址:

下面的IP地址;都要尝试连接一次。

通过wireshark截取的数据我们发现:有些IP地址的php网页已经丢失了。

除此之外,病毒尝试连接部分c&c服务器网址,部分如下:

5)如果病毒c&c服务器没有返回信息;则病毒一直处于等待状态。

6)感染文件。首先循环便遍历扫描文件。

下图是病毒要修改的文件格式:

文件名生成部分算法:

文件名被修改过程分为两部分,前半部分代表系统的key值,后半部分通过算法生成。文件名改名加密算法的局部过程,从”0123456789ABCDEF”当中随机选取一个字符充当文件名的局部。随机函数采用CryptGenRandom()

文件内容加密总体流程:

首先文件以只读形式打开,防止其他文件访问其内容,接着通过AES-128算法加密器内容,最后置换文件。完成文件加密。

文件内容:经过AES-128位算法加密。

打开文件

把加密后的数据写回文件:

然后通过API函数替换文件。

8)桌面背景被换为:

0x04 总结


  1. 此类勒索邮件标题、正文、附件内容基本相同,只是针对收件人名称稍作修改。

  2. 为躲避邮件过滤系统,发送者邮箱使用和伪造了大量不同的IP和邮箱地址。

  3. 虽然此勒索病毒最终需要通过针对附件样本的分析才能判断确认,但基于流量分析可以发现诸多异常,完全可以在流量通信层面进行归纳阻断。

  4. 随着大量比特币病毒流入国内,各种敲诈勒索行为日渐增多,对应这种病毒,我认为防范大于修复。因为比特币病毒对文件的加密算法部分相对复杂,还原的可能性较小。并且每台机器又不一致。所以,我们尽量做好预防才是根本。以下是几点需要我们提高警觉性的:(1)及时更新杀毒软件。(2)注意防范各种不明确的邮箱附件。(3)及时备份重要信息到其他存储介质。

WireShark黑客发现之旅(7)—勒索邮件相关推荐

  1. WireShark黑客发现之旅—肉鸡邮件服务器

    聚锋实验室 · 2015/07/06 10:45 0x00 背景 肉鸡也称傀儡机,是指可以被黑客远程控制的机器.一旦成为肉鸡,就可以被攻击者随意利用,如:窃取资料.再次发起攻击.破坏等等.下面将利用W ...

  2. WireShark黑客发现之旅(5)—扫描探测

    聚锋实验室 · 2015/09/15 10:50 作者:Mr.Right.K0r4dji 申明:文中提到的攻击方式仅为曝光.打击恶意网络攻击行为,切勿模仿,否则后果自负. 0x00 简单介绍 &quo ...

  3. WireShark教程 – 黑客发现之旅(5) – (nmap)扫描探测

    0×00 简单介绍 这一章在博主我个人看来,对于web渗透的学习意义还是非常重大的.建议大家深度学习一下各种扫描的原理. 另外这篇文章针对的各种网络扫描分析,用的是nmap,同时也有助于大家理解nma ...

  4. 黑客每小时发送3万封性勒索邮件:轻松月入11万!

    点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Everything will pass eventually, bu ...

  5. 上海贝岭携手亚信安全治理勒索邮件 建设主动防护体系实现零感染率

    客户需求:抵御钓鱼诈骗邮件.恶意代码邮件等恶意邮件的攻击,确保网络与信息系统的安全运行和业务正常开展. 解决方案:将现有的防护体系切换为由亚信安全邮件安全网关IMSA与亚信安全深度威胁邮件网关DDEI ...

  6. C#发现之旅第九讲 ASP.NET验证码技术

    C#发现之旅第九讲 ASP.NET验证码技术 袁永福 2008-5-15 系列课程说明     为了让大家更深入的了解和使用C#,我们将开始这一系列的主题为"C#发现之旅"的技术讲 ...

  7. 157 亿美元 !Salesforce 收购 Tableau !微软发布警告,表明黑客利用Office漏洞发动垃圾邮件攻击……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  8. C#发现之旅第一讲 C#-XML开发

    C#发现之旅第一讲 C#-XML开发 袁永福 2008-5-15 系列课程说明     为了让大家更深入的了解和使用C#,我们将开始这一系列的主题为"C#发现之旅"的技术讲座.考虑 ...

  9. MultiRow发现之旅(六)- 使用MultiRow开发票据应用(附源码)

    前文回顾 MultiRow发现之旅(一)- 高效模板设计器 MultiRow发现之旅(二)- 详解属性管理器 MultiRow发现之旅(三)- 模板管理器和Table MultiRow发现之旅(四)- ...

最新文章

  1. Git 自救指南:这些坑你都跳得出吗?
  2. 沿任意方向缩放、镜像、正交投影及切变及其推导
  3. Maven本地库在哪?
  4. imperial college application status check portal
  5. mysql时间戳在某天内_mysql根据时间戳查询指定日期内数据
  6. 解决root用户登录Ubuntu12.04 LTS图形界面
  7. python 正则匹配 条件太多怎么办_Python条件正则表达式
  8. 面试不谈钱,难道要我跟你谈恋爱?真会扯
  9. 如何画ROC曲线和FROC曲线
  10. java调用notify方法_Java线程,下面程序不知怎么调用notify方法唤醒test1,请指正
  11. 经典:从追MM谈Java的23种设计模式
  12. 《EDA技术与Verilog HDL设计》第4、5 章读书笔记与总结
  13. avast 8.0.1483 许可文件(杀毒软件免费激活)
  14. DM数据库登录用户名密码外部存储
  15. walking机器人入门教程-单点导航
  16. csgo服务器找不到,csgo社区服务器进不去解决方法
  17. 安诺伦代理iduron品牌——为学术研究和制药行业提供独特的糖胺聚糖产品系列
  18. 001----手把手教你制作TouchGFX的工程模板
  19. 认识网络机柜布线中跳线架和配线架的用途
  20. 虚拟服务器安装管理工具,easypanel虚拟主机管理面板v1.9.2安装版-虚拟主机管理软件...

热门文章

  1. 数字货币中短线策略(数据+回测+实盘)
  2. 两个PDF比较标出差异_如何快速比较两个PPT文档的差异,早学早知道!
  3. 什么是缓存雪崩?服务器雪崩的场景与解决方案
  4. java手机论坛_Java论坛系统巡云轻论坛 v1.2
  5. 4-2-1 求e的近似值 (15分)
  6. 智慧水利三维可视化平台功能介绍
  7. Java DecimalFormat 格式化数字,取2位小数,按位取小数,按要求格式化小数 float,double,int,等类型都支持
  8. 专业治疗选择困难症----帮你做选择
  9. win10 10586 正式版安装sql2000(笔记)
  10. 关于后端数据无法显示在页面上的问题