科林·哈迪在这令人难以置信的详细描述中揭开了帕伽索斯的内部工作

概述

2016年,公民实验室制作了一份优秀的博客其中讨论了苹果发布的几个安全更新,以修补影响Safari和Mac OS X的漏洞。正在修补的漏洞统称为“三叉戟”据报道,NSO集团(一个秘密组织,我们将在一分钟后谈到)利用它来黑进公民社会组织成员和代表国家支持的间谍软件运动的人权捍卫者的移动设备。博客中描述的一个例子是艾哈迈德Mansoor国际公认的人权捍卫者,总部设在阿拉伯联合酋长国(阿联酋)。

快进到2021年,禁止的故事公布的细节一次前所未有的50000多个电话号码泄露事件,显然是NSO集团的客户使用Pegasus恶意软件攻击的目标。记者联盟发现,自2016年以来,Pegasus被广泛滥用,印度、墨西哥、匈牙利、摩洛哥和法国等地至少有180名记者成为攻击目标。其他潜在目标包括人权捍卫者、学者、商人、律师、医生、工会领袖、外交官、政治家和一些国家元首。

该财团甚至会见了电话号码出现在泄露文件中的受害者。法医分析他们中的大多数人能够确认使用了影响iMessage(称为“Megalodon”)以获得对受害者的设备的初步访问权限,该设备被用作植入“飞马”恶意软件的车辆。

在本文档中,我想讨论我从2016年获得的Android样本中进行的一些Pegasus恶意软件分析,并分享我最近发现的一个独特位置的一些威胁情报见解。

NSO集团

2016年8月,Mansoor收到两条短信,其中包含一些文字和一个供他点击的链接。他没有点击该链接,但如果他点击了,他的iPhone6将通过一系列被称为“三叉戟”最终导致帕伽索斯间谍软件被部署到他的手机上。

大赦国际安全实验室的负责人Claudio Guarnieri,一旦手机感染了Pegasus, NSO的客户就可以实际控制手机,提取用户的信息、电话、照片和电子邮件,秘密激活摄像头或麦克风,读取WhatsApp、Telegram、Signal等加密信息应用程序的内容。

他补充说,通过访问手机中的GPS和硬件传感器,NSO的客户还可以获取一个人过去的移动记录,并以极高的精确度实时跟踪他们的位置,比如确定汽车行驶的方向和速度。

该恶意软件的开发者NSO集团是一家总部位于以色列的公司,销售Pegasus(以及其他产品),该软件被描述为政府专有的“合法拦截”间谍软件产品。据报道,他们由美国风险投资公司弗朗西斯科合伙人管理公司拥有网站你可以阅读他们的工作和他们在技术领域拥有广泛技能的董事会。

根据新闻报道和他们的LinkedIn网页NSO集团(NSO Group)向政府出售针对手机的武器化软件。自2010年以来,该集团一直秉承“开发预防和调查恐怖和犯罪的技术”的原则开展业务。值得注意的是极力否认任何声称《禁书》获得的5万个手机号码与他们的平台有关的说法。

Pegasus间谍软件已经存在了很长一段时间,并在高价值目标上进行广告和销售,用于多种目的,包括在iOS、Android和黑莓设备上进行高级间谍活动。

三叉戟& Megalodon

在恶意软件分析领域有一句臭名昭著的话,那就是恶意软件可以隐藏,但它必须运行.事实上,在恶意软件运行之前,它必须真正感染受害者的设备。三叉戟和巨齿鲨就是NSO集团用来渗透地球上几乎所有手机的复杂方法的例子。

三叉戟是由三个漏洞组成的,当连接在一起时,苹果设备就会因为一个缺陷而完全受损Webkit这是Safari、Mail和许多其他苹果应用程序使用的网络浏览器引擎。

CVE-2016-4657特别吸引人,因为只要访问一个网页就可以在您的设备上执行代码metasploit模块现在可以为你生成这个漏洞,把这个曾经是军事级别的零日在日常黑客手中。让你的手机与孩子们保持联系。

