通過Nvidia簽名的二進位制檔案執行系統命令
前段時間,在PowerMemory上工作時,我在其中一臺電腦上發現了一個由Nvidia配置的隱藏帳戶(https://twitter.com/pabraeken/status/651369704746020864)。
然後,當我看到Hexacorn文章(http://www.hexacorn.com/blog/2017/11/10/reusigned-binaries-living-off-the-signed -land /)時,我非常開心。
我開始尋找Nvidia其他類似的可執行系統命令,以及Nvidia的合法性。
我發現這一個:
執行它,之後看他的引數很有希望執行命令。
命令列表包括Hexacorn發現的:
AddUninstall,Call,CheckPath,CheckRAID,ClassSweep,Copy,CopyV,CreateDevice,CreateShortcut,Del,DelBoot,DelBootQuiet,DelIniIfMatched,DelOemInfs,DelReg,DelRegE,DirAndApply,Echo,EnumDevices, EnumRegCmd,EnumRegNamesCmd,Eval,FindOEMInf,GetDrivePort,GetFolderPath,GetInfGUID,GetReg,Help,If,InstallDriver,InstallDriverEx,KillApp,RemoveDevice,Run,RunOnce,SendMessage,Set,SetEnv,SetReg,Sleep,Splash,StartLogging,StopLogging,SysCallAndWait,系統,UnifyUninst,解除安裝,UnInstallEx,UninstallGUI,UninstallService,WaitOnRegDel
以下這些命令的說明:
· Decrement: 以數字方式減少變數
· Increment: 以數字方式增加一個變數
· DisplayControlPanel:顯示有關顯示控制皮膚解除安裝的訊息。
· AskToCloseAndExitIfRunning:給定應用程式名稱,列舉所有正在執行的應用程式以進行匹配。如果找到,則提示使用者關閉應用程式。
· RemoveDriverStore:使用setupdi呼叫從系統中刪除與給定描述相匹配的任何裝置。 Enum可以是(PCI,EISA等),HWID通常是VEN_10DE,裝置型別可以是DISPLAY,HDC,MEDIA,NET,SYSTEM。
· RemoveDeviceEx:使用setupdi呼叫從系統中刪除與給定描述相匹配的任何裝置。 Enum可以是(PCI,EISA等),HWID通常是VEN_10DE,裝置型別可以是DISPLAY,HDC,MEDIA,NET,SYSTEM。
· DisableDevice:使用setupdi呼叫禁用與系統中給定描述相匹配的任何裝置。 Enum可以是(PCI,EISA等),HWID通常是VEN_10DE,裝置型別可以是DISPLAY,HDC,MEDIA,NET,SYSTEM。
· RemoveUpperFilter:從指定它的任何裝置中刪除過濾器服務。
· StopService:解除安裝給定的服務名稱。
· RmString:如果找到,則從原始字串中刪除該字串,並將結果儲存到新變數中。
· DelAll:刪除給定的資料夾,如果它存在,它也刪除資料夾內的內容。
· DisplayControlPanel:顯示有關顯示控制皮膚解除安裝的訊息。
· AskToCloseAndExitIfRunning:給定應用程式名稱,列舉所有正在執行的應用程式以進行匹配。如果找到,則提示使用者關閉應用程式。
· RemoveDriverStore:使用setupdi呼叫從系統中刪除與給定描述相匹配的任何裝置。 Enum可以是(PCI,EISA等),HWID通常是VEN_10DE,裝置型別可以是DISPLAY,HDC,MEDIA,NET,SYSTEM。
· RemoveDeviceEx:使用setupdi呼叫從系統中刪除與給定描述相匹配的任何裝置。 Enum可以是(PCI,EISA等),HWID通常是VEN_10DE,裝置型別可以是DISPLAY,HDC,MEDIA,NET,SYSTEM。
· DisableDevice:使用setupdi呼叫禁用與系統中給定描述相匹配的任何裝置。 Enum可以是(PCI,EISA等),HWID通常是VEN_10DE,裝置型別可以是DISPLAY,HDC,MEDIA,NET,SYSTEM。
· RemoveUpperFilter:從指定它的任何裝置中刪除過濾器服務。
· StopService:解除安裝給定的服務名稱。
· RmString:如果找到,則從原始字串中刪除該字串,並將結果儲存到新變數中。
· DelAll:刪除給定的資料夾,如果它存在,它也刪除資料夾內的內容。
執行 calc.exe
檢視資訊顯示我們該檔案需要管理員許可權(與Hexacorn描述的二進位制檔案nvuhda.exe和nvuhda6.exe完全相同)。
Sigcheck -m nvudisp.exe
這是一個有意義的研究,攻擊者可以用來打破標準的EDR檢測規則。
原文釋出時間為:2018-05-24
本文來自雲棲社群合作伙伴“嘶吼網”,瞭解相關資訊可以關注“嘶吼網”。
相關文章
- 6.3建立自己執行的二進位制檔案
- od 轉儲 二進位制檔案常用命令
- MySQL二進位制檔案(binlog)MySql
- 二進位制檔案視覺化(二)視覺化
- 檔案操作(二進位制拷貝)
- Git處理二進位制檔案Git
- WebLogic之Java反序列化漏洞利用實現二進位制檔案上傳和命令執行WebJava
- 介面返回二進位制檔案的下載。
- offer通過--10二進位制中統計1的個數-2
- 『學了就忘』Linux檔案系統管理 — 67、通過命令模式進行LVM分割槽Linux模式LVM
- 透過禁止比較讓 Go 二進位制檔案變小Go
- mysqlbinlog命令詳解 Part 7 備份二進位制日誌檔案MySql
- 二進位制檔案記憶體對映記憶體
- 二進位制檔案安裝安裝etcd
- mysqlbinlog 處理二進位制日誌檔案的工具MySql
- 系統 boot 和執行根檔案系統中的命令特別重要boot
- golang: 給二進位制檔案增加版本資訊Golang
- 檢視寶塔mysql二進位制檔案 mysqlbinlogMySql
- 【Linux】檢視二進位制檔案內容_hexdumpLinux
- C++ 讀取二進位制檔案到char*C++
- 根據介面返回的二進位制流匯出檔案
- JS下載後臺介面返回的二進位制檔案JS
- 如何通過 SSH 在遠端 Linux 系統上執行命令Linux
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 有幾種工具可以將 PHP 指令碼編譯成二進位制可執行檔案EXEPHP指令碼編譯
- 二進位制與二進位制運算
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 進位制詳解:二進位制、八進位制和十六進位制
- flutter-讀寫二進位制檔案到裝置Flutter
- 前端怎麼處理二進位制檔案下載前端
- 二進位制檔案和符號檔案(PDB)如何校驗是否匹配符號
- 文盤Rust -- 如何把配置檔案打包到二進位制檔案裡Rust
- 如何將日誌檔案和二進位制檔案快速匯入HDFS?
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 程式碼(CODE)到二進位制(BIN)檔案的編譯過程補充formelf工具編譯ORM
- 教你如何進行數倉字串、二進位制、十六進位制互轉字串
- 二進位制