在日常工作中遇到更多的是在事件发生后进行的问题排查及溯源。常见网络安全应急响应场景有勒索病毒、挖矿木马、Webshell、网页篡改、DDoS攻击、数据泄露、流量劫持;

在现场处置过程中,先要确定事件类型与时间范围,针对不同的事件类型,对事件相关人员进行访谈,了解事件发生的大致情况及涉及的网络、主机等基本信息,制定相关的应急方案和策略。随后对相关的主机进行排查,一般会从系统排查、进程排查、服务排查、文件痕迹排查、日志分析等方面进行,整合相关信息,进行关联推理,最后给出事件结论。


目录

系统排查

系统基本信息

1.Windows系统

2.Linux系统

用户信息

1.Windows系统

2.Linux系统

启动项

1.Windows系统

2.Linux系统

任务计划

2.Linux系统

其他


系统排查

系统排查:在进行受害主机排查时,首先要对主机系统进行基本排查,方便对受害主机有一个初步的了解。

系统基本信息

1.Windows系统

在基础排查时,可以使用Microsoft系统信息工具(Msinfo32.exe),它是Microsoft Windows NT诊断工具(Winmsd.exe)的更新版本

1)系统信息工具

在命令行中输入【msinfo32】命令,打开【系统信息】窗口,如图所示,可以显示出本地计算机的硬件资源、组件和软件环境的信息。除了各方面的概述信息,还可以对正在运行任务、服务、系统驱动程序、加载的模块、启动程序等进行排查。

2)正在运行任务

在【系统信息】窗口中,单击【软件环境】中的【正在运行任务】选项,可查看正在运行任务的名称、路径、进程ID等详细信息

3)服务

在【系统信息】窗口中,单击【软件环境】中的【服务】选项,可查看服务的名称、状态、路径等详细信息

4)系统驱动程序

在【系统信息】窗口中,单击【软件环境】中的【系统驱动程序】选项,可查看系统驱动程序的名称、描述、文件等详细信息

5)加载的模块

在【系统信息】窗口中,单击【软件环境】中的【加载的模块】选项,可查看加载的模块的名称、路径等详细信息

6)启动程序

在【系统信息】窗口中,单击【软件环境】中的【启动程序】选项,可查看启动程序的命令、用户名、位置等详细信息

如果只是简单了解系统信息,还可以通过在命令行中输入【systeminfo】命令实现,如图所示,可查看主机名、操作系统版本等详细信息

2.Linux系统

对于Linux系统的主机排查,可以使用相关命令查看CPU(中央处理器)信息、操作系统信息及模块信息等,初步了解主机情况。

1)CPU信息

在命令行中输入【lscpu】命令,可查看CPU相关信息,包括型号、主频、内核等信息,如图2.1.8所示。

2)操作系统信息

在命令行中输入【uname-a】命令,可查看当前操作系统信息

或在命令行中输入【cat/proc/version】命令,可查看当前操作系统版本信息

3)模块信息

在命令行中输入【lsmod】命令,可查看所有已载入系统的模块信息

用户信息

在服务器被入侵后,攻击者可能会建立相关账户(有时是隐藏或克隆账户),方便进行远程控制。攻击者会采用的方法主要有如下几种:第1种是最明目张胆的,即直接建立一个新的账户(有时是为了混淆视听,账户名称与系统常用名称相似);第2种是激活一个系统中的默认账户,但这个账户是不经常使用的;第3种是建立一个隐藏账户(在Windows系统中,一般在账户名称最后加$)。无论攻击者采用哪种方法,都会在获取账户后,使用工具或是利用相关漏洞将这个账户提升到管理员权限,然后通过这个账户任意控制计算机。

1.Windows系统

对于Windows系统中的恶意账户排查,主要有以下4种方法。

1)命令行方法在命令行中输入【net user】命令,可直接收集用户账户信息(注意,此方法看不到以$结尾的隐藏账户),若需查看某个账户的详细信息,可在命令行中输入【netuser username】命令(username为具体的用户名)。使用【net user k8h3d】命令,查看k8h3d账户的详细信息,如图所示。

2)图形界面方法

打开【计算机管理】窗口,单击【本地用户和组】中的【用户】选项,可查看隐藏账户,名称以$结尾的为隐藏账户。图中的“admin$”就是一个隐藏账户。也可以在命令行中输入【lusrmgr.msc】命令,直接打开图形界面,查看是否有新增/可疑的账户。