旁注,这让我想起了一个优秀的说话Amy Burnett讨论了攻击浏览器以实现代码执行。简而言之,来自浏览器的妥协令牌通常会导致信息盗窃的最终状态,而无需在设备上植入恶意软件。

Megalodon这也是一件严肃的事情。大赦国际认为帕伽索斯就是通过这件事实现的零点击在他们的报告发布之前(2021年7月)利用此漏洞,并在最新可用版本的iOS中保持功能。让此漏洞暂时消失。零点击利用,影响所有已知版本的iOS。如果您知道手机号码,任何iPhone都可能受到远程攻击。令人寒心。

巨齿鲨似乎是零日影响信息像大赦国际的法医分析被感染的设备显示正在执行查找可疑的iMessage帐户(受害者不知道的人),随后立即执行HTTP请求,该请求由运行在设备上的核心电话进程执行。

大赦国际分析了HTTP请求的踪迹,在设备上存储的缓存文件中发现,可以看到手机将元数据发送到由NSO集团控制的亚马逊Cloudfront CDN。HTTP响应大约是250kb的加密数据,这被认为是Pegasus恶意软件。

珀加索斯

帕伽索斯拥有广泛的能力。它可以远程安装在智能手机上,不需要用户采取任何行动,并允许恶意软件运营商完全控制设备,包括访问加密消息应用程序,如WhatsApp和Signal,启用麦克风和摄像头,甚至跟踪实时位置。

NSO集团甚至还夸耀说飞马座的好处对潜在客户;揭示了对这种恶意软件的纯粹力量的惊人洞察。

它甚至似乎有一个复杂的前端,让Pegasus的操作人员可以实时查看受害者的详细信息。

取自这个注意报告众所周知,帕伽索斯利用了远程越狱和一种叫做“挂钩”的技术。挂钩是Pegasus将其动态库插入设备上运行的合法进程,帮助恶意软件保持不被发现。

最近披露的受害者名单中显然包含一些严重的攻击目标,包括国家元首,这种恶意软件的总体影响是难以置信的。

总部位于巴黎的非营利媒体组织“禁忌故事”(Forbidden Stories)和国际特赦组织(Amnesty International)最初接触到了泄露的名单,并与媒体合作伙伴共享了权限珀加索斯项目,一个报道财团。

被这种恶意软件攻击的潜在后果是相当可怕的。我们知道手机可能会被彻底破坏,但它怎样然后使用这些数据,这是惊人的。举一个例子(报告了许多类似的场景):

有一些关键的热点地区在各种报告中被指出,似乎在使用(或误用)飞马。这些热点将在稍后的博客中变得更加重要,但请注意墨西哥、北非、中东和欧洲的集群。

恶意软件分析

注意事项

TL;DR -飞马的样本很难获得(原因很明显)。其次,请把这个概述作为一个理由,为什么我们作为一个恶意软件分析社区不应该盲目地接受别人的恶意软件样本的归属。从其他来源获取数据,但要基于你在研究中发现的东西做出自己的判断。我指出这一点的原因将变得很清楚。

寻找飞马座样本

我还没有在iOS设备上找到《Pegasus》的样本,而唯一被分享的样本或片段似乎是针对Android的,而且已经存在好几年了。举例来说,反病毒厂商似乎有这类恶意软件的特征Android变种,它有来自18个供应商的检测,其中大多数坚定地把它放在飞马桶。我们很快会回到这个样本。

VX-Underground他们将自己标榜为“互联网上最大的恶意软件源代码、样本和论文集合”声称已收集样品目前正在他们的网站上托管它们以进行后续分析:

1.1 k的人喜欢这条推特,毫无疑问,许多人盲目地接受了他们的归因,即这里引用的所有样本实际上都是Pegasus。我不那么值得信任,我更愿意自己决定。虽然我没有参考点(即,我没有Pegasus的副本来知道它是什么样子)我确实对这个恶意软件应该如何执行以及我希望看到的工件有一些“期望”。

