使用Windows自帶命令校驗文件哈希值

Certutil

Certutil是一個windows預裝的CLI程序,主要作用是轉儲和顯示證書頒發機構(CA),配置信息,證書服務, CA 組件的備份和還原以及驗證證書、密鑰對和證書鏈,它作爲證書服務的一部分安裝。可用於校驗文件MD5、SHA1、SHA256,下載惡意文件和免殺。

這裏記錄如何使用這個程序校驗文件,網上很多資源的下載很多都會提供文件的md5SHA256等等之類的哈希值,便於下載者校驗文件是否存在被修改,破壞等改變文件內容的操作

例如我們下載了當前最新版的kali操作系統I的SO鏡像,這裏官方提供了SHA256的校驗碼
在這裏插入圖片描述
在這裏插入圖片描述
使用Certutil得到kali-linux-2020.1b-installer-amd64.iso文件的SHA256密文

certutil -hashfile [文件絕對路徑] [md5/sha256/sha1]

在這裏插入圖片描述
在這裏插入圖片描述
校驗結果相同,證明下載的文件是正常的

Certutil的幫助文檔

幫助文檔命令:certutil -?

PS C:\Users\Administrator\Downloads> certutil -?

動詞:
  -dump             -- 轉儲配置信息或文件
  -dumpPFX          -- 轉儲 PFX 結構
  -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            -- 轉儲證書存儲
  -enumstore        -- 枚舉證書存儲
  -addstore         -- 將證書添加到存儲
  -delstore         -- 從存儲刪除證書
  -verifystore      -- 驗證存儲中的證書
  -repairstore      -- 修復密鑰關聯,或者更新證書屬性或密鑰安全描述符
  -viewstore        -- 轉儲證書存儲
  -viewdelstore     -- 從存儲刪除證書
  -UI               -- 調用 CryptUI
  -attest           -- 驗證密鑰證明請求

  -dsPublish        -- 將證書或 CRL 發佈到 Active Directory

  -ADTemplate       -- 顯示 AD 模板
  -Template         -- 顯示註冊策略模板
  -TemplateCAs      -- 顯示模板的 CA
  -CATemplates      -- 顯示 CA 的模板
  -SetCASites       -- 管理 CA 的站點名稱
  -enrollmentServerURL -- 顯示、添加或刪除與 CA 關聯的註冊服務器 URL
  -ADCA             -- 顯示 AD CA
  -CA               -- 顯示註冊策略 CA
  -Policy           -- 顯示註冊策略
  -PolicyCache      -- 顯示或刪除註冊策略緩存項目
  -CredStore        -- 顯示、添加或刪除憑據存儲項目
  -InstallDefaultTemplates -- 安裝默認的證書模板
  -URLCache         -- 顯示或刪除 URL 緩存項目
  -pulse            -- 以脈衝方式執行自動註冊事件或 NGC 任務
  -MachineInfo      -- 顯示 Active Directory 計算機對象信息
  -DCInfo           -- 顯示域控制器信息
  -EntInfo          -- 顯示企業信息
  -TCAInfo          -- 顯示 CA 信息
  -SCInfo           -- 顯示智能卡信息

  -SCRoots          -- 管理智能卡根證書

  -DeleteHelloContainer -- 刪除 Hello 登錄容器。
     ** 在使用此選項後, 用戶需要註銷才能完成。**
  -verifykeys       -- 驗證公/私鑰集
  -verify           -- 驗證證書,CRL 或鏈
  -verifyCTL        -- 驗證 AuthRoot 或不允許的證書 CTL
  -syncWithWU       -- 與 Windows 更新同步
  -generateSSTFromWU -- 通過 Windows 更新生成 SST
  -generatePinRulesCTL -- 生成捆綁規則 CTL
  -downloadOcsp     -- 下載 OCSP 響應並寫入目錄
  -generateHpkpHeader -- 使用指定文件或目錄中的證書生成 HPKP 頭
  -flushCache       -- 刷新選定進程(例如 lsass.exe)中的指定緩存
  -addEccCurve      -- 添加 ECC 曲線
  -deleteEccCurve   -- 刪除 ECC 曲線
  -displayEccCurve  -- 顯示 ECC 曲線
  -sign             -- 重新簽名 CRL 或證書

  -vroot            -- 創建/刪除 Web 虛擬根和文件共享
  -vocsproot        -- 創建/刪除 OCSP Web Proxy 的 Web 虛擬根
  -addEnrollmentServer -- 添加註冊服務器應用程序
  -deleteEnrollmentServer -- 刪除註冊服務器應用程序
  -addPolicyServer  -- 添加策略服務器應用程序
  -deletePolicyServer -- 刪除策略服務器應用程序
  -oid              -- 顯示 ObjectId 或設置顯示名稱
  -error            -- 顯示錯誤代碼消息文本
  -getreg           -- 顯示註冊表值
  -setreg           -- 設置註冊表值
  -delreg           -- 刪除註冊表值

  -ImportKMS        -- 爲密鑰存檔導入用戶密鑰和證書到服務器數據庫
  -ImportCert       -- 將證書文件導入數據庫
  -GetKey           -- 檢索存檔的私鑰恢復 Blob,生成恢復腳本 或恢復存檔的密鑰
  -RecoverKey       -- 恢復存檔的私鑰
  -MergePFX         -- 合併 PFX 文件
  -ConvertEPF       -- 將 PFX 文件轉換爲 EPF 文件

  -add-chain        -- (-AddChain) 添加證書鏈
  -add-pre-chain    -- (-AddPrechain) 添加預植證書鏈
  -get-sth          -- (-GetSTH) 獲取簽名樹頭
  -get-sth-consistency -- (-GetSTHConsistency) 獲取簽名樹頭更改
  -get-proof-by-hash -- (-GetProofByHash) 獲取哈希證明
  -get-entries      -- (-GetEntries) 獲取項
  -get-roots        -- (-GetRoots) 獲取根
  -get-entry-and-proof -- (-GetEntryAndProof) 獲取項和證明
  -VerifyCT         -- 驗證證書 SCT
  -?                -- 顯示該用法消息


CertUtil -?              -- 顯示動詞列表(命名列表)
CertUtil -dump -?        -- 顯示 "dump" 動詞的幫助文本
CertUtil -v -?           -- 顯示所有動詞的所有幫助文本

CertUtil: -? 命令成功完成。
PS C:\Users\Administrator\Downloads>

Get-FileHash

Get-FileHash命令可用於通過使用指定的哈希算法來計算文件的哈希值,可以接受的哈希算法有:SHA1,SHA256,SHA384,SHA512,MD5

PS C:\Users\Administrator\Desktop\Test\php> get-filehash -?

NAME
    Get-FileHash

SYNTAX
    Get-FileHash [-Path] <string[]> [[-Algorithm] {SHA1 | SHA256 | SHA384 | SHA512 | MD5}] [<CommonParameters>]

    Get-FileHash [-LiteralPath] <string[]> [[-Algorithm] {SHA1 | SHA256 | SHA384 | SHA512 | MD5}] [<CommonParameters>]

    Get-FileHash [-InputStream] <Stream> [[-Algorithm] {SHA1 | SHA256 | SHA384 | SHA512 | MD5}] [<CommonParameters>]


ALIASES
    None


REMARKS
    Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
        -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
        -- To view the Help topic for this cmdlet online, type: "Get-Help Get-FileHash -Online" or
           go to https://go.microsoft.com/fwlink/?LinkId=517145.


PS C:\Users\Administrator\Desktop\Test\php> 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章