精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

驗證Windows內核漏洞的框架

安全 漏洞
在內核級的漏洞(操作系統本身或者硬件驅動)中,有一項就是我們常說的’任意寫(write-what-where)’[1]。 為便于分析, 很有必要寫個基本的框架,對給定的’任意寫(write-what-where)’漏洞進行封裝,并驗證其對操作系統的利用。要把任意的寫操作轉換為攻擊利用,需要三個基本的步驟。

Pwn2Own大賽之后,HP的0day防御計劃(Zero Day Initiative, ZDI) 并不要求研究者給我們提供相關攻擊利用。ZDI的分析師對每個提交的案例進行評估,可能也會挑選一些進行全面的攻擊利用。

[[114008]]

在內核級的漏洞(操作系統本身或者硬件驅動)中,有一項就是我們常說的’任意寫(write-what-where)’[1]。 為便于分析, 很有必要寫個基本的框架,對給定的’任意寫(write-what-where)’漏洞進行封裝,并驗證其對操作系統的利用。

要把任意的寫操作轉換為攻擊利用,需要三個基本的步驟, 我們將來逐一介紹。

禁用Windows訪問權限檢查的負載

Windows訪問控制系統的核心是nt!SeAccessCheck函數。它決定著我們是否有權訪問操作系統中的對象(文件,進程等等)。

我們將采用的手法,于1992年由Greg Hoglund[2]首次提及, 2006年由John Heasman改進使用[3]。 這里將采用后者作為我們的起點。 

original 01 

關鍵點在于高亮標注的內容。 如果是出于對用戶態進程的檢查,那么操作系統就會檢查確認是否具有正確的權限。 但如果是內核態的,就會永遠成功。 那么我們的目標,就是對Windows內核進行動態補丁,使其根據設置的AccessMode認為該訪問檢查調用是針對內核的。

在Windows XP上,這是非常簡單的。 如果我們在IDA里檢查內核(這里,我們處理的是ntkrnlpa.exe), 在SeAccessCheck實現中發現如下的代碼:

PAGE:005107BC xor ebx, ebx
PAGE:005107BE cmp [ebp+AccessMode], bl
PAGE:005107C1 jnz short loc_5107EC

由于在wdm.h中KernelMode被定義為0,我們只需將比較語句之后的條件跳轉Nop掉,這樣所有的訪問權限檢查就能順利通過了。

在XP之后的版本中,情況變得有點復雜了。Nt!SeAccessCheck函數調用了nt!SeAccessCheckWithHint, 后者正是我們要處理的。在后面我們收集用于攻擊的信息時,就會看到這如何使得問題復雜化了。在Windows8.1中,會看到沒有跳轉到內核函數,而是這樣的分支:

.text:00494613 loc_494613:
.text:00494613 cmp [ebp+AccessMode], al
.text:00494616 jz loc_494B28

僅需將條件跳轉替換為無條件跳轉,即可使得對SeAccessCheck的調用好像來自內核一樣。

現在目標清楚了,但還有一個小問題要解決。 我們要改寫的內存地址在只讀頁中。 我們可以更改頁的屬性設置,但有個更簡單的解決方法。在x86和x64處理器上,在控制寄存器0 (Control Register 0)上有個標志決定著管態下的代碼(即Ring 0代碼,我們的攻擊利用代碼)是否在乎內存的只讀狀態。 引用Barnaby Jack[4]的話:

禁用CR0中的寫保護位。

執行代碼和內存改寫。

再恢復寫保護位。

到這里,我們實際的攻擊利用核心代碼如下所示: 

original 02 

我們對寫保護位的處理還有一個問題。我們要將攻擊利用和處理器進行關聯,確保我們始終處于設定的處理器的核心上。 我們對寫保護位的處理似乎是非必須的, 但在更復雜的,要求我們禁用SMEP(稍后介紹)的攻擊利用中,這著實是個事。 無論哪種方式,都可以的,我們要做的,就是一個簡單的調用:

