COM劫持
COM组件
COM是Windows中的一个系统,用于在操作系统和软件组件之间进行交互,对各种COM对象的引用存储在注册表中。劫持COM对象需要在注册表中进行更改,以替换对合法系统组件的引用,这可能导致该组件在执行时不起作用。
劫持CLR
CLR全称Common Language Runtime,中文名称为公共语言运行时。
CLR是.NET Framework的主要执行引擎,作用之一是监视程序的运行。
在CLR之下运行的程序属于managed,不在CLR之下直接运行的程序属于native。
此处主要以CLR的劫持作为实例,因为其本质也是COM劫持,但因为本身的特殊性经常被单独拿来说。
参考文章:
劫持其他COM组件
操作的话,与CLR劫持相同,但是不再需要更改环境变量,少了一步敏感操作,具体使用自行取舍。
示例命令行:
原理类似,故只列出常用的几个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}
自行寻找的话只需要去看下面两个注册表位置即可
一些特殊技巧
TreatAs(可以模拟其他类的CLSID。)
利用零宽字节特性,在Process Explorer等分析软件中隐藏劫持dll
最后更新于