应急响应
简单来说就是发生信息安全事件的时候在有效的时间内及时给予应急响应支撑。不过对应急响应来说这个主要是分事件的,不同事件采取的应急措施可能不太一样,但是大部分前期工作都是一样的。我先来说一下相同的前期工作。再说一下有那些不同的事件采取那些措施。内容基本取自应急响应现场操作手册。如果有需要可以发消息私聊我。

前期工作
(1)现场访谈
首先是确定信息安全事件表现,例如中毒后电脑变卡、或者银狐病毒拉群等事件。然后就是查看蜜罐告警、态势感知、防火墙等安全设备的告警。
第二就是确定事件发生的时间,首次通信时间和设备告警时间。
第三就是事件表现了解系统架构,如服务器类型、业务架构、网络拓扑等

(2)判断信息安全事件
查看事件归类大概分类为十类分别为APT事件、DDOS事件、webshell事件、病毒蠕虫事件、网站网页篡改事件、域名链路非法劫持事件、非法外联事件、勒索病毒事件、数据泄露事件和挖矿病毒事件。
(3)确定事件对象和事件时间
确定本次事件所涉及的对象和失陷的主机找到相关流量特征和确定事件报警事件、梳理一下整个信息安全事件的过程和再次确认失陷所涉及的主机和相关的系统。然后根据事件时间和传播方式进行整个问题的排查。
(4)常见的排查操作
Windows常见排查操作
文件排查
-
检查桌面及各个盘符根目录下是否存在异常文件。根据文件夹内文件列表时间进行排序,查找可疑文件;
-
查看文件时间,创建时间、修改时间、访问时间。对应linux的ctime mtime atime,通过对文件右键属性即可看到详细的时间(也可以通过dir /tc 1.aspx 来查看创建时间);
-
使用systeminfo命令查看系统补丁情况;
-
使用net user查看系统账户情况,或者通过计算机---右键---管理---本地用户和组;
-
借助杀毒软件查看是否存在异常文件。
进程排查
-
检查是否存在异常进程。使用netstat -ano 查看目前的网络连接,查看是否存在可疑ip、端口、进程;
-
使用tasklist命令查看可疑进程;
-
检查是否存在异常计划任务;
-
检测CPU、内存、网络使用率,通过资源管理器查看;
-
注册表项检测。
日志排查
检查系统日志:
当溢出用于提权或者shell,会在日志留下记录,一旦发生溢出,服务应该直接宕机或者发生蓝屏重启,日志通常在%systemroot%\system32\logfile目录下。
查看历史记录在c:\DOCUMENTS AND SETTINGS修改后门账号密码,进去查看历史浏览网页等一些东西。在cmd中使用net user 管理,本地用户组、用户。观察里面用户账号;
在注册表:HKEY_LOCAL_MACHINE --> software --> microsoft --> windows nt --> currentversion --> profilelist中 快速检测以前存在过哪些账号;在注册表中查看安装软件记录HKEY_LOCAL_MACHINE --> software --> microsoft --> windows nt --> currentversion -->uninstall中;以及其他一些细节,如:攻击者软件基本放在在c:\windows中,搜索*.exe来排查(显示系统属性文件,有可能用attrib来更改属性)。禁用掉攻击者可能利用的系统工具,如net,attrib等。在注册表里查看启动项,检测是否存在ps下载或者执行记录。
审核策略更改;审核登录事件;审核对象访问;审核进程跟踪;审核目录服务访问;审核特权使用; 审核系统事件; 审核账户登录事件; 审核账户管理;
Linux常见排查操作
文件排查
查看桌面是否存在异常文件。针对可疑文件可以使用stat进行创建修改时间、访问时间的详细查看,若修改时间距离事件日期接近,有线性关联,说明可能被篡改或者其他。
查找777的权限的文件find/*.jsp-perm 4777
查找隐藏的文件(以 "."开头的具有隐藏属性的文件ls --al)
web服务器日志:
web服务器的种类很多,接触比较多的为apache、tomcat、Nginx为主。无论任何web服务器其实日志需要关注的东西是一致的,即access_log和error_log。一般在确定ip地址后,通过:
find . access_log |grep xargs ip攻击地址
find . access_log| grep xargs 木马文件名
登上服务器就要立刻输入的命令:
ps -ef 查看可疑进程
top 查看资源占用异常
last 查看登入时间异常
crontab --l 计划任务
cd /etc/crontab
cd /etc/rc.d/ini.d
cd /etc/rc.d/rc1.d ../rc3.d
cat /etc/passwd 极有可能其他用户出现id,组id 0、0的情况
lsof -g gid号 通常能找到恶意文件关联的lib文件
chattr +i 处理过一起病毒自己会改写crontab的,可以用这个命令把crontab锁住
chmod 000 在删除一些病毒文件时候需要先去除执行权限
find / *.jsp -perm 4777 查找777的权限的文件
查看CPU、内存、网络使用率。
find / -uid 0 -print:查找特权用户文件
md5sum -b filename:查看文件的md5值
rpm -qf /bin/ls:检查文件的完整性(还有其它/bin目录下的文件)
crontab -u root -l:查看root用户的计划任务
cat /etc/crontab 查看计划任务
查看分析history (cat /root/.bash_history),曾经的命令操作痕迹
cat /etc/passwd 分析可疑帐号,可登录帐号
进程排查
使用netstat 网络连接命令,分析可疑端口、可疑IP、可疑PID及程序进程
使用ps命令,分析进程
ps -aux:查看进程
lsof -p pid:查看进程所打开的端口及文件
检测隐藏进程:
ps -ef | awk '{print }' | sort -n | uniq >1
ls /proc | sort -n |uniq >2
diff 1 2
日志排查
使用lastlog命令,系统中所有用户最近一次登录信息。
使用lastb命令,用于显示用户错误的登录列表
使用last命令,用于显示用户最近登录信息(数据源为/var/log/wtmp,var/log/btmp) utmp文件中保存的是当前正在本系统中的用户的信息。 wtmp文件中保存的是登录过本系统的用户的信息。
查看cron.log中是否有计划任务信息。 var/log/cron 记录crontab命令是否被正确的执行,一般会被黑客删除 var/log/lastlog 记录登录的用户,可以使用命令lastlog查看,一般会被黑客删除 var/log/secure 记录大多数应用输入的账号与密码,登录成功与否,一般会被黑客删除 var/log/wtmp 记录登录系统成功的账户信息,等同于命令last,一般会被黑客删除
var/log/faillog 记录登录系统不成功的账号信息,一般会被黑客删除
~/.bash_history 至关重要的日志,往往黑客会使用history -c清理相关的日志,然后使用cat ~/.bash_history仍可查看相关的记录
APT事件应急响应操作
处置流程图如下

DDOS事件应急响应操作
处置流程图如下

Webshell事件应急操作
处置流程图如下
病毒蠕虫事件应急响应操作
处置流程图如下

篡改事件应急操作
处置流程图如下
非法劫持、域名、链路事件应急操作
处置流程图如下

非法外联事件应急操作

勒索病毒事件应急操作
处置流程图如下

数据泄露事件操作
到达客户现场后及时了解数据泄露事件发生时间、泄露的内容、数据存储位置、泄露数据的表现形式。具体可参照5W+1H从六个方面了解数据泄露的现状。
-
What------泄露了什么数据,泄露数据的表现形式及量级;
-
Where------泄露了的数据存储在什么位置,在什么位置可以访问和下载到相关的泄露数据;
-
When------数据大概是什么时间泄露的;
-
Who------谁可以接触到这些数据;
-
Why------为什么会泄露该数据,该数据泄露后可能造成哪些影响,或被如何使用;
-
How------根据了解的现状客户初步判断数据是如何泄露的,缩小排查范围。
挖矿事件应急操作
处置流程图如下