我不确定vx-underground是如何将其归类的,但下载文件会产生以下文件结构:

144778790 d4a43a1d93dff6b660a6acb3a6d37a19e6a6f0a6bf1ef47e919648e

名称:com.lenovo.safecenter.apk

此文件出现在乔沙箱名称为“com.lenovo.safecenter.apk”,并被标记为“Pegasus”。而这个apk可以就像恶意软件一样,对我来说,这看起来像是联想自己的系统跟踪代码(我猜基本上就是间谍软件)。

您可以使用Android SDK的阿普卡那溶血剂用于分析apk权限详细信息的工具:

文件列表动词便于查看apk中包含的内容:

清单打印动词也很有用

不管怎样,想了解更多,请查看- h国旗

我将apk侧面加载到一个Android虚拟设备上,结果安装了一个类似这样的应用程序

总结,这里什么都没有气味比如NSO Pegasus恶意软件。是的,apk看起来像间谍软件,但这可能是一种膨胀软件/追踪狗屎当你购买联想手机时,你就会得到这种感觉。

530年b4f4d139f3ef987d661b2a9f74f5f

名称:530 b4f4d139f3ef987d661b2a9f74f5f.axml

VirusTotal这确实显示出与Pegasus有关联的迹象,因为许多著名的AV公司都将该恶意软件家族称为Pegasus。但我们将保持开放的态度。

我不知道如何正确解析这个文件格式,运行'文件的档案上显示是Android XML二进制,但对于不开发Android应用程序的人来说,我不知道这是什么。

然而,一切都没有失去,奔跑字符串使其看起来像一个清单文件,具有其关联的apk应该能够利用的各种权限。如果你能想到一种许可,它就会使用这种许可。

总结——我不知道这个清单与Zip内容中的其他哪个文件有关。¯\ _(ツ)_ /¯

cc9517aafb58279091ac17533293edc1

名称:Binary_SMS_Receiver_base.apk

这似乎是另一个apk文件,谷歌哈希显示许多归属Pegasus和从VT我们可以看到提交的包名是“Binary\u SMS\u Receiver\u base.apk”——这很好地说明了它的设计目的。

我使用d参数,并转储所有的.smali文件,以仔细阅读字符串。

我没有看到任何值得花更多时间在这里的东西,在Android虚拟设备上侧边加载应用程序会产生一个应用程序界面,对我来说,它不适合作为一个隐秘的国家层面的后门。

是的,Pegasus无疑会使用二进制短信,但对我来说,这似乎是一个用于测试此功能的应用程序。

d257cfde7599f4e20ee08a62053e6b3b936c87d373e6805f0e0c65f1d39ec320

名称:chachakppjb_veryhuo.com.apk

这是另一个apk文件,较少的归属,从AV供应商VirusTotal但仍有一些社区评论建议使用该链接。这可能是因为apk更通用,而不仅仅针对Pegasus,您可以从清单文件中感受到所需的权限和活动的一般流程。

再次,使用apktoold在apk上,很容易提取内容。吸引我眼球的最有趣的东西是一个名为“注入”因此最能说明这个恶意软件的目的是什么。

为了检查ELF,首先如果你运行文件的在上面你会注意到这些符号并没有被去掉。

要分析这一点,我们需要转向吉德拉它可以轻松地处理此文件格式。我喜欢Ghidra的地方在于,您可以轻松地在文件中跳跃,并在右侧窗口中显示更可读的反编译版本的代码。

例如,通过函数调用,您可以看到名为注入法这很能说明问题find_pid_of还有很多关于ptrace用于连接到另一个进程。

除了将shellcode注入到其他进程的一般特性外,我认为没有其他有趣的东西可以报告。我将应用程序侧加载到我的Android虚拟设备上,呈现的是这样的GUI:

这不是我所期待的秘密飞马恶意软件安装,我没有花时间进一步分析这个应用程序。我注意到,尽管这个应用程序确实会向以下域发出各种网络请求:

