lnk
??lnk在Windows平臺下是快捷方式,可以指向其他目錄下的檔案,并且可以傳遞引數,現在有些惡意活動會惡意利用lnk,執行惡意代碼,
??關于lnk的格式,可以使用010 editor的模板功能,快速識別,
??如果滑鼠右鍵創建快捷方式,可以在目標中輸入執行的命令,但是字串最長為260位元組,

??可以將過長的命令放在其他位置去執行,也可以對lnk本身進行修改,從而去除字符數限制,
??現在的lnk啟動命令很容易被攔截,不過可以了解一下,
??可以簡單粗暴地右鍵創建一個lnk檔案,拖進010 editor,用模板跑一下,

??可以看到實際上COMMAND_LINE_ARGUMENTS的長度可以支持到16-bit大小(0xffff),修改成大于260的值,之后插入增大位元組數量的2倍(因為支持的是Unicode格式字符)空白空間,在其中寫入命令,
??也可以在中間加大量空格,最后末尾加上惡意命令,這樣限于圖形視窗中的260顯示大小,可以一定程度上隱藏自身,
關于圖示
??假如不修改圖示的話,快捷方式的圖示將顯示為指向的可執行程式的圖示,可以在右鍵選單中通過"更改圖示",
??可以選擇系統dll中攜帶的檔案圖示,比如說%systemroot%\\system32\\shell32.dll,

??在lnk檔案中的變化主要體現在ShellLinkHeader的LinkFlags結構體中的HasIconLocation標志位置為1;IconIndex為使用的icon在目標中的下標;最后是緊接在COMMAND_LINE_ARGUMENTS后的ICON_LOCATION欄位,lnk使用的icon所在的檔案,本文中是“%systemroot%\system32\shell32.dll”,



轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/237.html
標籤:Windows
