超詳細(xì)之dll劫持+打包釣魚(yú)詳細(xì)教程
dll劫持

1.dll劫持產(chǎn)生條件
1.dll能否被劫持:
不再'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session?Manager\KnownDLLs'注冊(cè)表中
2.其dll是EXE程序首先加載的DLL,而不是依賴其他DLL加載的。
3.DLL確實(shí)被加載進(jìn)內(nèi)存中
2.判斷dll是否可以劫持。
2.1手動(dòng)方法
利用進(jìn)程查看軟件,查看dll是否存'KnownDlls'注冊(cè)表中。
進(jìn)程查看工具:ProcessExplorer/ProcessMonitor/火絨劍
ProcessExplorer
下載地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

ProcessMonitor 下載地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procmon

火絨劍

根據(jù)進(jìn)程查看的dll和注冊(cè)表進(jìn)行對(duì)比
win7及以上:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs

notepad為例:6版本之前的SciLexer.dll存在dll劫持。注冊(cè)表中沒(méi)有SciLexer.dll。進(jìn)程notepad調(diào)用到了SciLexer.dll。說(shuō)明SciLexer.dll可能存在dll劫持。

2.2自動(dòng)審計(jì)
常見(jiàn)的幾種工具:
1.Ratter(虛擬機(jī)中出錯(cuò)不知道為啥)https://github.com/sensepost/rattler/releases

2.DLL Hijack Auditor

3.dll_hijack_detect
https://github.com/adamkramer/dll_hijack_detect/releases
4.ChkDllHijackhttps://github.com/anhkgg/anhkgg-tools

2.3測(cè)試
利用自動(dòng)化驗(yàn)證dll劫持發(fā)現(xiàn)sxs.dll可能存在劫持

msf生成dll,彈出計(jì)算機(jī)。
復(fù)制
msfvenom -p windows/exec CMD = calc.exe EXITFUNC=thread -f dll -o sxs.dll
1.可以替換可能存在dll劫持的文件。
2.可以使用dll注入工具,進(jìn)行劫持文件
2.1dll注入工具

2.2使用InjectProc注入
InjectProc --dll注入工具https://github.com/secrary/InjectProc/releases
InjectProc.exe dll_inj joker.dll notepad.exe
注入成功

3.dll注入+重新打包
采用方法:shellcode--dll--pe導(dǎo)入dll--nsis重新打包
3.1cs生成shellcode
利用攻擊->生成后門(mén)->語(yǔ)言類后門(mén)->C語(yǔ)言

3.2利用DLL注入攻擊工具
利用DLL注入攻擊工具把shellcode生成dll文件。
會(huì)在同目錄下生成conf.inf 和wwwcomw.dll兩個(gè)文件


3.3利用PE工具把DLL導(dǎo)入EXE
把上述生成的文件放到需要劫持的目錄下。
采用PE查看器,把上述shellcode生成的dll中的函數(shù)導(dǎo)入到exePE表中。
把EXE放入到PE查看中-->選擇函數(shù)-->隨便選擇一個(gè)右鍵Add New ImportDLL選擇->選擇函數(shù)->添加到列表->輸入表列表中選中剛剛添加到內(nèi)容,最后點(diǎn)擊添加即可。



3.4上線

4 nsis重新打包
上述完成后,本地劫持完成,這里使用nsis重新打包,進(jìn)行釣魚(yú)。
4.1準(zhǔn)備工作
源安裝包
源文件的ico圖標(biāo)提取。
復(fù)制

4.2打包
選擇可視化腳步編輯器
復(fù)制

安裝需求填寫(xiě)
復(fù)制


應(yīng)用程序默認(rèn)目錄,本地安裝一次最好,看一下本地默認(rèn)安裝的目錄
例如:C:\Program Files (x86)\VPN(本地)
然后修改本地安裝了,防止沖突,設(shè)置成了VPN1
復(fù)制

選擇需要打包的目錄,把每個(gè)字目錄選中。
復(fù)制




編譯成功
復(fù)制

打包成功
對(duì)比一下,下面為最新打包,上面為源文件,文件大小差距。除了沒(méi)有數(shù)字簽名
復(fù)制

打包之類成功安裝。
復(fù)制

成功上線
復(fù)制

默認(rèn)可過(guò)火絨,360動(dòng)態(tài)被殺,需要在dll生成進(jìn)行免殺。
復(fù)制
