免杀对抗-C2远控篇&C&C++&APC注入&进程镂空&傀儡进程&伪装欺骗&指纹特征消除

Ethan医生1天前系统安全8

 C2远控-红队技能-进程镂空&傀儡进程

 C2远控-红队技能-APC注入&进程欺骗


#C2远控-ShellCode-认知&环境

1.创建工程时关闭SDL检查

2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD

3.属性->C/C++->代码生成->禁用安全检查GS

4.关闭生成清单 属性->链接器->清单文件->生成清单 选择否

 

#C2远控-ShellCode-分析&提取

ShellCode的本质其实就是一段可以自主运行的代码。

它没有任何文件结构,它不依赖任何编译环境,无法像exe一样双击运行,

因此需要通过控制程序流程跳转到shellcode地址加载上去执行shellcode。

 

目的:杀毒和感知平台如何定性

分析:OD&xdb&ida

提取:010Editor

加载:各种Loader方法执行

流程:ShellCode->Loader->EXE

思路:

1、Shellcode自写打乱-让杀毒不认识

2、Shellcode加密混淆-让杀毒不知道

3、Shellcode分离隐藏-让杀毒找不到

4、Shellcode注入回调-让杀毒绕圈圈

 

内存免杀是将shellcode直接加载进内存,由于没有文件落地,因此可以绕过文件扫描策略的查杀。为了使内存免杀的效果更好,在申请内存时一般采用渐进式申请一块可读写内存,在运行时改为可执行,在执行的时候遵循分离免杀的思想。分离免杀包含对特征和行为的分离两个维度,把shellcode从放在程序转移到加载进内存,把整块的ShellCode通过分块传输的方法上传然后再拼接,这些体现了基本的"分离"思想。

 

补充:

编辑器设置 VS

https://mp.weixin.qq.com/s/UJlVvagNjmy9E-B-XjBHyw

编译器差异 G++ GCC

https://blog.csdn.net/weixin_41012767/article/details/129365597

 

突破内存扫描

项目参考:https://github.com/wangfly-me/LoaderFly

 

➢上节课被查杀的修改特征继续过

AvoidRandomKill

特征修改常见方法:

1、编译模式改变(减少文件指纹)

2、加资源改代码(MD5特征函数代码)

3、加冷壳加保护(MD5增加分析难度)

 

➢C2远控-红队技能-进程镂空&傀儡进程(主要过内存扫描)

进程镂空(**Process Hollowing**)

是一种防御规避的进程注入技术,以红队隐匿技能为主的辅助免杀手法

1.创建一个挂起合法进程

2.读取执行代码

3.获取挂起进程上下文与环境信息

4.卸载挂起进程内存

5.写入执行代码

6.恢复挂起进程

 

➢C2远控-红队技能-APC注入&进程欺骗(主要过内存扫描)

APC全称为Asynchronous Procedure Call,叫异步过程调用,

是指函数在特定线程中被异步执行,在操作系统中是并发机制。

同步调用:

我们需要去烧水,首先我们先去需要给水壶添水,然后将水壶连接上电之后,然后加热,等水烧开了然后取水,在烧水的等待的时间中,我们不去做任何事情。这就是同步。

异步调用:

就是我们在烧水的等待的过程中去干一些其他的事情,比如玩手机,打扫卫生等等。

1、获取父进程PID

2、获取当前进程权限

3、创建并分配写入内存

4、写入SC并APC进行调用

APC注入 配合进程注入实现父进程欺骗


标签: C2远控

相关文章

免杀对抗-C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征

#C2远控-ShellCode-认知&环境1.创建工程时关闭SDL检查2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD3...

C2远控篇&C&C++&ShellCode混淆加密&干扰识别&抗沙盒&防调试&组合加载

#C2远控-ShellCode-认知&环境1.创建工程时关闭SDL检查2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD3...

免杀对抗-C2远控篇&C&C++&InlineHook挂钩&动态API调用&突破内存加密&导入表检测

➢ C2远控-Loader加载器-动态API➢ C2远控-Loader加载器-InlineHook➢ C2远控-DF-动态调用&InlineHook&混淆...

免杀对抗-C2远控篇&C&C++&DLL注入&过内存核晶&镂空新增&白加黑链&签名程序劫持

免杀对抗-C2远控篇&C&C++&DLL注入&过内存核晶&镂空新增&白加黑链&签名程序劫持

#C2远控-ShellCode-认知&环境1.创建工程时关闭SDL检查2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD3...

C2远控篇&C&C++&ShellCode定性分析&生成提取&Loader加载模式&编译执行

➢ C2远控-ShellCode-认知&环境➢ C2远控-ShellCode-分析&提取➢ C2远控-ShellCode-Loader加载#常见杀软特点总...

C2远控篇&Python&ShellCode分离&File提取&Http协议&Argv参数&Sock管道

#C2远控-ShellCode-认知&环境1.创建工程时关闭SDL检查2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD3...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。