应急响应-Windows-进程排查

news2024/12/4 17:03:16

进程(process)是计算机中的程序关于某数据集合上的一次运动活动,是系统进行资源分配和调度的基本单位,是操作系统结果的基础。在早期面向进程结构中,进程是线程的容器。无论是在Windows系统还是Linux系统中,主机在感染恶意程序后,恶意程序都会启动相应的进程,来完成相关的恶意操作,有的恶意进程为了能够不被查杀,还会启动相应的守护进行对恶意进程进行守护。

对于windows系统中的进程排查,主要是找到恶意进程的PID、程序路径,有时还需要找到PPID(PID的父进程)及程序加载的DLL。对于进程的排查,一般有如下几种方法。

任务管理器查看
  • 比较直观的方法是通过【任务管理器】查看可疑程序。但是需要在打开【任务管理器】窗口后,添加【命令行】和【映射路径名称】等进程页列,如图所示,以方便获取更多的进程信息。
  • 在排查进程时,可重点关注进程的映像路径名称及命令行是否可疑,从而进一步进行排查,如图所示,程序iexplore.exe为可疑进程。
tasklist命令行排查
  • 在命令行中输入【tasklist】命令,可显示运行在计算机的所有进程,可查看进程的映像名称、PID、会话名等信息,如图所示
  • 使用【tasklist】命令并添加特定参数,还可以查看每个进程提供的服务,如添加svc参数,即输入【tasklist/svc】命令,可以显示每个进程和服务的对应情况,如图所示。
  • 对于某些恶意加载DELL的进程,可以通过输入【tasklist /m】命令进行查询,如图所示。
  • 要想查询特定DLL的调用情况,可以使用命令【tasklist /m 名称】。如图所示。输入【tasklist/m ntdll.dll】命令,可查询调用ntdll.dll模块的进程。
  • 同时,【tasklist】命令还有过滤器的功能,可以使用【fi】命令进行条件筛选,结合关系运算符【eq】(等于)、【ne】(不等于)、【gt】(大于)、【lt】(小于)、【ge】(大于等于)、【le】(小于等于)等命令进行有效过滤,如图所示。
  • 例如,查看PID为992的进程,可使用命令【tasklist /svc /fi "PID eq 992"】查看,如图所示、。
netstat 命令行
  • 在命令行中输入【netstat】命令,可显示网络链接的信息,包括活动的TCP链接、路由器和网络接口信息,是一个监控TCP/IP网络的工具。相关参数如下:
    • -a:显示所有连接和侦听端口。
    • -b:显示在创建每个连接或侦听端口时涉及的可执行程序。
    • -e:显示以太网统计信息。可以与-s结合使用。
    • -f:显示外部地址的完全限定域名(FQDN)。
    • -n:以数字形式显示地址和端口号。
    • -o:显示拥有的与每个连接关联的进程ID。
    • -p proto:显示proto指定的协议的连接。
    • -q:显示所有连接、侦听端口和绑定的非侦听TCP端口。绑定的非侦听端口不一定与活动连接相关联。
    • -r:显示路由表。
    • -s:显示每个协议的统计信息。默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息。
    • -t:显示当前连接卸载状态。
    • -x:显示NetworkDirect连接、侦听器和共享终结点。
    • -y:显示所有连接的TCP连接模板。无法与其他选项结合使用。
    • interval:重新显示选的统计信息,每次显示之间暂停时间间隔(以秒计)。常见的网络状态如下。
      • LISTRNING:侦听状态
      • ESTABLISHEN:建立连接
      • CLOSE_WAIT:对方主动关闭连接或网络异常导致连接中断
  • 在排查过程中,一般会使用【netstat -ano | findstr "ESTABLISHED"】命令查看当前的网络连接,定位可以的ESTABLISHED。如图所示。在排查中发现PID为2856的进程有大量的网络连接。
  • 通过【netstat】命令定位出PID,在通过【tasklist】命令进行程序定位,发现PID为2856的进程有大量网络连接后,使用【tasklist | find "2856"】命令可查看具体的程序。
  • 也可通过【netstat -anb】命令(需要管理员权限)快速定位端口对应的程序,如图所示。
