OceanLotus macOS歹意软件更新 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

OceanLotus macOS歹意软件更新

申博_安全防护 申博 267次浏览 已收录 0个评论

申博网络安全巴士站

申博-网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。

————————————-

2019年3月初,有一款来自OceanLotus的进击macOS的歹意软件被上传到VirusTotal。研究人员剖析发明该后门可实行文件与之前的macOS变种有雷同的特性,然则其构造发生了转变,以是检测起来更难。但由于找不到与该样本相干的开释器,以是也不知道初始沾染向量。

由于之前Trend Micro也剖析过OceanLotus运用的macOS歹意软件,因而本文重要引见与之前版本的转变。

剖析

本文的剖析历程运用的样本SHA-1 哈希值为E615632C9998E4D3E5ACD8851864ED09B02C77D2,ESET产物检测到该文件为OSX/OceanLotus.D。

反调试和反沙箱

与之前的OceanLotus macOS歹意软件二进制文件一样,该样本是用UPX打包的,然则大多数的解压辨认对象没法辨认。该特性使静态检测要领很难检测。一旦解压,就会发明顺序实行的进口点(entry point)就位于.TEXT的__cfstring。该局部的flag属性如图1所示。

 OceanLotus macOS歹意软件更新

图1 __cfstring section属性

如图2所示,__cfstring局部的代码会诳骗解压对象来将代码显现为字符串。

 OceanLotus macOS歹意软件更新图2 IDA将后门代码辨认为数据

运转时,二进制文件起首建立一个线程作为反调试看管历程,作用就是延续监测反调试器是不是存在。该线程会:

· 用PT_DENY_ATTACH作为要求参数来挪用ptrace以星散调试器;

· 挪用函数task_get_exception_ports来搜检是不是有不测的端口开放;

· 严峻以后历程的P_TRACED flag来搜检是不是有调试器,如图3所示:

OceanLotus macOS歹意软件更新

图3  经由过程sysctl函数搜检是不是有调试器

若是看管历程监测到有调试器,就挪用exit退出函数。然后该样本会经由过程宣布以下敕令来搜检情况要素:

ioreg -l | grep -e “Manufacturer” and sysctl hw.model

并搜检返回的值中是不是有已知的假造化体系相干的字符串,包孕oracle, vmware, virtualbox, parallel等。

末了实行下面的敕令:

system_profiler SPHardwareDataType 2>/dev/null | awk ‘/Boot ROM Version/ {split($0, line, “:”);printf(“%s”, line[2]);}

实行这些敕令是为了搜检机械是不是是“MBP”, “MBA”, “MB”, “MM”, “IM”, “MP”或“XS”,这些代码透露表现体系的型号,好比MBP代表MacBook Pro。

FFmpeg HLS SSRF破绽实例解说

最近,我为一家著名的公司进行了一次安全测试。其中,有一个测试对象是用于youtube网站的音乐搜索、授权和管理平台。在测试过程中,我发现了一个表单,该表单是用于在用户的个人帐户中上传视频的。 但是,即使在上传视频这么简单的操作中

歹意软件的更新局部

虽然新变种中后门敕令没有更新,研究人员发明照样有一些转变。样本运用的C2服务器的建立日期为2018-10-22:

· daff.faybilodeau[.]com

· sarc.onteagleroad[.]com

· au.charlineopkesston[.]com

运用的URL资本被修正成/dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35。

发送给C2服务器的第一个包罗有很多与主机相干的信息,一切敕令收集的数据包孕:OceanLotus macOS歹意软件更新

由于设置装备摆设发生了转变,以是样本也不再运用libcurl库举行收集盗取,而是运用了一个外部库。为了定位,后门会运用AES-256-CBC形式和key gFjMXBgyXWULmVVVzyxy 来解密以后目次中的每一个文件。解密的文件会保存在/tmp/store中,并运用dlopen函数以库的体式格局来加载。实验解密会挪用dlopen,后门会提取导出函数Boriry和ChadylonV,这两个函数是用来与服务器举行通讯的。由于没法从原始样本中找出开释器或其他文件,因而没法剖析库文件。而且由于组件是加密的,基于这些字符串的YARA划定规矩也没法找出对应的文件。

Trendmicro的剖析中提到macOS后门建立了一个clientID,这是下面敕令的返回值的MD5哈希值:

ioreg -rd1 -c IOPlatformExpertDevice | awk ‘/IOPlatformSerialNumber/ { split($0, line, “\””); printf(“%s”, line[4]); }’
ioreg -rd1 -c IOPlatformExpertDevice | awk ‘/IOPlatformUUID/ { split($0, line, “\””); printf(“%s”, line[4]); }’
ifconfig en0 | awk \’/ether /{print $2}\’ (猎取MAC地点)
未知敕令(“\x1e\x72\x0a“)在之前的样本中被用作uuidgen

在举行哈希盘算之前,字符0或1会加到返回值中以注解root权限。若是代码以root权限运转,ClientID就会保存在/Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex中,或保存在~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML中。该文件一样平常会经由过程_chflags函数隐蔽,而且用touch -t敕令和随机值来修正时候戳。

字符串解密

与之前的变种相似,字符串是用AES-256-CBC和十六进制编码的key 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92运用CCCrypt函数来加密的。运用的key发生了转变,然则该构造依然运用雷同的算法来加密字符串,因而解密能够自动举行。

在了解了decrypt函数的原型后,解密剧本起首会找出对该函数的一切交织运用,找到一切的参数,解密数据并将明文数据放在交织运用的地点的解释处。为了让解密剧本准确运转,base64解码函数运用的定制的字母表必须在剧本中举行设置,而且要界说含有key长度的全局变量,如图4所示:

OceanLotus macOS歹意软件更新

图4 界说全局变量key_len

在function窗口,能够右击解密函数并计点击提取和解密参数。该剧本会将解密的字符串放在解释中,如图5所示:

OceanLotus macOS歹意软件更新

图5 – 解密的文本被放在解释中

在IDA中运用xrfs到Window的转换就能够列出解密的字符串了,如图6所示:

OceanLotus macOS歹意软件更新图6 – Xrefs 到 f_decrypt函数

结论

OceanLotus构造依然在不断更新其对象集,此次更是改良了进击mac用户的对象集。由于很多mac用户并没有装置平安软件,也不必绕过检测,因而进击者并没有修正太多代码。虽然研究人员解密了用于C2通讯的收集库,然则详细的收集协定依然是未知的。

FFmpeg HLS SSRF破绽实例解说

最近,我为一家著名的公司进行了一次安全测试。其中,有一个测试对象是用于youtube网站的音乐搜索、授权和管理平台。在测试过程中,我发现了一个表单,该表单是用于在用户的个人帐户中上传视频的。 但是,即使在上传视频这么简单的操作中


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明OceanLotus macOS歹意软件更新
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址