打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习

声明

以下教程适用于红队/攻击队研究、学习,主要用于激发学习Cobalt Strike、VBA语言的兴趣,请勿用于非法用途。

相关阅读

您可以参考下面的视频,完整学习Cobalt Strike高级渗透测试

效果展示

  • 点开图片观看动图
  • 打开一个excel表,启用禁用的宏,自动弹出我们预设的程序。
图片[1]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog
  • 打开一个word文档,启用宏,自动弹出我们预设的程序
图片[2]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

当然,上面预设的程序,可以是计算器、可以是记事本,可以是自动下载某个文件到系统里,甚至可以是Cobalt Strike生成的远控程序。

案例讲解

我们这里以Book1.xlsm为例,先讲解一下运行的完整过程,我们打开 Book1.xlsm ,里面提示文档的版本过低,需要启用宏

(这里其实是一个诱导用户点击启用内容的模板)

图片[3]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

我们点击启用内容

图片[4]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

然后,自动执行我们预先写好的VBA程序,自动打开了计算器

这里小伙伴们不要慌,我们没有在代码中写远控的功能哦!

不要因为上次看了Chrome浏览器远控的文章就对弹出计算器产生恐惧

图片[5]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

这时有人可能会问,启用宏了之后弹出计算器究竟是怎么实现的呢?Sheet1右键查看代码

图片[6]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

我们可以看到执行自动打开系统计算器的核心代码在这里

图片[7]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

完整代码我们也提供在下方

其实代码的思路非常清晰,就是启用宏之后,自动打开calc.exe系统计算器。

同时,会自动隐藏Excel version mismatch这个sheet(诱导用户去启用宏的钓鱼模板)

只显示Sheet1(这个我们可以理解是正常你想要给用户看的内容,但是客户要想编辑就得先启用宏,从而被钓鱼)

Private Sub Workbook_Open()
    Worksheets("Sheet1").Visible = xlSheetVisible
    Worksheets("Sheet1").Activate
    Worksheets("Excel version mismatch").Visible = xlSheetHidden

    PID = Shell("C:\Windows\System32\calc.exe", vbHide)
End Sub

那么我们如果想让用户打开其他的程序呢?我们可以将下面的代码进行修改

PID = Shell("C:\Windows\System32\calc.exe", vbHide)

比方说,我们想让他打开系统的控制面板,那可以将这段代码修改成

PID = Shell("C:\Windows\System32\control.exe", vbHide)
图片[8]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

然后保存之后打开

图片[9]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

BINGO!自动打开控制面板了~

图片[10]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

当然,你还可以让他打开QQ(QQ的话你需要知道,打开这个excel表的人的QQ安装路径,我这里是TIM)

PID = Shell("C:\Program Files (x86)\Tencent\TIM\Bin\QQScLauncher.exe", vbHide)

然后保存代码

图片[11]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

打开Book1.xlsm

图片[12]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

打开之后发现自动弹出TIM了

图片[13]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

这些都是最简单的,Office宏也与这个类似,也是启用宏之后会执行写好的程序

图片[14]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

这个启用之后会提示Error converting document version from tyoe '03'!Failure code:0x4AG59C

无需理会点击重试或者取消,均会弹出记事本

图片[15]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

发现弹出记事本(notepad.exe程序)

图片[16]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

总的来讲excel和word文档启用宏,弹出设计好的程序,总的流程是一样的(补充:如何编辑word文档里的宏代码

看到这里,我猜你一定很想知道,标题里说的打开excel表或者word文档怎样就被远控了呢?

这时,我们今天想给大家说的内容才刚刚登场,上述代码其实都是通过VBA语言编写的,因此我们需要一定程度上了解VBA语言,才能设计对应的程序。

当然,Cobalt Strike里面本身也提供了代码生成器,可以快速为我们生成对应的代码,但是这种代码不一定可以做到免杀。

以下详细演示Cobalt Strike中生成MS Office Macro的步骤

免杀的意思就是过杀毒软件的检测,不进行免杀就像下面一样,写好的远程控制代码被杀毒软件干掉了。

图片[20]-打开一个Office word文档/excel表也能被远控?由此引出的CS高级渗透、VBA语言学习-FancyPig's blog

我们这里也提供了一些免杀的工具,您可以自行参考

这两天还会再更新几期有关内容,敬请期待。

VBA语言学习

Office 模板打包下载

© 版权声明
THE END
喜欢就支持一下吧
点赞71赞赏 分享
评论 共68条

请登录后发表评论