一次应对PowerShell+WMI挖矿攻击的记录 推荐 原创 tliursc 2018-02-11 11:25:29 博主文章分类:安全 ©著作权 文章标签 PowerShell WMI 文章分类 运维 ©著作权归作者所有:来自51CTO博客作者tliursc的原创作品,请联系作者获取转载授权,否则将追究法律责任 新年伊始,所在公司运气值飙升,受到了 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 赞 收藏 评论 分享 举报 上一篇:PowerShell安装exe文件 下一篇:Html+JS+PowerShell打造Web版AD管理系统(二) 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 记一次挖矿病毒的溯源 客户打电话过来说,公司web服务异常卡顿。起初以为是web服务缓存过多导致,重启几次无果后觉得可能是受到了攻击。起初以为是ddos攻击,然后去查看web服务器管理面板时发现网络链接很少,但是cpu占用高达99%,于是便怀疑是中了挖矿病毒。 挖矿病毒 溯源技术 应急响应 记录一次接口无法使用的问题排查 所有接口无法使用, postman测试nginx 返回504服务器cpu, 内存正常原因: php-fpm进程数太低,请求处理不过来设置php-fpm进程数的方法如下:打开“php-fpm.conf”配置文件。修改“pm.max_children”参数。该参数是php-fpm的子进程最大数,当该值为“static”时,表示子进程数固定;当该值为“dynamic”时,表示子进程数可以动态设 php 记录一次nginx大量502问题处理 先看问题开发反馈有个接口请求一直是502,介入后查看nginx error log 展示信息如下:upstream sent too big header while reading response header from upstream意思是上游服务返回的响应携带的头信息太大了, 超过了配置的缓冲区,导致读取响应超时, nginx直接返回502如何解决可以在主配置文件中添加proxy buf 缓存 nginx buffer 记录一次清理挖矿病毒 查杀一次挖坑 v8 bash linux 一次挖矿入侵处理记录(2021.01.27) 021.01.27一、突发的大量SSH扫描2021.01.25 22:40,接到用户报告发现有来自校内7个IP的大量SS. bc IP ios 记录一次wnTKYg挖矿木马发现和清理 前一段时间突然收到一条服务器CPU告警,大致看了下是一台测试机,刚刚开始以为是在做压力测试,但是再认真看下服务器的CPU是在极高的负载下发的告警,就去咨询了下发现此时并没有在压力测试,平时如果测试服务没有做压测的时候CPU是几乎负载都极低的,此时服务器突然CPU高负载是极为不正常,所以就连上服务器用glances看了下发现有一个“wnTKYg”的进程使用大量的cpu,在跟 CPU wnTKYg 记一次DDg挖矿gongji 1.killall掉×××进程qW3xT.2,还会有一个守护进程ddgs.2.psaux|grep两个×××进程,找出启动进程的文件路径并删除3.crontab-r清除计划任务(或者servicecrondstop)4.若做完上述三步挖矿进程还是存在的话,仔细检查是否有纰漏,若无纰漏foriin999;dokillallqW3xT.2|ddg>/dev/null;rm-rf/tmp/qW3xT. a DDg 记一次被挖矿的经历 某某云产品,在之前双十一的时候做活动,没忍住,就买了两台,本着不浪费的原则,在上面搭了一套elastic search的环境,本地起kibana连接服务器上的ES,感觉还不错,其中也经历了几个坑,插播两个小知识点:服务器监听127.0.0.1和监听0.0.0.0有什么区别?如果应用监听在127.0.0.1只能本机客户端可以访问,外网不能访问,跟localhost是一样的。如果应用监听在0.0.0 java 记一次挖矿病毒的溯源 客户打电话过来说,公司web服务异常卡顿。起初以为是web服务缓存过多导致,重启几次无果后觉得可能是受到了攻击。起初以为 挖矿病毒 溯源技术 应急响应 redis sed 一次内网挖矿病毒的应急响应 一次内网挖矿病毒的应急响应零、前言前几天公司的一台虚拟机CPU持续告警,IT周日发现了问题,后来发现是挖矿病 bash 服务器 内网 定时任务 ubuntu 一次挖矿程序的清理(回忆版) 由于是回忆版,当时并未留截图,所以只能口头描述一下了。当时本地服务器发现一个进程占用了99%的CPU以后,kill了好几次发现过一会就会自动启动,于是开始找是哪个进程来启动这个进程的,当时TOP发现一个叫ujusl5的莫名其妙的进程,kill掉以后那个挖矿进程就不会自动启动了,启动这个进程的是postgresql用户,于是登录这个用户去寻找ujusl5的文件以及在crontab里发现了启动进程的脚 安全 linux 运维 记一次与挖矿木马的较量---linux下的挖矿 记一次与挖矿木马的较量作者:聚铭网络一、概述本文主要是记录了一次针对挖矿程序的应急响应处理,从三个部分来解读此次事件:1、事件描述部分,确认是否有挖矿程序。2、现场分析部分,讲了是如何一步一步杀掉挖矿程序。3、程序分析部分,针对挖矿脚本的详细解读。杀死竞争挖矿程序、进程守护、传播挖矿。二、疑惑的用户前几天接到客户反映,他们有一台服务器资产存在异常现象,原本配置的crontab定时任务全被修改,用户 安全分析 定时任务 sed oracle 记一次Kubernetes被入侵挖矿 Kubernetes 居然被挖矿 docker linux 网络安全 记一次挖矿木马样本分析 有一台VPS被弱口令上马了,程序把shell命令用rc4加密在了硬编码里面,回到样本,只要更改ret的值然后调到ex 木马分析 挖矿木马 shell分析 二进制文件 ide 记一次手动清理Linux挖矿病毒 记一次Linux门罗币恶意进程清除 Linux 门罗币 病毒清理 一次挖矿病毒的处理过程复盘 一次挖矿的处理过程复盘 bash sed python Powershell操作wmi Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_Share #共享 Get-WmiObject -Namespace ROOT\CIMV2 -Class CIM_DataFile #⽂件/⽬录列表 Get-WmiObject -Namespace R ios 杀毒软件 microsoft 一次Saltstack的报错记录 master端报错信息:[root@RS1 ~]# salt -G 'roles:nginx' test.ping[WARNING ] Key grains with value roles:nginx env:prod has an invali 报错 SaltStack 一次悲惨的被挖矿经历 出品|MS08067实验室(www.ms08067.com) 本文作者:500(Ms08067实验室成员) ###一、事件起因 上周想着部署一个分布式文件系统,我就在阿里云上申请了一台机器,部署了docker并安装Simpledfs,可不想刚云主机刚配置没两天,就发现机器的cpu使用率飙升,控制台各 ... docker bash 渗透测试 计划任务 bash脚本 记录一次“记录超长” Jdbc报错“记录超长”,百度一下推测可能是因为SQL过长导致;但是后来经过老杜指点,发现原来是因为字段(varchar 8000)超长导致; 解决问题的套路: 1. 首先在Sql的客户端上执行代码;如果不错,说明还是代码处理有问题;如果抛异常说明Sql语句问题;简言之,缩小问题范围; 2. 如果第 数据库 字段 sql 百度 客户端