PowerShell排查
  • 有时对于有守护进程的进程,还要确认子夫进程之间的关系,可以使用PowerShell进行查看,一般PowerShekk在查询时会调用Wmi对象。【Get-WmiObject Win32_Process | select Name, ProcessId, ParentProcessId, path】 命令中 Get-WmiObject Win32_Process 表示获取进程的所有信息,select Name, ProcessId, ParentProcessId, Path 表示选择 Name, ProcessId, ParentProcessId, Path 4 个字段,整个命令表示显示 所有进程信息中的 Name, ProcessId, ParentProcessId, Path 4 个字段的内容。执行后的结果如图所示。

WMIC命令查询
  • 在命令行中使用【wmic process】命令,可以对进程情况进行查询。但使用【wmic process list full /format:cvs】命令,即以cvs格式列出进程的所有信息,此时命令列出的信息过多,不便于阅读。因此,可以使用【 wmic process get name,parentprocessid,processid /format:csv 】
  • 其他类似命令如下。
    • 【wmic process get ExecutablePath,processid /format:csv】命令表示以csv格式来显示进程路径、进程ID信息。
    • 【wmic process get name,ExecutablePath,processid,parentprocessid /format:csv findstr /I "appdata"】命令表示以CSV格式来显示进程的名称、进程路径、进程ID、父进程ID信息。
  • 同时【wmic】命令还可以结合条件对进程进行筛选。
    • 【wmic process where processid=[PID] get parentprocessid 】命令以表示以PID的值作为条件来获取其父进程的PID情况。如图所示,是获取PID的值为1820的进程的父进程PID的值,获取到父进程PID的值为10556。
  • 其他类似命令如下
    • 【wmic process where processid=[PID] get commandline 】命令表示以PID的值作为条件来获取其命令行。
  • 在使用【wmic process】 命令查出恶意进程后,会结束恶意进程,一般使用命令如下
    • 【wmic process where name="malware.exe" call terminate】 命令是值删除"malware.exe" 恶意程序的进程。
    • 【wmic process where processid=[PID] delete】命令是指删除PID为某值的进程。

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

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

相关文章

Vue 3.0中Treeshaking特性(详细解析)

文章目录 一、是什么二、如何做Vue2 项目Vue3 项目 三、作用参考文献 一、是什么 Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination 简单来讲,就是在保持代码运行结果不变的前提下,去除…

vue项目中如何使用SVG图标

IconFont使用的不足:图标添加、修改、删除以后在线链接需要更新离线资源需要重新下载项目代码需要同步更新。 在项目不断更新和迭代的过程中,图标的增减变化还没有稳定的情况下,开发人员的工作效率会明显下降。 那么有没有一个图标应用方式…

利用大数据靶向肿瘤细胞的基因突变

在亚利桑那健康科学大学,研究人员正在应用大量数据,试图更多地了解这种突变、其变异以及任何可能有助于他们治疗患者的相关因素。 癌症的潜在原因很多,从食物和环境到创伤和感染。在遗传学方面,研究人员发现,有一种基因…

Unity中实现合理塔防寻路机制

前言 在一款TD游戏中,最重要的单位就两大类:防御塔(Tower)和敌人单位(Enemy)。在处理敌人单位的AI行为时,最基本也是最重要的就是自动寻路。在各式TD游戏中,防御塔的攻击方式以及敌人单位的Buff机制往往是能做出差异化的地方;而在寻路问题上,几乎是没有差异的,面对…

Springboot注解@Aspect(一)之@Aspect 作用和Aop关系详解

目录 Aspect的使用 配置 作用 通知相关的注解 例子 结果: Aspect作用和Spring Aop关系 示例 标签表达式 Aspect的使用 配置 要启用 Spring AOP 和 Aspect 注解,需要在 Spring 配置中启用 AspectJ 自动代理,但是在 Spring Boot 中&a…

shell脚本-函数及数组

