应急响应之入侵排查(下)

一.进程排查

1.Windows
  1. 任务管理器查看

    • 在 Windows 系统中,可通过任务管理器查看进程信息。操作步骤为:在任务管理器界面,于 “查看” 选项中选择 “选择列”,随后添加 “映像路径名称” 和 “命令行”,以此查看更多进程详情。
  2. 使用 tasklist 命令

    1. 查看进程与服务对应情况:使用命令 tasklist /svc
    2. 针对某些 DLL 恶意进程:执行 tasklist /m
    3. 查看调用特定模块进程:若要查看调用 ntdll.dll
    4. 利用 /fi 进行过滤:如 tasklist /svc/fi "PID eq 2820"
  3. 通过 netstat 进行排查

    1. 查看当前网络连接:输入 netstat -ano | findstr "ESTABLISHED"

    2. 联合定位程序:先通过 “netstat” 定位出 PID,再借助 “tasklist” 命令进行程序定位,示例:

      • “wmic process where name="firefox.exe" get processid,executablepath,name”
      • “wmic process where processid=602444 get processid,executablepath,name”
    1. 快速定位端口对应程序(需管理员权限):netstat -anb
  4. 使用 Powershell 进行排查

    • 进入 Powershell 后,输入 get-wmiobject win32_process | select name,processid,parentprocessid,path​ ,可获取进程的相关详细信息。


  5. wmic 查询

    1. 以 csv 格式显示数据:

      • wmic process list full /format:csv
      • wmic process get name,parentprocessid,processid /format:csv
      • wmic process get executablepath,processid /format:csv
    1. 根据进程 ID 查询:wmic process where processid=2020 get executablepath,processid /format:csv
    2. 根据进程名称查询:wmic process where name="httpd.exe" get executablepath,processid /format:csv
2.Linux
  1. 查看进程:netstat -anptl

  2. 查看特定进程可执行程序及打开文件:

    • 先通过 “netstat” 查看到如 “3364” 进程,再执行 “ls -alt /proc/3364” 查看其可执行程序。
    • 查看进程打开的文件则使用 “lsof -p 3364”。
  1. 处理恶意进程:

    • 若判断为恶意进程,可杀掉进程:kill -9 3364
    • 接着删除可疑木马,执行 rm -rf 木马文件
  1. 处理文件属性问题:

    • 若无法删除文件,可能文件被加上 “i” 属性,此时先使用 lsattr 文件名​ 查看属性。
    • 再用 chattr -i 文件名​ 移除 “i” 属性,之后便可删除文件。
  1. 查杀守护进程:若进程无法删除,可疑先查杀守护进程,然后再尝试删除。
  2. 查看资源占用率高的进程:通过 “top” 命令查看相关资源占用率比较高的进程。

二.服务排查

1.Windows
  • 在 Windows 下,按 Win + R 调出 “运行” 对话框,输入 “services.msc” 回车,就能打开 “服务” 窗口,查看服务名、描述、状态等信息。
2.Linux
  1. 基于 Red Hat 系

    • 对 Red Hat 系列 Linux 系统,用 chkconfig --list​ 可查看系统运行服务,但它有系统适配性,仅适用于 Red Hat 系及其兼容系统。
  2. Debian 系(如 Ubuntu)及通用方式

    • 在 Debian 系(如 Ubuntu)中,因系统特性无 “chkconfig” 命令,可用 service --status-all​ 查看所有服务即时状态。


三.文件痕迹排查

确定应急响应事件时间点后,对该时间点前后的文件以及带有特定特征的恶意软件进行排查。特征包括代码关键字、关键函数、文件权限特征等。

1.敏感目录
  1. Windows:

    • 检查各个盘下的 temp(tmp)相关目录,恶意程序释放子体常投放于此,可查看临时目录下是否存在异常文件。对于人工入侵事件,需重点排查浏览器历史记录、下载文件和 cookie 信息。

      • 查看用户 Recent 文件:Recent 文件存储最近运行文件快捷方式,可分析排查可疑文件,存储位置为 C:\Users\Administrator\Recent、C:\Users\ 用户名 \Recent,或通过 “运行” 输入 “recent”。

      • 预读取文件夹查看:Prefetch 是预读取文件夹,存放系统访问过文件的预读取信息,扩展名为 pf,可加快系统启动进程。Windows 7 可保存最近 128 个可执行文件信息,Windows 8 和 Windows 10 可记录最近 1024 个可执行文件,位置为 % SystemRoot%\Prefetch\​,可在 “运行” 对话框输入 prefetch​ 或 % SystemRoot%\Prefetch\​,或打开 C:\Windows\Prefetch​。


  2. linux:
    常见敏感目录有 /tmp​ 目录和命令目录 /usr/bin​、/usr/sbin​ 等,常作为恶意软件下载或文件被替换目录;~/.ssh​ 以及 /etc/ssh​ 也常作为后门配置路径,需重点排查。

