樂德廣,章亮,龔聲蓉,鄭力新,吳少剛
(1.常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500;2.蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;3.華僑大學(xué)工學(xué)院,福建 泉州 362021;4.江蘇中科夢(mèng)蘭電子科技有限公司,江蘇 常熟 215500)
面向RTF的OLE對(duì)象漏洞分析研究
樂德廣1,2,4,章亮3,龔聲蓉1,2,鄭力新3,吳少剛4
(1.常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500;2.蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;3.華僑大學(xué)工學(xué)院,福建 泉州 362021;4.江蘇中科夢(mèng)蘭電子科技有限公司,江蘇 常熟 215500)
針對(duì)RTF文檔在OLE對(duì)象解析過程中出現(xiàn)的安全漏洞問題,提出了一種基于數(shù)據(jù)塊解析及特征數(shù)據(jù)構(gòu)造的OLE對(duì)象漏洞分析方法。利用逆向技術(shù)分析OLE對(duì)象漏洞的觸發(fā)條件,通過數(shù)據(jù)塊解析定位OLE對(duì)象漏洞的觸發(fā)點(diǎn),并基于特征數(shù)據(jù)構(gòu)造檢測(cè)OLE對(duì)象漏洞。實(shí)驗(yàn)表明,該方法不但能正確檢測(cè)出RTF的OLE對(duì)象漏洞,而且能精準(zhǔn)定位漏洞觸發(fā)點(diǎn),為研究漏洞補(bǔ)丁提供有效依據(jù)。此外,與現(xiàn)有方法相比,該方法還具有更高的檢測(cè)效果,從而有效防御各種面向RTF文檔的OLE對(duì)象漏洞利用攻擊。
RTF文件;軟件安全;OLE對(duì)象漏洞;漏洞分析
隨著計(jì)算機(jī)技術(shù)和軟件技術(shù)的發(fā)展,各種辦公文檔和軟件在人們的日常工作和生活中扮演著越來越重要的角色。然而,隨著越來越多個(gè)人隱私和重要數(shù)據(jù)通過各種辦公軟件存儲(chǔ)在電子文檔中,針對(duì)辦公軟件的攻擊事件不斷發(fā)生,各種辦公軟件安全問題日趨嚴(yán)重[1]。產(chǎn)生辦公軟件安全問題的根本原因在于其存在文檔格式解析和執(zhí)行缺陷,即軟件安全漏洞[2]。因此,辦公軟件安全漏洞問題成為信息安全的熱門課題,國內(nèi)外的安全研究機(jī)構(gòu)和學(xué)者對(duì)辦公軟件安全漏洞進(jìn)行了大量的分析研究[3~9]。在文獻(xiàn)[3]中,楊丁寧針對(duì)微軟的MS Office軟件在解析DOC、PPT等文檔時(shí)調(diào)用ActiveX控件所產(chǎn)生的漏洞,基于黑盒Fuzzing測(cè)試技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了 ActiveX 控 件 漏 洞 挖 掘 工 具(ActiveX-Fuzzer),并通過該工具發(fā)現(xiàn)多個(gè)未公布的高危漏洞。劉奇旭在文獻(xiàn)[4]中將靜態(tài)分析和動(dòng)態(tài)測(cè)試技術(shù)相結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)了Flash跨站腳本漏洞挖掘工具(FXD,flash XSS detector),并在對(duì)Alexa Top100的網(wǎng)站測(cè)試中發(fā)現(xiàn)可以導(dǎo)致XSS攻擊的Flash文件。Rebert在文獻(xiàn)[5]中,根據(jù)文件格式結(jié)構(gòu)化存儲(chǔ)的特征,給出一種優(yōu)化種子文件選擇的方法,設(shè)計(jì)并實(shí)現(xiàn)一種基于Fuzzing的文件型漏洞智能挖掘與分析系統(tǒng)。在文獻(xiàn)[6]中,史飛悅提出了一種動(dòng)靜態(tài)分析相結(jié)合的漏洞挖掘分析方法對(duì)微軟Office漏洞進(jìn)行挖掘分析。文獻(xiàn)[7]通過對(duì)RTF文件的pFragments繪圖屬性進(jìn)行深入研究,提出一種基于指令回溯及特征數(shù)據(jù)構(gòu)造的漏洞分析方法分析MS Word程序在RTF文件解析中產(chǎn)生的緩沖區(qū)溢出漏洞。該分析方法能有效檢測(cè)出MS Word的RTF文件繪圖屬性解析漏洞。此外,Leathery分析了在沒有正確處理帶有Task Symbol組件的RTF文件時(shí)造成堆內(nèi)存錯(cuò)誤而導(dǎo)致觸發(fā)漏洞[8]。Li分析了MS Office在解析文件時(shí)動(dòng)態(tài)調(diào)用公共控件而引起的OLE安全漏洞[9],該類漏洞不僅可以通過DOC或PPT文檔觸發(fā),甚至通過RTF文件觸發(fā)。因此,本文在研究RTF文件的OLE對(duì)象嵌入技術(shù)基礎(chǔ)上,提出了一種基于數(shù)據(jù)塊解析及特征數(shù)據(jù)構(gòu)造的OLE對(duì)象漏洞逆向分析方法,并根據(jù)該方法給出了面向RTF文件的OLE對(duì)象漏洞分析流程。實(shí)驗(yàn)測(cè)試證明,本方法能有效檢測(cè)出RTF文件的OLE對(duì)象解析漏洞。此外,與現(xiàn)有的同類檢測(cè)方法相比,本文方法具有更高的檢測(cè)效率。
2.1OLE對(duì)象鏈接和嵌入技術(shù)
對(duì)象鏈接和嵌入(OLE,object linking and embedding)是一種面向?qū)ο蟮募夹g(shù),該技術(shù)允許在程序之間鏈接和嵌入對(duì)象數(shù)據(jù),從而建立復(fù)合文檔[10]。微軟MS Office 97-2003的各種文件格式(DOC、RTF、XLS和PPT等)都采用OLE技術(shù)存儲(chǔ)文件規(guī)范。通過該規(guī)范,一個(gè)文件不僅包含文本,而且可以包括圖形、電子表格、甚至聲音視頻信息。這里以一個(gè)包含OLE結(jié)構(gòu)的RTF文件為例,新建一個(gè)同時(shí)包含“Hello World”文本信息和PNG圖片的RTF文件,提取出其中的OLE結(jié)構(gòu),通過Offvis分析其OLE結(jié)構(gòu)[11],如圖1所示。
圖1 Offvis分析RTF的OLE文檔結(jié)構(gòu)
從圖1可以看出,整個(gè)OLE結(jié)構(gòu)類似一個(gè)容器,稱為OLE容器。OLE容器包含了不同的存儲(chǔ)目錄(directory entry),存儲(chǔ)目錄中的OLE數(shù)據(jù)是以流(streams)的形式存儲(chǔ)在倉庫(storages)中,本例中的文本信息存儲(chǔ)在WordDocument流中,圖片信息存儲(chǔ)在Data流中。
2.2RTF的OLE對(duì)象機(jī)制
富文本格式(RTF,rich text format)是微軟進(jìn)行文本和圖像信息格式交換而制定的一種文件格式[12]。RTF文件可以劃分成文件頭和文檔區(qū)兩部分,文件頭和文檔區(qū)都由本文、控制字和控制符組成。其中,控制符由一個(gè)反斜線跟隨單個(gè)非字母字符組成。例如,~代表一個(gè)不換行空格。控制符不需要分隔符??刂谱质荝TF用來標(biāo)記管理文檔信息的一種特殊格式的命令,其語法格式為:字母序列<分隔符>。例如, tfN 為RTF的版本號(hào)控制字,其中數(shù)字N表示主版本號(hào)。RTF文件解析程序主要是根據(jù)控制字對(duì)文件進(jìn)行解析。表1列出了RTF文件中常用的控制字。
表1 RTF控制字
從表1可以看出,RTF的文件頭中包含 tfN、fonttbl、filetbl和listtable等控制字。文檔區(qū)包含info、pict和object等控制字。其中,object表示OLE對(duì)象控制字。通過object控制字,RTF可以像二進(jìn)制DOC復(fù)合文檔一樣包含圖片、電子表格、聲音和視頻等信息。這些富文本信息在RTF文件中是通過OLE對(duì)象類型控制字來解析,表2列出了RTF中不同的OLE對(duì)象類型控制字。
在表2中,通過objemb控制字可以嵌入圖片、文檔、音頻信息等,通過objocx控制字可以在OLE容器中包含不同的ActiveX控件,通過objlink控制字可以在不同的應(yīng)用程序中鏈接文件。這些對(duì)象類型的數(shù)據(jù)存儲(chǔ)在不同的數(shù)據(jù)區(qū)域,表3列出了可存儲(chǔ)這些數(shù)據(jù)的對(duì)象數(shù)據(jù)控制字。
表2 RTF的OLE對(duì)象類型
表3 RTF的OLE對(duì)象數(shù)據(jù)
表3中的3個(gè)對(duì)象數(shù)據(jù)控制字都可以被對(duì)象類型引用,例如OLE嵌入對(duì)象類型objemb和OLE控件類型objocx的數(shù)據(jù)一般存儲(chǔ)在objdata控制字中。OLE對(duì)象數(shù)據(jù)包括頭部(ObjectHeader)和數(shù)據(jù)流(ObjectStream),它們是通過D0CF11E0A1B11AE1標(biāo)志符進(jìn)行區(qū)分,其中頭部由OLE版本(4字節(jié))、格式ID(4字節(jié))、程序名長(zhǎng)度(4字節(jié))、程序名和數(shù)據(jù)流大?。?字節(jié))組成。例如,RTF文件中包含OLE控件類型的數(shù)據(jù)信息如下
{objocx*objdata01050000020000001B0000 004D53436F6D63746C4C69622E4C69737456696 5774374726C2E32000000000000000000000E0000 D0CF11E0A1B11AE100000000000000000000000 0000000003E000300FEFF09000}
在以上objdata控制字的數(shù)據(jù)信息中,01050000020000001B0000004D53436F6D63746C 4C69622E4C697374566965774374726C2E3200000 0000000000000000E0000為頭部信息,D0CF11E 0A1B11AE1為數(shù)據(jù)流的起始標(biāo)志信息,000000000000000000000000000000003E000300F EFF09000為數(shù)據(jù)流信息。
2.3RTF的OLE對(duì)象安全性問題
根據(jù)2.2節(jié)知道RTF文件包含不同的OLE對(duì)象類型。由于在解析這些對(duì)象類型時(shí)需要調(diào)用公共控件或動(dòng)態(tài)鏈接庫去解析對(duì)象數(shù)據(jù)。此外,RTF 的OLE對(duì)象數(shù)據(jù)存儲(chǔ)在對(duì)象數(shù)據(jù)控制字中,因此objdata等對(duì)象數(shù)據(jù)控制字屬于可存數(shù)據(jù)區(qū)域。在這些可存數(shù)據(jù)區(qū)域中,可以構(gòu)造溢出數(shù)據(jù),甚至惡意代碼(Shellcode等)。當(dāng)OLE對(duì)象在解析這些特殊構(gòu)造的數(shù)據(jù)時(shí),將觸發(fā)OLE對(duì)象漏洞,并利用該漏洞執(zhí)行惡意代碼,從而產(chǎn)生RTF文件攻擊。因此,在RTF文件中包含OLE對(duì)象引發(fā)安全漏洞,稱為RTF的OLE對(duì)象漏洞。例如,當(dāng)在RTF文件中嵌入objocx對(duì)象類型的OLE控件TreeView或ListView時(shí),該控件在解析objdata內(nèi)部數(shù)據(jù)時(shí)會(huì)造成堆棧溢出漏洞,利用該漏洞能進(jìn)行遠(yuǎn)程代碼執(zhí)行攻擊[13]。當(dāng)RTF文件在解析嵌入objocx對(duì)象類型的OLE控件TabStrip時(shí)會(huì)造成內(nèi)存破壞漏洞[14]。在RTF文件中包含objemb對(duì)象類型的TIFF數(shù)據(jù)時(shí),會(huì)由于OGL.DLL在處理TIFF文件格式數(shù)據(jù)時(shí)產(chǎn)生整數(shù)溢出導(dǎo)致堆溢出漏洞[15]。此外,在RTF漏洞利用攻擊過程中,通常會(huì)利用OLE對(duì)象繞過Windows的安全防護(hù)機(jī)制[16]。例如,在漏洞利用的時(shí)候經(jīng)常需要繞過Windows的地址空間布局隨機(jī)化(ASLR,address space layout randomization)機(jī)制,這時(shí)可以在RTF文件OLE對(duì)象的objdata數(shù)據(jù)區(qū)域中包含未開啟ASLR機(jī)制的控件(MSCOMCTL.OCX,MSGR3EN.DLL等),通過這種方式可以繞過ASLR[17]。
由于 RTF文件經(jīng)常會(huì)伴隨著嵌入的OLE對(duì)象漏洞進(jìn)行攻擊,因此本文重點(diǎn)分析RTF的OLE對(duì)象漏洞。目前,已有一些國外的信息安全專家對(duì)RTF的OLE對(duì)象安全性問題開展相關(guān)研究,如Boldewin設(shè)計(jì)和實(shí)現(xiàn)了一種用于分析和提取RTF中惡意嵌入OLE對(duì)象的工具RTFscan[18];Bonfa提出了一種基于OLE數(shù)據(jù)結(jié)構(gòu)分析的方法,并設(shè)計(jì)和實(shí)現(xiàn)了用于檢查并解密RTF樣本惡意代碼的OLE漏洞掃描工具pyOLEscanner[19]。這些方法和工具雖然可以判斷RTF文件中是否包含存在漏洞的OLE對(duì)象或Shellcode,但是并不能準(zhǔn)確定位漏洞的觸發(fā)點(diǎn)。本文在此基礎(chǔ)上,通過逆向分析技術(shù)分析RTF文件中的OLE對(duì)象嵌入機(jī)制,并提出一種基于數(shù)據(jù)塊解析及特征數(shù)據(jù)構(gòu)造的OLE對(duì)象漏洞分析方法。
3.1RTF的OLE對(duì)象類型逆向分析
通過一個(gè)包含OLE對(duì)象類型的RTF文件(test.rtf)對(duì)OLE對(duì)象嵌入機(jī)制進(jìn)行逆向分析,其關(guān)鍵數(shù)據(jù)信息如下
{objectobjocxf37objsetsizeobjw1500objh7 49{*objclass MSComctlLib.ListViewCtrl.2}
{*objdata01050000020000001B0000004D53 436F6D63746C4C69622E4C697374566965774374 726C2E32000000000000000000000E0000D0CF11 E0A1B11AE1000000000000000000000000000000 003E000300FEFF090006000000000000000000000 001000000010000000000000000100000020000000 1000000FEFFFFFF0000000000000000FFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F……52006F006F007400200045006E0074007200 7900000000000000000000000000001EFCDAB00 00050000000000060000000800008005000080B03 03A0300000000000000000000000016000500FFFF FFFFFFFFFFFF020000004BF0D1BD8B85D111B1 6A00C0F02836280000000062BCDFB9340DCD……2143341208000000746174696F6E00134E087D EB010006001C00000000000000000000000006000 1560A000001EFCDAB00000500985D6501070000 000800008005000080000000000000000000000000 000000001FDEECBD010005009017190000000800 000049746D736400000002000000010000000C000 000436F626A640000000800000008000000E53746 C4C69622E4……}}
在以上RTF文件數(shù)據(jù)中,object控制字表示解析的是一個(gè)OLE對(duì)象類型;objocx控制字表示該對(duì)象類型為OLE控件類型;objclass控制字引用MSComctlLib.ListViewCtrl.2參數(shù),該參數(shù)表示 OLE對(duì)象類型調(diào)用 MSComctlLib中的ListViewCtrl.2控件;objdata控制字表示對(duì)象數(shù)據(jù),這些對(duì)象數(shù)據(jù)采用十六進(jìn)制形式存儲(chǔ)。將objdata控制字對(duì)象數(shù)據(jù)的頭部信息通過Winhex進(jìn)行解析[20],如圖2所示。
從圖2可以看出,根據(jù)OLE對(duì)象數(shù)據(jù)的頭部組成,OLE版本的值為0x00000501;格式ID的值為0x00000002,表示OLE對(duì)象嵌入在RTF文件中;程序名長(zhǎng)度的值為0x0000001B,表示程序名的長(zhǎng)度為27字節(jié);程序名為MSComctlLib.ListViewCtrl.2,數(shù)據(jù)流大小的值為0x00000E00,表示數(shù)據(jù)流信息的大小是3 584字節(jié)。
下面通過 Windbg對(duì) MSComctlLib.List-ViewCtrl.2指定的ListViewCtrl.2控件進(jìn)行逆向調(diào)試[21],發(fā)現(xiàn)RTF在解析該ObjectStream數(shù)據(jù)時(shí),是將數(shù)據(jù)讀取到??臻g中,如圖3(a)所示。例如,讀取OLE對(duì)象中ObjectStream的01EFCDAB 0000050000000000060000000800008005000080B 0303A03數(shù)據(jù)的關(guān)鍵代碼,如圖3(b)所示。
從圖3(b)可以看到在解析ObjectStream數(shù)據(jù)時(shí),通過rep movs dword ptr es:[edi],dword ptr[esi]指令,將文檔中數(shù)據(jù)讀取至棧(如圖3(a)所示)中。這種串復(fù)制指令很容易造成堆棧溢出或內(nèi)存破壞,因此RTF在解析包含OLE對(duì)象的文檔時(shí)可能存在OLE對(duì)象漏洞。
3.2基于數(shù)據(jù)塊解析和特征數(shù)據(jù)構(gòu)造的OLE對(duì)象漏洞分析
根據(jù)3.1節(jié)對(duì)RTF文件中的OLE對(duì)象類型分析,知道當(dāng)RTF中包含OLE對(duì)象,并在解析ObjectStream時(shí)可能會(huì)產(chǎn)生OLE對(duì)象漏洞,本小節(jié)在此基礎(chǔ)上進(jìn)行基于數(shù)據(jù)塊解析的OLE對(duì)象漏洞分析。分析調(diào)試工具為Windbg[21],RTF分析文檔為3.1小節(jié)中的test.rtf,RTF文件解析程序?yàn)镸S Word 2010。
RTF文件中的 OLE對(duì)象數(shù)據(jù)保存在ObjectStream中,而ObjectStream內(nèi)部數(shù)據(jù)按照屬性進(jìn)行分類,具有相同屬性的數(shù)據(jù)屬于同一個(gè)數(shù)據(jù)塊,例如OCXNAME數(shù)據(jù)塊、Table數(shù)據(jù)塊,Contents數(shù)據(jù)塊等,因此ObjectStream中一般存在多個(gè)數(shù)據(jù)塊。RTF文件解析程序通過類標(biāo)識(shí)符(CLSID,class identifier)指定解析ObjectStream數(shù)據(jù)塊時(shí)調(diào)用的控件類型。分析發(fā)現(xiàn)在函數(shù)OLE32.ReadClassStg中讀取 OLE對(duì)象中的CLSID
BDD1F04B-858B-11D1-B16A-00-C0F0283628,該控件位于MSCOMCTL.OCX中。通過Windbg在解析該數(shù)據(jù)塊入口的位置處下斷點(diǎn),確定解析該數(shù)據(jù)塊的部分關(guān)鍵代碼如圖4所示。
圖2 OLE對(duì)象數(shù)據(jù)的頭部信息
圖3 RTF解析ObjectStream關(guān)鍵代碼
在圖4中,地址0x276008F1處調(diào)用的函數(shù)為OLE32.CExposedDocFile::openstream。該函數(shù)的作用是打開一個(gè)Stream流,通過其中一個(gè)參數(shù)[275E56A0]=Contents知道該處打開的是一個(gè)內(nèi)容為Contents的Stream流,因此這里實(shí)際上要解析的是OLE對(duì)象中的Contents數(shù)據(jù)塊。解析Contents數(shù)據(jù)塊前8個(gè)字節(jié)的關(guān)鍵代碼如圖5所示。
圖4 解析OLE對(duì)象數(shù)據(jù)部分關(guān)鍵代碼
在圖5中,地址0x2758AF04處調(diào)用的函數(shù)為OLE32.CExposedStream::Read,該函數(shù)的作用是讀入Stream流,其中第2個(gè)參數(shù)為要讀入數(shù)據(jù)返回的buffer,第3個(gè)參數(shù)為要讀入數(shù)據(jù)的大小。在這里buffer的地址為0x001278E4,是一個(gè)??臻g的地址,讀取的數(shù)據(jù)大小為0x08字節(jié),因此通過OLE32.CExposedStream::Read將Contents數(shù)據(jù)塊的前8個(gè)字節(jié)讀入棧空間。讀完后,在地址0x2758AF08和0x2758AF18處分別對(duì)讀入的數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)是否為固定數(shù)據(jù)0x12344321和0x08。如果校驗(yàn)成功,則繼續(xù)讀取Contents數(shù)據(jù)塊余下的數(shù)據(jù)。如果校驗(yàn)失敗,則退出該數(shù)據(jù)塊校驗(yàn)進(jìn)程。Contents數(shù)據(jù)塊其他數(shù)據(jù)的讀取方式也是將數(shù)據(jù)讀取至棧區(qū),再對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),其讀取校驗(yàn)過程如圖6所示。
從圖6可以看出,在讀取數(shù)據(jù)塊中的數(shù)據(jù)時(shí)不是一次性讀完,而是讀取其中一部分?jǐn)?shù)據(jù),邊讀邊校驗(yàn)。只有當(dāng)校驗(yàn)通過時(shí)才會(huì)繼續(xù)讀取數(shù)據(jù)直至數(shù)據(jù)讀取完畢,否則剩余數(shù)據(jù)也不會(huì)再讀取。根據(jù)圖6的流程,最終讀取的數(shù)據(jù)如下
2143341208000000746174696f6e00134E087 DEB010006001C000000000000000000000000060 001560A000001EFCDAB00000500985D65010700 000008000080050000800000000000000000000000 00000000001FDEECBD0100050090171900000008 00000049746D736400000002000000010000000C0 00000436F626A640000000800000008000000E537 46C4C69622E4
圖5 解析Contents數(shù)據(jù)塊部分關(guān)鍵代碼
在以上數(shù)據(jù)中,當(dāng)讀取校驗(yàn)Contents數(shù)據(jù)塊尾部中的0C000000436F626A6400000008000000 E53746C4C69622E4數(shù)據(jù)時(shí),讀入該部分?jǐn)?shù)據(jù)的關(guān)鍵解析代碼如圖7所示。
從圖7可以看出,在地址0x275C89CA處,通過sub esp,14h指令開辟0x14大小的空間用于存儲(chǔ) Contents數(shù)據(jù)塊尾部數(shù)據(jù),并在地址0x275C89DA處第1次調(diào)用函數(shù)MSCOMCTL.GetClassObject,該函數(shù)讀入數(shù)據(jù)關(guān)鍵代碼如圖8所示。
圖6 Contents數(shù)據(jù)塊的讀取校驗(yàn)流程
從圖8可以看出,在地址0x275C8783處,通 過 call dword ptr[eax+0Ch]調(diào) 用 OLE32.CExposedStream::Read函數(shù),從Contents數(shù)據(jù)塊尾部讀取1~4字節(jié)的數(shù)據(jù)至棧區(qū)。隨后在地址0x275C878D處,cmp dword ptr[ebp-4],edi指令校驗(yàn)讀入的數(shù)據(jù)是否和0x0C相等(參見圖7地址0x275c89d3處的push 0Ch)。如果不相等,則不讀取數(shù)據(jù);如果相等,則從數(shù)據(jù)塊中讀取0x0C字節(jié)數(shù)據(jù)至棧區(qū),并且對(duì)讀取數(shù)據(jù)中的前4個(gè)字節(jié)是否為0x6A626F43進(jìn)行校驗(yàn)。如果校驗(yàn)不成功,則退出當(dāng)前數(shù)據(jù)塊的解析;如果檢驗(yàn)成功,則判斷所讀取的0x0C字節(jié)數(shù)據(jù)中的后4個(gè)字節(jié)是否大于或等于0x08(參見圖7地址0x275c89f3處的cmp dword ptr[ebp-0Ch],8指令)。如果小于0x08,則不讀取數(shù)據(jù),并退出當(dāng)前數(shù)據(jù)塊的解析;如果大于或等于 0x08,則繼續(xù)調(diào)用函數(shù)MSCOMCTL.GetClassObject從數(shù)據(jù)塊中取4個(gè)字節(jié)的數(shù)據(jù)至棧區(qū)。根據(jù)圖8地址0x275C878D處的cmp dword ptr[ebp-4],edi指令,校驗(yàn)讀入棧區(qū)的數(shù)據(jù)是否和[ebp-0Ch]相等(參見圖7地址0x275c89fd處的push dword ptr[ebp-0Ch]指令)。如果不相等,則不讀取數(shù)據(jù),并退出當(dāng)前數(shù)據(jù)塊的解析;如果相等,則從數(shù)據(jù)塊中讀取[ebp-0Ch]字節(jié)數(shù)據(jù)至棧區(qū)。
圖7 解析Contents數(shù)據(jù)塊尾部數(shù)據(jù)關(guān)鍵代碼
圖8 MSCOMCTL.GetClassObject部分關(guān)鍵代碼
根據(jù)以上分析發(fā)現(xiàn),程序剛開始只開辟了0x14大小的??臻g,第1次讀取了0x0C字節(jié)數(shù)據(jù)至該區(qū)域。如果該區(qū)域中的最后4個(gè)字節(jié)大于或等于0x08,那么程序會(huì)繼續(xù)讀取數(shù)據(jù)至棧區(qū)。如果在接下來調(diào)用MSCOMCTL.GetClassObject時(shí),數(shù)據(jù)校驗(yàn)成功,就會(huì)讀入超過0x08個(gè)字節(jié)數(shù)據(jù)至棧區(qū),從而造成棧溢出。
3.3RTF的OLE對(duì)象漏洞分析流程
根據(jù)3.2節(jié)對(duì)OLE對(duì)象漏洞的分析,得到RTF中的OLE對(duì)象漏洞分析流程,如圖9所示。
圖9 RTF的OLE對(duì)象漏洞分析流程
從圖9可以看出,在解析RTF文件時(shí),首先確定包含的OLE對(duì)象類型,并將對(duì)象數(shù)據(jù)讀至緩沖區(qū)中;接著校驗(yàn)對(duì)象數(shù)據(jù),并對(duì)讀取校驗(yàn)成功數(shù)據(jù)的代碼進(jìn)行分析;最后根據(jù)代碼執(zhí)行流程,在數(shù)據(jù)塊中相應(yīng)位置構(gòu)造特征數(shù)據(jù),并判斷是否會(huì)造成溢出。如果不溢出,則讀取接下來的數(shù)據(jù);如果溢出,則定位漏洞。
本節(jié)將對(duì)3.3節(jié)提出的OLE對(duì)象漏洞分析流程進(jìn)行實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)環(huán)境為Intel(R)Core(TM)i5-3230M CPU、4 GB內(nèi)存、OS為Microsoft Windows 7 SP1。首先,通過一個(gè)實(shí)例測(cè)試本方法的正確性;然后,針對(duì)不同OLE對(duì)象的漏洞進(jìn)行測(cè)試,并與現(xiàn)有工具進(jìn)行比較,證明本方法具有更高的檢測(cè)效率;最后,通過構(gòu)造畸形測(cè)試用例來測(cè)試本方法的抗干擾性。
4.1實(shí)例測(cè)試
根據(jù)3.3節(jié)的分析流程,OLE對(duì)象數(shù)據(jù)是能否觸發(fā)漏洞的關(guān)鍵,只有在OLE對(duì)象類型中構(gòu)造合適的對(duì)象數(shù)據(jù)才能造成緩沖區(qū)溢出,觸發(fā)漏洞。在RTF的objocx對(duì)象類型中,首先通過3.2節(jié)對(duì)objdata對(duì)象數(shù)據(jù)的Contents數(shù)據(jù)塊尾部分析,發(fā)現(xiàn)由Contents數(shù)據(jù)塊尾部的第1至第4字節(jié)所構(gòu)成的8位16進(jìn)制數(shù)等于0x0C,且第5至第8字節(jié)的 8位 16進(jìn)制等于 0x6A626F43時(shí),即(4321)H=0x0C,(8765)H=0x6A626F43,才能將指定大小的數(shù)據(jù)復(fù)制到緩沖區(qū)中。該復(fù)制數(shù)據(jù)的大小由Contents數(shù)據(jù)塊尾部的第1至第4字節(jié)構(gòu)成的二進(jìn)制數(shù)決定,即(4321)H。根據(jù)圖9中的數(shù)據(jù)讀入和數(shù)據(jù)校驗(yàn)判斷條件構(gòu)造Contents數(shù)據(jù)塊尾部第1至第8字節(jié)的特征數(shù)據(jù)為0C000000436F626A,這樣可以使得第1次校驗(yàn)成功,而且會(huì)第2次調(diào)用MSCOMCTL.GetClassObject(參見圖8)。
接著,根據(jù)圖9中的數(shù)據(jù)溢出判斷條件,通過特征數(shù)據(jù)構(gòu)造方法,將objdata對(duì)象數(shù)據(jù)的Contents數(shù)據(jù)塊尾部第9至第20字節(jié)的數(shù)據(jù)構(gòu)造成 640000008800000088000000。最后,根據(jù)Contents數(shù)據(jù)塊尾部第9至第20字節(jié)構(gòu)造的數(shù)據(jù)在Contents數(shù)據(jù)塊尾部的剩余數(shù)據(jù)中構(gòu)造0x88大小的特征數(shù)據(jù)aaaa…。這樣,在第2次的MSCOMCTL.GetClassObject函數(shù)調(diào)用中,地址0x275C879E處調(diào)用Kernel32.HeapAlloc函數(shù)(參見圖8)開辟一段大小0x88字節(jié)堆空間,在地址0x275C87B5處調(diào)用函數(shù)OLE32.CExposedStream:: Read(參見圖8)繼續(xù)從數(shù)據(jù)塊中讀取大小為0x88字節(jié)數(shù)據(jù)至分配的堆空間中。最后,在地址0x275C87CB處調(diào)用指令 rep movs dword ptr es:[edi],dword ptr ds:[esi](參見圖8)將這些數(shù)據(jù)讀取至棧區(qū),如圖10所示。
圖10 棧溢出
從圖10可以看出,在數(shù)據(jù)塊中構(gòu)造的數(shù)據(jù)aaaa…成功讀入棧區(qū),并且造成溢出。通過這個(gè)實(shí)例證明了本文分析方法的正確性。
4.2與其他工具比較測(cè)試
下面通過Windbg的腳本調(diào)試功能,創(chuàng)建一個(gè)模擬Word 2010解析RTF中OLE對(duì)象漏洞流程的腳本文件。然后,通過Windbg對(duì)不同的漏洞樣本進(jìn)行測(cè)試,并與現(xiàn)有的RTFScan[18]和pyOLEscanner[19]工具進(jìn)行比較。這里選擇10個(gè)Word漏洞進(jìn)行測(cè)試,包括最常攻擊利用的漏洞(CVE-2010-3333、CVE-2012-0158、CVE-2012-1856、 CVE-2013-3906、 CVE-2014-1761和CVE-2014-6357)以及2015年新發(fā)現(xiàn)的OLE對(duì)象漏洞(CVE-2015-1770、CVE-2015-2424、CVE-2015-1641和CVE-2015-2369)。為了更好地對(duì)比3種不同的檢測(cè)方法,對(duì)每個(gè)CVE編號(hào)的漏洞通過構(gòu)造不同特征數(shù)據(jù)、變換Shellcode及其加密方式,并添加額外正常OLE控件等規(guī)則生成20個(gè)測(cè)試樣本(總共200個(gè)測(cè)試樣本),表4記錄了采用不同的方法檢測(cè)到的樣本數(shù)量。
表4 本文方法與其他工具的測(cè)試結(jié)果對(duì)比
CVE-2015-1770 0 12 14 CVE-2015-2424 0 0 12 CVE-2015-2369 0 0 11 CVE-2015-1641 2 13 17
從表4可以看出,對(duì)于CVE-2012-0158、CVE-2012-1856、CVE-2013-3906、CVE-2014-6357、CVE-2015-1770、CVE-2015-2424、CVE-2015-2369 和CVE-2015-1641,本文方法的檢測(cè)效果明顯優(yōu)于其他兩種方法,由于這8個(gè)漏洞都是典型的OLE對(duì)象漏洞,根據(jù)3.3節(jié),通過找到控件標(biāo)識(shí)符CLSID,隨后加載控件調(diào)用指定的控件解析對(duì)應(yīng)數(shù)據(jù)塊,而這8個(gè)漏洞的CLSID和控件都可以定位到,接著在讀取數(shù)據(jù)至緩沖區(qū)時(shí)進(jìn)行代碼分析,并通過樣本中的特征數(shù)據(jù)測(cè)試定位到漏洞。對(duì)于CVE-2010-3333和CVE-2014-1761,本文方法沒有檢測(cè)出異常樣本,經(jīng)分析發(fā)現(xiàn)這兩個(gè)漏洞分別是RTF繪圖屬性緩沖區(qū)溢出漏洞和RTF數(shù)組溢出漏洞,所以本文方法檢測(cè)不到該樣本。此外,對(duì)本文方法未檢測(cè)出的其他漏洞樣本分析發(fā)現(xiàn),主要是由于對(duì)象類型疊加或構(gòu)造的特征數(shù)據(jù)未造成溢出,從而檢測(cè)不到異常。pyOLEscanner的檢測(cè)效率優(yōu)于RTFScan,這是由于pyOLEscanner可以檢測(cè)文檔中是否還有宏和ActiveX等控件。例如,通過對(duì)OLE對(duì)象數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析,發(fā)現(xiàn)在解析CVE-2015-1770漏洞樣本數(shù)據(jù)時(shí),加載了ActiveX控件OSF.DLL,而pyOLEscanner存在OSF.DLL的解析模塊,因此可以檢測(cè)到該漏洞。RTFScan相比其他兩種方法,其檢測(cè)效率最差,能夠檢測(cè)到的各個(gè)漏洞測(cè)試樣本數(shù)量有限,主要原因是RTFScan靠檢測(cè)文檔中的Shellcode,隨著Shellcode以及加密技術(shù)的發(fā)展,文檔中的Shellcode越來越難以通過特征匹配的方式定位,因此對(duì)于比較復(fù)雜的漏洞樣本文件,RTFscan幾乎很難檢測(cè)到。
4.3抗干擾性測(cè)試
RTF解析程序不但可以正確地解釋基于文獻(xiàn)[12]語法規(guī)范生成的RTF文件,而且能夠忽略它不知道或者未使用的控制字,并且能正確地略過被*控制符標(biāo)記的部分。因此,RTF文件中往往存在沒有完全符合語法規(guī)范的數(shù)據(jù)格式。在實(shí)際的漏洞樣本中,為了躲避檢測(cè),經(jīng)常會(huì)在樣本中插入一些無意義的數(shù)據(jù)干擾漏洞檢測(cè)。由于本文提出的方法需要對(duì)object、objocx、OLE起始標(biāo)志位以及CLSID進(jìn)行分析, 因此本測(cè)試采用網(wǎng)絡(luò)上公開的300例測(cè)試用例對(duì)本文方法的抗干擾性進(jìn)行測(cè)試[22]。在這300例測(cè)試用例中,分別對(duì)object和objocx采用空格等字符進(jìn)行混淆,對(duì)OLE起始標(biāo)志位和CLSID采用轉(zhuǎn)義字符進(jìn)行混淆,表5分別列出了不同字段未檢測(cè)到的測(cè)試用例數(shù)目。
表5 抗干擾測(cè)試結(jié)果
在表5中可以看出,在300例的測(cè)試樣本中,總共有84例漏洞樣本未檢測(cè)出,其中object控制字35例,objdata控制字24例,OLE起始標(biāo)志位10例,CLSID 15例。通過對(duì)測(cè)試樣本的數(shù)據(jù)分析發(fā)現(xiàn),object和objocx的混淆影響檢測(cè)結(jié)果最嚴(yán)重。當(dāng)樣本中添加空格混淆,例如在樣本中控制字可以表現(xiàn)為object等類似變形的字符串時(shí),由于本文解析包含OLE對(duì)象的RTF文件時(shí),是通過查找標(biāo)記為object與objocx的字符串來確定包含的OLE對(duì)象類型,因此對(duì)檢測(cè)效果影響較大。CLSID和OLE起始標(biāo)志位由數(shù)據(jù)串組成,可 以采用 d 国产成人精品久久久久久| 亚洲欧美成人综合另类久久久| www.色视频.com| 成人18禁高潮啪啪吃奶动态图 | 妹子高潮喷水视频| 一区二区日韩欧美中文字幕 | 22中文网久久字幕| 国产男女内射视频| 亚洲国产最新在线播放| 丁香六月天网| 久久久久久久久久人人人人人人| 极品人妻少妇av视频| xxxhd国产人妻xxx| 国产欧美日韩一区二区三区在线 | 观看美女的网站| 亚洲av免费高清在线观看| 内地一区二区视频在线| 高清视频免费观看一区二区| 国产精品偷伦视频观看了| 亚洲欧洲日产国产| 51国产日韩欧美| 亚洲三级黄色毛片| 男女免费视频国产| 亚洲国产精品专区欧美| 插阴视频在线观看视频| 99热这里只有精品一区| 国产精品一区二区在线观看99| 观看av在线不卡| 夫妻午夜视频| 曰老女人黄片| 久热这里只有精品99| 久久人妻熟女aⅴ| 亚洲国产精品专区欧美| 国内精品宾馆在线| 青春草视频在线免费观看| 插逼视频在线观看| 精品久久蜜臀av无| 2021少妇久久久久久久久久久| 乱人伦中国视频| videosex国产| 日日撸夜夜添| 在现免费观看毛片| 午夜免费观看性视频| 午夜福利网站1000一区二区三区| 男女高潮啪啪啪动态图| 超碰97精品在线观看| 国产成人午夜福利电影在线观看| 超色免费av| 亚洲欧洲精品一区二区精品久久久 | 99热这里只有是精品在线观看| 亚洲丝袜综合中文字幕| 久久99精品国语久久久| 亚洲欧美日韩卡通动漫| 日日啪夜夜爽| 大话2 男鬼变身卡| 欧美另类一区| 建设人人有责人人尽责人人享有的| 国产午夜精品一二区理论片| 黄片无遮挡物在线观看| 国产高清有码在线观看视频| 久久久久久久大尺度免费视频| 久久精品国产亚洲av涩爱| 中文欧美无线码| 丰满迷人的少妇在线观看| 韩国av在线不卡| 热99久久久久精品小说推荐| 如日韩欧美国产精品一区二区三区 | av卡一久久| 91久久精品国产一区二区成人| 97在线人人人人妻| 精品人妻在线不人妻| 永久网站在线| 一区二区av电影网| 视频中文字幕在线观看| 国产精品99久久99久久久不卡 | 亚洲欧美色中文字幕在线| 99re6热这里在线精品视频| 亚洲欧美一区二区三区黑人 | 在线观看人妻少妇| 性高湖久久久久久久久免费观看| av在线观看视频网站免费| 日韩制服骚丝袜av| 2018国产大陆天天弄谢| 国精品久久久久久国模美| 热99国产精品久久久久久7| 麻豆乱淫一区二区| av在线播放精品| 一本大道久久a久久精品| 99热6这里只有精品| 国产69精品久久久久777片| 三上悠亚av全集在线观看| 精品卡一卡二卡四卡免费| 九九久久精品国产亚洲av麻豆| xxx大片免费视频| 久久ye,这里只有精品| 亚洲精品国产av成人精品| 久久久久网色| 亚洲丝袜综合中文字幕| 亚洲av中文av极速乱| 在线观看国产h片| 精品人妻熟女av久视频| 国产色婷婷99| 日韩人妻高清精品专区| 国产视频首页在线观看| 天堂俺去俺来也www色官网| 国产av一区二区精品久久| 母亲3免费完整高清在线观看 | 国产成人精品一,二区| 精品酒店卫生间| 男人操女人黄网站| 美女内射精品一级片tv| 乱码一卡2卡4卡精品| 亚洲人成77777在线视频| 女人精品久久久久毛片| av不卡在线播放| 三上悠亚av全集在线观看| 99国产综合亚洲精品| 搡女人真爽免费视频火全软件| 久久影院123| 久热久热在线精品观看| 国产精品.久久久| 国产欧美日韩综合在线一区二区| 高清毛片免费看| 十八禁网站网址无遮挡| 亚洲伊人久久精品综合| 免费日韩欧美在线观看| 欧美人与善性xxx| 国产 一区精品| 我的女老师完整版在线观看| 在现免费观看毛片| 秋霞伦理黄片| 超色免费av| 免费观看无遮挡的男女| 国产日韩欧美亚洲二区| 欧美精品一区二区大全| 国产高清国产精品国产三级| 亚洲精品456在线播放app| 国产精品一区二区三区四区免费观看| 国产欧美日韩综合在线一区二区| 啦啦啦视频在线资源免费观看| 18禁观看日本| 国产熟女欧美一区二区| 亚洲精品国产色婷婷电影| 欧美精品亚洲一区二区| 日日摸夜夜添夜夜添av毛片| 少妇人妻久久综合中文| 热99国产精品久久久久久7| 国产午夜精品一二区理论片| 汤姆久久久久久久影院中文字幕| 黄色怎么调成土黄色| 成年av动漫网址| 不卡视频在线观看欧美| 日韩制服骚丝袜av| 免费黄色在线免费观看| 国产欧美亚洲国产| 国产一区亚洲一区在线观看| 最近的中文字幕免费完整| 国产av一区二区精品久久| 欧美人与性动交α欧美精品济南到 | 97精品久久久久久久久久精品| av在线老鸭窝| 欧美三级亚洲精品| 国产亚洲欧美精品永久| 日本黄色片子视频| 成人免费观看视频高清| 91久久精品国产一区二区三区| 午夜激情福利司机影院| 国产欧美亚洲国产| 黑人高潮一二区| 一本久久精品| 99久久精品一区二区三区| freevideosex欧美| 亚洲欧美清纯卡通| 免费人成在线观看视频色| 亚洲国产精品一区二区三区在线| 制服人妻中文乱码| 国产爽快片一区二区三区| av.在线天堂| 久久人人爽人人爽人人片va| 少妇熟女欧美另类| 国产成人精品在线电影| 国产亚洲欧美精品永久| 亚洲av在线观看美女高潮| 美女脱内裤让男人舔精品视频| 亚洲精品乱久久久久久| 国产日韩欧美视频二区| 波野结衣二区三区在线| 男女国产视频网站| 在线亚洲精品国产二区图片欧美 | 美女内射精品一级片tv| 中国美白少妇内射xxxbb| av免费观看日本| 一二三四中文在线观看免费高清| 大又大粗又爽又黄少妇毛片口| 亚洲av欧美aⅴ国产| 日韩av免费高清视频| 亚洲精品中文字幕在线视频| 人体艺术视频欧美日本| 一级毛片电影观看| 亚洲精品乱码久久久v下载方式| 亚洲av二区三区四区| 国产国拍精品亚洲av在线观看| 水蜜桃什么品种好| 成人亚洲欧美一区二区av| 一本—道久久a久久精品蜜桃钙片| 老司机亚洲免费影院| 久久毛片免费看一区二区三区| 91aial.com中文字幕在线观看| 91久久精品国产一区二区成人| 一级毛片aaaaaa免费看小| 婷婷色麻豆天堂久久| 国产精品一区二区在线不卡| 18禁观看日本| 国产成人精品无人区| 久久99热这里只频精品6学生| 久久精品国产亚洲av天美| 男女啪啪激烈高潮av片| 人人妻人人添人人爽欧美一区卜| 日韩亚洲欧美综合| 九草在线视频观看| 一边亲一边摸免费视频| 97在线人人人人妻| 一区二区三区精品91| 最后的刺客免费高清国语| 日韩视频在线欧美| 少妇被粗大猛烈的视频| 下体分泌物呈黄色| 丝袜喷水一区| 国产精品偷伦视频观看了| 丝袜美足系列| 国产精品不卡视频一区二区| www.色视频.com| 国产精品嫩草影院av在线观看| 两个人免费观看高清视频| 成人手机av| 我要看黄色一级片免费的| 少妇被粗大的猛进出69影院 | 欧美人与性动交α欧美精品济南到 | 国产精品.久久久| 久久久久视频综合| 美女国产高潮福利片在线看| 女性生殖器流出的白浆| 一级毛片电影观看| 新久久久久国产一级毛片| 母亲3免费完整高清在线观看 | 国产免费一级a男人的天堂| 久久97久久精品| 亚洲国产毛片av蜜桃av| 母亲3免费完整高清在线观看 | 国产精品一国产av| 热99国产精品久久久久久7| 免费大片黄手机在线观看| 成人国产av品久久久| 亚洲不卡免费看| 欧美日韩一区二区视频在线观看视频在线| 欧美性感艳星| 日韩视频在线欧美| 成人国产av品久久久| 国产精品蜜桃在线观看| a 毛片基地| 老司机亚洲免费影院| 国产欧美日韩一区二区三区在线 | 狠狠婷婷综合久久久久久88av| 国产精品一国产av| 国产亚洲午夜精品一区二区久久| 99热这里只有是精品在线观看| 精品少妇黑人巨大在线播放| 只有这里有精品99| 亚洲av电影在线观看一区二区三区| 国模一区二区三区四区视频| 91精品国产九色| 人人妻人人澡人人爽人人夜夜| 精品国产一区二区久久| 热99国产精品久久久久久7| 又黄又爽又刺激的免费视频.| 国产精品一区二区在线观看99| 久久精品久久久久久噜噜老黄| 免费黄色在线免费观看| 全区人妻精品视频| 久久 成人 亚洲| 精品视频人人做人人爽| 亚洲怡红院男人天堂| 亚洲av综合色区一区| 99国产综合亚洲精品| 一区二区三区四区激情视频| 99久久精品一区二区三区| 女人精品久久久久毛片| 纯流量卡能插随身wifi吗| 成年美女黄网站色视频大全免费 | 高清视频免费观看一区二区| 精品久久国产蜜桃| 亚洲不卡免费看| 亚洲精品自拍成人| 色婷婷av一区二区三区视频| 日本色播在线视频| 亚洲精品乱码久久久久久按摩| 一本色道久久久久久精品综合| 老司机影院成人| 热99久久久久精品小说推荐| 男的添女的下面高潮视频| av一本久久久久| 老司机影院成人| 在线观看免费视频网站a站| 22中文网久久字幕| 亚洲精品av麻豆狂野| 久久精品国产亚洲av天美| 另类亚洲欧美激情| 欧美日韩在线观看h| 亚洲欧洲精品一区二区精品久久久 | 国产成人精品一,二区| 日韩欧美一区视频在线观看| 夜夜看夜夜爽夜夜摸| 久久99精品国语久久久| 亚洲国产欧美在线一区| 一本一本综合久久| 国产免费又黄又爽又色| 亚洲av中文av极速乱| 一级二级三级毛片免费看| 国产色爽女视频免费观看| 国产伦精品一区二区三区视频9| 99热6这里只有精品| 欧美精品一区二区大全| 午夜福利影视在线免费观看| 国产成人一区二区在线| 久久午夜综合久久蜜桃| 国产淫语在线视频| 777米奇影视久久| 亚洲国产成人一精品久久久| 美女主播在线视频| 丰满饥渴人妻一区二区三| 日韩av在线免费看完整版不卡| 一区二区三区免费毛片| 久久国产精品大桥未久av| 一级二级三级毛片免费看| 老女人水多毛片| 视频区图区小说| 亚洲五月色婷婷综合| 国产成人精品无人区| 日日摸夜夜添夜夜爱| 亚洲三级黄色毛片| 午夜久久久在线观看| 亚洲精品乱码久久久v下载方式| 国产一区二区在线观看日韩| 妹子高潮喷水视频| 中文欧美无线码| 久久久久网色| 日韩制服骚丝袜av| 建设人人有责人人尽责人人享有的| 不卡视频在线观看欧美| 中文字幕最新亚洲高清| 精品人妻在线不人妻| 成人国语在线视频| 亚洲国产成人一精品久久久| 22中文网久久字幕| 啦啦啦中文免费视频观看日本| 精品99又大又爽又粗少妇毛片| 在线天堂最新版资源| 91久久精品国产一区二区三区| 国产无遮挡羞羞视频在线观看| 尾随美女入室| 综合色丁香网| 少妇被粗大的猛进出69影院 | 国产精品人妻久久久影院| 免费黄网站久久成人精品| 久久精品国产自在天天线| 久久精品夜色国产| 永久网站在线| 熟女人妻精品中文字幕| 亚洲av二区三区四区| 亚洲精品久久午夜乱码| 国产精品不卡视频一区二区| 青春草亚洲视频在线观看| 久久久国产欧美日韩av| av免费观看日本| 18禁在线无遮挡免费观看视频| 亚洲av成人精品一区久久| 免费观看a级毛片全部| 三级国产精品片| 男的添女的下面高潮视频| 国产精品久久久久久精品电影小说| 亚洲经典国产精华液单| 成人无遮挡网站| 久久鲁丝午夜福利片| 精品久久久久久久久av| 国产av一区二区精品久久| av又黄又爽大尺度在线免费看| 国产成人精品一,二区| 亚洲国产av新网站| 九九爱精品视频在线观看| 街头女战士在线观看网站| 国产视频内射| 亚洲精品视频女| 中文字幕精品免费在线观看视频 | 国产一区二区在线观看日韩| 三上悠亚av全集在线观看| 欧美精品一区二区免费开放| 亚洲精品456在线播放app| 久久久午夜欧美精品| 大香蕉97超碰在线| 国产熟女欧美一区二区| 丝袜美足系列| 99国产综合亚洲精品| 啦啦啦视频在线资源免费观看| 国产精品一区二区三区四区免费观看| 日本爱情动作片www.在线观看| 成年人免费黄色播放视频| 久久午夜综合久久蜜桃| 亚洲久久久国产精品| 成人18禁高潮啪啪吃奶动态图 | 亚洲av男天堂| 少妇精品久久久久久久| 十分钟在线观看高清视频www| 国产高清三级在线| 大码成人一级视频| 在线观看免费视频网站a站| 中文精品一卡2卡3卡4更新| 亚洲精品国产av蜜桃| 九九久久精品国产亚洲av麻豆| 午夜精品国产一区二区电影| 99久久中文字幕三级久久日本| 国产一级毛片在线| 国产精品无大码| 性色av一级| 2022亚洲国产成人精品| 三级国产精品片| 亚洲第一区二区三区不卡| 9色porny在线观看| 午夜福利影视在线免费观看| 一本一本综合久久| 国产探花极品一区二区| 国产一区二区在线观看日韩| 一级毛片电影观看| av线在线观看网站| 夜夜爽夜夜爽视频| 亚洲精品视频女| 大片免费播放器 马上看| 一个人看视频在线观看www免费| 国产精品免费大片| 亚洲三级黄色毛片| 国产国语露脸激情在线看| 水蜜桃什么品种好| 我的老师免费观看完整版| 在线观看美女被高潮喷水网站| 久久久久久久亚洲中文字幕| 草草在线视频免费看| 亚洲精品成人av观看孕妇| 国产免费现黄频在线看| 日本av手机在线免费观看| 亚洲第一av免费看| 国产欧美日韩综合在线一区二区| 水蜜桃什么品种好| 99精国产麻豆久久婷婷| 男人添女人高潮全过程视频| 中文字幕人妻丝袜制服| av国产精品久久久久影院| 国产免费又黄又爽又色| 亚洲av成人精品一二三区| 少妇人妻精品综合一区二区| 成人亚洲欧美一区二区av| av国产精品久久久久影院| 精品一区二区三卡| 亚洲欧美成人综合另类久久久| 久久久久网色| 亚洲经典国产精华液单| 成人影院久久| 精品人妻一区二区三区麻豆| 免费播放大片免费观看视频在线观看| 纯流量卡能插随身wifi吗| 久久久久久伊人网av| 一个人免费看片子| 一级片'在线观看视频| 男女无遮挡免费网站观看| 一本色道久久久久久精品综合| 考比视频在线观看| 一级二级三级毛片免费看| 成人亚洲精品一区在线观看| 丰满少妇做爰视频| 日韩av不卡免费在线播放| 曰老女人黄片| 日本色播在线视频| 在线亚洲精品国产二区图片欧美 | 欧美精品亚洲一区二区| 日本午夜av视频| 欧美成人精品欧美一级黄| 久久久久久伊人网av| 高清在线视频一区二区三区| 亚洲内射少妇av| 亚洲精品久久成人aⅴ小说 | 久久久精品区二区三区| 精品国产一区二区久久| 中文字幕亚洲精品专区| 亚洲色图 男人天堂 中文字幕 | 久久久久久久久大av| 亚洲国产色片| 亚洲经典国产精华液单| 欧美性感艳星| 久久亚洲国产成人精品v| 欧美国产精品一级二级三级| 国产亚洲av片在线观看秒播厂| 一级,二级,三级黄色视频| 亚洲国产av影院在线观看| 亚洲欧美日韩另类电影网站| 看十八女毛片水多多多| 欧美少妇被猛烈插入视频| 涩涩av久久男人的天堂| 99热网站在线观看| 国产无遮挡羞羞视频在线观看| 只有这里有精品99| 亚洲国产色片| 亚洲人成77777在线视频| 嫩草影院入口| 久久精品国产亚洲av涩爱| 男女高潮啪啪啪动态图| 少妇被粗大的猛进出69影院 | www.av在线官网国产| 一二三四中文在线观看免费高清| 亚洲,欧美,日韩| 最近手机中文字幕大全| 男女免费视频国产| 国产一级毛片在线| 日韩中文字幕视频在线看片| 国产av一区二区精品久久| 国精品久久久久久国模美| 最近中文字幕2019免费版| 久久人人爽人人片av| 亚洲天堂av无毛| 日本91视频免费播放| 一级片'在线观看视频| 欧美日本中文国产一区发布| 日韩欧美精品免费久久| 亚洲精品,欧美精品| 欧美 日韩 精品 国产| 亚洲综合色网址| 日韩视频在线欧美| 亚洲欧美日韩卡通动漫| 久久女婷五月综合色啪小说| 国产精品熟女久久久久浪| 男人操女人黄网站| 97在线人人人人妻| 一级二级三级毛片免费看| 日本免费在线观看一区| 91在线精品国自产拍蜜月| 人妻制服诱惑在线中文字幕| 丰满迷人的少妇在线观看| 欧美一级a爱片免费观看看| 国产成人精品婷婷| 91成人精品电影| 男人操女人黄网站| 亚洲成人一二三区av| 最新的欧美精品一区二区| 男人爽女人下面视频在线观看| 寂寞人妻少妇视频99o| 欧美 亚洲 国产 日韩一| 国产男女超爽视频在线观看| 丰满乱子伦码专区| a级片在线免费高清观看视频| 国产男女内射视频| 少妇的逼水好多| 欧美少妇被猛烈插入视频| 日日摸夜夜添夜夜添av毛片| 夫妻午夜视频| 久久狼人影院| 久久久精品94久久精品| 国产色婷婷99| 最近最新中文字幕免费大全7| 久久久久久久亚洲中文字幕| 国产成人免费观看mmmm| 飞空精品影院首页| 有码 亚洲区| 亚洲在久久综合| 一本一本综合久久| 一区二区三区精品91| 国产高清三级在线| 久久99热这里只频精品6学生| 99精国产麻豆久久婷婷| 啦啦啦啦在线视频资源| 精品一区二区免费观看| 国产伦理片在线播放av一区| 久久韩国三级中文字幕| 亚洲精品乱码久久久久久按摩| 十八禁高潮呻吟视频| 少妇人妻 视频| 国产精品久久久久久久久免| av免费在线看不卡| 亚洲,欧美,日韩| 插阴视频在线观看视频| 日本色播在线视频| 久热这里只有精品99| 中文字幕av电影在线播放| 久久久亚洲精品成人影院| 中文字幕亚洲精品专区| 亚洲欧洲精品一区二区精品久久久 | 熟女av电影| 亚洲av免费高清在线观看| 欧美亚洲 丝袜 人妻 在线| 国产成人精品一,二区| 免费观看无遮挡的男女| 纵有疾风起免费观看全集完整版| 亚洲精品乱码久久久v下载方式| 久久人人爽人人爽人人片va| 成人亚洲精品一区在线观看| 男人爽女人下面视频在线观看| 亚洲怡红院男人天堂| 人人妻人人爽人人添夜夜欢视频| 99久久综合免费| 日产精品乱码卡一卡2卡三| 国产亚洲一区二区精品| 少妇的逼好多水| 亚洲成人av在线免费| 人妻系列 视频| 国产一区亚洲一区在线观看| 高清视频免费观看一区二区| 国产精品一区www在线观看| 亚洲美女黄色视频免费看| 99久久精品一区二区三区|