3)注册表方法

打开【注册表编辑器  regedit】窗口,选择【HKEY_LOCAL_MACHINE】下的【SAM】选项,为该项添加【允许父项的继承权限传播到该对象和所有子对象。包括那些在此明确定义的项目】和【用在此显示的可以应用到子对象的项目替代所有子对象的权限项目】权限,使当前用户拥有SAM的读取权限

添加权限完成后按【F5】键,刷新后即可访问子项并查看用户信息

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

对导出的F值进行比较,发现相同,说明系统中存在克隆账户

4)wmic方法

wmic扩展WMI(Windows Management Instrumentation,Windows管理工具),提供从命令行接口和批命令脚本执行系统管理支持。在命令行中输入【wmic useraccount get name,SID】命令,可以查看系统中的用户信息

2.Linux系统

1)查看系统所有用户信息

查看系统所有用户信息可以在命令行中输入【cat/etc/passwd】命令,后续各项由冒号隔开,分别表示“用户名”“密码加密”“用户ID”“用户组ID”“注释”“用户主目录”“默认登录shell”,如图所示。查询的用户信息中,最后显示“bin/bash”的,表示账户状态为可登录;显示“sbin/nologin”的,表示账户状态为不可登录。

2)分析超级权限账户

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

3)查看可登录的账户

在命令行中输入【cat /etc/passwd|grep '/bin/bash'】命令,可查看可登录的账户,如图所示,账户root和exam是可登录的账户。

4)查看用户错误的登录信息

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

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

在命令行中输入【lastlog】命令,可查看系统中所有用户最后的登录信息

6)查看用户最近登录信息

在命令行中输入【last】命令,可查看用户最近登录信息(数据源为/var/log/wtmp、/var/log/btmp、/var/log/utmp),如图所示。其中,wtmp存储登录成功的信息、btmp存储登录失败的信息、utmp存储当前正在登录的信息。

7)查看当前用户登录系统情况

在命令行中输入【who】命令,可查看当前用户登录系统情况

8)查看空口令账户

在命令行中输入【awk -F: 'length($2)==0 {print $1}'/etc/shadow】命令,可查看是否存在空口令账户,如图所示,admin用户未设置登录口令。

启动项

启动项是开机时系统在前台或者后台运行的程序。操作系统在启动时,通常会自动加载很多程序。启动项是病毒后门等实现持久化驻留的一种常用方法,在应急响应中也是排查的必要项目。

1.Windows系统

Windows系统中的自启动文件是按照2个文件夹和5个核心注册表子键来自动加载程序的。除了通过相关的工具查看,还可以通过以下两种方法进行查看。

1)通过【系统配置】对话框查看在命令行中输入【msconfig】命令,打开Windows系统中的【系统配置】对话框,单击【启动】选项卡,可查看启动项的详细信息

2)通过注册表查看

注册表是操作系统中一个重要的数据库,主要用于存储系统所必需的信息。注册表以分层的组织形式存储数据元素。数据项是注册表的基本元素,每个数据项下面不但可以存储很多子数据项,还可以以键值对的形式存储数据。注册表的启动项是恶意程序的最爱,很多病毒木马通过注册表来实现在系统中的持久化驻留。特别是我们在安装了新的软件程序后,一定不要被程序漂亮的外表迷惑,需要看清楚它的本质,是否是木马的伪装外壳或是捆绑程序,必要时可以根据备份来恢复注册表。

注册表目录的含义如下。

(1)HKEY_CLASSES_ROOT(HKCR):此处存储的信息可确保在Windows资源管理器中执行时打开正确的程序。它还包含有关拖放规则、快捷方法和用户界面信息的更多详细信息。

(2)HKEY_CURRENT_USER(HKCU):包含当前登录系统的用户的配置信息,有用户的文件夹、屏幕颜色和控制面板设置。

(3)HKEY_LOCAL_MACHINE(HKLM):包含运行操作系统的计算机硬件特定信息,有系统上安装的驱动器列表及已安装硬件和应用程序的通用配置。

(4)HKEY_USERS(HKU):包含系统上所有用户配置文件的配置信息,有应用程序配置和可视设置。