2.时间点

介绍:确认应急响应事件时间点,排查该时间点前后文件变动情况以缩小范围。

  1. Windows

    通过列出攻击日期内新增的文件来发现相关恶意软件。在 Windows 系统中,使用 forfiles​ 命令查找相应文件。

    • 命令示例:

      • 显示对 2024/1/17 后的创建的 txt 文件进行搜索:forfiles /m *.txt /d +2024/1/17 /s /p c:\ /c "cmd /c echo @path @fdate @ftime" 2>null​
      • 显示 2024/1/17 之后 pptx 名字包含” 网络 “的文件:forfiles /m *网络*.pptx /p f:\ /d +2024/1/17 /s /c "cmd /c echo @path @fdate @ftime" 2>null​
      • 显示 2024/1/17 后所有访问过的文件:forfiles /m *.* /p f:\ /d +2024/1/17 /s /c "cmd /c echo @path @fdate @ftime" 2>null​
      • 注:2>null​ 表示将错误输出重定向到空设备,即不输出错误信息。
    • 排查注意事项:对文件的创建时间、修改时间、访问时间进行排查。对于人工入侵的应急响应事件,攻击者可能会使用如 “菜刀” 这类工具修改文档时间以掩饰入侵行为、规避排查策略。若文件相关时间存在明显逻辑问题(如创建时间为 2024,修改时间为 2022),则需重点排查,很可能是恶意文件。

  2. Linux

    通过列出攻击日期内变动的文件来发现相关恶意文件,使用 find​ 命令对某一时间内增加的文件进行查找。

    • ​find​ 命令参数说明:

      • ​find​:在指定的目录下查找文件。
      • ​-type b/d/c/p/l/f​:查找块设备、目录、字符设备、管道、符号链接、普通文件。
      • ​-mtime -n +n​:按文件更改时间来查找文件,-n​ 指 n 天以内,+n​ 指 n 天前。
      • ​-atime -n +n​:按文件访问时间来查找。
      • ​-ctime -n +n​:按照文件创建时间来查找。
    • 命令示例:

      • 查找一天内新增的 txt 文件:find / -ctime 0 -name ".*txt"​
      • 查找 3 天内新增的 txt 文件:find / -ctime -3 -name "*.txt"​
      • 查看目录按照时间排序:ls -alt | head -n 10​(查看前 10 条的内容)
    • 时间排查要点:对文件的创建时间、修改时间、访问时间进行排查。使用 stat​ 命令可以查看文件详细信息,若修改时间距离应急响应事件日期接近且有线性关联,说明文件有可能被篡改。

  3. Linux特殊文件

    • 特殊权限文件查找:例如,查找 /tmp​ 目录下权限为 777 的文件:find /tmp -perm 777​
    • webshell 查找:webshell 排查可以通过文件、流量、日志分析。基于文件的命名特征和内容特征操作相对较高。例如查找 /var/www​ 下所有 php 文件:find /var/www/ -name "*.php"​;进一步对找到的 php 文件进行特定内容搜索:find /var/www/ -name "*.php" | xargs egrep "assert|eval|base64_decode|shell_exec|passthru|(\$\_\POST\["​
3.WebShell

WebShell(网站入侵脚本)在通过上述时间点相关文件筛选方法之后,还可以使用 D 盾、HwsKill、webshellKill 等工具对目录下的文件进行规则查询。

四.日志分析