1SetProcessAffinityMask(GetCurrentProcess(), (DWORD_PTR)1);

此時,你會注意到在攻擊代碼中,我們實際上并不知道具體的補丁信息。該攻擊代碼僅是獲取我們提供的信息,然后應用它。我們將在實際的漏洞研究中提供這些信息。#p#

攻擊:將控制轉給攻擊代碼

我們有了讓代碼在Ring 0運行的條件了。 現在需要兩件事來使其運行:關于操作系統配置的信息,以及當處理器運行在管態時如何將控制權轉移給我們的代碼。

由于最初是想處理’任意寫(write-what-where)’問題, 這里我們將改寫HalDispatchTable中的一個函數。 該方法,在2007年由Ruben Santamarta[5]提及, 允許我們將執行流轉向我們的攻擊利用代碼。

我們將攔截處理的是hal!HalQuerySystemInformation函數。該函數由未文檔化的NtQueryIntervalProfile[5][6]函數調用,而且調用函數也不常用。 要理解它為啥很重要,我們就需要詳細的談下windows中的內存布局。

Windows將內存劃分為兩個大區間:內核態的內存空間在MmUserProbeAddress之上, 其下是用戶態的內存空間。 內核態的內存是所有進程共用的(雖然進程代碼無法訪問這些空間),而用戶態的內存空間是因進程而異的。由于我們的攻擊利用代碼要運行在用戶進程空間中,而我們卻在掛鉤一個內核函數指針, 如果其他進程調用了NtQueryIntervalProfile,很可能就會導致操作系統的崩潰。 因此,我們攻擊利用的第一步就是恢復原始的函數指針。 

original 03 

在我們之前的代碼里,你可以看到我們依賴額外的信息來確定函數指針入口所在,以及原始值。

現在,我們實際的攻擊利用觸發函數如下所示: 

original 04 

為了靈活性,我們的WriteWhatWhere()函數原型也包括了地址的原始值。最后一步就是找到利用點和攻擊利用掛鉤的地址。#p#

研究:確定操作系統的配置

這里,我們假設進行本地提權。我們可以在系統上以某用戶權限執行任意代碼, 最終的目標是取得對系統的完全控制權。 在對內核漏洞的遠程攻擊中,確定操作系統的配置會更復雜。

已經確定需要知道如下的信息:

1) nt!HalDispatchTable的地址

2) hal!HaliQuerySystemInformation的地址

3) nt!SeAccessCheck 或者相關函數中要打補丁的代碼的地址

4) 要補丁的值

此外,我們也需要查找原始的值,以便我們恢復原始函數功能,進行不同的利用。畢竟,一旦我們完成了所需做的,干嘛還把門敞著呢?

我們需要知道兩個內核模塊的基址——硬件抽象層(HAL)和NT內核自身。為了獲取這些,我們還需要一個未文檔化的函數——NtQuerySystemInformation[6][7]。 因為我們需要知道兩個函數,我們將提前創建函數原型,并從NTDLL中直接加載它們: 

original 05 

下一步就是確定所使用模塊的版本信息,以及它們在內存中的實際位置。利用NtQuerySystemInformation獲取加載的模塊,然后遍歷查詢所需的模塊名稱。 

original 06 

下一步,在大多數情況是很壞的主意,但在這里不是。使用LoadLibraryEx已經過時的特性, 加載我們找到的模塊的拷貝(duplicate copies)。 

original 07 

設置了這個標志, 我們就不會加載任何引用的模塊, 不執行任何的代碼, 但仍然可以使用GetProcAddress()來搜尋模塊。這正是我們想要的, 因為我們要把這些加載的模塊當作我們的源碼,來查詢在實際運行的內核代碼中所需的。

此時,我們已經具備了查找偏移所需的一切。有了拷貝的內核模塊的基址,系統的實際基址, 所以我們可以將拷貝中的相對虛擬地址(RVA)轉換為實際的系統地址。同時我們又擁有對拷貝代碼的讀取權,所以可以掃描代碼查詢所需的函數。 所剩的最后一件事,就是一個windows調用,用GetVersionEx()來決定運行的windows的版本。

