网络攻防学习笔记 Day65
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
1.Windows 系统
对于 Windows 系统中的进程排查,主要是找到恶意进程的 PID、程序路径,有时还需要找到 PPID(PID 的父进程)及程序加载的 DLL。对于进程的排查,一般有如下几种方法。
比较直观的方法是通过【任务管理器】查看可疑程序。但是需要在打开【任务管理器】窗口后,添加【命令行】和【映射路径名称】等进程页列。
在命令行中输入【tasklist】命令,可显示运行在计算机中的所有进程,可查看进程的映像名称、PID、会话名等信息。
输入【tasklist/svc】命令,可以显示每个进程和服务的对应情况。
对于某些加载 DLL 的恶意进程,可以通过输入【tasklist/m】命令进行查询。
在命令行中输入【netstat】命令,可显示网络连接的信息,包括活动的 TCP 连接、路由器和网络接口信息,是一个监控 TCP/IP 网络的工具。
在排查过程中,一般会使用【netstat-ano|findstr "ESTABLISHED"】命令查看目前的网络连接,定位可疑的 ESTABLISHED。也可以通过【netstat-anb】命令(需要管理员权限)快速定位到端口对应的程序。
有时对于有守护进程的进程,还要确认子父进程之间的关系,可以使用 PowerShell 进行查看,一般 PowerShell 在查询时会调用 Wmi 对象。
使用【wmic process list full/format:csv】命令,即以 csv 格式列出进程的所有信息,此时命令列出的信息过多,不便于阅读。因此,可以使用【wmic processget name,parentprocessid,processid/format:csv】命令,以 csv 格式来显示进程的名称、父进程 ID、进程 ID。
【wmic process where processid=[PID] get parentprocessid】命令表示以 PID 的值作为条件来获取其父进程的 PID 情况。
2.Linux 系统
在命令行中输入【netstat】网络连接命令,可分析可疑端口、可疑 IP 地址、可疑 PID 及程序进程。根据 PID 的值,利用【ls-alt/proc/PID】命令,可查看其对应的可执行程序。
也可以利用【lsof-p PID】命令,查看进程所打开的文件。
有些攻击者会将进程隐藏,以躲避排查,因此查看隐藏进程同样重要。按照顺序执行【ps-ef|awk '{print}'|sort-n|uniq >1】、【ls/proc|sort-n |uniq >2】和【diff1 2】命令,可以查看隐藏进程。
对于挖矿进程的排查,可使用【top】命令查看相关资源占用率较高的进程,之后进行定位。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/324b24f8d37aae9a6be869eef】。文章转载请联系作者。
评论