经过广泛的威胁情报研究(也就是谷歌一次),我没有看到这个域名与任何nso相关。在移动。

bd8cda80aaee3e4a17e9967a1c062ac5c8e4aefd7eaa3362f54044c2c94db52a

另一个显要人物VT带有许多“Pegasus”的属性

乔沙箱执行这个APK有很多数据要处理。但让我们自己来探究一下。

分析apks的方法有很多种,一种流行的解码工具就是apktool这可以很容易地安装在mac上使用自制。解码文件将产生类似的东西。

我们可以使用AndroidStudio解析整个已解码的apk并浏览文件。我不是一个Android开发人员,会把自己放在Android代码恶意软件分析的初级类,但浏览时我喜欢拉出兴趣线和线程。

例如,我看到像这样的常量字符串

...谷歌很有趣,看看它们是否与其他样本有关。在这种情况下,我只看到一个击中混合分析这个样本。还有许多其他类似的硬编码字符串,也有许多base64编码的字符串不直接解码为明显的明文。代码看起来很模糊,很难分析,而且充满误导——这正是我们恶意软件分析师喜欢的,对吧?

一个不错的小正则表达式我在CyberChef中使用的是提取引号之间的所有字符串,因为它们通常包含硬编码的值和感兴趣的字符串:

好吧,让我们再深入挖掘一下。使用AndroidStudio来分析APK意味着我们正在观察.smali文件的可读性比转换classes.dex文件到实际的JAR中。幸运的是,有一个方便的工具可以解决这个问题,所以回到最初的APK文件,解压缩它并解压缩classes.dex文件。然后你就可以跑了d2j-dex2jar.sh将dex文件转换为Java JAR,然后可以在其中查看JD-GUI以更可读的代码格式解析类文件。

我在运行这个过程中出现了一些错误,但即使如此,文件在JD-GUI中呈现的还是很好

所以,看起来这些硬编码的字符串是base64编码的值和一些看起来类似哈希的字符串的混合(破坏者-他们不是)。以这个函数为例:

公共静态字符串ApfJJJJJuJJJJJVQDtgVpIxG4409 ()

Object localObject=“VwFELlxaEQRK”.getBytes();

localObject = Base64.decode ((字节[]) localObject, 0);

localObject =串((字节[])本地对象);

StringBuilder localStringBuilder =StringBuilder ();

(int我= 0;;我+ +)

intj =((字符串)localObject) . length ();

