<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>
    南館瀟湘

    有哪些簡單的可免殺的編譯方式

    分享
  • 上官雨寶 2 CISM-WSE 中級信息安全等級測評師
    上官雨寶2 CISM-WSE 中級信息安全等級測評師

    有以下這些簡單的可免殺的編譯方式:

    • 特征修改:一個加載器存在兩個明顯的特征,一個是shellcode和硬編碼字符串。我們需要消除這些特征,比較方便使用一個簡單的異或加密就能消除shellcode的特征。第二個是加載器的關聯特征也需要消除,通過加入無意義的代碼干擾反病毒引擎。

    • 花指令免殺:花指令其實就是一段毫無意義的指令,也可以稱之為垃圾指令。花指令是否存在對程序的執行結果沒有影響,所以它存在的唯一目的就是阻止反匯編程序,或對反匯編設置障礙。

    • 加殼免殺:簡單地說,軟件加殼其實也可以稱為軟件加密(或軟件壓縮),只是加密(或壓縮)的方式與目的不一樣罷了。殼就是軟件所增加的保護,并不會破壞里面的程序結構,當我們運行這個加殼的程序時,系統首先會運行程序里的殼,然后由殼將加密的程序逐步還原到內存中,最后運行程序。當我們運行這個加殼的程序時,系統首先會運行程序的“殼”,然后由殼將加密的程序逐步還原到內存中,最后運行程序。加殼雖然對于特征碼繞過有非常好的效果,加密殼基本上可以把特征碼全部掩蓋,但是缺點也非常的明顯,因為殼自己也有特征,主流的殼如VMP, Themida等等。

    • 內存免殺:shellcode直接加載進內存,避免文件落地,可以繞過文件掃描。但是針對內存的掃描還需對shellcode特征做隱藏處理。對windows來說,新下載的文件和從外部來的文件,都會被windows打上標記,會被優先重點掃描。而無文件落地可以規避這一策略。同時申請內存的時候采用漸進式申請,申請一塊可讀寫內存,再在運行改為可執行。最后,在執行時也要執行分離免殺的策略。

    • 分離免殺:整個shellcode加載器分為兩個部分,分離下載shellcode和執行。通常殺軟只檢測一個進程的行為,所以如果存在兩個惡意進程通過進程間通信就能逃過檢測、達到免殺。分離免殺的方法多種多樣,既可以用windows的管道,也可以用socket通信,這樣就可以做到shellcode不落地。

  • 寫回答
    亚洲 欧美 自拍 唯美 另类