一个利用“永恒之蓝”漏洞传播的挖矿程序分析

发布时间:2021-10-16 15:48:04

* 本文作者:渔村安全,本文属FreeBuf原创奖励计划,未经许可禁止转载


背景介绍

*日,渔村安全团队追踪到一个利用永恒之蓝漏洞传播的挖矿程序,其具备高度的模块化和较强的传播能力,在短短数日就感染了数万台用户电脑。针对该突发情况,渔村安全团队迅速组织应急工作,最终使得目前的感染情况受到控制,下文为样本分析。


感染量

从微软发布ms17-010(永恒之蓝漏洞) 的修复补丁到现在已经过去四个月了,相继爆发的利用该漏洞传播的WannaCry,Petya 勒索病毒更是给 我们 上了一课。但目前来看,还是有不少用户没有及时更新补丁或者做相应的缓解措施,同时 Shadow Brokers 把从 Equation Group偷来的全套针对该漏洞的利用工具开源 ,这使得人人有了一套 核武器 ,导致发动攻击的门槛极度降低。综合上述原因,可以推测该漏洞在很长一段时间之内,还会有不同程度的活跃。目前,根据全网监控数据可知,各地区感染该例样本量占比情况如下 :




样本分析
1.感染症状

该样本分为两个模块,分别为挖矿程序与永恒之蓝攻击程序,感染后的用户机器,通常会有如下症状 :


1.? 监听26571端口





2.存在C:WindowsIMECrypt文件夹



?


3.访问其他主机的445端口




2.传播方式



如上图所示,是整个样本的攻击流程图,受害者之间的样本投送分工为:



攻击方,挖矿程序搭建web服务器(端口 26571),等待特定的GET请求


被攻击方,payload访问攻击方提供的web服务器,通过 GET请求得到样本(含挖矿程序和永恒之蓝 EXP 程序)



3.样本特性

通过前文已知,该样本是分为挖矿程序与永恒之蓝攻击程序,下面针对不同模块进行分析。


3.1挖矿程序


挖矿程序的调用者是内核后门注入到lsass.exe中的 payload所生成并调起的。


3.1.1?创建计划任务


程序在启动时,创建计划任务,达到开机自启动的目的,命令如下:



schtasks.exe/create /TN "MicrosoftWindowsUPnPServices" /RU SYSTEM /TR"%WinDir%IMEMicrosoftsvchost.exe" /SC ONSTART

?


3.1.2?释放挖矿程序


创建线程,完成从资源bin中释放挖矿程序到系统根目录下功能,文件名称为?ServicesHost.exe




之后传递参数


-o stratum+tcp://xmr.pool.minergate.com:45560-u dashcoin@protonmail.com -t 1 --donate-level=1

执行,同时尝试解析系统根目录下的 settings7283.dat数据文件。


3.1.3?开启WEB服务


创建线程,搭建一个WEB服务器,提供文件下载功能,方便被攻击方快速下拉恶意代码。




其中,回调函数Url_parser只处理两种请求,分别为:



POST方式接收到的Hell World?


GET方式接收到的/dnsclientprovider_userdata.mof?



当POST方法得到的请求数据是Hell World? ,则当前挖矿进程会退出,逻辑如下:






其中dnsclientprovider_userdata.mof文件目前没有捕获到,但根据之后的payload 的请求数据来看,该文件是一个 ZIP包,里面包含了挖矿程序和攻击程序,故达到了利用漏洞传播的效果。


3.1.4?执行攻击程序&攻击信息上报


开启新线程,执行C:WindowsIMEMicrosoftspoolsv.exe,实为payload 从攻击方下拉后解压生成的攻击程序。开启新线程,每隔 900s向服务器上报信息。




3.2 永恒之蓝攻击程序

3.2.1?攻击流程


攻击程序执行由挖矿程序进行调起,运行后,首先释放自身资源bin 到 %\IME\TMP20D1.TMP中,之后进行Unzip 操作,解压缩完成后的文件列表如下:




其中核心模块如下:


文件名称功能说明
svchost.exe永恒之蓝攻击程序(Eternalblue-2.2.0.exe)
spoolsv.exedoublepulsar后门利用程序(Doublepulsar-1.3.1.exe)
svchost.xml永恒之蓝攻击程序配置文件
spoolsv.xmldoublepulsar配置文件
x64.dll64位Payload DLL文件
x86.dll32位Payload DLL文件

接下来,读取xml配置信息、Payload程序到内存,方便之后攻击时进行参数配置,然后扫描开放 445端口,但未开放26571端口的机器( 防止重复感染 ),如下:




得到扫描结果之后,格式化Eternalblue需要的xml配置信息 (ip即可),之后创建进程,将Eternalblue 执行结果重定向到 stage1.txt中,方便stage2阶段的筛选。



从stage1.txt中可以得到攻击是否成功,以及目标机器的CPU架构信息,通过查找指定关键字,得到需要的信息,例如 :得到目标机器*台是否为x86(x64原理相同)



实际stage1.txt的内容:



当查找成功之后,构造?Doublepulsar?利用工具的?xml? 信息?spoolsv.xml,同时通过特征码定位?payload? 中需要填写的配置参数 (攻击方?ip,payload? 通过该 ip访问?web?服务,下拉样本程序 )




所有工作完成之后,调用?Doublepulsar?执行后门利用( 通过内核级注入 payload到lsass.exe进程 ( 默认进程名 ))



以上就是攻击程序的执行流程,接下来是payload的功能分析。


3.2.2?payload功能


payload?分为?x64.dll?和?x86.dll ,完成功能相同,这里以?x86.dll?为例进行分析。其导出函数有?Func1 , Func2,代码相同,如下:



访问攻击端架设的WEB服务器,下载?dnsclientprovider_userdata.mof ( 若本地系统根目录存在该文件,则先删除 ),然后进行解压,同时将解压后的下列文件移动到?C:WindowsIMEMicrosoft?下。



最后,执行挖矿程序(此处svchost.exe是挖矿程序 )。



至此,第二个用户已经完成感染。


总结

该样本所使用的绝大多数都是开源模块,其中WEB服务器使用开源项目mongoose ,挖矿程序使用开源项目 https://github.com/xmrig/xmrig, 永恒之蓝 漏洞利用工具地址 https://github.com/Eitenne/EternalPulse。


* 本文作者:渔村安全,本文属FreeBuf原创奖励计划,未经许可禁止转载








渔村安全
19 篇文章
等级: 5





|