(5)HKEY_CURRENT_CONFIG(HCU):存储有关系统当前配置的信息。这里以“驱动人生”病毒作为查询案例,通过注册表和命令进行查询,会发现“驱动人生”建立了WebServers和Ddriver两个键值,分别是病毒的信息窃取模块和病毒的主程序。

2.Linux系统

启动项是恶意病毒实现持久化驻留的一种常用手段,使用以下方法可以查找启动项相关内容。

使用【cat /etc/init.d/rc.local】命令,可查看init.d 文件夹下的rc.local文件内容。

使用【cat /etc/rc.local】命令,可查看rc.local文件内容。

使用【ls -alt/etc/init.d】命令,可查看init.d文件夹下所有文件的详细信息,如图所示,框内的文件是某挖矿木马的启动项

任务计划

由于很多计算机都会自动加载“任务计划”,“任务计划”也是恶意病毒实现持久化驻留的一种常用手段,因此在应急响应事件排查时需要重点排查。

1.Windows系统任务计划是Windows系统的一个预置实现某些操作的功能,利用这个功能还可实现自启动的目的,获取任务计划的方法有以下几种。

(1)打开【计算机管理】窗口,选择【系统工具】中【任务计划程序】中的【任务计划程序库】选项,可以查看任务计划的名称、状态、触发器等详细信息,如图所示。

(2)在PowerShell下输入【Get-ScheduledTask】命令,可查看当前系统中所有任务计划的信息,包括任务计划的路径、名称、状态等详细信息,如图所示。

(3)在命令行中输入【schtasks】命令,可获取任务计划的信息,如图所示。该命令是一个功能更为强大的超级命令行计划工具,它含有【at】(在较旧的系统中才可以用)命令行工具中的所有功能,获取任务计划时要求必须是本地Administrators组的成员。

2.Linux系统

在Linux系统中,任务计划也是维持权限和远程下载恶意软件的一种手段。一般有以下两种方法可以查看任务计划。

(1)在命令行中输入【crontab-l】命令,可查看当前的任务计划,也可以指定用户进行查看,如输入命令【crontab-u root-l】,可查看root用户的任务计划,以确认是否有后门木马程序启动相关信息。如图所示,使用命令【crontab-l】后,查询到一个挖矿恶意程序的任务计划设置,其会每隔12分钟远程下载恶意网站上的crontab.sh脚本文件。

(2)查看etc目录下的任务计划文件。一般在Linux系统中的任务计划文件是以cron开头的,可以利用正则表达式的*筛选出etc目录下的所有以cron开头的文件,具体表达式为/etc/cron*。例如,查看etc目录下的所有任务计划文件就可以输入【ls/etc/cron*】命令,如图所示。

通常,还有如下包含任务计划的文件夹,其中,*代表文件夹下所有文件:

/etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

/etc/anacrontab

其他

Windows系统防火墙最基本的用途是对出、入的数据包进行检测。防火墙规则包括入站规则和出站规则。

入站规则:根据规则中的过滤条件,过滤从公网到本地主机的流量。出站规则:根据规则中的过滤条件,过滤从本地主机到公网的流量。两种规则都可以按需自定义流量过滤的条件。换句话说,入站规则与进入主机的流量有关。如果在主机上运行一个Web服务器,那就必须告诉防火墙允许外部用户访问主机。

出站规则与流出主机的流量有关,会将应用程序分类,允许部分应用程序访问外网,而其他应用则不能。如果想让浏览器(IE、火狐、Safari、Chrome、Opera等)访问外网,但同时阻止访问某些网站,则可以在出站规则中插入命令,表示允许或不允许哪些网站通过防火墙。有些恶意软件会通过设置防火墙策略进行流量转发等操作,如驱动人生病毒对防火墙的设置。

打开【Windows防火墙】窗口,单击【高级设置】,然后选择【入站规则】或【出站规则】可查看防火墙的入站规则或出站规则

也可以在命令行中输入【netsh】命令进行查看。使用【netsh Firewall showstate】命令,可显示当前防火墙的网络配置状态


应急响应处置现场流程 - 系统排查04相关推荐

  1. 【安全服务】应急响应1:流程、排查与分析

    目录 一.应急响应流程 1 准备阶段 2 检测阶段 3 抑制阶段 4 根除阶段 5 恢复阶段 6 总结阶段 现场处置流程 二.系统排查 1.系统信息 2.用户信息 3 启动项 4 任务计划 5 其他: ...

  2. it系统应急响应流程图_智能自动化的内网应用系统应急响应处置的方法与流程...

    本发明涉及计算机数据安全技术领域,特别是涉及一种智能自动化的内网应用系统应急响应处置的方法. 背景技术: 随着电网企业信息化建设的快速发展,电网根据业务要求,部署和实施了多套应用系统,同时也需要大量的 ...

  3. 应急响应—常见应急响应处置思路

    下图是常见应急响应处置思路的思维导图 下面将对 "常见应急响应处置思路" 进行详细的讲解 一.操作系统后门排查 排查目标:找出后门程序在哪里,找到后门是怎么启动的,尽可能发现后门修 ...

  4. 应急响应之Windows/Linux(入侵排查篇)

    0x01 应急响应介绍 当企业发生入侵事件.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给 ...

  5. Windows应急响应——处置Wa Kuang病毒笔记

    此次复现挖矿清除不溯源,只是简单的记一下 一.事件背景 近期接到客户反馈,其网络中有部分 Windows 系统终端机器异常,CPU经常飙到100%,电脑使用卡顿. 二.事件处理 2.1 进程定位 查看 ...

  6. 应急响应流程以及入侵排查

    归纳转载于: 应急响应的整体思路和基本流程 - FreeBuf网络安全行业门户不管是普通的企业,还是专业的安全厂商,都不可避免的需要掌握和运用好信息安全的知识.技能,以便在需要的时候,能够御敌千里.h ...

  7. 应急响应-----Windows系统排查(学习笔记)

    ** 1.windows应急响应事件分类 ** Windows 系统的应急事件,按照处理的方式,可分为下面几种类别: 病毒.木马.蠕虫事件 Web 服务器入侵事件或第三方服务入侵事件 系统入侵事件,如 ...

  8. 网络安全应急响应流程

    网络安全应急响应流程 国家网信办6月27日印发<国家网络安全事件应急预案>(下称<预案>),包括勒索病毒在内的有害程序事件被明确为网络安全事件的种类之一,针对事件的监测预警.应 ...

  9. 应急响应与系统加固(护网蓝初面试干货)

    目录 一.应急响应的基本流程 1.收集信息 2.判断类型 3.深入分析 4.清理处置 5.产出报告 二.Windows应急响应时排查分析的相关细节 三.系统加固 一.应急响应的基本流程 1.收集信息 ...

最新文章

  1. 这个医疗AI准确率突破天际,招来了铺天盖地的质疑
  2. Sitecore 9有什么新功能
  3. (笔记)Linux内核学习(五)之中断推后处理机制
  4. 实现三元组表示的两个稀疏矩阵的加法_K-BERT | 基于知识图谱的语言表示模型
  5. java 压缩jar 仓库,java服务安装(一):使用java service wrapper及maven打zip包
  6. Lucene学习笔记:一,全文检索的基本原理
  7. 本地化OElove婚恋交友系统源码+基于PHP开发
  8. plc secs通讯协议_一种SECSGEM通讯协议转换的方法与流程
  9. Java中对象方法的调用过程动态绑定(Dynamic Binding)
  10. Python:索引总结
  11. c++读写json,JsonCpp配置
  12. 直观解释Gamma分布和Poisson分布
  13. 中性粒细胞的免疫应用最新研究进展
  14. 电信天翼云服务器性能,中国电信天翼云获可信云云主机“五星+”级别认证
  15. CoolEdit未定义外部错误nbsp;解决方法
  16. 拂去ThreadLocal的轻纱
  17. 论学生/战队/社团如何举办CTF比赛
  18. STATA对变量进行标准化的命令
  19. EXCEL函数:VLOOKUP、SUMPRODUCT使用记录
  20. 软件测试|MySQL安装最全教程

热门文章

  1. 切片 回顾~ 2018 的最后一月
  2. 怎么看服务器报警信息,云监控查看报警规则详情
  3. C语言,字符数组与字符串
  4. 配置LNMP环境(linux,nginx,mysql,php)[蜗牛学院学习随记]
  5. 刷linux的手机版下载地址,google nexus刷ubuntu手机操作系统教程(附ubuntu手机版下载)...
  6. 用python简单的写一个剪刀石头布的小游戏
  7. 修改系统配置:让WinXP不再越用越慢
  8. c++小学期大作业攻略(三)用户系统
  9. C++学习第三弹之浮点数
  10. 关于C语言指针的用法