1.Windows日志分析
  1. 日志文件位置

    • Windows XP/windows server 2003:

      • 系统日志:C:\Windows\System32\config\SysEvent.evt
      • 安全性日志:C:\Windows\System32\config\SecEvent.evt
      • 应用程序日志:C:\Windows\System32\config\AppEvnet.evt
    • Windows vista/windows 7/windows8/windows10/Windows server2008 之后:

      • 系统日志为 C:\Windows\System32\winevt\Logs\System.evtx
      • 安全性日志为 C:\Windows\System32\winevt\Logs\Security.evtx
      • 应用程序日志为 C:\Windows\System32\winevt\Logs\Application.evtx
      • 或者打开 “运行”,输入 eventvwr.msc
  2. 不同类型日志介绍

    • 系统日志:指 Windows 系统中的各个组件在运行中产生的各种事件,可分为系统中各种驱动程序、操作系统的多种组件及应用软件在运行中出现重大问题等情况,如重要数据丢失、错误及系统崩溃行为等。
    • 安全性日志:主要记录各种与安全相关的事件,包括各种登录与退出系统的成功或不成功信息,以及对系统中各种重要资源进行的操作。
    • 应用程序日志:主要记录各种应用程序产生的各类事件,如 SQL server 数据库程序在受到暴力破解攻击时会有相关记录及详细信息。
    • 其他日志:在应急响应中经常也会用到 PowerShell 日志。
  3. 日志分析方法

    • 通过内置的日志筛选器进行分析:使用日志筛选器可以对记录时间、事件级别、任务类别、关键字等信息进行筛选。
    • 使用 Powershell 对日志进行分析:在使用 powershell 进行日志分析时,需要管理员权限。常用命令有 Get-EventLog​(只获取传统事件日志)、Get-WinEvent​(从传统事件日志和新 windows 事件日志技术生成的事件日志中获取事件,还会获取 windows 事件跟踪(ETW)生成的日志文件中的事件,需要 windows vista/windows server2008 及更高版本的 windows 系统,还需要.NET Framework 3.5 及以上版本)。例如获取安全性日志下事件 ID 为 4624(登录成功)的所有日志信息:get-eventlog security -instanceid 4624​;get-winevent -filterhashtable @{logname='security';id='4624'}​。
2.Linux日志分析
  1. 日志存放位置

    Linux 系统中日志一般存放在目录 /var/log/​ 下,具体功能如下:

    • ​/var/log/wtmp​:记录登录进入、退出、数据交换、关机和重启,即 last,是一个二进制文件,可以使用 last 查看。
    • ​/var/log/cron​:记录与定时任务相关的日志信息。
    • ​/var/log/messages​:记录系统启动后的信息和错误日志,使用 cat /var/log/messages​ 查看。
    • ​/var/log/apache2/access.log​:记录 Apache 的访问日志。
    • ​/var/log/auth.log​:记录系统授权信息,包括用户登录和使用的权限机制等。
    • ​/var/log/userlog​:记录所有等级用户信息的日志。
    • ​/var/log/xferlog(vsftpd.log)​:记录 linux FTP 的日志。
    • ​/var/log/lastlog​:记录登录的用户,可以使用命令 lastlog 查看。
    • ​/var/log/secure​:记录大多数应用输入的账户和密码,以及登录成功与否。
    • ​/var/log/faillog​:记录登录系统不成功的账号信息。
    • ​ls -alt /var/spool/mail​:查看邮件相关记录文件。
    • ​cat /var/spool/mail/root​:可发现对 80 端口的攻击行为(当 web 访问异常时,及时向当前系统配置的邮箱地址发送报警邮件)。
  2. 日志分析方法

    对 Linux 系统日志分析主要使用 grep​、sed​、sort​、awk​ 等命令。查看日志的方法如下:

    • 查看最后 10 行日志:tail -n 10 test.log​。
    • 查看 10 之后的所有日志:tail -n +10 test.log​。
    • 查询头 10 行的日志:head -n 10 test.log​。
    • 查询除了最后 10 条的所有日志:head -n -10 test.log​。