|










  • mcLuv

    ?2017-07-27



    回复
    1楼


    小编,是不是把题材归类错板块了,这个应该属于系统安全,不是web安全





    亮了(
    10)











    • Akane?

      (5级)
      Gakki赛高
      ?2017-07-27



      回复



      @ mcLuv 感谢提醒,已修正





      亮了(
      8)










    • m5BKxr?

      (1级)
      这家伙太懒了,还未填写个人描述!
      ?2017-07-27



      回复
      2楼


      插图中的 setp 写错了吧





      亮了(
      9)










    • m5BKxr?

      (1级)
      这家伙太懒了,还未填写个人描述!
      ?2017-07-27



      回复
      3楼


      0i64和-1i64这是什么意思





      亮了(
      6)










    • 温柔刀客?

      (2级)

      ?2017-07-27



      回复
      4楼


      一个洞被玩成筛子了。。。





      亮了(
      6)










    • 渔村安全

      ?2017-07-28



      回复
      5楼


      你不服 来打我啊!





      亮了(
      8)










    • yyy

      ?2017-08-01



      回复
      6楼


      小白求科普。。这里说的挖矿程序跟数字货币的那个挖矿是一回事吗?





      亮了(
      0)

  • 相关文档

  • ipad2018电池使用时间
  • 化学式与化合价练习题
  • 布达佩斯周边旅游路线攻略
  • 怎么把表格固定
  • 深入人心的爱情句子精选
  • 黑白人物版画图片大全
  • "狷介之人,砭清激浊"是什么意思
  • Docker(四)、制作自己的Docker 镜像
  • 加拿大留学签证的资金证明要求
  • 模拟cmos集成电路设计_高线性度CMOS模拟乘法器设计与仿真
  • 清明祭英烈作文(精选10篇)
  • 华为新员工的岗前培训方案
  • 参观心得体会精选多篇
  • 个人报考承诺书通用3篇
  • lvs的调度算法有几种_lvs那些事
  • 微信小程序scroll-view组件无横向滚动的解决方法
  • 关于青春追梦的好句好段
  • 揭秘!微软 Build 2020 开发者大会将启,韩老师带你深度解读
  • 成都青羊区社保办理
  • 党员反四风公开承诺书
  • 三大高级协议--http/dhcp/ftp
  • 万用表怎么测电流图解
  • STM32F103学习之四种点灯方式
  • 苹果屏幕翘起来怎么办
  • 2020年3月黑龙江公共英语等级考试退费说明PETS1-3
  • 播音主持艺术发展分析论文
  • 饿了么添加购物车失败
  • 都说兰花组培苗很难开花这是什么原因
  • 关于为北京加油的英文演讲稿
  • 【机器学习】决策树及Bagging, Random Forest和Boosting模型融合
  • 猜你喜欢

  • 第8章 汽车结构有限元分析指南
  • 甘肃省天水一中2010届高三上学期第三阶段考试(语文)
  • 运营总监年度的工作计划
  • 两新党建工作汇报与两新党组织建设方案汇编
  • 黑龙江省哈九中2011届高三年级12月份月考 物理.含答案
  • 纳洛酮对老年患者全身麻醉后认知功能的影响
  • 腹膜透析的讲解 ppt课件57页
  • 慢性肺心病患者血流变学、血脂及血小板聚集功能的检测
  • 张国强同学给柯岩的信
  • 【最新精选合同范本】工矿产品销售合同范本
  • 【新版】金融技术风险管理
  • 三年级语文下册 第八单元 *作 这样想象真有趣课件 新
  • 工程制图实训指导书
  • 六年级散文诗歌:爸爸,您辛苦了
  • 47457全上古三代秦汉三国六朝文五十四
  • 房地产开发企业会计与纳税实务(第五章)
  • (检讨书)上课吃东西检讨书
  • 腾讯云二级域名解析
  • 最新 农村初中学生学*语文的摘?岸圆攮精品
  • ps怎么把人剪切处理
  • 银翘散加减治疗化妆品皮炎102例
  • 第五组图的传递闭包(一笔画问题)
  • 2018-2019年唐山市遵化市新店子镇魏家井联办小学三年级上册英语期末测验无答案
  • base64图片流转为MultipartFile文件 java后台
  • 【2018年中考真题模拟】四川省攀枝花市2018年中考数学真题试题(含解析)
  • 深圳市吉瑞通电子有限公司(企业信用报告)- 天眼查
  • 河南省商丘市柘城中学2017届九年级上学期第二次段考化学试题(附答案)$752645
  • 2019版高中地理第6章第1节人地关系思想的演变学案新人教版必修12
  • Johannesburg, South Africa∶ Frommer's ShortCuts
  • 自然舒食养生法
  • 文言文中使的用法
  • 初中英语作文修改1489895651
  • 安装Mxnet-Gpu
  • 清原满族自治县丰硕玉米种植专业合作社企业信用报告-天眼查
  • 鸡言鸡语是什么意思
  • 音乐 六年级下册 第1单元 鸟的歌唱 word高清打印版电子书电子课本
  • 2016-2017年对外经济贸易大学MTI英语翻译硕士英语翻译基础《经济金融词汇》考研资料—新祥旭考研辅导.pdf
  • 高强度辐射或增其终身患癌风险
  • 【推荐】2019秋九年级物理全册第十五章电流和电路第1节两种电荷第1课时两种电荷课件新版新人教版.ppt
  • 初一作文:热=流行?
  • 被叫拔掉电板后主叫呼叫流程(注释)
  • 农业科技档案如何服务于“三农”工作
  • 电脑版