本年的BlackHatUSA2017美国黑帽大会,正确地说是从7月22日开始,连续到本周周四竣事的。和往常一样,前四天举行的是技能培训,后两天就是众所等待的重要集会会议分享,尚有武器库、BusinessHall之类的内容了。值得一提的是,由于美国和中国存在时差,身处国内的各位关注BlackHatUSA2017的时间应在北京时间本周四和周五。针对这两天的大会内容,FreeBuf会举行相应的报道。
在此之前,我们照例分享一些预先已知的内容,在BlackHat现场的同砚可以留意。本地时间周三(7月26日)5:05pm-5:30pm之间(地点在LaggonDEFJKL),前NSA分析师,如今是Synack公司首席安全研究员的PatrickWardle将会分享议题《OffensiveMalwareAnalysis:DissectingOSX/FruitflyviaACustomCCServer(主动恶意程序分析:通过一台CC服务器来解剖OSX/Fruitfly)》。
这里的Fruitfly实际上是macOS大概说OSX平台的一款恶意程序,以是这个议题是相干恶意程序和逆向工程的技能分享。这款恶意程序已知感染的装备量约莫是400台,而且所用技能着实并不算高超,理论上也很轻易检测到。那么Fruitfly有什么特别值得一说的呢?
研究职员注册CC服务器
这个议题的重要方向之一是通过本身注册的CC服务器来对这款恶意程序举行分析。Fruitfly并不是很新的一款Mac恶意程序,而且其存在时间大概长达10年之久,即便到如今为止,从VirusTotal服务来看,高出一半的反恶意程序引擎都无法将其新变种检测出来。
早在本年1月份的时间,Malwarebytes曾经撰写过一份有关Fruitfly的恶意程序陈诉。Malwarebytes的研究职员以为,Fruitfly存在时间至少有2年。这份陈诉挂出后,苹果对macOS举行升级,体系就能主动检测到这款恶意程序了。不外Wardle这次发现的是个变种,体系和很多反病毒产物还发现不了。
前NSA分析师,如今是Synack公司首席安全研究员的PatrickWardle对该恶意程序举行分析后发现,CC通讯的主服务器已经不能访问,但有多个备用域名硬编码到了程序中。而且这些备用的CC服务器域名还没有人注册。以是他就注册了一个。不知是何种缘故起因,攻击者本身并没有注册这些域名。
主服务器下线后,理论上感染了Fruitfly的用户就不存在原有的威胁了。不外在Wardle注册备用域名后,立即就有400个被感染的Mac用户开始毗连这台服务器。如许一来Wardle就可以或许看到Fruitfly受害者的IP,他发现有90%的受害者都位于美国。
Fruitfly的恶意举动包罗长途控制摄像头、截屏,举行鼠标、键盘操纵,实行shell下令、竣事进程、获取体系的正常运行时间等。实际上400台装备感染只是个最小数字,感染Fruitfly的人数大概尚有很多。Wardle本身也并不清楚Fruitfly具体是怎样感染Mac装备的,他推测应该不是通过弊端,大概是吸引受害人点击恶意链接,大概垂纶邮件等。
这是个并不高明的恶意程序
Wardle表明说,如今并不清楚Fruitfly变种攻击者背后的意图是什么,由于这款恶意程序无法盗取名誉卡数据,也没有感染打单程序之类可以让攻击变现的方式。而且这款恶意程序以家庭用户为主,以是根本可以打扫是国家攻击。
“我不知道是否是某个无聊的人,有什么不合法的目标。假如是某个无聊的年轻人想要举行单纯的监督,这着实也挺伤人的。比如他能打开摄像头…”不外实际上也大概是恶意程序作者扬弃了这款恶意程序。不管怎么说,假如有人像Wardle一样去注册了硬编码的域名,那么也可以监控那些已经被感染的人。
从国外媒表现有的报道临时还不清楚Fruitfly的具体运作方式。不外我们去查阅了Malwarebytes本年1月份发布的文章,发现Fruitfly的原版程序简直有些风趣且并不“sophisticated”的地方。
Fruitfly的原始版本在面上就只包罗2个文件,分别是
~/.client~/Library/LaunchAgents/com.client.client.plist
此中的.plist非常简单,是为了保持.client始终运行的。.client以perl脚本的情势存在,它会与CC服务器通讯。脚本中还包罗一些通过shell下令截屏的代码。风趣的是,此中既用到了Mac的“screencapture”下令,也用上了Linux的“xwd”下令。
别的它也负责获取体系的正常运行时间,也就是所谓的uptime——获取下令也是既有Mac版,也有Linux版。
别的脚本末了尚有个DATA部分,内里有个Mach-O二进制、Perl脚本和一个Java类。脚本开释写入到/tmp/文件夹并实行。Java类文件将apple.awt.UIElement设为true,也就是说它不会在Dock栏表现。
二进制文件对于截屏和摄像头访问比力情有独钟,不外故意思的是此中用上了一些非常古老的体系调用,比如说:
SGGetChannelDeviceList
SGSetChannelDevice
SGSetChannelDeviceInput
SGInitialize
SGSetDataRef
SGNewChannel
QTNewGWorld
SGSetGWorld
SGSetChannelBounds
SGSetChannelUsage
SGSetDataProc
SGStartRecord
SGGetChannelSampleDeion
这大概是Malwarebytes和Wardle以为这款恶意程序年代长远的一个缘故起因。这些函数着实简直非常古老,可以追溯到前OSX的光阴。此中包罗的开源libjpeg代码前次更新是在1998年。
编写的代码比力古老,着实不能很明白地表现这款恶意程序早在十多年之前就存在。如Malwarebytes所说,这大概表明攻击者对Mac相识得不敷,大概他不停在用比力老的开辟引导文档。也大概是攻击者故意用这种较老的体系调用,克制触发当代各种情势的举动检测。
别的Wardle事先透露说,Fruitfly具备“移动鼠标,点击,并与操纵体系UI元素举行交互”的本领。这个应该是出自于此中的Java类可以或许获取下令实行各种任务,此中就包罗了获取屏幕尺寸、鼠标指针位置、改变鼠标位置、模仿鼠标点击、模仿键击。这些可以提供一些简单的长途控制功能。
Malwarebytes实行将原版Fruitfly在Linux装备上运行,发现除了Mach-O二进制部分,统统都运行正常。也就是说,这款恶意程序理应有Linux版本。别的,VirusTotal平台发现,有Windows可实行文件与同一个CC服务器通讯,也用1998年的libjpeg库。这些样本早在2013年就提交到了VirusTotal。
值得一提的是,上面提到的.plist启动署理文件创建时间是2015年1月。但这个时间着实不肯定是真实的文件创建时间;不外恶意程序从CC服务器获取的macsve文件有个解释提到,这是为Yosemite,也就是MacOSX10.10编写的——这款体系发布于2014年10月,这大概意味着Fruitfly至少在Yosemite体系出现之前就已经存在了。
过半数反恶意程序体系无法检测出Fruitfly
着实很难想象这么多年已往了,从VirusTotal来看,到截稿前为止,57款主流反恶意程序产物,也只有25款可以或许将Fruitfly变种检测出来。Wardle还提到,Fruitfly采取比力简单粗暴的方式来到达存在的长期性,相较别的Mac恶意程序应该更轻易检测出来。
“它采取比力早期,而且并不复杂的技能维持其长期性,很多Mac恶意程序都是这么做的:一个隐蔽的文件,加一个启动署理。这令其很轻易被抓到,要检测和移除也很轻易。”
本年1月份发现Fruitfly变种的时间,Malwarebytes表现这款恶意程序重要针对生物医疗研究中心,研究职员推测大概由于其目标非常明白,以是能埋伏这么多年时间,但着实没有明白证据表明它以某个特定构造为目标,而这次的新版目标是不明的。
在来日诰日的BlackHatUSA2017大会上,Wardle还会对Fruitfly作更为明白的叙述,在BlackHat现场且对恶意程序分析感爱好的同砚不要错过。预计Wardle会从分析这款恶意程序的dropper开始,也就是上面提到的Perl脚本,随后还会探究一些Debug技能,并对脚本作完全拆解。固然重点还是要谈构建本身的CC服务器来挟持恶意程序,揭破其完备的本领。
别的Wardle还会讨论macOS工具实现各种变乱的监控,比如“mousesniffer”可本地观察息争码从恶意程序发往体系控制鼠标的下令。固然这个议题是围绕Fruitfly睁开的,不外实际上对于别的恶意程序也具有广泛实用性。
*参考泉源:BlackHat,Malwarebytes,TheHackerNews,Forbes,SecurityAffairs,欧阳洋葱编译整理,转载请注明来自FreeBuf.COM
我要评论