Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

作者:深信服科技股份有限公司广州办事处 | 国际 2019/09/03 16:58:12 271
文章来源:https://www.4hou.com/info/news/20038.html

研究人员最近发现一起名为Heatstroke钓鱼攻击活动。通过分析研究人员证明了Heatstroke钓鱼攻击活动有多复杂,已经从模拟合法网站变为使用多种社会工程技术,以及包括隐写术在内的复杂攻击技术。

Heatstroke钓鱼攻击活动的目标是受害者的邮箱地址,而私人邮箱地址往往用于社交媒体、电商网站、Gmail备份等。攻击者可以利用Gmail备份可以访问受害者的Google Drive,甚至与账号相关的安卓设备。

攻击链分析

Heatstroke的运营者使用了以下措施来隐藏其攻击活动:

· 多阶段钓鱼攻击。攻击者为了防止被怀疑,并不急于通过多屏或页来传播攻击。与传统的钓鱼攻击相比,Heatstroke的多阶段传播方式尝试模拟一个合法的网站来使受害者认为该站点没有任何问题。

· 混淆。钓鱼套件的内容会从其他位置转发,但伪装的好像是一个加载页一样。加载页会经常变化来绕过内容过滤。钓鱼套件也会拦截特定的IP范围、爬虫服务、甚至安全攻击。如果用户尝试从某位置、浏览器、IP地址或攻击者拦截的国家访问内容,页面并不会显示内容(404错误)。钓鱼套件的第一个页面是由base64编码的PHP脚本生成的,以避免或绕过防火墙。

· 钓鱼即服务。研究人员看到一个不同的组织购买自己的钓鱼攻击。套件的开发者会分配自己的API key给该组织。这表明这些活动有客户、运营者和开发者等不同的角色。

· 自感知钓鱼套件。整个钓鱼页面的内容是根据用户、访问者的特征动态生成的。站点的源码中含有童话故事,可能是开发者想表明知道研究人员正在看代码。

· 看起来是合法的。钓鱼攻击是根据受害者所在国家发送的。

窃取的凭证会使用隐写术被发送到邮件地址。研究人员在研究过程中获取了2个类似的钓鱼套件,一个是Amazon用户,另一个是窃取PayPal凭证。

这两个套件的技术非常类似,尤其是用户验证阶段都是类似的。这表明这两个套件来自相同源。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图1. Heatstroke钓鱼攻击中的感染链

Heatstroke感染链

在钓鱼攻击中,感染链是动态的,说明会根据用户和行为特征来进行修改。整个攻击链如下所示:

1. 攻击者发送钓鱼邮件,要求用户来验证其账号。邮件是从合法域名发布的,以避免被垃圾邮件过滤器拦截。

2. 用户会被欺骗点击钓鱼邮件中的按钮或URL以验证PayPal (或Amazon)的账号。根据钓鱼套件的htaccess文件中的代码,钓鱼者计划对eBay, Google, Apple, Firefox, Datasift等运行类似的套件。

3. 用户会被重定向到第一阶段网站,而每个第一阶段网站不一定相同。设计的网站会将受害者重定向到钓鱼套件的网站,使攻击者尝试绕过内容过滤。

4. 第一阶段网站会将用户重定向到第二阶段网站,第二阶段网站是真实的钓鱼套件网站。这一阶段是用于验证的。会检查用户是否是真人,或爬虫或安全工具。如果用户来自特定的网站,比如FBI的域名,或用户的IP是否在拦截的IP地址范围中。

5. 检查完成后,用户会被转向第三阶段网站,这是真实的钓鱼网站。钓鱼的内容是由base64 编码的PHP脚本生成的,以绕过防火墙。内容也是根据受害者IP地址来定位的。

6. 用户会被要求输入相关信息,包括邮件凭证、信用卡详情和其他个人信息(PII)。信息会编码为图片中,然后发送到钓鱼者所有的邮件地址。攻击者还会收集用户系统操作系统的信息。

7. 一旦用户填写了信息并点击最后的按钮,什么也不会发生。如果用户尝试用相同的IP和设置来访问钓鱼套件的网站,网站就不会加载钓鱼套件。

技术分析

会话是从主目录中的脚本index.php开始的,该脚本是base64编码的,如图2所示。脚本会使用在线反欺诈服务来检查访问者的IP地址。如果服务拦截了访问者的IP地址,钓鱼套件会避免让访问者看到内容。也可以看出session key是由哪些变量组成的。Session key变量可以识别每个受害者并用于攻击者之后的阶段。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图2. Base64编码(左)和解码后(右)的脚本

访问者通过验证检查后,钓鱼套件的内部就会出现。链接hxxps://www[.]posicionamientowebeconomico[.]es/wp-includes/css/signin[.]html会出现以查看是否会重定向用户到账号验证页,但实际上会将用户转向窃取凭证的钓鱼恶意站点。

内容会从其他源加载,用户会被重定向到钓鱼站点hxxps://raisingtwo[.]com/INC/signin/-/PPL-ID/app/signin。页面要求用户输入邮件地址和邮件地址密码。信息域中也有内容有效性验证机制,只允许输入合法格式的邮件地址。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图3. 钓鱼雅米娜要求用户用邮箱地址和密码验证账号的邮件

页面会通过PHP脚本动态生成钓鱼内容。其源码如图4所示,含有小故事,可能是对正在分析源码的研究人员开个玩笑。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息 

图4. 生成钓鱼页面的PHP脚本代码(上)和页面源码(下)

下面的文件和内容是提供给用户的部分邮件内容:

· antiX.php — X是1到8之间的单个数字。代码中含有指导如何拦截web扫描器、漏洞和安全工具、爬虫和特定IP地址,防止访问钓鱼站点。

· Index.php — 包含在 antiX.php中,是用来帮助收集用户信息的。

· langauges.php — 用来为钓鱼页面提供定位内容的变量文件。

· Algo.php — 帮助分析浏览器和操作系统名为标准化格式。

· Mine.php — 列出钓鱼套件创建者为其客户端预设的设置,包括API key和安全API key。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息图5. antiX.php 代码(左和中),钓鱼站点中设置的信息域(右)

窃取支付信息

用户在提供了邮件和密码后,钓鱼套件会提供给用户一个通知用户异常的页面。这会让用户认为已经成功登陆,下面是通过真实的PayPal站点来解决账号验证问题。钓鱼内容的源码(图6)和显示的故事如图7所示:

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图6. 展示异常活动通知的钓鱼页面(左)页面重定向用户到其他页面(右)来窃取用户信用卡信息

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图7. PHP脚本生成钓鱼内容的源码(上)要求输入信用卡信息

文件 process.php 中含有拦截用户的代码。用户在填写表单并点击Save后,网站内也不会发生什么。除了该场景,钓鱼套件还会发送数据给钓鱼者。钓鱼套件会滥用一个公开的web服务来查询信用卡元数据来验证信用卡号。一旦验证了信用卡号,最后一个显示给用户的屏幕将会重定向到指向合法/真实Paypal登陆页面的短URL。

深入分析钓鱼套件

研究人员可以从文本字符串中识别钓鱼套件的开发者和客户。进一步研究表明Heatstroke的管理员至少可以说捷克语、英语、西班牙语和印度尼西亚语。图8表明套件的配置设置,其中含有开发者添加给每个设置的信息。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图8. 表明钓鱼套件的配置设置(左)表明重定向访问者到其他网站的 ./htaccess  文件的代码段(右)

钓鱼套件中有措施可以通过黑名单拦截一些不希望的访问者。当验证过程失败后,anti.php脚本用来重定向黑名单中的用户到其他网站hxxp://2m[.]ma/ar/。黑名单中包含拦截的IP地址、referrer和Google这样的字符串和用户代理。

使用隐写术

套件会发送窃取的数据到攻击者所有的域名上的地址。它使用两种方法来发送不同的数据到不同的邮件地址。第一种方法是使用普通的邮件来发送窃取的数据(step6.php),如图9所示。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图9.发送窃取的数据到钓鱼者的代码段的两种方法:通过邮件(上)隐写术(下)

第二种方法使用隐写术(将数据嵌入图像中)即将窃取的数据嵌入图像中,然后加密,然后发送给钓鱼者。但研究人员发现函数的完整代码有缺失,这样获取的代码就是不完整的。这表明该功能可能仍然在开发中,或开发者并没有完全提供。

还有一点需要说明的是钓鱼套件中有一个名为proof的目录,其中含有2个.img文件,文件名是MD5哈希值,如图10所示。钓鱼套件的二进制文件表明ASCI码其实是占位符或仿制的,可能证明了套件的部分能力。

Heatstroke攻击活动使用多阶段钓鱼攻击窃取PayPal和信用卡信息

图10. 通过隐写术将数据嵌入图片(上)ASCI码字符截图(下)

推荐关注

指导单位
广东省公安厅网络警察总队 广东省信息安全等级保护协调小组办公室