绿盟科技
- 关注
情报背景
趋势科技发现命名为Earth Kitsune的攻击组织通过破坏与朝鲜有关的网站并托管恶意程序,正在向对朝鲜感兴趣的个人发起水坑攻击。
组织名称 | Earth Kitsune |
关联组织 | 未知 |
战术标签 | 持久化 |
技术标签 | DII劫持、Chrome扩展 |
情报来源 | https://www.trendmicro.com/en_us/research/23/b/earth-kitsune-delivers-new-whiskerspy-backdoor.html |
攻击技术分析
当受害者观看网站视频时,注入网站的恶意脚本提示用户视频解码错误,诱导受害者下载安装解码器安装程序。这些解码器程序都进行了恶意修改,会执行powershell命令下载进一步的恶意载荷,这些恶意载荷最终会在受害者机器通过滥用合法程序或Chrome扩展等方式安装。
使用IP筛选受害者
攻击者在脚本中检查访问者的IP,只有符合特定IP的受害者会受到攻击影响,减少暴露风险。其中中国和日本的IP可能是攻击者的真正目标。
图1 原始页面(左)与注入脚本的页面(右)的网页内容比较
图2 被注入的网站会重定向下载恶意MSI安装程序
滥用合法程序
受害者下载的MSI程序是合法的安装程序,但程序被攻击者进行了修改,修改后的安装程序会先挑战执行恶意的shellocde,完成后恢复原始程序代码,保证正常运行。
图3 原始程序被增加了一个新节(.odata)去用来存储恶意shellcode
图4 安装程序入口被修改为立即跳转到shellcode
图5 解密后的shellcode会执行powershell命令下载后续的恶意文件
图6 重新恢复原始程序入口
修改vcruntime140.dll,利用OneDrive建立持久性
vcruntime140.dll同样时被修改的合法文件,修改后的文件放置在%LOCALAPPDATA%\microsoft\onedrive\vcruntime140.dll,默认每个用户的OneDrive会安装到位置,通过将DLL放置到OneDrive目录,以用来获得持久性。
修改后的vcruntime140.dll中memset函数被劫持,并同样增加了一个.odata节区,新节区代码中会先使用xor解密,并将载荷注入到werfautl.exe进程。
图7 原始的memset函数函数
图8 修改后的memset函数,0x18000C7D被修改为jmp跳转到shellcode
利用Chrome扩展的持久化后门
攻击者实现了一个chrome扩展的持久化后门,后门包含一个Installer.exe(Chrome扩展程序安装程序)、一个NativeApp.exe(原生应用程序)和多个Chrome扩展文件(background.js、mainfest.json、icon.png)。执行安装后,每当chrome启动时会调用攻击者在本地安装的恶意扩展,之后恶意扩展会选择通知原生应用执行命令或下载后续恶意文件。
由于在Chrome的机制中只有native messaging host(原生应用程序)才能调用Native API,所以攻击者使用NativeApp来实现具体的恶意行为。chome 扩展程序使用stdin/stdout(标准输入输出)与原生应用程序进行消息通讯,消息格式为为JSON格式的字符串。
图9 mainfest.json配置文件显示了其注册信息,stdio表示使用标准输入输出与NativeApp.exe进行通讯
图10 background.js显示会在Chrome启动收到通知
总结
攻击者的攻击手段非常老练,在攻击时会选择特定的目标,大量滥用合法程序进行执行和持久化,并使用Chrome扩展等方式隐蔽其攻击活动。
关于我们
更多高级攻防对抗热点技术,欢迎关注公众号:M01N Team。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