有些很容易, 因為地址已經導出了: 

original 08 

但我們所需的大部分,還是要通過搜索獲取。要搜索的兩個函數,其中hal!HaliQuerySystemInformation沒有導出符號, 另一個是nt!SeAccessCheck或者它直接調用的函數。

再看最后一個例子,來看看是如何處理導出函數和那些完全私有函數的。首先是nt!SeAccessCheck: 

original 09 

然后看一下將要進行補丁處理的nt!SeAccessCheckWithHint: 

original 10 

這里,兩個函數看上去是相鄰的, 但我們還是要使用公開的函數來跟蹤對這些內部函數的引用,然后據此確定我們的補丁位置。 代碼如下所示: 

original 11 

這里的PatternScan函數是一個簡單的輔助處理,根據給定的指針、掃描的大小范圍,要掃描的模式及其大小,來查找模式匹配的起始點(如果沒有找到就是NULL)。

在上面的代碼中,首先搜索到nt!SeAccessCheckWithHint的相對跳轉,并獲取到偏移。

將其用于計算我們的拷貝模塊中nt!SeAccessCheckWithHint的實際起始位置,然后掃描查找我們要替換的條件分支的模式部分。 一旦定位成功, 就可以確定它的實際地址——首先將其轉換為相對虛擬地址(RVA),然后根據實際加載的內核映像進行重定位。最后,相應的替換值還是依賴于具體的操作系統版本的。這里對JZ(0x0f 0×84)的替換是NOP(0×90)和JMP(0xe9)。

通過從拷貝的系統模塊中收集所需信息,對多個不同版本的Windows操作系統的處理都可以放在同一個框架下進行。 通過在目標函數中搜索有關模式, 只要不是我們要查找的函數發生了變化,其他的我們都可以有效的應對。#p#

最后的麻煩

目前我們所做的一切都可以正常運行,直到Windows 8, 更確切的說,是NT6.2內核。為方便起見,我們將實際的攻擊利用代碼運行在用戶態中。

在Ivy-Bridge架構中,Intel引入了一種叫做管態執行保護(Supervisor Mode Execute Protection, SMEP)[9]的功能。如果開啟了此項功能,當處理器在管態模式下,我們試圖執行用戶態地址空間中的指令時,處理器就會出錯。這樣將控制權從內核中攔截的函數指針轉換給我們的代碼時,就會發生異常。Windows在Windows8/Server 2012中支持SMEP,而且在支持的處理器中是默認開啟的。要解決這個問題,我們要么把攻擊利用代碼移到內核空間中(這在NT6.2中也比較難), 要么就是禁用SMEP[11][12]。

最后存在的問題出現在Windows 8.1中。 要獲取Windows 8.1的真正版本號, 需要額外的處理,根據MSDN[13]: 

original 12 

包含了這個,就能正確的檢測Windows 8.1了,在確定偏移時適當的調整一下我們的搜索參數即可。

結束語

當然了,這里有缺少的部分。利用框架來驗證攻擊利用是很有幫助的,我們還需要一個‘任意寫(write-what-where)’的案例來對對此進行驗證。

我們內部就是在使用該框架在驗證那些漏洞,如果你有啥新的發現,可以通過http://www.zerodayinitiative.com/提交給我們(有沒有攻擊負載都可以)。期待你的消息。

原文:http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Verifying-Windows-Kernel-Vulnerabilities/ba-p/6252649#.UyZi2T-Sy0f

注解

[1] 我對此能找到的最早使用是在Gerardo Richarte的論文“About Exploits Writing(GCON 1, 2002)”他將其劃分為“將任意的內容寫到某處”(write-anything-somewhere)和“將任意的內容寫到任意地方”(write-anything-anywhere)。這里,我們的“任意寫”(write-what-where)是指“將任意內容寫到任意地方”(write-anything-anywhere)。

