bypass-c2

  1. bin免杀
  2. 静态免杀
    1. api 隐藏
    2. 基于行为检测
    3. 内存免杀
    4. 可执行代码混淆
    5. shellcode Fluctuation
    6. ROP
    7. sleep逃避
    8. 线程堆栈欺骗
    9. 推荐阅读:

bin免杀

浅析杀软

静态免杀

api 隐藏

导入表隐藏

更改main入口

更改api 遍历hash值

敲掉开头值 用 xxd -i 转变数组 然后 用c++ 写回bin文件 (二进制文件)

基于行为检测

z许多api都被牢牢监控 ,如果实现的是采用一些不常见的api 那么可能呗杀软判断为敏感行为,从而弹窗警告直或直接终止进程,所以绕过只能用一些不常用的api更底层的的api或者迂回的方式,将一个api的功能分成几个api来实现

内存免杀

  • systemFunction032 函数 系统函数可以从advapi32.dll 中邪洗出来进行rc4加解密。

加密数据,而无需在私有提交内存中执行代码。

1.打开进程句柄

2.分配内存 RW RWX

3.shellcode > 内存

4.RW -> RX

5.thread

为了避免基础签名的检测,我们可以加密:

1.打开进程句柄

2.分配内存 RW RWX

3.解密shellcode ,拿到明文

4.shellcode> 内存

5.RW->RX

6.thread

HOOK writeprocessmemory or Ntwriteprocessmemory 可以拿到shellcode明文分析

更进一步:

1.打开进程句柄

2.分配内存 RW RWX

3.shellcode > 内存

4.XOR 解密shellcode内存区域

。。。

可执行代码混淆

shellcode Fluctuation

ROP

sleep逃避

线程堆栈欺骗

推荐阅读:

https://vanmieghem.io/blueprint-for-evading-edr-in-2022/


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。与我联系email c2VjaW5mby5tQGdtYWlsLmNvbQo=