速通EDR对抗保姆级

极客

速通EDR对抗保姆级教程:从入门到入土,我的血泪实战笔记

兄弟们,姐妹们,好久不见!今天咱不聊虚的,直接上硬菜——速通EDR对抗保姆级教程,说实话,我当初踩坑的时候,那叫一个惨啊!什么“绕过AV”、“免杀上线”,看着大佬们的操作行云流水,自己一上手,直接被EDR按在地上摩擦,心态直接炸裂。

速通EDR对抗保姆级

这篇速通EDR对抗保姆级文章,就是我结合自己的实战(以及无数次的翻车)总结出来的精华,全是大白话,没有一句废话,包教包会!

别慌!先搞懂EDR的“小心思”才能速通

咱们得先把EDR想象成一个极其多疑的保安大爷,什么特征码查杀(那是他孙子AV干的),他根本不看那个。EDR的核心是“行为检测”,他不在乎你是谁,他在乎你干了什么!你一旦有CreateRemoteThreadVirtualAllocEx(经典组合拳)这种动作,他立马跳起来:“呔!哪里跑!”

咱要速通EDR对抗,就得精准拿捏他这个“疑心”的尺度,就跟你搞对象似的,太主动(特征明显)不行,太被动(啥也不干)也不行,咱们要走“白领上班族”的人设——对外连接正常,读写文件正常,瞅准时机,干一票就跑!这时候,进程注入的路子就得换换花样了,像什么APC注入线程劫持(Process Hollowing的变种),动作都太小了,但你要注意,“RtlUserThreadStart”这个点兄弟们一定要盯紧了,那是EDR最爱的监控点位之一!

上手实操:这三板斧下去,EDR直接“麻了”

好,废话不多说,速通EDR对抗,你必须得会这几招“化妆术”,不然你那个shellcode就跟光着膀子逛街一样,怎么不打眼?

  1. 内存马大挪移(分阶段加载): 咱们千万别一次性把整整几MB的payload怼内存里,那是找死,咱们要学蚂蚁搬家,一点一点的来,先把一个加载器(很小的那段)放进内存,这个加载器负责去“下载”或“解密”后面的真正代码,你想想,一个分配了4KB内存且允许执行的进程,在EDR眼里到处都是,但如果这个加载器是通过Callback函数来触发的,比如TpAllocWork或者NtCreateThreadEx配合StartAddress的伪装,那就能混过去,这个细节,是速通的关键!很多兄弟卡在这一步,就是因为没把父进程ID(PPID)给Spooring掉(伪造成explorer或者svchost),这不行啊!

  2. 动态API解析是基本功: 咱们做免杀,最忌讳的就是直接GetProcAddress去拿NtAllocateVirtualMemory的地址,这等于告诉EDR:“我要干坏事啦!”你得自己去PEB遍历模块,自己通过Hash去算函数地址,哎,这不仅仅是规避导入表,更多是规避了EDR的Inline Hook扫描(你改了内存里API头部的字节,它一查IAT就露馅),在这儿,我强烈建议兄弟们把那个SysWhispers3或者Halo's Gate好好学一学,直接绕过(直接Syscall)那才叫真正的速通EDR对抗,但那玩意要小心堆栈指纹(Stack Pointer),操作不当还是会被内核层面的工具发现,哎呀,细节太碎,咱们在红队知识库里都整理好了,实在不行你私信我。

  3. 操作逻辑上的“瞒天过海”: 你要把EDR当人看,如果你就盯着“LSASS.exe”这一个进程玩命操作,他不抓你抓谁?速通的核心在于分散注意力,比如用合法的WerFault.exe来充当你的shellcode容器,或者利用DLL Search Order Hijacking加载一个更新的白加黑。 执行完高风险的OpenProcess(0x1F0FFF)后,一定要把句柄(Handle)表里的权限改小(DUPLICATE_CLOSE_SOURCE),别留着个全权限句柄在那儿晾着。

唉,别光顾着快!细节保你命!

说真的,你们看那些所谓“秒杀EDR”的公开POC,其实都是限于特定版本的绕过点,真正的速通EDR对抗保姆级思想,其实是把对攻击链路的理解转化为环境变量,什么叫环境变量?就是这个EDR的版本、有没有开启Credential Guard(会锁住LSASS的注入)、内网流量审计用的是6000/9000端口还是别的……

我上次实战,本来payload都做成这样了,结果一落地,因为忘了修改文件的创建时间(Timestamp),让它看起来跟目录里其他文件时间差异太大(比如其他文件都是三个月前创建的,你刚生成的),直接被机器学习引擎给揪出来了,你说气不气人?所以啊,为了速通,细节一定得抠,还有那个AMSI(反恶意软件扫描接口),必须给它Patch掉!不搞它你干嘛都不顺,特别是PowerShell一加载,直接凉凉。

最后的心法:把这当成一场“交易”

说到底,速通EDR对抗不是让你去硬刚(那是拒绝服务攻击,不是绕过),而是让你去“骗”,你要用合法的系统机制,去执行非法的操作,我现在的思路,就是利用工程化的方式,比如通过MSBuild或者Add-Type,把C#代码整个编译到内存中运行,整个过程中,恶意行为全发生在微过滤驱动(Mini-Filter)监控范围的“灰色地带”。

兄弟们,这篇文章真的是我的心血啊!写到这里,我胳膊都酸了,你要是看懂了这篇速通EDR对抗保姆级的皮毛,至少能帮你少走半年的坑,切记,真正的“速通”,在于你对目标系统理解的深度。

好了,不说太多(其实有些东西不能全给你们抖搂出来,不然以后我也不好混了,嘿嘿),如果你觉得这个速通EDR对抗保姆级教程对你有启发,别忘点个赞,收藏一下,下次咱们再聊聊具体的“盲区”利用,比如利用UAC的AutoApprovalList来提权时怎么稳一手,咱们评论区见!冲冲冲!

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]