[2] Greg Hoglund, “A *REAL* NT Rootkit, patching the NT Kernel” (Phrack 55, 1999)

[3] John Heasman, “Implementing and Detecting an ACPI BIOS Rootkit” (Black Hat Europe, 2006)

[4] Barnaby Jack, “Remote Windows Kernel Exploitation – Step In To the Ring 0” (Black Hat USA, 2005) [White Paper]

[5] Ruben Santamarta, “Exploiting Common Flaws in Drivers” (2007)

[6] Windows NT/2000 Natvie API Reference (Gary Nebbett, 2000) 雖然沒有囊括較新的Windows 操作系統版本,但它對內部Windows API函數和結構仍然是一份很棒的參考

[7] Alex Ionescu, “I Got 99 Problems But a Kernel Pointer Ain’t One” (RECon, 2013)

[8] Raymond Chen, “LoadLibraryEx(DONT_RESOLVE_DLL_REFERENCES) is fundamentally flawed” (The Old New Thing)

[9] Varghese George, Tom Piazza, and Hong Jiang, “Intel Next Generation Microarchitecture Codename Ivy Bridge” (IDF, 2011)

[10] Ken Johnson and Matt Miller, “Exploit Mitigation Improvements in Windows 8” (Black Hat USA, 2012)

[11] Artem Shishkin, “Intel SMEP overview and partial bypass on Windows 8” (Positive Research Center)

[12] Artem Shisken and Ilya Smit, “Bypassing Intel SMEP on Windows 8 x64 using Return-oriented Programming” (Positive Research Center)

[13] MSDN, “Operating system version changes in Windows 8.1 and Windows Server 2012 R2”

參考讀物

Enrico Perla and Massimiliano Oldani, A Guide to Kernel Exploitation: Attacking the Core, (Syngress, 2010)

bugcheck and skape, “Kernel-mode Payloads on Windows”, (Uninformed Volume 3, 2006)

skape and Skywing, “A Catalog of Windows Local Kernel-mode Backdoor Techniques”, (Uninformed Volume 8, 2007)

mxatone, “Analyzing local privilege escalations in win32k”, (Uninformed Volume 10, 2008)

 

責任編輯:藍雨淚 來源: IDF實驗室
相關推薦

2024-12-17 16:09:36

2017-03-10 20:26:27

2013-05-23 10:48:14

EPATHOBJ 0d0day漏洞

2021-07-19 10:10:15

身份驗證漏洞Windows Hel

2009-08-13 16:28:07

windows2008密碼驗證

2010-11-29 14:05:29

2023-09-11 06:59:59

2010-08-09 09:09:18

2009-10-21 14:31:15

漏洞補丁

2017-01-15 23:46:37

2009-03-18 10:55:50

2021-02-20 06:08:07

LinuxWindows內核

2022-12-01 14:28:38

2019-06-18 07:12:25

驗證碼漏洞加密

2020-10-12 09:43:41

iOS 14漏洞蘋果

2013-05-13 09:52:52

Windows內核Linux內核

2024-12-13 15:40:54

2012-01-04 13:08:30

2011-03-23 14:54:34

2022-05-06 14:40:32

漏洞補丁Android
點贊
收藏

51CTO技術棧公眾號

