展開
湖北國(guó)聯(lián)計(jì)算機(jī)科技有限公司
  • 首頁HOME
  • 公司簡(jiǎn)介INTRODUCTION
  • 安全防御DEFENSE
  • 軟件開發(fā)SOFTWARE
  • 物聯(lián)網(wǎng)IOT
  • 運(yùn)行維護(hù)SRE
  • 成功案例CASE
  • 聯(lián)系我們CONTACT
  • IndustryEvents |業(yè)界動(dòng)態(tài)

    如何禁用軟件DLL劫持(Disable DLL Hijacking)
    來源:吾愛破解論壇 時(shí)間:2021-10-16

    前言

    越來越多的木馬使用DLL劫持功能進(jìn)行加載,大家也經(jīng)常做補(bǔ)丁使用DLL劫持功能進(jìn)行破解,有沒有想過如何進(jìn)行防護(hù)了?本文介紹通過修改文件manifest屬性進(jìn)行定向位置加載和動(dòng)態(tài)加載簽名校驗(yàn)來解決劫持問題,給開發(fā)者提供一些防護(hù)思路,加強(qiáng)軟件保護(hù),防止被劫持利用。

    介紹

    木馬:如早期的犇牛木馬,使用偽裝LPK.DLL、USP10.DLL系統(tǒng)DLL進(jìn)行劫持加載傳播感染,到如今各種流氓軟件和APT組織使用DLL劫持正常軟件繞過安全軟件攔截,如使用偽裝chrome.dll劫持Chrome.exe來實(shí)現(xiàn)加載,其中比較知名APT組織海蓮花(OceanLotus)最為擅長(zhǎng)。

    破解補(bǔ)丁:Windows平臺(tái)加密殼發(fā)展到如今階段,脫殼成本提升和自校驗(yàn)的加強(qiáng),已經(jīng)很少有直接通過文件Patch進(jìn)行補(bǔ)丁破解了,基本都開始使用內(nèi)存修改的方式進(jìn)行補(bǔ)丁,相對(duì)于傳統(tǒng)的啟動(dòng)進(jìn)程再修改內(nèi)存的方式,DLL劫持修改內(nèi)存更為方便,DLL劫持補(bǔ)丁已經(jīng)成為主流的破解補(bǔ)丁存在方式了。為什么可以進(jìn)行DLL劫持了,本文不再贅述,可以參看微軟官方的介紹:https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order。

    防護(hù)方法

    1、對(duì)于系統(tǒng)DLL,不通過修改本機(jī)KnownDLLs進(jìn)行單機(jī)防護(hù),而是通過修改文件manifest屬性進(jìn)行定向加載DLL來解決通用系統(tǒng)DLL劫持問題,開發(fā)者可以看微軟的manifest介紹:

    >https://docs.microsoft.com/en-us/windows/win32/sbscs/application-manifests。

    比如我們給程序添加以下代碼

    復(fù)制代碼 隱藏代碼

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assemblymanifestVersion="1.0"xmlns="urn:schemas-microsoft-com:asm.v1">
    <filename="winmm.dll"loadFrom="%SystemRoot%\system32\winmm.dll" />
    <filename="lpk.dll"loadFrom="%SystemRoot%\system32\lpk.dll" />
    <filename="version.dll"loadFrom="%SystemRoot%\system32\version.dll" />
    </assembly>

    編譯成功后再進(jìn)行winmm.dll、lpk.dll和version.dll劫持,就會(huì)無效了,這里只添加了部分DLL,可以根據(jù)自己程序所需,把對(duì)應(yīng)所有的導(dǎo)入表中的系統(tǒng)DLL都加入即可。對(duì)于二次開發(fā)的程序沒有源代碼如何進(jìn)行修改了?我們可以使用ResEdit等資源工具進(jìn)行修改,如圖所示:


    2、對(duì)于非系統(tǒng)第三方DLL,上面的方法就不太適用了,可以使用動(dòng)態(tài)加載方式,不要使用靜態(tài)導(dǎo)入方式加載,通過動(dòng)態(tài)加載對(duì)文件進(jìn)行校驗(yàn),如數(shù)字簽名校驗(yàn)通過后再進(jìn)行加載,來保證程序的安全性。

    結(jié)語

    未知攻焉知防,充分了解攻擊手段才才可以做出更好的防御。



    荊州地區(qū)政府網(wǎng)站建設(shè) 解決方案 專業(yè)團(tuán)隊(duì) 騰訊第三方平臺(tái) 地址:湖北省荊州市沙市區(qū)荊沙大道楚天都市佳園一期C區(qū)29棟112       地址:湖北省松滋市新江口街道才知文化廣場(chǎng)1幢1146-1151室     郵編:434200 聯(lián)系電話:0716-6666211     網(wǎng)站編輯部郵箱:business@gl-ns.com 鄂公網(wǎng)安備 42100202000212號(hào) 備案號(hào):鄂ICP備2021015094號(hào)-1     企業(yè)名稱:湖北國(guó)菱計(jì)算機(jī)科技有限公司