调试脚本病毒

news/2024/11/15 7:15:09 标签: 前端, web安全, 网络

1、背景

截获病毒样本时遇到各类脚本病毒样本。

2、调试.wsf脚本

.wsf格式文件是windows脚本文件(Windows Script File)的简称,一个wsf文件中不仅可以同时包含js和vbs脚本,而且可以包含Perl、Object REXX、python、 Kixtart等脚本。这类脚本右键打开则可看见加密后的代码,用Visual Studio可对该类脚本调试。通过VS自带的监视变量功能即可看到病毒期间都在执行了什么操作。

调试.wsf前需要将注册表项进行设置

第一步:将以下注册表路径JITDebug的键值设为1

HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug

第二步:用以下方式执行.wsf脚本,加 /x 参数会弹出使用vs调试的窗口

wscript.exe /x myScript.wsf

运行以上病例后会抛出一个即时异常,脚本开始运行后自动启动VS调试器。

图1

图2 F10,F11调试

3、调试js脚本

有两种方式,一种是借助VS直接调试,一种是借助浏览器调试。

借助Visual Studio调试

用Visual Studio调试js与.wsf方法差不多,运行

wscript.exe /x myScript.js

借助浏览器调试

打开控制台把eval函数替换成alert()或console.log()。

chrome 单步调试JS也可,开启 debugger ,代码在第三行前停止执行。。

4、调试office脚本

alt+shift11,调出脚本窗口,在调试的代码处下断点。通过观察变量变化得到C&C域名或是行为。

5、调试HTA

在分析office cve-2017-0199漏洞类样本的时候,会访问一个hta。通过抓包可以看到域名连接,想要看vbs的变形就使用以下工具:

  • htaedit
     HtaEdit - HTA Editor with built-in Debugger - HTML Application

6、查看SWF

  • 闪客精灵
  • as3
  • JPEXS Free Flash Decompiler

7、关注重点

脚本类的样本主要关注3点:判断下载的样本是否可用,样本是否可以联网,联网是否存活。

9、OD调试

新建【wscript.exe xxx.js】的快捷方式,拖进OD。然后查看是否有网络模块【WS32_32.dll】被加载。如果有就断点加载的位置,在模块里的联网函数下断点。

快捷方式运行 wscript.exe XXX.js 
E查看模块,找kernel32.dll createfile,ws2_32.dll getaddrinfo
M查看内存状态
L查看日志

http://www.niftyadmin.cn/n/5752862.html

相关文章

Linux篇(用户管理命令)

目录 一、用户与用户组 1. 为什么要做用户与用户组管理 2. Linux的用户及用户组 2.1. Linux的多用户多任务 2.2. 什么是用户 2.3. 什么是用户组 2.4. 用户和用户组的关系 二、用户和用户组管理 1. 用户组管理 1.1. 用户组添加 /etc/group文件结构 1.2. 用户组修改 …

【Java Web】监听器类型及其使用

文章目录 监听器使用监听器类型ServletContextListenerHttpSessionListenerServletRequestListenerServletContextAttributeListenerHttpSessionAttributeListenerServletRequestAttributeListenerHttpSessionBindingListener 监听器(Listener)组件用于监…

wsl配置ubuntu22.04,并配置docker

wsl配置ubuntu22.04,并配置docker 文章目录 wsl配置ubuntu22.04,并配置docker一、在Windows上安装Linux子系统前提条件安装步骤 二、wsl安装系统到其他盘①查看wsl运行状态,将其保持在关闭状态②导出当前Linux的镜像③注销之前的系统并检查④…

通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制

目录 通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制 一、引言 二、语义搜索与 MongoDB Atlas 的背景 三、MongoDB Atlas 的向量搜索功能 1. 向量搜索的实现方式 2. 典型操作示例 四、RAG 在 MongoDB Atlas 的应用 1、RAG是什么 2、RAG 的实现过程 3、RA…

Java:JVM

1.JVM内存区域的划分 一个Java写的程序跑起来,就得到了一个Java进程 JVM 上面运行的字节码指令; 进程:操作系统资源分配的基本单位; 内存区域的划分: 1.程序计数器 在内存空间里(比较小的空间),保存了下一个要执行的指令的内存地址(元数据区的地址); 这里的"下一条…

开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-Qwen-Agent深入学习(四)

一、前言 Qwen-Agent 是一个利用开源语言模型Qwen的工具使用、规划和记忆功能的框架。其模块化设计允许开发人员创建具有特定功能的定制代理,为各种应用程序提供了坚实的基础。同时,开发者可以利用 Qwen-Agent 的原子组件构建智能代理,以理解和响应用户查询。 本篇将换一种方…

openwebui二改界面环境搭建

1、下载源码 https://github.com/open-webui/open-webui 2、编译前端 npm i npm run dev 注意版本要求: Python Version: Python 3.11Node.js Version: 20.10 浏览器访问:http://localhost:5173/ 3、编译后端 cd backend conda create --name op…

「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计

本篇将继续讲解PTA平台上的题目 L1-003 个位数统计,通过对数字的处理与统计,掌握基础的字符串操作与数组计数功能,进一步提升Cangjie编程语言的实际应用能力。 关键词 PTA刷题数字统计数组操作字符串处理编程技巧 一、L1-003 个位数统计 题…