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

相关文章

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

异步线程traceId如何实现传递

《异步线程traceId如何实现传递》文章介绍了如何在异步请求中传递traceId,通过重写ThreadPoolTaskExecutor的方法和实现TaskDecorator接口来增强线程池,确保异步... 目录前言重写ThreadPoolTaskExecutor中方法线程池增强总结前言在日常问题排查中,

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

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

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

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

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