免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

這篇文章將為大家詳細講解有關從剖析CS木馬生成到開發免殺工具的過程是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創新互聯公司基于成都重慶香港及美國等地區分布式IDC機房數據中心構建的電信大帶寬,聯通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業成都服務器托管報價,主機托管價格性價比高,為金融證券行業服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業成都idc公司。

木馬是黑客實施網絡攻擊的常用兵器之一,有些木馬可以通過免殺技術的加持躲過殺毒軟件的查殺。本文旨在通過剖析CS木馬生成過程以及開發免殺工具,幫助大家更好地理解CS木馬的Artifact生成機制。

Cobaltstrike是用于紅隊行動、APT攻擊模擬的軟件,它具備很強大的協同能力和難以置信的可擴展性。

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

無論是編寫 shellcode,創建自定義的 C2二進制可執行文件,還是修改代碼來隱藏惡意程序,它們都是紅隊日常工作的一部分,閱讀和理解成熟的C2框架代碼也是理所當然的事情。

CobaltStrike是如何生成ShellCode的

CS是使用Swing進行UI開發的,代碼中直接找對話框對應操作類。

+ `aggressor\dialogs\WindowsExecutableDialog.class`

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

可以看到很清晰的生成邏輯。

protected byte[] stager;

@Override
public void dialogAction(final ActionEvent actionEvent, final Map options) {
    this.options = options;
    this.stager = DialogUtils.getStager(options);
    if (this.stager.length == 0) {
        return;
    }
    final String string = options.get("output") + "";
    String s = "";
        if (string.indexOf("EXE") > -1) {
            s = "artifact.exe";
        }
        else if (string.indexOf("DLL") > -1) {
            s = "artifact.dll";
        }
        SafeDialogs.saveFile(null, s, this);
    }

通過 DialogUtils.getStager() 獲得生成的 stager 然后通過 saveFile 保存文件。

getStager() 方法調用了 aggressor\DataUtils.shellcode() ,而這里其實是Stagers的接口。

return Stagers.shellcode(s, "x86", b);

最終在 stagers\Stagers.shellcode() 根據監聽器類型,

實例化了繼承自的 GenericStager 的 stagers\GenericHTTPStager 類,并由 generate() 生成shellcode

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

shellcode生成時,讀取了resources/httpstager.bin,并根據監聽器的host和port等值組合為Packer

最終替換到多個X、Y占位的bin文件中,最后返回bytes[] 類型的shellcode

Patch Artifact

shellcode生成完成后,回到原點,可以看到根據用戶的選擇,對不同的 artifact 模板進行 patch ,以 x86 的模板為例,
繼續跟進 patchArtifact

new ArtifactUtils(this.client).patchArtifact(this.stager, "artifact32.exe", s);

+ `common\BaseArtifactUtils.class`

public byte[] patchArtifact(final byte[] array, final String s) {
    final Stack<Scalar> stack = new Stack<Scalar>();
    stack.push(SleepUtils.getScalar(array));
    stack.push(SleepUtils.getScalar(s));
    final String format = this.client.getScriptEngine().format("EXECUTABLE_ARTIFACT_GENERATOR", stack);
    if (format == null) {
        return this.fixChecksum(this._patchArtifact(array, s));
    }
    return this.fixChecksum(CommonUtils.toBytes(format));
}

稍微看一下 fixChecksum ,是通過 PE 編輯器修復了校驗碼。

這里不贅述了,對編輯器實現感興趣的可以去看看 pe\PEEditor.class

final PEEditor peEditor = new PEEditor(array);
peEditor.updateChecksum();
return peEditor.getImage();

注意看這里 this._patchArtifact(array, s) ,調用了同名方法,PS:差點以為在看Python

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

讀取了 resources 文件夾下的 artifact32.exe 作為模板文件,根據重復的1024個 A 來定位shellcode 位置。

與生成shellcode時類似,使用common/CommonUtils.replaceAt()對bytes流轉為的字符串進行編輯替換。

public static String replaceAt(final String s, final String s2, final int n) {
    final StringBuffer sb = new StringBuffer(s);
    sb.delete(n, n + s2.length());
    sb.insert(n, s2);
    return sb.toString();
}

使用16進制編輯器可以直接看到用于標志存放 shellcode 的位置。

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

值得一提的是,替換shellcode之后的pe文件,因為shellcode長度沒有完全覆蓋到標識的1024個A,一般生成的exe都會殘留部分字符,當然這并不會影響shellcode的執行。從剖析CS木馬生成到開發免殺工具的過程是怎樣的

Shellcode Launcher

利用加載器遠程回連獲取下一階段 payload 加載到內存中執行以規避殺軟的探測,這種 VirtualAlloc到 WriteProcessMemory 的分配內存模式早已被眾多遠控木馬軟件廣泛利用。

CS開發者在其最新的介紹視頻中披露了部分 artifact 的源碼,并演示了如何通過修改加載器繞過了Defender 的查殺。

他通過用 HeapAlloc 來代替 VitualAlloc ,躲避了大部分的殺軟。

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

在這個基礎上,我們添加了對shellcode進行異或加密的功能,顯然一個非常精簡的基于c++的shellcode加載器就成形了。

然后參考CS的方式,在本應放置shellcode的buf中,置入大量重復的占位符作為定位。

python -c "print(1024*'A')"

用VisualStudio或MingW將其編譯為 template.exe

開發免殺小工具

然后新建一個 JavaFx 的項目,樣式與部分代碼參考某chaos免殺小助手。

捋下流程,首先需要對CS或MSF的shellcode進行預處理,然后進行異或加密,讀取模板文件,定位到shellcode位置,進行覆蓋,最后保存。

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

有很多類直接可以從CS復制過來就能用。

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

重點看下xor,為了跟launcher解密一致,需要先轉換為int類型進行異或,然后再轉回hex,最終打包為 jar

從剖析CS木馬生成到開發免殺工具的過程是怎樣的

生成veil類型的payload,復制粘貼,生成, 保存。從剖析CS木馬生成到開發免殺工具的過程是怎樣的從剖析CS木馬生成到開發免殺工具的過程是怎樣的

最終免殺效果取決于Launcher模板,作為一個非常精簡、沒什么改動的模板,效果已經出乎意料了。

畢竟目的并非追求免殺效果,而應注重于理解CS木馬的Artifact生成機制。

關于從剖析CS木馬生成到開發免殺工具的過程是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網站名稱:從剖析CS木馬生成到開發免殺工具的過程是怎樣的
分享網址:http://m.newbst.com/article6/jesoig.html

成都網站建設公司_創新互聯,為您提供品牌網站制作靜態網站品牌網站建設網站排名企業建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設