3.其他日志
  1. IIS日志位置

    • %SystemDrive%\inetpub\logs\LogsFiles
    • %SystemRoot%\System32\LogFiles\W3SVC1
    • %SystemDrive%\inetpub\logs\LogFiles\W3SVC1
    • %SystemDrive%\Windows\System32\LogFiles\HTTPERR
  2. Apache 日志位置

    • /var/log/httpd/access.log
    • /var/log/apache/access.log
    • /var/log/apache2/access.log
    • /var/log/httpd-access.log
  3. Nginx日志位置

    • 默认在 /usr/local/nginx/logs​ 目录下,accessl.log​ 代表访问日志,error.log​ 代表错误日志,若没有在默认路径下,则可以到 nginx.conf 配置文件中查找。
  4. Tomcat日志位置

    • 默认在 TOMCAT_HOME/logs/​ 目录下,有 catalina.out​、catalina.YYYY-MM-DD.log​、localhost.YYYY-MM-DD.log​、localhost_access_log.YYYY-MM-DD.txt​、hostmanager.YYYY-MM-DD.log​、manager.YYYY-MM-DD.log​ 等几类日志。
  5. Weblogic日志位置

    在默认情况下,WebLogic 有三种日志,分别是 access log、server log 和 domain log。

    • access log 的位置:$MW_HOME\user_projects\domains<domain_name>\server<server_name>\logs\access.log
    • server log 的位置:$MW_HOME\user_projects\domains<domain_name>\server<server_name>\logs<server_name>.log
    • domain log 的位置:$MW_HOME\user_projects\domains<domain_name>\server<adminserver_name>\logs<domain_name>.log
  6. 数据库日志

    • Oracle 数据库:使用 select * from v$logfile​ 命令,可查询日志路径,在默认情况下,日志文件记录在 $ORACLE/rdbms/log​。使用 select * from v$sql​ 命令,查询之前用过的 SQL。
    • MySQL 数据库:使用 show variables like '%log_%'​ 命令,可查看是否启用日志,如果日志已开启,则默认路径为 /var/log/mysql​,使用 show variables like '%general%'​ 命令,可查看日志位置。
    • MsSQL 数据库:一般无法直接查看,需要登录到 SQL Server Management Studio,在 “管理 - SQL Server 日志” 中进行查看。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

极狐GitLab 正式发布安全版本17.7.1、17.6.3、17.5.5

本分分享极狐GitLab 补丁版本 17.7.1, 17.6.3, 17.5.5 的详细内容。这几个版本包含重要的缺陷和安全修复代码&#xff0c;我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS&#xff0c;技术团队已经进行了升级&#xff0c;无需用户采取任何…

力扣经典二分题:4. 寻找两个正序数组的中位数

题目链接&#xff1a;4. 寻找两个正序数组的中位数 - 力扣&#xff08;LeetCode&#xff09; 一、题目分析 这道题目是让我们在 两个正序的数组中寻找中位数已知两个数组的大小分别是&#xff1a;int m nums1.size(),n nums2.size();中位数性质1&#xff1a;中位数左侧元素 …

安装yarn时显示npm使用淘宝镜像安装报错

问题描述&#xff1a; npm使用淘宝镜像安装报错 错误原因&#xff1a; 淘宝原镜像域名&#xff08;registry.npm.taobao.org&#xff09;的 HTTPS 证书正式到期&#xff0c;npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com。解决方案&#xff1a;…

【Python】Python之Selenium基础教程+实战demo:提升你的测试+测试数据构造的效率!

这里写目录标题 什么是Selenium&#xff1f;Selenium基础用法详解环境搭建编写第一个Selenium脚本解析脚本脚本执行结果常用的元素定位方法常用的WebDriver方法等待机制 Selenium高级技巧详解页面元素操作处理弹窗和警告框截图和日志记录多窗口和多标签页操作 一个实战的小demo…

Seata搭建

1.初识Seata Quick Start | Apache Seata 官网 2.准备nacos和 seata 启动nacos startup.cmd -m standalone账号nacos 密码nacos 搭建seata TC 这里下载的 1.4.2 seata-server-1.4.2 1.修改seata配置文件 registry.conf 这里我们使用nacos作为注册中心 和 配置中心 r…

selenium+pyqt5自动化工具总结

说明&#xff1a;本工具是&#xff0c;操作外部google浏览器、selenium是无法操作qt界面中嵌套的浏览器的&#xff0c; 工具在后面 1. 代码结构 pycharm打开的文件下&#xff0c;再写一个子文件&#xff0c;文件导入的时候把子文件名带上 这样就可以在 外层使用命令 pyinst…

.NET 终止或结束进程

如何使用 C# 终止进程。 使用简单的方法终止.NET中的现有进程Process.Kill()。有一个可选参数 true 或 false&#xff0c;用于结束与要结束的进程相关的所有子进程。 了解如何创建流程。 结束当前进程&#xff1a; System.Diagnostics.Process.GetCurrentProcess().Kill(tru…

怎么实现Redis的高可用?

大家好&#xff0c;我是锋哥。今天分享关于【怎么实现Redis的高可用&#xff1f;】面试题。希望对大家有帮助&#xff1b; 怎么实现Redis的高可用&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 为了实现 Redis 的高可用性&#xff0c;我们需要保证在发…

大数据技术实训:Hadoop完全分布式运行模式配置

