免殺雜談

小新07發表於2024-04-06

0.零散知識

0x00 新增圖示:

嘗試了幾種大眾方法,感覺還是這篇文章的方法好用
https://www.sqlsec.com/2020/10/csexe.html#%E6%B7%BB%E5%8A%A0%E5%9B%BE%E6%A0%87

0x01 新增簽名:

sigthief下載地址:https://github.com/secretsquirrel/SigThief
python sigthief.py -i "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" -t C:\Users\xx\Desktop\Project1.exe -o 1.exe

0x02 降低熵值

熵值也是一些殺軟查殺的條件之一,把shellcode和loader分開能有效降低熵值

0x03 免殺入門雜談文章推薦

  • https://xz.aliyun.com/t/13332?time__1311=mqmxnDBG0QiQPGNDQ0KBKg77x9YreDcjYoD&alichlgref=https%3A%2F%2Fxz.aliyun.com%2F%3Fpage%3D3
  • https://myzxcg.com/archives/
  • 淺析殺軟系列:https://0range-x.github.io/2022/03/31/%E6%B5%85%E6%9E%90%E6%9D%80%E8%BD%AF/
  • 閒談免殺:https://cloud.tencent.com/developer/article/2368173
  • 載入器總結:https://www.cnblogs.com/henry666/p/17429771.html
  • https://www.cnblogs.com/fdxsec/p/17827348.html
  • 回撥函式載入器總結:https://www.freebuf.com/articles/web/269158.html
  • 免殺技術彙總:https://blog.csdn.net/jentle8/article/details/126771022

0x05 隱藏視窗

360會檢測這個,例如遠端載入shellcode360不會殺,但是加上隱藏視窗會殺,但是我們必須隱藏視窗,所以只能另外修改其他特徵,例如隱藏視窗加上遠端載入加上異常處理就不會殺
1.ShowWindow(GetConsoleWindow(), SW_HIDE);
2.#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
3.我們將主函式改成WinMain,幾個引數意義如下:

  • hInstance:當前例項的控制代碼。
  • hPrevInstance:先前例項的控制代碼,在現代的Windows系統中這個引數總是NULL。
  • lpCmdLine:命令列引數,是一個指向以空字元結尾的字串的指標。
  • nCmdShow:指定視窗應該以何種形式顯示。
#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // ... 其他初始化工作 ...

  // 建立視窗並顯示
  HWND hWnd = CreateWindow(/* 建立視窗的引數 */);
  ShowWindow(hWnd, SW_HIDE);  // 將視窗隱藏起來
    return 0;
}

0x06 nt、zw等底層函式查詢網站

http://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FMemory%20Management%2FVirtual%20Memory%2FNtProtectVirtualMemory.html

1.殺軟總結

參考了橘神的文章和自己的嘗試,橘神的部落格就是上面淺析殺軟系列那一篇。

1x0 eset

  • 上線方面

loader使用shellcode分離的方式

  • 操作方面

不是企業版沒碰到有攔截一些常規操作,eset是一個對行為操作極其敏感的殺軟。所以在對抗行為檢測類殺軟的時候,cs儘量使用模組化外掛的方式去獲取cmd或者pw回顯資訊。

1x1 卡巴斯基

記憶體掃描能力很強,預設的cs beacon會被檢測

  • 上線方面

修改cs的profile,卡巴接觸不多,我也沒辦法多說什麼

  • 操作方面

常規操作是不攔截的

1x2 火絨

  • 上線方面

沒啥注意,火絨有本地沙箱內建了一個本地的虛擬化環境,但是感覺火絨沙箱稍微好過

  • 操作方面

不要去做一些亂搞的配置,很容易繞過,不要隨意使用提權工具
心跳間隔不要過短

1x3 360

  • 360核心防護

開啟了核晶防護之後,需要操作是受限的,大部分的CMD命令是無法使用的,判斷是否開啟核晶防護,上傳EXE執行提升拒絕訪問,就算上線了,becaon下執行cmd命令提示拒絕訪問

  • 上線方面

如果有核晶防護,DLL白加黑解決上線問題

  • 操作方面

即便有system許可權也沒辦法實現CMD命令注入,就上傳我們自己寫好的程式碼進行注入,或者用bof外掛進行相關的替代

1x4 windows defender

Defender兩個核心: AMSI、ETW。

  • 上線方面

沙箱檢測動態查殺有點強,感覺shellcode傳到記憶體一解密就殺,火絨360還不會
針對cs,不要使用stager shellcode ,使用stage shellcode 上線是要立刻被幹掉的,用stageless的shellcode。

  • 操作方面

如果出發惡意行為,如提權之類的,會關聯到loader程式,上線後可以注入到另外的程序去操作,
使用cs內建的execute-assembly 可能會導致beacon掉線,原因:C#的程式本身是不免殺的,會經過ASMI的掃描

1x5 其他殺軟

  • sangfor edr: 靜態查殺很強,不會查殺父程序,過了靜態就可以亂來
  • 麥咖啡: 麥咖啡靜態查殺也很強,沒有行為查殺
  • 阿里安騎士:靜態一般,但攔截高危cmd操作
  • 趨勢科技:監控惡意服務建立,行為檢測基本無
  • G01:靜態上傳不管是exe還是dll都會被殺,有黑名單機制