windows手工杀毒-寻找可疑进程之线程

2024-09-07 06:36

本文主要是介绍windows手工杀毒-寻找可疑进程之线程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上篇回顾:windows手工杀毒-寻找可疑进程之进程模块-CSDN博客
        上篇我们介绍了如何通过进程模块寻找可疑进程,进程模块文件按照PE格式存储,我们可以使用IDA等静态分析(不需要运行文件,只看文件内容)工具分析文件行为,也可以使用windbg,x64debug等动态分析(运行文件)文件行为,也可以根据文件所属公司,文件路径等文件相关信息寻找可疑进程。今天介绍如何通过线程寻找可疑进程。

术语介绍:

线程:

通过前几篇的介绍,我们知道进程是一整套运行时占用的资源的集合体,他是个逻辑概念。可以简单理解为是一个仓库的管理人员,他记录着仓库中有哪些货物,这些货物都放在哪,但是真正去搬运,去使用这些货物的不是他,而是线程。线程负责真正执行可执行文件的代码,从哪里开始执行,怎么执行等等。

如何获取进程的线程列表

使用之前介绍的ProcExp.exe,view->lower panel view->Threads查看线程列表

注:有人反馈看到的线程列表,模块列表是空的,这种情况下需要以管理员权限运行该工具,如果还看不到列表那可能存在黑客对抗,可能是工具被注入了,也可能中了rootkit

图中展示了DouyuUpdate.exe进程的线程列表。TID是线程唯一标识符

如何发现可疑线程

1. 通过线程开始时间发现可疑线程

我们通过右键选中进程,查看进程属性,在属性面板中可以看到进程启动时间。通常线程启动时间和进程启动时间是临近的,如果某个线程的启动时间与进程相距很远且与恶意行为发生的时间很紧近,那这就是个可疑的线程。

线程一定在进程启动的临近时间启动吗?这倒也不是,主要看线程的用途,比如一些周期性任务,像软件运行情况的收集,资源文件的写入或释放,不过这类线程通常是在执行某些动作后进入等待状态,等待指定时间间隔或信号后再次执行,所以TID通常是不会变化的。

2. 通过线程数量发现可疑线程

通常进程稳定运行一段时间后他的线程数量也是稳定的,如果我们发现一个进程的线程数量在不行的变化,那可能需要重点关注下这个进程。这种情况也要看进程是干什么的,还需要结合线程开始地址进一步判断

3. 通过线程开始地址发现可疑线程

从上面的截图中我们可以看到线程的开始地址。这个地址通常是在某个模块的偏移处,如果线程的开始地址不属于任意一个模块范围内,那这就是可疑线程。比如通过进程注入技术,在进程空间内手动分配内存,写入恶意代码并执行的情况。我们还可以按照上篇介绍的方法分析下线程开始地址所在的模块是否是恶意模块

这篇关于windows手工杀毒-寻找可疑进程之线程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144334

相关文章

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

Windows自动化Python pyautogui RPA操作实现

《Windows自动化PythonpyautoguiRPA操作实现》本文详细介绍了使用Python的pyautogui库进行Windows自动化操作的实现方法,文中通过示例代码介绍的非常详细,对大... 目录依赖包睡眠:鼠标事件:杀死进程:获取所有窗口的名称:显示窗口:根据图片找元素:输入文字:打开应用:依

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四: