应急响应:系统入侵排查指南

news2024/11/24 0:50:38

目录

系统基本信息排查

Windows系统排查

Linux系统排查

CPU信息

操作系统信息

载入模块排查

用户排查

Windows系统用户排查

排查所有账户

Linux用户排查

root账户排查

查看所有可登录账户  

查看用户错误的登录信息

查看所有用户最后登录信息

排查空口令账户

启动项排查

Windows系统启动项排查

任务管理器

注册表排查

Linux系统启动项排查

计划任务排查

Windows系统计划任务排查

计划任务程序库

Powershell命令查看

Linux计划任务排查

日志排查

Windows系统日志排查

日志位置

系统日志

安全性日志

应用程序日志

日志筛选器分析日志

第三方日志分析工具:FullEventLogView       Event Log Explorer

Linux系统日志排查

日志位置 /var/log

其它应用程序位置

进程排查

Windows系统进程排查

任务管理器

tasklist命令查询

Linux进程排查

服务排查

Windows服务排查

Linux服务排查


系统基本信息排查

Windows系统排查

命令行输入 msinfo32 ,就会打开系统信息窗口,可以显示本地计算机的硬件资源、组件、软件环境、正在运行的任务、服务、系统驱动程序、加载模块、启动程序等。

重点关注以下几个位置即可

Linux系统排查

CPU信息

命令行输入 lscpu 命令,查看CPU相关信息

操作系统信息

命令行输入 uname -a ,查看当前操作系统信息

命令行速录 cat /proc/version 命令,查看Linux版本

载入模块排查

命令行速录 lsmod 命令,查看Linux已载入模块信息

用户排查

攻击者会采用的方法主要有如下几种:

  1. 直接建立一个新的账户(有时是为了混淆视听,账户名称与系统常用名称相似)
  2. 激活一个系统中的默认账户,但这个账户是不经常使用的
  3. 建立一个隐藏账户 (在 Windows 系统中,一般在账户名称最后加$)

Windows系统用户排查

关于Windows系统的用户,用户组管理可以参考这篇文章:应急响应之系统排查方法_世界尽头与你的博客-CSDN博客

排查所有账户

黑客创建的某些隐藏账户通过dos指令无法发现, 但是当我们查看注册表时就可以发现

通过注册表检查是否存在账户名为“xxx$”或修改注册表创建的隐藏账户,再检查是否存在可疑账户,并进行禁用

注册表路径:

给SAM目录添加当前用户可读写属性

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

同时,在此项下导出所有以 00000 开头的项,将所有导出的项与 000001F4 (该项对应Administrator用户)导出内容做比较,若其中的 F 值相同,则表示可能为克隆账户

命令行输入 wmic useraccount get name,SID 查看系统中的用户信息

Linux用户排查

命令行输入 cat /etc/passwd 查看所有用户信息

用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell

最后显示的 /bin/bash 表示该用户可登录 ; sbin/nologin  不可登录

root账户排查

输入命令 awk -F: '{if($3==0) print $1}' /etc/passwd  可查询可登录账户 UID 为0的账户,root是 UID为0的可登录账户,如果出现其他为 0 的账户,就要重点排查

查看所有可登录账户  

命令行输入 cat /etc/passwd | grep '/bin/bash' 或者 cat /etc/passwd | grep '/bin/zsh'

查看用户错误的登录信息

命令行输入 lastb  可查看显示用户错误的登录列表,包括错误的登录方法、IP 地址、时间等

查看所有用户最后登录信息

命令行输入 lastlog  

排查空口令账户

命令行输入 awk -F: 'length($2)==0 {print $1}' /etc/shadow

如果有用户是空口令就会显示出来

启动项排查

启动项是系统开机时在前台或者后台运行的程序,攻击者有可能通过启动项使用病毒后门等实现持久化控制。

Windows系统启动项排查

任务管理器

命令行输入 msconfig

注册表排查

很多病毒木马通过注册表实现持久化驻留

开机启动项排查:命令行输入 regedit 即可

注册表中重点关注以下三个:

HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。

Linux系统启动项排查

命令行输入 ls -alt /etc/init.d

计划任务排查

Windows系统计划任务排查

计划任务程序库

命令行输入  taskschd.msc  可以查看任务的名称,状态,触发器等信息

Powershell命令查看

Powershell命令行输入  Get-ScheduledTask  可以查看计划任务的路径,名称,状态

Powershell命令行输入  schtasks

Linux计划任务排查

查看当前的计划任务 crontab -l

查询到一个挖矿恶意程序的任务计划设置,其会每隔 12 分钟远程下载恶意网站上的 crontab.sh 脚本文件

日志排查

Windows系统日志排查

日志位置

在Windows系统中,日志文件包括:系统日志、安全性日志及应用程序日志,其位置如下。

在Windows 2000专业版/Windows XP/Windows Server 2003系统中:

系统日志的位置为:
C:\WINDOWS\System32\config\SysEvent.evt
安全性日志的位置为:
C:\WINDOWS\System32\config\SecEvent.evt
应用程序日志的位置为:
C:\WINNT\System32\config\AppEvent.evt

在Windows Vista/Windows7/Windows8/Windows10/Windows Server2008及以上版本系统中:

系统日志的位置为:
%SystemRoot%\System32\Winevt\Logs\System.evtx
安全性日志的位置为:
%SystemRoot%\System32\Winevt\Logs\Security.evtx
应用程序日志的位置为:
%SystemRoot%\System32\Winevt\Logs\Application.evtx

系统日志

系统日志主要是指 Windows 系统中的各个组件在运行中产生的各种事件。这些事件一般可以分为:系统中各种驱动程序Q在运行中出现的重大问题、操作系统的多种组件在运行中出现的重大问题及应用软件在运行中出现的重大问题等。这些重大问题主要包括重要教据的丢失、错误,以及系统产生的崩溃行为等

例如:事件ID=10016

安全性日志

安全性日志主要记录了各种与安全相关的事件。构成该日志的内容主要包括:各种登录与退出系统的成功或不成功的信息,对系统中各种重要资源进行的各种操作,如对系统文件进行的创建、删除、更改等操作

应用程序日志

应用程序日志主要记录各种应用程序所产生的各类事件。例如,系统中 SQL Server 数据库程序在受到暴力破解攻击时,日志中会有相关记录

 日志常用ID

 登录相关事件ID

日志筛选器分析日志

第三方日志分析工具:FullEventLogView       Event Log Explorer

Linux系统日志排查

日志位置 /var/log

可以使用 cat 命令查看 

/var/log/wtmp:记录登录进入、退出、数据交换、关机和重启,即 last。
/var/log/cron:记录与定时任务相关的日志信息。
/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:记录登录系统不成功的账号信息。

其它应用程序位置

IIS日志位置

%SystemDrive%\inetpub\logs\LogFiles
%SystemRoot%\System32\LogFiles\W3SVC1
%SystemDrive%\inetpub\logs\LogFiles\W3SVC1
%SystemDrive%\Windows\System32\LogFiles\HTTPERR

Apache日志位置

/var/log/httpd/access.log
/var/log/apache/access.log
/var/log/apache2/access.log
/var/log/httpd-access.log

Nginx日志位置

默认在 /usr/local/nginx/Togs 目录下,access.log 代表访问日志error.log 代表错误日志。若没有在默认路径下,则可以到nginx.conf 配置文件中香找

Tomcat 日志的位置:
默认在 TOMCAT HOME/Logs/ 目录下,有 catalina.out、catalina.YYYY-MM- DD.og、localhost.YYYY-MM-DD.og.ocalhost access log.YYYY-MM-DD.txt、host-manager.YYYY-MM-DD.g、manager.YYYY-MM-DD.log 等几类日志

WebLogic 日志的位置:
在默认情况下,WebLogic 有三种日志,分别是 access og、server log 和 domain log

access.log
$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\access.log

server.log
$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\<server_name>.log

domain.log
$MW_HOME\user_projects\domains\<domain_name>\servers\<adminserver_name>\logs\<domain_name>.log

进程排查

Windows系统进程排查

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

任务管理器

tasklist命令查询

命令行输入 tasklist 可以显示计算机上的所有进程

命令行输入 tasklist /m 可显示进程加载DLL情况

tasklist /m ntdll.dll 查看特定DLL调用的进程

netstat可以显示网络连接信息

命令行输入命令  netstat -ano | findstr "ESTABLISHED"  定位可疑的ESTABLISHED

PID=12306有大量的网络连接

命令行输入 tasklist | find "12306" 查看具体的程序

Linux进程排查

命令行输入 netstat 网络连接命令,分析可疑端口,可疑IP,可疑PID

PID=2963存在恶意外链的情况

根据 PID 的值,利用  ls -alt /proc/PID  命令,可查看其对应的可执行程序

也可以利用  Lsof -D PID  命令,查看进程所打开的文件。使用  Lsof -p 2963  命令,可查看 PID 为2963 的进程所打开的文件,发现文件mbrn 为可疑文件

命令行输入指令,杀死进程  kill -9 PID  kill -9 2535

命令行输入指令,删除文件  rm -rf filename   rm -rf mbrn

如果 root 用户都无法删除相关文件,那么很可能是因为该文件被加上了 i 属性。使用 Lsatter filename  命令,可查看文件属性,然后使用  chattr -i filename   命令,可移除 i 属性,进而删除文件。也有的进程因为存在守护进程而无法删除,我们可以先把进程挂起,查杀守护进程后,再返回将进程删除

有时攻击者会隐藏进程,需要学会查看隐藏进程,一次输入以下指令即可查看

ps -ef  awkprint sort -n uniq >1

ls /proc sort -n uniq >2

diff 1 2

服务排查

Windows服务排查

命令行输入 services.msc ,之后会打开服务窗口,查看所有服务项,名称,描述,状态

Linux服务排查

命令行输入 chkconfig --list  查看系统运行的服务

其中,0、1、2、3、4、5、6 表示等级,具体含义如下:

  • 1 表示单用户模式,
  • 2 表示无网络连接的多用户命令行模式;
  • 3 表示有网络连接的多用户命令行模式
  • 4表示不可用;
  • 5 表示带图形界面的多用户模式:
  • 6 表示重新启动。

命令行输入 service --status-all  可以查看所有服务的状态

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

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

相关文章

从开发到部署:一站式指南创建个性化 Slack App 问答机器人

从开发到部署&#xff1a;一站式指南创建个性化 Slack App 问答机器人 01 简介 做这个教程是因为看别人拿免费的割韭菜很不爽&#xff0c;所以准备做个教程来教大家如何搭建一个问答机器人 内核其实就是利用了slack提供的官方api&#xff0c;自己创建app然后获取艾特信息&#…

Python3数据分析与挖掘建模(15)特征选择与特征变换

1 特征选择 1. 1 概述 特征选择是一种剔除与标注不相关或冗余的特征的方法&#xff0c;以减少特征集的维度和复杂性&#xff0c;并提高模型的性能和解释能力。特征选择的目标是选择那些对目标变量有预测能力且与其他特征不冗余的特征。 特征选择的方法可以分为三类&#xff…

【国产虚拟仪器】基于ARM+FPGA+8通道高速AD代替美国国家仪器的电能质量分析仪设计(一)NI方案介绍

一、背景&#xff1a;基于美国国家仪器的采集方案介绍 本文设计的电能质量分析仪数据分析系统以NI公司的National Instruments LabVIEW2018作为软件开发平台&#xff0c;结合硬件平台&#xff0c;实现数据的采集、波形显示和数据 分析。硬件电路的主要作用是对电网信号进行降幅…

聚焦产品研发,极米科技创新能力领跑行业

近年来&#xff0c;在消费升级、线上渠道迅速放量的背景下&#xff0c;家用智能投影已成为中国投影仪的第一大细分市场。有数据显示&#xff0c;2017年以来&#xff0c;中国消费级投影机出货量持续提升。根据第三方机构IDC&#xff08;国际数据公司&#xff09;统计&#xff0c…

Matter实战系列-----3.Matter Light和Switch配网和控制实验

专有名词&#xff1a; OT-RCP&#xff1a; Open Thread Radio Co-Processor 。 Thread 无线协处理器 OTBR&#xff1a; Open Thread Board Router 。 Thread 边界路由器 chip-tool&#xff1a; Linux 应用程序。用于 Matter 协议控制 ot-ctl&#xff1a; Thread 网络控…

爬虫一定要用代理ip吗?

使用代理IP可以帮助爬虫隐藏真实IP地址&#xff0c;防止被网站封禁或限制访问。此外&#xff0c;使用代理IP还可以帮助爬虫绕过一些地区或国家的访问限制&#xff0c;获取更多的数据。因此&#xff0c;对于一些需要频繁爬取数据的爬虫&#xff0c;使用代理IP是一个不错的选择。…

2023如何选择适合自己的浪涌保护器

浪涌保护器对许多人来说并不熟悉&#xff0c;但是如果您担心您拥有的电子设备和家用电器的安全性并保护它们免受电涌的影响&#xff0c;那么您必须了解电涌保护器以及它们的工作原理。 在没有电涌保护器的情况下直接使用昂贵的电子家用电器是危险的&#xff0c;即使发生电涌的…

【taro react】---- 解决H5接入uni-app版本的IM

1. 问题 由于项目开发比较紧张&#xff0c;腾讯 IM 的接入就使用了 TUIKit 含UI集成方案&#xff0c;遇到的问题&#xff0c;uni-app的UI本来就是一个单独的项目&#xff0c;需要集成到现有的 Taro React 中&#xff0c;就只能作为一个独立的项目&#xff0c;不跳转时不影响原有…