如果(i>=j){

打破;

j =((字符串)localObject) .charAt(我);

intk = " 0 d0b35aa8ba8400aa272936511ad6c77 " . length ();

k = " 0 d0b35aa8ba8400aa272936511ad6c77”。charAt(我% k);

字符c=(字符) (j ^ k);

localStringBuilder.append(c);

localObject = localStringBuilder.toString ();

返回(字符串)localObject;

看起来像本地对象base64是否被解码,然后每个字节是XOR会变量中的每个字节k然后返回。在这种情况下,解码后的值等于明文字符串:

“getLooper”

在这一点上,有很多这样的东西.类JD-GUI中的文件具有这些解码功能,这些功能都具有唯一的key和不同的Base64编码值,这些值是异或的。我使用JD-GUI转储所有的文件(它们将被保存为.java扩展名),然后我只是猫出所有的文件,并使用正则表达式,以提取引号之间的所有数据。

然后我写了一些快速Python首先处理base64编码的内容,然后生成一个简单的对字符串进行XOR的读取器

妈妈,你看,大量的字符串!

这些被解码的字符串确实有助于理解恶意软件及其目标应用程序的真正能力。例如,文件中的一些有趣的字符串SehuHusuyluh.java

b'getMessage,a,append,a,exists,a,append,getLooper,toString,equals,append,append,append,a,append,getContentResolver,toString,equals,G,b,a,a,append,a,currentTimeMillis,toString,a,append,equals,toString,post,append,equals,a,a,a,TogmString,post,append,equals,a,a,a,TogmString,append,toString,c,getMessage,GetContextntResolver,equals,toString,equals,toLocaleString,append,setComponentEnabledSetting,equals,getMessage,toString,a,toString,append,getContentResolver,equals,getContentResolver,a,getContentResolver,toString,a,getAction,getIntExtra,toString,append,append,append,getPackageManager,append,C,getContentResolver,D equals,getStringExtra,C,a,CoreReceiver onReceive action:,post,onReceive Exception-,C,a,addServerPushListener start:,addServerPushListener令牌id i@,tcp:/,:,addServerPushListener无效paA,Mosqu错误无效,Mosqu错误连接被拒绝,addServerPushListener异常-O,addServerPushListener创建n^,密码:,url:,Mosqu服务打开,唤醒,CoreReceiver唤醒:,dontKill-,CoreReceiver-,whatsUp,CoreReceiver WHATS_应用程序,twitter,CoreReceiver twitter,facebook,CoreReceiver facebook,kakao,CoreReceiver kakao,viber,CoreReceiver viber,skype,CoreReceiver skype,GMail,CoreReceiver普通邮件,邮件,CoreReceiver电子邮件类型,联系人扫描,CoreReceiver联系人扫描luchSc\x07,finishLocationMonitor,RemoveHistory,timeToStop,toRemove,键盘,重启,CoreReceiver USSD重启检查T,CoreReceiver USSD重启检查g,CoreReceiver USSD重启检查\x0b,CoreReceiver USSD重启调用f\x01,/system/csk,changeSettings remove auto Update^,重启,CoreReceiver USSD将不会重新=,c,a,等于,toString,H,CoreReceiver,下载升级,下载升级,停止,等于s、 a,append,getMessage,equals,equals,c,append,toString,append,append,a,append,toString,togmString,equals'

我在谷歌上搜到了"美元"直到这是消息格式在USSD会话期间创建实时连接。连接保持打开状态,允许数据序列的双向交换。这使得USSD比使用短信的服务响应更快。

这更像我期待的帕伽索斯。这里有很多关于Pegasus拦截的应用(如Facebook, Viber, WhatsApp等)的引用,而且应用权限允许Pegasus访问设备的几乎每一个方面,例如通话,信息,日历,照片,位置等。看到在这里完全崩溃。

还要注意的是,在这个apk中有几个二进制文件存储为资源,所有这些文件都可以在VirusTotal上获得,并且看起来并不特定于Pegasus。一个二进制文件,addk,因此它使得在Ghidra的反编译非常直接,明确地指示代码在做什么,在这种情况下过程注入。

我将APK加载到Android虚拟设备上,但并没有看到任何加载应用的可视证据(我认为这是恶意软件),而是在运行:

亚行壳牌dumpsys

确认恶意软件在设备上运行并监听。

注意,如果你有一个Android或iOS设备,你想检查Pegasus的存在,然后我建议测试这是大赦国际为这一特定目的开发的工具,可以帮助你识别任何潜在的飞马病毒感染。

边注,我确实试图运行测试与备份我的Android虚拟设备,却处处相同的墙,代码没有找到短信备份文件夹(因为它不存在),即使我重新创建必要的文件夹和文件的备份,因此未能进一步执行的代码。

查看分析Android备份的代码,该工具似乎只能通过解析备份中的SMS消息,然后解析每个消息体并查找URL。然后根据大赦国际奥委会的已知列表检查这些URL中的域数据库.如果使用adb选项直接与设备接口,则会进行更多检查,如下所示:

但我无法在虚拟设备上做到这一点。悲伤的脸。

总结

简而言之,如果你正在研究一个特定的恶意软件样本,不要盲目相信别人的归因。如果代码实际上是您所认为的,那么您可以根据自己的分析进行自己的评估,并记录这些原因,并与社区共享您的发现。我和其他人将从你的研究中受益。就像我们在这个案例中看到的,我的观点是,从5个被宣传为Pegasus的文件中,我只看到一个文件具有可靠的Pegasus功能。

威胁情报

回到最初的故事,很明显,曼苏尔多年来一直是民族国家特工的目标,他们似乎真的想要破坏他的设备。

我觉得有趣的是他在2016年收到的两条短信。它们包含两个url:

hxxps: / / sms.webadv[,]有限公司/ 3589003年代

hxxps: / / sms.webadv[,]有限公司/ 9573305年代

可以分解为以下正则表达式:

hxxps: / / sms.webadv[]有限公司/ [0 - 9]{7}[a - z] {1}

每当我看到任何像这样的恶意URL,我都会立即检查域名是否可以注册。谁知道,总有一天我会拯救世界。

附带说明,我创建了一个黑客工具来检查所有的域名,以备不时之需在这里

在这种情况下,猜一下....

当然,我忍不住。我迅速注册了域名,并建立了一个简单的nginx盒子来监控传入的网络请求,当然,我已经托管了良性的内容。

你知道吗?这些url仍然有链接。很多他们中的一个!

嗯?

这意味着什么?好吧,这可能是研究人员仍在分析这些联系。咩,也许。但是,我看到这些特定的端点有很多流量,比如在一周内超过1000次点击。更重要的是,看看用户代理推荐人很明显,这些人是通过手机上流行的即时通讯应用Telegram发送的链接。

那么,这些链接还在被恶意传播吗?我现在是NSO集团基础设施的一部分吗?我截获的IP地址是军用级恶意软件的目标吗?

访问日志分析

在7月21日23日到7月21日31日期间,我观察到1270使用与CitizenLab IOC列表中的URL结构相匹配的路径点击sms.webadv.co子域

hxxps: / / sms.webadv[]有限公司/ [0 - 9]{7}[a - z] {1}

这等同于457独特的IP地址

使用马克斯明我对IP数据进行了大量查找,以获得geo-ip的详细信息。

当ip被映射到他们的大致位置时,在早先显示的受害者被锁定的热点和这些仍在进行的短信url命中之间会有一些有趣的协同作用。

值得注意的是:

  • 围绕中东地区(埃及、以色列、叙利亚、约旦、黎巴嫩、伊拉克)
  • 聚集在北非(摩洛哥,阿尔及利亚,突尼斯)
  • 在欧盟,包括俄罗斯,都有很多热门歌曲
  • 许多美国热门网站是谷歌、Facebook和其他大型科技公司
  • 安提瓜的打击来自电报
  • 11次点击未找到

除了Facebook之外,第二受欢迎的互联网服务提供商是埃及电信和也门网络。

ISP

许多的成功案例

脸谱网

197

埃及电信公司

22

也门净

19

谷歌代理

10

EarthLink伊拉克

10

叙利亚电信

7.

Datacamp有限

7.

数字海洋

6.

Zain乔丹

5.

有说服力的沟通

5.

MaxMind定位精度

顺便说一句,我想看看位置细节来自maxmind数据有多有用。它们提供了一个区域来表明它们的地理坐标的精度,这是它们所能达到的最好的精度1公里(相当体面!)和最糟糕的人1000公里这是一个相当广阔的区域。

对于返回高概率为居住载体的结果,定位精度出现了惊人的高。举个例子,这次攻击来自一个以色列IP地址,其定位精度为1公里。

不难猜到这个访问我网站的人来自当地的哪个村庄。值得注意的是,这里有一些有趣的企业,可能与这场运动的受害者有关。

在人口密集的地区,即使只有1公里的精度,也不能真正帮助识别IP的用户,例如在也门观察到的这次攻击半径为1公里。

我确实使用我的家庭个人IP地址进行了测试,报告的准确度为5公里,我的家庭地址在这一范围内。因此,我对数据非常有信心,并且不反对他们的准确度评级。

时间分布

不确定这是否有特别的关系,但在晚上,当大多数的撞击被观察到的时候,活动会有一个明确的高峰。

参考网站

这主要表明Telegram是我所观察到的最受欢迎的链接信息服务。

还要注意for的条目ir.ilmili.telegraph这是一个建立在Telegram API上的消息传递服务,相当于两个独特的用户,其中一个来自也门另一个在伊拉克。

病毒总数

当VirusTotal这样的服务使它们的流量容易区分时,这是很好的,在本例中是通过它们的用户代理。他们的IP地址没有什么值得注意的,所以我给他们看了未加密的。

有趣的是,VT正在扫描这些URL,以评估内容是否有恶意行为的迹象。例如,这个URL被VT在27/07/21第一次扫描-有人试图对这个网站进行分析。我很惊讶它之前没有被扫描,因为最初的威胁活动是在2016年。

当然,我没有提供任何恶意内容,但5个引擎发现网站恶意。

我认为这是基于NSO集团的已知归属。

WhatsApp点击率

当你在WhatsApp(和许多其他平台)分享一个链接时,应用程序本身会试图获取有关链接的数据,例如html标题,或许还有网站本身的预览。不过,诀窍在于,WhatsApp将执行来自你的IP地址.是的,你的信息可能是端到端加密的,但如果你分享了一个链接,那么网站运营商将在他们的访问日志中看到你的IP。

在这个例子中,我看到了8个来自WhatsApp链接用户代理的点击。旁注,如果你知道“i”和“A”在这些用户代理字符串中的意思,请告诉我(也许是桌面vs移动?)编辑-显而易见的是向我指出有人知道由罗。…

有趣的是,这里比之前报道的请求路径多了3个,突出显示如下:

/ 3589003年代

/ 9573302年代

/ 9573302年代

/ 7233302年代

/7230102s

/ 7230178年代

/ 9573302年代

/ 9573302年代

这些正则表达式适用于Pegasus操作符分发的链接结构。Mansoor最初的目标是2016年,我很好奇这些链接仍然在运行,并通过WhatsApp在野外传播,并且发现了这些之前未知的新链接。这些url来自一个未知的活动,例如,这个难以置信的恶意软件的另一个目标?

这些链接的攻击来自以下几个国家,这些国家都是帕伽索斯恶意软件的攻击目标。

  • 伊拉克
  • 以色列
  • 摩洛哥
  • 埃及

这就提出了一个问题,是否仍然有一个活跃的活动使用这种URL结构?除了这些来自调查人员或记者的攻击,我找不到其他任何解释。当然人们不仍然聊天/转发这些url在最初的运动5年后。¯\ _(ツ)_ /¯

用户电报

解析那里的日志有85点击Android Telegrame messenger应用程序所在的位置介绍人字段,源IP是单击来自Telegram消息(下面编辑过)的链接的用户。

这些用户大多在中东,同样来自最近5万受害者名单中被列为严重目标的国家。

有52个独立的用户代理使用Telegram点击了链接。

这代表了各种各样的移动设备,还有Chrome版本,其中很多都已经过时了:

81.0.4044.138

86.0.4240.185

87.0.4280.101

87.0.4280.141

87.0.4280.86

88.0.4324.181

89.0.4389.105

89.0.4389.90

90.0.4430.210

90.0.4430.91

91.0.4472.120

91.0.4472.164

92.0.4515.105

92.0.4515.115

而且,奇怪的是,Telegram上所有的点击量都来自Android设备。我没有观察到任何一个用户代理表明这是一个iOS设备。Android设备的范围如下:

C3700

CPH1823

CPH1923

CPH1955

CPH2015

CPH2127

E6810

Infinix X626B

Infinix X650C

Infinix X660B

Infinix X680

Infinix X693

LM-Q710 (FGN

联想L19111

M2004J19C

M2012K11AG

少X2

RMX1971

RMX2020

RNE-L21

红米注意8

红米注意9年代

SM-A125F

SM-A205F

SM-A217F

SM-A525F

SM-A715F

SM-A750F

SM-G611F

SM-G6200

SM-G928C

SM-G955F

SM-G960F

SM-G965U

SM-G986B

SM-J701F

SM-M307FN

SM-M317F

SM-N920P

SM-N960F

SM-N960U

SM-N975F

SM-N986B

STK-L21

YAL-L21

体内1906

体内1938

Opsec意识到用户

在美国Telegram上发现了来自DigitalOcean IP地址的攻击。这些请求中的引用字段是电报信使。这是用户通过DigitalOcean SOCKS代理传输移动通信的地方。

这个用户代理表示一个过时的Chrome版本(版本90),因为最新版本是92。用户运行的是Android 10(2019年9月起)。

查看这个受害者IP的Shodan视图,看起来他们确实在运行一个SOCKS代理,电报流量通过该代理。

尽管流量通过DigitalOcean,用户代理仍然显示设备:

“Mozilla / 5.0 (Linux;Android 10;Infinix X660B)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/90.0.4430.91 Mobile Safari/537.36“

这不是一款我熟悉的手机,但快速谷歌立即带回链接,在非洲(尼日利亚和肯尼亚)购买这款手机。也许这些手机在那里更受欢迎?它很弱,但可能是这个用户所在的位置。注意,我可以在亚马逊上买到这款手机,所以这是一个可怕的假设。Yolo。意思

Facebook支安打

我注意到总共有371使用用户代理字符串命中

“facebookexternalhit / 1.1 (+ http://www.facebook.com/externalhit_uatext.php)”

访问该php页面可以得到一个明显的解释,即这些点击是由于人们与其他用户共享该站点的链接所致。

这些点击的IP地址属于Facebook,因此我没有问题分享他们未编辑。

然而,有趣的是通过日志搜索命中推荐人字段来自Facebook,但用户代理与上面的不一致。这将产生实际用户的IP地址,这些用户随后从平台上与他们分享的消息中点击了链接。

这相当于5个唯一的IP地址,只来自两个国家;约旦叙利亚,而且都是来自Android设备和各种过时的Chrome版本。

  • Mozilla / 5.0 (Linux;Android 10;STK-L21构建/ HUAWEISTK-L21;wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/90.0.4430.82 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/328.0.0.22.119;]
  • Mozilla / 5.0 (Linux;Android 8.0.0;LDN-L21构建/ HUAWEILDN-L21;wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.101 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/322.0.0.35.121;]
  • Mozilla / 5.0 (Linux;Android 10;TECNO LD7构建/ QP1A.190711.020;wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.164 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/328.0.0.22.119;]
  • Mozilla / 5.0 (Linux;Android 9;SM-J730F构建/ PPR1.180610.011;wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/90.0.4430.210 Mobile Safari/537.36[FBAN/EMA;FBLC/ar_AR;FBAV/257.0.0.13.171;]
  • Mozilla / 5.0 (Linux;Android 10;SM-A600F构建/ QP1A.190711.020;wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.120 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/327.0.0.33.120;]

总结

Pegasus恶意软件是我研究过的最令人难以置信的间谍软件,但我没有真正的样本可供使用。恶意软件不仅能够实时破坏几乎任何移动设备的所有数据,NSO集团传播恶意软件的方法意味着根本无法抵御这种复杂的攻击。

Forbidden Stories组织并制作了一些令人惊叹的新闻报道,强调这种窃听活动的范围有多广,以及最终这种恶意软件是如何被全球各地的政府滥用为大规模监控的一部分。有些令人惊讶的是,我已经能够捕捉到这些活动的潜在受害者,他们试图访问NSO运营商之前使用的url,以破坏手机。

但我的观点是,一切都不会改变。NSO集团将继续经营,继续创新,并继续开发新的和更加复杂的方式,以实现他们的最终目标。我们从事网络安全研究和防御工作的人真的只能希望帮助将影响降到最低这些感染确实会发生,希望通过共享情报、加强防御和与受害者合作来最好地保护他们的信息,让操作该恶意软件的对手更加困难。

谢谢你阅读这些笔记。它们是我的想法、分析和思考的集合,希望能激励你在这个领域学习更多,并帮助保护个人和组织免受恶意软件攻击。

和平。

科林

@赛博CDH

youtube.com/c/ColinHardy

patreon.com/cybercdh