利用Certutil对任意文件进行编码和解码——真实攻击中会经常用到
真实的攻击场景见:
https://blog.csdn.net/weixin_39775029/article/details/112459238
certutil decode作为其中一个环节。
cmd / c lsass.com&键入ffXi.com >> lsass.com&del ffXi.com&certutil -decode adCt.com R&lsass.com R&ping 127.0.0.1- 20
==》这些复杂的进程和文件调用链路,非图关联不能搞定。
-
利用Certutil对任意文件进行Base64编码上传
Certuti l用于备份证书服务管理,支持Windows XP -- Windows 10 (简而言之。从03到19都可以用);
一般用来作为下载远程文件之用,但是他还有一个功效,那么就是将exe或者其他文件,转换为base64形式,然后还可以将转换过去的,在转换回来。从而实现文件上传,在SQL注入的时候,服务器禁止出外网我们可以用这招来上传文件。
转换lcx64.exe为lcx64.txt
certutil -encode lcx64.exe lcx64.txt
转换lcx64.txt为lcx64.exe
certutil -decode lcx64.txt lcx64.exe
转换回来后测试,一切正常。
certutil 是 vista 和 win7 自帶自帶的外部命令,實際上是用於管理證書的,但也有“歪門邪道”的用法
舉個例子:
@echo off
echo 48 65 6C 6C 6F 2C 57 6F 72 6C 64 21 >hex.txt
::生成 hex.txt,機器碼對應的內容是 Hallo World!
certutil -decodehex hex.txt bin.txt
::Hex2Bin
certutil -encode bin.txt Encode.txt
::Base64_Encode
certutil -decode Encode.txt Decode.txt
::Base64_Decode
pause
系統幫助如下:
動詞:
-dump — 轉儲配置資訊或檔案
-asn — 分析 ASN.1 檔案
-decodehex — 解碼十六進位制編碼的檔案
-decode — 解碼 Base64 編碼的檔案
-encode — 將檔案編碼為 Base64
-deny — 拒絕掛起的申請
-resubmit — 重新提交掛起的申請
-setattributes — 為掛起申請設定屬性
-setextension — 為掛起申請設定擴充套件
-revoke — 吊銷證書
-isvalid — 顯示當前證書部署
-getconfig — 獲取預設配置字串
-ping — Ping Active Directory 證書服務申請介面
-pingadmin — Ping Active Directory 證書服務管理介面
-CAInfo — 顯示 CA 資訊
-ca.cert — 檢索 CA 的證書
-ca.chain — 檢索 CA 的證書鏈
-GetCRL — 獲取 CRL
-CRL — 釋出新的 CRL [或僅增量 CRL]
-shutdown — 關閉 Active Directory 證書服務
-installCert — 安裝證書頒發機構證書
-renewCert — 續訂證書頒發機構證書
-schema — 轉儲證書架構
-view — 轉儲證書檢視
-db — 轉儲原始資料庫
-deleterow — 刪除伺服器資料庫行
-backup — 備份 Active Directory 證書服務
-backupDB — 備份 Active Directory 證書服務資料庫
-backupKey — 備份 Active Directory 證書服務證書和私鑰
-restore — 還原 Active Directory 證書服務
-restoreDB — 還原 Active Directory 證書服務資料庫
-restoreKey — 還原 Active Directory 證書服務證書和私鑰
-importPFX — 匯入證書和私鑰
-dynamicfilelist — 顯示動態檔案列表
-databaselocations — 顯示資料庫位置
-hashfile — 通過檔案生成並顯示加密雜湊
-store — 轉儲證書儲存
-addstore — 將證書新增到儲存
-delstore — 從儲存刪除證書
-verifystore — 驗證儲存中的證書
-repairstore — 修復金鑰關聯,或者更新證書屬性或金鑰安全描述符
-viewstore — 轉儲證書儲存
-viewdelstore — 從儲存刪除證書
-dsPublish — 將證書或 CRL 釋出到 Active Directory
-ADTemplate — 顯示 AD 模板
-Template — 顯示註冊策略模板
-TemplateCAs — 顯示模板的 CA
-CATemplates — 顯示 CA 的模板
-enrollmentServerURL — 顯示、新增或刪除與 CA 關聯的註冊伺服器 URL
-ADCA — 顯示 AD CA
-CA — 顯示註冊策略 CA
-Policy — 顯示註冊策略
-PolicyCache — 顯示或刪除註冊策略快取專案
-CredStore — 顯示、新增或刪除憑據儲存專案
-InstallDefaultTemplates — 安裝預設的證書模板
-URLCache — 顯示或刪除 URL 快取專案
-pulse — 暫停自動註冊事件
-MachineInfo — 顯示 Active Directory 計算機物件資訊
-DCInfo — 顯示域控制器資訊
-EntInfo — 顯示企業資訊
-TCAInfo — 顯示 CA 資訊
-SCInfo — 顯示智慧卡資訊
-SCRoots — 管理智慧卡根證書
-verifykeys — 驗證公/私鑰集
-verify — 驗證證書,CRL 或鏈
-sign — 重新簽名 CRL 或證書
-vroot — 建立/刪除 Web 虛擬根和檔案共享
-vocsproot — 建立/刪除 OCSP Web Proxy 的 Web 虛擬根
-addEnrollmentServer — 新增註冊伺服器應用程式
-deleteEnrollmentServer — 刪除註冊伺服器應用程式
-oid — 顯示 ObjectId 或設定顯示名稱
-error — 顯示錯誤程式碼訊息文字
-getreg — 顯示登錄檔值
-setreg — 設定登錄檔值
-delreg — 刪除登錄檔值
-ImportKMS — 為金鑰存檔匯入使用者金鑰和證書到伺服器資料庫
-ImportCert — 將證書檔案匯入資料庫
-GetKey — 檢索存檔的私鑰恢復點
-RecoverKey — 恢復存檔的私鑰
-MergePFX — 合併 PFX 檔案
-ConvertEPF — 將 PFX 檔案轉換為 EPF 檔案
-? — 顯示該用法訊息
CertUtil -? — 顯示動詞列表(命名列表)
CertUtil -dump -? — 顯示 “dump” 動詞的幫助文字
CertUtil -v -? — 顯示所有動詞的所有幫助文字