美文网首页网络安全
重现VIM漏洞CVE-2019-12735

重现VIM漏洞CVE-2019-12735

作者: 一只老不上架的鸭子 | 来源:发表于2019-06-17 17:24 被阅读290次

        VIM的漏洞自6月4日爆出来后,网上可以直接下载两个POC,网上有一篇翻译的文,刚好最近做了这个漏洞POC的重现尝试,分享之。

        测试环境:

        系统:4.18.0-kali2-amd64

        VIM:version 8.1.320

        背景知识:

        关于VIM的modeline的语法、功能相关的背景知识,参照链接如下

    https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md

        测试准备:

        建立vimtest测试用户进行测试

        开启vimtest的modeline选项,在~/.vimrc中加入行:set modeline

        打开vim后,运行:set modeline?返回

    图一 图二

    (1)测试POC1 ,POC1是个检查是否vim存在漏洞的测试

    图三

        可以看到使用vim打开poc.txt的时候,命令uname -a被自动执行,说明测试的vim存在漏洞。但是此poc.txt的内容可以用cat命令看到,其执行的命令很容易被发现。

    (2)测试POC2 ,POC2是一个带反向Shell的攻击样例,当被攻击者使用vim打开shell.txt的恶意文件时,自动调用了nc命令生成一个用于黑客远程控制的反向Shell连接。下面是网上对POC2的描述:

    图四

    实际上,shell.txt不能直接拷贝上述网页上的文本来生成,如果拷贝网页上的内容,十六进制比如\x1b是需要通过二进制编辑器直接改成二进制的,并且需要处理命令中的反斜杠的字符“\”。这就比较啰嗦了。这里直接将shell.txt的原文从网上下载下来。

    wget https://raw.githubusercontent.com/numirias/security/master/data/2019-06-04_ace-vim-neovim/shell.txt

    图五

    真实的shell.txt的内容如下:

    图六

    普通的cat命令不能看到这个文件的异常

    图七

    运行POC2,首先,启动本地9999的监听端口(实际应用中会是远程的9999监听),另开一个窗口,运行“vim shell.txt”,可以看到成功建立了反向Shell连接。

    图八 图九

    相关文章

      网友评论

        本文标题:重现VIM漏洞CVE-2019-12735

        本文链接:https://www.haomeiwen.com/subject/rmlzfctx.html