设为首页 收藏本站
查看: 850|回复: 0

一次应对PowerShell+WMI挖矿***的记录

[复制链接]

尚未签到

发表于 2018-9-1 11:03:29 | 显示全部楼层 |阅读模式
  新年伊始,所在公司运气值飙升,受到了 WMI 挖矿***,占 cpu75%,而且传播速度很快,大有泛滥之势。看进程都是混淆过的代码。以前都靠的杀毒软件,这次都不好用了,趋势完全没反应,360在被***时才有提示,但提示的是cmd.exe,而且只有部分机器装了360。
  杀软指不上了,看来只能自己手动了,不过没有类似经验,真有点不知何从下手。好在有点powershell和wmi的功底
  第一步,先解析了下混淆的代码,得到了代码下载的 ip 地址,赶紧在防火墙上把该地址禁用了。
  第二步,杀软查不到病毒文件,计划任务也没有,服务和注册表也没有异常,参考了下网上的文章,估计是WMI,正好手里有SysinternalsSuite,用里面的autorun查了下,果然筛出一个异常的wmi。
  第三步,参考网上文章,确定被创建的wmi类,以及注册的wmi事件,进行删除。经过一个周末的观察,该挖矿进程没有再出现,基本可以确定问题已经解决。

总结:
  一. 使用powershell进行了编码混淆,无法从进程中查看具体执行的***代码,需要进行编码解析才可以看到真正的***代码。
  二. 使用WMI(Windows Management Instrumentation)来达到无文件持久化目的。
  具体说来:


  • 所有***代码添加至wmi类,***时从wmi类属性中获取***代码
  • 使用WMI事件消费者(WMI Event Consumer)定时来执行***代码。
  用到的WMI类:EventFilter,FilterToConsumerBinding,CommandLineEventConsumer。
  ***者创建的类:Win32_Services(代码存储用)
  FilterToConsumerBinding类将 EventFilter实例与CommandLineEventConsumer实例联系在一起。将各个类彼此关联起来,构造完整的程序执行循环。 FilterToConsumerBinding类会检查哪些Windows事件将通过 EventFilter来执行,也会检查 CommandLineEventConsumer中相应的代码。

本次***特点:
  无文件,不修改注册表,不修改服务,不修改计划任务,使用系统原生工具,杀软免疫,运行时任务管理器只显示宿主进程,只在***时杀软才有提醒,但也仅提示宿主进程。

解决方法
  powershell wmi结合,删除被修改的wmi类和创建的wmi event consumer
  通过这次应对挖矿***,把wmi和powershell又深入的学习了下,收获不小。再次感受到了powershell的强大威力。

删除方法
  

Get-WmiObject -Namespace root\Subscription -Class __EventFilter -filter "Name= 'DSM Event Log Filter'" | Remove-WmiObject -Verbose  

  
Get-WmiObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter "Name='DSM Event Log Consumer'" | Remove-WmiObject -Verbose
  

  
Get-WmiObject -Namespace root\Subscription -Class __FilterToConsumerBinding -Filter "__Path LIKE '%DSM Event Log Consumer%'" |Remove-WmiObject -Verbose
  

  
([WmiClass]'root\default:Win32_Services') | Remove-WmiObject -Verbose
  

  
Get-Process -Name "powershell" | Stop-Process
  

  关键是要找到被创建的类名和事件,根据实际情况筛选,别删错了。然后再把运行中的powershell挖矿进程删掉就可以了。

参考:
  www.anquanke.com/post/id/87976
  www.anquanke.com/post/id/88851
  www.anquanke.com/post/id/89362
  www.360zhijia.com/360anquanke/292834.html
  www.freebuf.com/column/149286.html



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-561036-1-1.html 上篇帖子: shell中的 $$ $! $? $0 等特殊用法 下篇帖子: 如何使用PowerShell从VHD创建虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表