久久久av一区| 亚洲一区在线观看网站| 国产福利精品av综合导导航| 1024在线看片| 一区二区三区高清在线观看| 亚洲成人资源网| 日韩国产美国| www.久久精品.com| 久久精品免费| 久久成人免费视频| 亚洲熟妇一区二区三区| 4438五月综合| 色哟哟亚洲精品| 欧美a级黄色大片| 猫咪在线永久网站| 国产一区二区三区免费观看| 欧美一级黄色网| 日韩视频中文字幕在线观看| 一道本一区二区三区| 91精品婷婷国产综合久久性色 | 一区二区三区波多野结衣在线观看| 粉嫩高清一区二区三区精品视频 | 久久艳妇乳肉豪妇荡乳av| 亚洲字幕av一区二区三区四区| 黄色亚洲在线| 日韩有码在线播放| 国产精品无码一区二区三区| 91精品国产自产精品男人的天堂| 欧美综合视频在线观看| 国产极品在线视频| 深夜国产在线播放| 国产精品日日摸夜夜摸av| 精品国产乱码久久久久久108| 国产普通话bbwbbwbbw| 日韩成人av影视| 98精品国产高清在线xxxx天堂| 日韩激情小视频| 精品国产一区一区二区三亚瑟| 亚洲黄色www网站| 国产乱女淫av麻豆国产| 日本h片久久| 色婷婷久久久综合中文字幕 | 国产专区一区二区| av一区二区三| 国产又粗又猛又爽又黄91精品| 国产精品亚洲片夜色在线| 国产伦精品一区二区三区视频网站| 伊人影院久久| 97国产真实伦对白精彩视频8| 欧美精品乱码视频一二专区| 国产精品videosex性欧美| 永久免费看mv网站入口亚洲| 插吧插吧综合网| 婷婷激情久久| 亚洲欧洲第一视频| 欧美黄色激情视频| 国产影视一区| 视频直播国产精品| 日韩av手机在线免费观看| 99久久www免费| 久久偷看各类女兵18女厕嘘嘘| 91免费公开视频| 欧美激情精品久久久六区热门| 欧美人与性动交a欧美精品| 九九视频免费看| 精品1区2区3区4区| 91精品国产乱码久久久久久久久| 在线观看亚洲欧美| 老司机免费视频久久| 一道本成人在线| 国产男女在线观看| 日韩免费va| 欧美色精品在线视频| 9l视频白拍9色9l视频| 国产成人免费视频网站视频社区| 欧美一级理论片| 亚洲自拍偷拍麻豆| 成人在线免费高清视频| 日韩少妇视频| 五月婷婷综合在线| 丰满少妇在线观看| 91麻豆精品国产综合久久久| 欧美成人高清电影在线| 天堂久久久久久| 日韩欧美网址| 欧美肥婆姓交大片| 天堂а√在线中文在线新版 | 激情婷婷综合| 久久精品国产久精国产一老狼| 久草视频免费播放| 香蕉国产精品偷在线观看不卡| 国产精品普通话| 亚洲av无码乱码在线观看性色| 92精品国产成人观看免费 | 一区二区电影在线观看| 欧美黑人xxxⅹ高潮交| 少妇太紧太爽又黄又硬又爽| 久久国产乱子精品免费女| 成人自拍偷拍| 成年人视频在线看| 亚洲图片欧美综合| 艹b视频在线观看| 精品国产一区二区三区不卡蜜臂| 一区二区在线视频播放| 九九视频免费在线观看| 热久久一区二区| 国外成人免费视频| 久久bbxx| 在线免费精品视频| 国产精品久久久久野外| 精品国产一区二区三区久久久樱花| 久久99视频精品| 一二区在线观看| 久久久久综合网| 欧美中文字幕在线观看视频| 啪啪av大全导航福利综合导航| 亚洲黄色在线看| 欧美一区二区三区爽爽爽| 久久久久一区| 精品国产乱码一区二区三区四区| 国产婷婷视频在线| 欧洲亚洲精品在线| 无套内谢大学处破女www小说| 亚洲国产日韩欧美在线| 日韩av手机在线看| 无码国产伦一区二区三区视频| 亚洲欧洲精品天堂一级| 北条麻妃av高潮尖叫在线观看| 成人香蕉社区| 久久99久国产精品黄毛片入口| 亚洲无码久久久久| 国产日韩欧美激情| 999精品网站| 西野翔中文久久精品国产| 久久久久久久国产| 亚洲成a人片在线| 亚洲免费在线看| 亚洲精品在线视频播放| 欧美xxxxx视频| 日韩av理论片| 超碰免费97在线观看| 日本高清免费不卡视频| 亚洲av片不卡无码久久| 亚洲色诱最新| 久久99影院| 人在线成免费视频| 精品亚洲永久免费精品| 久久黄色精品视频| 2024国产精品| 国产精品一区二区三区免费| av毛片在线| 日韩午夜激情av| 久久久久亚洲av成人片| 国产很黄免费观看久久| 一二三在线视频| 2020国产精品极品色在线观看| 精品视频9999| 秋霞视频一区二区| 婷婷综合另类小说色区| 色呦呦一区二区| 日韩电影在线一区二区三区| 日韩免费电影一区二区三区| 日韩专区视频| 欧美成人精品在线播放| 少妇喷水在线观看| 色综合久久88色综合天天免费| 免费视频91蜜桃| 精品一区二区免费在线观看| 女女百合国产免费网站| 风间由美中文字幕在线看视频国产欧美| 欧美精品videos性欧美| 深夜视频在线免费| 欧美亚洲综合在线| 欧美一级片在线免费观看| 一区视频在线看| 久久久久欧美| 国产精品99精品一区二区三区∴| 久久精品视频在线| 人妻无码一区二区三区久久99 | 久久人人97超碰com| 国产成人久久婷婷精品流白浆| 日本一区二区免费高清| 97久久人人超碰caoprom欧美| 成人福利电影| 国产亚洲视频中文字幕视频| 国产欧美一区二区三区视频在线观看| 亚洲va欧美va国产va天堂影院| 男人舔女人下部高潮全视频| 国内精品第一页| 播放灌醉水嫩大学生国内精品| 日韩在线精品| 国产在线精品日韩| 亚洲国产91视频| 欧美一区二区三区免费观看| 蜜桃av在线免费观看| 天天综合天天综合色| 亚洲自拍偷拍图| 福利视频网站一区二区三区| 乱子伦视频在线看| 欧美日韩国产欧| 亚洲欧美精品在线观看| 狠狠一区二区三区| 成人网中文字幕| 亚洲天堂资源| 欧美激情videos| 麻豆av一区二区| 凹凸精品一区二区三区| 一区二区三区欧美| 粉嫩精品久久99综合一区| 成人sese在线| 午夜av中文字幕| 日韩国产精品久久久久久亚洲| 国产精品日韩三级| 久久视频国产| 蜜桃av色综合| 成人影院中文字幕| 成人免费网视频| 日韩精品三区| 高清一区二区三区日本久| 毛片在线播放a| 亚洲天堂成人在线| 天天操天天干天天操| 91精品国产综合久久蜜臀| 国产一级片免费在线观看| 午夜国产精品影院在线观看| 中文字幕亚洲欧美日韩| 国产精品久线在线观看| 在线观看日本中文字幕| 99精品国产一区二区三区不卡| 手机看片国产精品| 老司机午夜精品| 黄色三级视频在线| 视频一区欧美精品| 午夜肉伦伦影院| 国产视频一区免费看| 黄色a级片免费看| 伊人青青综合网| 成年人黄色在线观看| 精品久久不卡| 水蜜桃一区二区三区| 国产日产精品一区二区三区四区的观看方式 | 小早川怜子影音先锋在线观看| 欧美激情视频给我| 深夜国产在线播放| 欧美高清视频在线| 欧洲在线视频| 欧美高清视频在线播放| 麻豆av在线播放| 国语自产偷拍精品视频偷| 国产极品人妖在线观看| 久久久久中文字幕2018| 2018av在线| 91精品国产91久久久| 在线观看特色大片免费视频| 日韩免费在线观看视频| 日韩不卡免费高清视频| 国产精品久久av| 亚洲色图综合| 97在线电影| 中文字幕乱码人妻综合二区三区 | 亚洲成人激情社区| 茄子视频成人在线| 欧美精品高清| 91精品久久久久| 日本高清久久| 极品日韩久久| 国模吧精品视频| 一区二区在线观看网站| 伊人久久大香线蕉综合四虎小说 | 天堂精品视频| 天天影视天天精品| 黄色网在线视频| 亚洲一区国产一区| av无码精品一区二区三区| 麻豆91在线观看| 久久免费精品国产| 久久久99久久| 日韩在线中文字幕视频| 五月综合激情日本mⅴ| 国产精品无码粉嫩小泬| 91精品婷婷国产综合久久性色| 三级小视频在线观看| 亚洲天堂第二页| 深夜国产在线播放| 国产98色在线| 亚洲天堂中文字幕在线观看| 免费一区二区三区在在线视频| 国产高清一区| 日本精品免费在线观看| 麻豆极品一区二区三区| 91精品啪在线观看国产| 黄频网站在线观看| 精品国产31久久久久久| 又污又黄的网站| 精品国产乱码久久久久久夜甘婷婷| 亚洲欧美日韩免费| 日韩亚洲欧美中文在线| f2c人成在线观看免费视频| 国产精品成人国产乱一区| 视频在线一区| 日日噜噜噜噜夜夜爽亚洲精品| 欧美视频一区| 91香蕉视频导航| av一二三不卡影片| 欧美a级片免费看| 欧美性猛xxx| 国产v在线观看| 国产一区二区日韩精品欧美精品| 亚洲综合影视| 国产女同一区二区| 天天躁日日躁狠狠躁欧美| 国风产精品一区二区| 久久精品国产一区二区三区免费看| 日韩少妇一区二区| 亚洲人精品午夜| 在线观看免费视频a| 亚洲人成在线播放| 色戒汤唯在线观看| 91九色对白| 午夜精品久久久久久久四虎美女版| 亚洲中文字幕久久精品无码喷水| 丁香六月久久综合狠狠色| 成人自拍小视频| 欧美视频中文字幕| 国产三级视频在线看| 欧美亚洲国产成人精品| 精品欠久久久中文字幕加勒比| 国产经典久久久| 激情图片小说一区| 女人十八毛片嫩草av| 欧美综合天天夜夜久久| 嫩草研究院在线| 日本成人激情视频| 欧美电影完整版在线观看| 亚洲熟妇无码av在线播放| 国产在线观看一区二区| 亚洲熟女毛茸茸| 欧美日韩精品欧美日韩精品| 福利成人在线观看| 国产精品第二页| gogogo高清在线观看一区二区| 午夜精品久久久内射近拍高清| jiyouzz国产精品久久| 国产手机在线视频| 亚洲国产精品99久久| 黑人极品ⅴideos精品欧美棵| 亚洲综合中文字幕在线观看| 在线国产一区二区| 伊人免费视频二| 一区二区三区在线影院| 好男人在线视频www| 高清在线视频日韩欧美| 亚洲伊人春色| 无人在线观看的免费高清视频 | 欧美亚洲国产免费| 老牛嫩草一区二区三区日本| 一道本在线观看| 欧美日韩午夜影院| 黄色av免费在线| 99国精产品一二二线| www视频在线观看免费| 欧美视频在线一区| av播放在线| 91亚洲精品久久久| 欧美精品国产一区| 国产真实乱人偷精品| 欧美丝袜第一区| a天堂中文在线88| 亚洲一区二区三| 亚洲精品123区| 真实乱视频国产免费观看| 欧美日免费三级在线| 欧美卡一卡二| 麻豆蜜桃91| 蓝色福利精品导航| 久久高清无码视频| 亚洲乱码一区av黑人高潮| 国产一区高清| 日本免费成人网| 久久久久久久久蜜桃| 亚洲天堂手机在线| 欧美激情视频在线免费观看 欧美视频免费一 | 国产高清精品一区二区三区| 9色国产精品| 成人午夜免费影院| 亚洲大尺度美女在线| 成人网ww555视频免费看| 日本黄网站色大片免费观看| 91色在线porny| 91黄色在线视频| 91超碰caoporn97人人| 久久亚洲在线| 少妇被狂c下部羞羞漫画| 欧美丝袜丝nylons| 超碰在线97国产| 亚洲视频精品一区| aa级大片欧美| 国产同性人妖ts口直男| 亚洲 日韩 国产第一| 婷婷中文字幕一区|