一.函数 1.函数的作用 语句块定义成函数约等于别名,定义函数,再引用函数 封装的可重复利用的具有特定功能的代码 2.函数的基本格式 法一: [function] 函数名 {命令序列[return x] #使用return或者exit可以显式的结束函数 }法二&…

对比一下Confluence,其实HelpLook搭建知识库也不错

随着越来越多的企业转向远程工作和分散团队,寻找一种适合团队协作和知识共享的工具变得更为重要。HelpLook和Confluence是两个我认为比较相似的知识库软件,它们都提供了丰富的功能和卓越的用户体验。接下来就对HelpLook和Confluence进行详细的介绍和对比…

【Spring 篇】MyBatis DAO层实现:数据之舞的精灵

欢迎来到MyBatis DAO层的神奇世界,这里将为你揭示DAO层的奥秘,让你成为数据之舞的精灵。无论你是初学者还是想要深入了解DAO层的开发者,这篇博客将引导你踏入MyBatis DAO层的王国,一探其中的精彩。 舞台1:DAO层的角色…

【大数据面试题】HBase面试题附答案

目录 1.介绍下HBase 2.HBase优缺点 3.介绍下的HBase的架构 4.HBase的读写缓存 5.在删除HBase中的一个数据的时候,它是立马就把数据删除掉了吗? 6.HBase中的二级索引 7.HBase的RegionServer宕机以后怎么恢复的? 8.HBase的一个region由哪些东西组成? 9.…

安科瑞电化学储能电能管理系统解决方案——安科瑞赵嘉敏

1 概述 在我国新型电力系统中,新能源装机容量逐年提高,但是新能源比如光伏发电、风力发电是不稳定的能源,所以要维持电网稳定,促进新能源发电的消纳,储能将成为至关重要的一环,是分布式光伏、风电等新能源消…

LeetCode 40.组合总和 II

组合总和 II 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 方法一、回溯 由于题目要求解集…

第十九周周报

文章目录 摘要文献阅读DeepHuman: 3D Human Reconstruction from a Single Image(ICCV 2019)贡献摘要网络结构总结 PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization贡献摘要网络结构总结 Animated 3D human avatars from a single imag…

多项式乘法逆(p4238 NTT)

题目路径&#xff1a; https://www.luogu.com.cn/problem/P4238 思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring> #include<cmath> #include<ctime> #include&l…

有什么办法可以让模糊的老照片变清晰?这几个方法收藏好!

照片盒子里的老照片&#xff0c;宛如一扇陈旧的时光之门&#xff0c;等着我们去开启。那些尘封的记忆&#xff0c;似乎已经被时间遗忘&#xff0c;但当我们轻轻拂去尘埃&#xff0c;那些熟悉的画面便再次浮现在眼前。然而&#xff0c;岁月无情&#xff0c;这些宝贵的瞬间在时间…

node.js漏洞总结

js开发的web应用和php/Java最大的区别就是js可以通过查看源代码的方式查看到编写的代码&#xff0c;但是php/Java的不能看到&#xff0c;也就是说js开发的web网页相当于可以进行白盒测试。 流行的js框架有&#xff1a; 1. AngularJS 2. React JS 3. Vue 4. jQuery 5. Backbone…

Linux | makefile简单教程 | Makefile的工作原理

前言 在学习完了Linux的基本操作之后&#xff0c;我们知道在linux中编写代码&#xff0c;编译代码都是要手动gcc命令&#xff0c;来执行这串代码的。 但是我们难道在以后运行代码的时候&#xff0c;难道都要自己敲gcc命令嘛&#xff1f;这是不是有点太烦了&#xff1f; 在vs中…

Docker安装多个nginx容器时,要注意端口设置:

Docker安装多个nginx容器时&#xff0c;要注意端口设置&#xff1a; docker run -id --namemynginx4 -p 8089:80 nginx 安装多个nginx容器时&#xff0c;要注意端口设置&#xff1a;宿主机80端口已经被暂用&#xff0c;所以宿主机端口一定不能设置位80&#xff0c;但是容器上80…

Vulnhub靶场DC-7

本机192.168.223.128 目标192.168.223.136 主机发现 nmap -sP 192.168.223.0/24 端口发现 nmap -sV -p- -A 192.168.223.136 开启了22 80端口 80端口apache服务 先进入web界面看一下 提示&#xff1a;DC7加了一些新的东西&#xff0c;让我看看盒子之外的东西&#xff0c;与…

C++ 利用容器适配器,仿函数实现栈,队列,优先级队列(堆),反向迭代器,deque的介绍与底层

C 利用容器适配器,仿函数实现栈,队列,优先级队列【堆】,反向迭代器,deque的介绍与底层 一.容器适配器的介绍二.利用容器适配器实现栈和队列1.stack2.queue 三.仿函数介绍1.什么是仿函数2.仿函数的使用3.函数指针的使用1.函数指针的用处2.利用函数指针完成回调3.利用仿函数完成回…

docker 体验怀旧游戏(魂斗罗等)

docker run --restart always -p 8081:80 --name fc-games -d registry.cn-hangzhou.aliyuncs.com/bystart/fc-games:latest ip:8081访问 jsnes: js制作了一个网页版的NES模拟&#xff0c;可以在网页上玩fc游戏 (gitee.com)