原型模式(七)

不管怎么样&#xff0c;都要继续充满着希望 上一章简单介绍了抽象工厂模式(六), 如果没有看过,请观看上一章 一. 原型模式 引用 菜鸟教程里面的原型模式介绍: https://www.runoob.com/design-pattern/prototype-pattern.html 原型模式&#xff08;Prototype Pattern&#xf…

为什么Potplayer是值得一用的视频播放器?

名人说&#xff1a;往者不可谏&#xff0c;来者犹可追。——语出《论语微子篇》 Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; o(‐&#xff3e;▽&#xff3e;‐)o很高兴你打开了这篇博客&#xff0c;跟着步骤一步步尝试安装吧。✧ 目录…

创新指南|企业创新可以3步做对深科技战略

企业在制定科技创新战略时如何采用深科技策略&#xff1f;那些涉及先进计算和科学技术的创新&#xff0c;如人工智能、区块链和量子计算等&#xff0c;企业需要意识到深科技的潜力和影响&#xff0c;通过采取三步法参与深科技创新生态&#xff0c;企业可以保持竞争力&#xff0…

docker 容器安全注意与https

隔离与共享&#xff1a; 虚拟机通过添加hypervisor层&#xff08;虚拟化中间层&#xff09;&#xff0c;等虚拟出网卡&#xff0c;内存&#xff0c;cpu硬件&#xff0c;再在其上建立虚拟机&#xff0c;每个虚拟机都有自己的系统内核。docer通过隔离的方式&#xff0c;将文件系…

【工具】Ubuntu18非root用户安装CUDAPyTorch

文章目录 CUDA查看GPU驱动支持的最高CUDA版本CUDA download指定路径安装CUDA cuDNN验证cuda是否安装成功以及版本信息 pytorch验证pytorch是否安装成功&GPU是否可用MMDetection3D CUDA 查看GPU驱动支持的最高CUDA版本 运行命令&#xff1a;nvidia-smi CUDA Version: 11.…

延时函数:普通延时,硬件定时器延时,系统定时器延时

一、普通延时函数 此种延时是基于让MCU做一些无意义的循环操作来打发时间&#xff0c;优点是简单易懂&#xff0c;缺点是会占用MCU的处理资源且精度较低&#xff0c;主要用于程序简单、无严格时间要求的场景中。 //微秒级的延时 void delay_us(uint32_t delay_us) { volat…

C语言实战之、<<、>>

1、&&#xff08;按位与&#xff09; 按位与运算将两个运算分量的对应位按位遵照以下规则进行计算&#xff1a; 0 & 0 0, 0 & 1 0, 1 & 0 0, 1 & 1 1。 即同为 1 的位&#xff0c;结果为 1&#xff0c;否则结果为 0。 例如&#xff0c;设3的内部表示为…

6--Gradle进阶 - 项目的生命周期

6--Gradle进阶 - 项目的生命周期 项目的生命周期 Gradle 项目的生命周期分为三大阶段: Initialization -> Configuration -> Execution. 每个阶段都有自己的职责,具体如下图所示: Initialization 阶段主要目的是初始化构建, 它又分为两个子过程,一个是执行 Init Script,另…

转载:卷积神经网络结构组成与解释

原文链接&#xff1a;卷积神经网络结构组成与解释 卷积神经网络是以卷积层为主的深度网路结构&#xff0c;网络结构包括有卷积层、激活层、BN层、池化层、FC层、损失层等。卷积操作是对图像和滤波矩阵做内积&#xff08;元素相乘再求和&#xff09;的操作。 1. 卷积层 常见的…

华为OD机试真题 JavaScript 实现【货币单位换算】【2023Q1 100分】

一、题目描述 记账本上记录了若干条多国货币金额&#xff0c;需要转换成人民币分 (fen)&#xff0c;汇总后输出每行记录一条金额&#xff0c;金额带有货币单位&#xff0c;格式为数字单位&#xff0c;可能是单独元&#xff0c;或者单独分&#xff0c;或者元与分的组合要求将这…

Vue的传值

目录 1. 属性传值 1.1 语法 1.2 属性和数据源同名 2. 反向传值 2.1 属性绑定自定义事件 简单案例&#xff1a; 购物车算总价案例&#xff1a; 2.2 v-model 组件的双向数据绑定 3. 透传&#xff08;多层组件传值&#xff09; 3.1 类型透传 3.2 属性穿透 v-bind"…