准备&#xff1a; 1&#xff09;准备3台客户机&#xff08;关闭防火墙、静态ip、主机名称&#xff09; 2&#xff09;安装JDK 3&#xff09;配置环境变量 4&#xff09;安装Hadoop 5&#xff09;配置环境变量 6&#xff09;配置集群 7&#xff09;单点启动 8&#xff09;配置ss…

【Uniapp-Vue3】Prop校验与prop默认值用法及循环遍历数组对象

一、prop校验 如果我们在想要限制prop的类型&#xff0c;就可以在接收prop的时候对接收类型进行限制&#xff1a; defineProps({ 属性名:{ type:类型 } }) 需要注意类型的首字母大写 但是设置了传入参数类型限制并不能严格限制&#xff0c;只会在后台进行提示&#xff1a; 二、…

开启Excel导航仪,跨表跳转不迷路-Excel易用宝

都2025年了&#xff0c;汽车都有导航了&#xff0c;你的表格还没有导航仪吗&#xff1f;那也太OUT了。 面对着一个工作簿中有N多个工作表&#xff0c;工作表中又有超级表&#xff0c;数据透视表&#xff0c;图表等元素&#xff0c;如何快速的切换跳转到需要查看的数据呢&#…

【Unity3D日常开发】Unity3D中适用WEBGL打开Window文件对话框打开/上传文件

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 Unity3D发布的WEBGL程序是不支持直接的I/O操…

《安富莱嵌入式周报》第348期:开源低功耗测试仪,开源创意万用表,续航100-300小时,开源PCB电机,自制shell和网络协议栈,开源水培自动化系统

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; https://www.bilibili.com/video/BV1Tzr9Y3EQ7/ 《安富莱嵌入式周报》第348期&#xff1a;开源低功…

音频合成的常见问题

使用了1年多的音频合成&#xff0c;有些常见的问题分享给大家 。 一、音质问题 噪声 背景噪声&#xff1a;在音频合成过程中&#xff0c;可能会引入背景噪声。这可能是由于原始音频素材本身质量不佳&#xff0c;比如录制环境嘈杂&#xff0c;包含电脑风扇声、外界交通声等。当…

用AI技术提升Flutter开发效率:ScriptEcho的力量

引言 在当今快速发展的技术时代&#xff0c;Flutter作为一种跨平台开发框架&#xff0c;正在越来越多的开发者中崭露头角。它不仅能够为开发者提供一套代码同时部署到iOS和Android平台的解决方案&#xff0c;还能帮助企业节省人力成本和开发时间。然而&#xff0c;对于新手开发…

SmartAIChain荣获重要认可

2024年12月21日,洛杉矶尔湾市——在今年尔湾举办的交流会上,黄荣先生的SmartAIChain项目获得了重要认可。此次活动汇聚了来自各地的杰出人才以及社区代表,共同庆祝这一创新性艺术的时刻。 在活动中,核桃市议员伍立伦(Allen Wu)的代表黄冬平女士发言,并为黄荣先生颁发了荣誉证书…

EFT信号测试和电源测试经验笔记

1. 什么是EFT 标准&#xff1a;perlEC 61000-4-4 eft设备将群脉冲干扰加到信号或者电源上&#xff0c;常见的频率是 5K 100K 两个频率 电压 电源3k&#xff0c;信号2k -----电网设备 电源4K -------------------空调设备 大概就是下图这样的周期性脉冲 1.1 电源eft 通过信…

web前端学习总结(一)

web前端使用三项技术:html、css、javascript. 一、html:超文本标记语言&#xff0c;用于展示网页的框架。 <html> <head><title> </title></head><body><div> </div> <!--用于布局&#xff0c;占1行 --><span&g…

【web靶场】之upload-labs专项训练(基于BUUCTF平台)

前言 该靶场&#xff0c;是通过平台BUUCTF在线评测中的靶场进行的&#xff0c;基于linux搭建的 当然若是想要该靶场&#xff0c;可以采用github上的醒目&#xff0c;点击后面文字即可访问c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场 或者本人分享在网盘中&a…

ES 的倒排索引

目录 什么是 elasticSearch。 什么是倒排索引 Term Index 是什么 Stored Fields 是什么 Doc Values 是什么 segment lucene 是什么 高性能 高扩展性 高可用 Node 角色分化 去中心化 ES 是什么? ES 和 Kafka 的架构差异 ES 的写入流程 ES 的搜索流程 查询阶段…