应急响应流程总结
Windows
开机启动文件检测
有些病毒木马喜欢藏在系统文件里,开机后会随着系统文件的启动而自动运行木马程序。
1、查看启动菜单:
C:\Users\leo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2、运行执行msconfig命令


3、查看注册表自启动配置
Win10自启动注册表如下:

win7自启动注册表如下:

4、检查服务自启动
在运行输入services.msc查看服务启动状态
Temp临时文件异常
有些PE(exe,dll,sys)文件会隐藏在Temp文件目录里,还有一些比较大的TMP文件,这些都是比较可疑的,需将这些可疑的文件发到检测病毒的网站进行检测
Temp文件目录:
可以在运行里搜索%temp%直接跳转到temp目录
浏览器信息分析
可以通过分析浏览器里的一些信息来判断服务器是否被黑客入侵了
1、分析浏览器的浏览记录
可以使用browserhistoryview工具进行查看
2、分析浏览器的下载记录
可以使用browserdownloadview工具进行查看

3、分析浏览器的cookie信息
可以使用IEcookieview工具进行查看

文件时间属性分析
文件的创建时间永远是早于或等于修改时间,如果修改时间早于创建时间,就说明该文件十分可疑,因为webshell管理工具是可以修改文件的修改时间
文件打开时间分析
Recent目录里含有最近打开过的文件,看看此目录下是否有可疑的文件,Recent目录地址如下
在运行输入%UserProfile%\Recent来打开

在cmd使用find命令可以快速查询到含有指定内容的文件

分析可疑进程
如果计算机被种植了木马,那么木马肯定会与外部进行通信,每一次通信都会有不同的端口,可以通过网络连接状态来查找到木马的程序,以下是对进程操作的cmd命令。
netstat -ano | find "ESTABLISHED" 查看已建立的网络连接,可以通过非寻常的端口来确认可疑程序,443,80端口大部分都为正常,特别要注意那些不寻常的端口

tasklist /SVC | find "12760" 列出指定pid的任务进程,/svc是列出此进程调用的服务

taskkill /pid 12760 /F /T 强制终止指定pid进程

分析Windows计划任务
黑客会经常给受害机设置计划任务来维持木马的运行
创建任务计划的命令如下:


通过任务计划程序(可视化界面)查看


检查账号安全
分析服务器账号
检查服务器是否存在弱口令,远程端口是否对外开放
查看服务器是否存在可疑账号以及新增账号,可以通过cmd命令:lusrmgr.msc进行查看
分析日志,打开时间查看器,可以在运行输入eventvwr.msc打开时间查看器,当然也可以使用微软的LogParser进行分析日志
分析隐藏账户
在计算机建立隐藏账户来维持对其的控制权限,使用net user命令也查询不到隐藏账户,以下是建立隐藏账户的cmd命令,你可以在用户管理界面将隐藏账户进行删除或者修改其权限

黑客还可以利用注册表新建账户,这种更难被察觉到,以下利用hideadmin工具针对注册表创建隐藏用户。

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users为注册表用户所在目录
注意:要进入此目录需要给SAM目录给予权限

进入目录后寻找隐藏账户并且将其删掉,注意:需删除两个目录

分析恶意进程
使用process exploer工具可以对任务管理器进程进行分析,可以直接将可疑进程发送到病毒检测网站进行检测,随后进行删除操作。


检查系统更新与补丁
执行cmd命令systeminfo查看系统已安装补丁,也可以查看控制面板程序的已安装更新面板来查看补丁。win10直接在设置里的更新与安全进行查看更新。


Windows审核策略
本地审核策略
若系统出现问题,即可查询到日志信息或追踪入侵者。

Windows日志筛选
通过筛选功能可以更方便查询到指定的事件内容,不同的事件ID对应不同的事件操作
登录成功
登录失败
注销成功
用户启动的注销
超级用户(管理员)登录


使用管理员账户远程登录主机时,主机会出现以下的事件ID
凭据验证
凭据登录
登录成功
超级用户登录

在入侵提权过程中,黑客一般都会利用net user或者net localgroup语句创建用户,日志记录的事件ID为:4732,4722,4724
添加用户
重置用户密码
启用用户账号


映像劫持
简单来说就是打开了程序A,而却运行了程序B
利用修改注册表的方式实现映像劫持, 下面列举两种不同的劫持姿势
劫持步骤
1、旧方式劫持
此处演示的案例是五次shift键触发后门,Optionssethc.exe为五次shift键触发程序
按五次shift键后并不会执行原程序,而是会执行我们设置的后门程序calc.exe

2、新方式劫持
按五次shift键后会执行原程序, 原程序关闭后执行后门程序calc.exe
将MonitorProcess 的值修改成后门程序的地址
劫持的应急
查看以下两个注册表目录,看看有没有可疑的东西
如下图所示, 这种目录就是可疑目录, 可直接删除IFEO(Image File Execution Options)项或者设置管理员不可修改


分析系统日志,日志ID为3000和3001,即有可能存在后门威胁。
定义恶意进程
使用OpenArk来定位CS恶意进程,首先通过网络流量来识别
LINUX
分析敏感文件或目录
TMP临时目录
tmp目录是一个放置临时文件的目录,普通用户对其目录内的文件都具有读写的权限,因此tmp目录通常用于提权

开机自启动文件分析
查看自启动文件:ls -alh /etc/init.d/ (-h显示文件大小)



查询敏感文件
以下是常用到的find命令:
查询一些敏感的文件后缀名, 例如php, aspx, jsp等webshell常用后缀

分析可疑进程
分析网络连接
常用命令:
netstat -pantl ,列出TCP相关的服务连接。
netstat -pantl | grep "ESTABLISHED",查看已建立的TCP服务连接。
以下是netstat的使用参数
对进程文件分析
以下是常用到的linux命令:
ps -aux:列出所有的进程ps -aux | grep pid:列出指定pid的进程lsof -i:端口号:列出指定端口的进程kill -9 pid: 关闭指定pid进程


分析异常登录
在linux的操作都会被记录在系统日志中,可以通过查询日志信息判断是否有异常登录
last -i | grep -v 0.0.0.0 : 查询非本地登录的日志信息,-i表示IP

w命令 : 实时查看登录日志

分析异常用户
提权root用户实操
新建用户,随后修改用户uid为0, 以此获取root权限


排查异常用户
grep "0:0" /etc/passwd : 查找root权限用户

ls -l /etc/passwd : 查看用户文件最近修改时间

awk -F: '$3==0 {print $1}' /etc/passwd : 查看root权限用户


awk -F: '$2=="!" {print $1}' /etc/shadow : 查看空密码用户

禁用以及删除可疑账号
分析历史命令
linux系统之前执行的命令会保存在/root/.bash_history文件中,以下是查看history的命令。
cat /root/.bash_history

history

**常见的可疑历史命令:**wegt(远程下载)、ssh(连接内网)、tar zip(压缩打包)
特别要注意, 有些黑客还会修改你的系统命令,例如把netstat命令给改成别的了,从而导致无法使用此命令
分析计划任务
crontab命令排查计划任务


anacron命令实现异步定时任务调度
排查定时任务
使用more命令查询以下目录,重点查询/etc/cron.d/*目录
分析开机自启动项
设置开机自启动
ls /etc/init.d/ 查看开机自启动文件
update-rc.d apache2 enable 设置apache2服务开机自启动
通过创建软连接设置自启动,将脚本文件放在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软连接即可。
S100ssh是sshd脚本的软连接,S表示运行级别加载时自启动,K则表示加载时需关闭
关闭开机自启动
update-rc.d apache2 disable 取消apache2服务开机自启动
排查启动项文件
分析服务自启动项
修改服务自启动
1、使用chkconfig命令(红帽linux)
命令参数:chkconfig [--level 运行级别][独立服务名][on|off]
2、修改/etc/rc.local文件,加入 /etc/init.d/httpd start

3、使用ntsysv命令管理自启动,该命令适用于红帽linux
入侵排查
查看3与5级别下的启动项
$PATH变量异常
$PATH就是环境变量,分析是否有异常环境变量
echo $PATH : 输出环境变量目录

export PATH=$PATH:/usr/lol/theshy 添加环境变量,临时有效,重启无效

vim /etc/profile,随后添加export PATH=$PATH:/usr/lol/faker,再source /etc/profile。这个是永久修改$PATH变量的方法


系统日志分析
日志存放位置
日志默认存放位置:/var/log/
查看日志配置:more /etc/rsyslog.conf
/var/log/cron
记录定时任务日志
/var/log/cups
记录打印信息日志
/var/log/mailog
记录邮件信息日志
/var/log/message
记录系统重要信息日志,若出问题,首先检查该日志
/var/log/btmp
记录错误信息日志,二进制文件,要用lastb命令查看
/var/log/lastlog
记录所有用户最后一次登录时间日志,二进制文件
/var/log/wtmp
记录所有用户的登录、注销信息,同时记录系统的启动、重启等事件,是个二进制文件
/var/log/utmp
记录当前登录用户信息,会随着用户注销而不断变化,只能通过w,who,users命令查看
日志分析技巧
==注意:Centos系统登录日志记录在/var/log/secure,Ubuntu系统登录日志记录在/var/log/auth.log。==
1、分析爆破root账户的ip相关信息
查看爆破root用户的IP数量
查看爆破的IP以及时间
查看爆破所用到的用户名字典
2、分析登录成功的ip
查看所有的登录成功的ip
查看登录成功的ip,用户及日期
3、查看用户操作的日志
rkhunter工具使用
rkhunter工具会自动为我们排查linux系统的安全隐患
安装工具:apt-get install rkhunter
常用命令:rkhunter --check --sk //--sk表示自动补全


安全加固
阻止非root用户登录
给密码文件设置权限
chmod命令的使用可以看我linux专栏的文章,这里不过多解释
修改文件默认权限
给日志或其他重要文件加固
屏蔽banner信息

增强秘钥
限制登录次数
设置历史命令最大保存条数
vim /etc/profile,修改HISTSIZE为20(默认是1000)

应急响应案列
勒索病毒
处理方式
勒索病毒是无解的,要是被感染了基本上很难恢复数据,所以说备份数据很重要
上传被加密的文件至360病毒分析网站,网站如下
有一些简单的勒索病毒或许可以进行解密,以下是解密的网站
安全防范
安装杀毒软件,保持监控开启,定期全盘扫描
及时更新 Windows 安全补丁,开启防火墙临时关闭端口,如 445、135、137、138、139、3389 等端口
及时更新 web 漏洞补丁,升级 web 组件
备份。重要的资料一定要备份,谨防资料丢失
强化网络安全意识,陌生链接不点击,陌生文件不要下载,陌生邮件不要打开
挖矿病毒(Windows)
一些计算机若被挖矿病毒感染了,大部分都会出现cpu负载率过高,有些挖矿病毒还可以通过类似永恒之蓝等漏洞,或者服务器爆破进行横向渗透内网,感染其他主机
处理方法:
通过任务管理器确定CPU占用高的程序

使用wmic命令列举所有进程的命令行参数并将其导出至tmp.txt
通过分析下图可知,有异常程序通过powershell远程执行目标网址的命令

通过访问指定网站,发现其内容是一些powershell命令,分析可得是在tmp目录创建挖矿木马


你也可以用wmic命令列出指定进程的命令行参数
随后清除挖矿木马,对全盘进行杀毒扫描,及时更新补丁,开启防火墙。
SSH爆破(Linux)
1、22端口异常连接
通过查看端口连接信息,发现22端口存在可疑的连接

2、应急响应流程
分析特权用户
分析爆破信息
分析管理员登录情况
3、防护措施
禁止公网开放管理端口,若确实需要开放,则需限定IP以及加强密码的组成
更改服务器ssh的默认端口
部署入侵检测设备,例如安全厂商的防火墙之类的
短连接捕捉(Linux)
简介
相对长连接而言,指的是在数据传送过程中,只需要发送数据时间,才会去建立一个连接,数据发送完毕后则断开连接,这样的短连接对于系统维护来说是很难被察觉到的
管理员在出口waf检测到服务器不停向外部发送请求,进入服务器发现短连接进程。

应急处理
手动捕捉是很麻烦的,所以可以通过脚本进行捕捉进程,将下面脚本的ip值设置成短连接的外部ip
运行结果如下,可以发现短连接的进程pid一直在变,进程源文件也被捕捉到了:/usr/lib/nfsiod

挖矿病毒(Linux)
应急场景
某台网站服务器持续向境外ip发起连接下载病毒源

应急处理
查看网络进程连接状态,发现远程下载一个jpg文件


分析下载的jpg文件可以发现,里面包含了执行代码,可以判断攻击者通过远程下载脚本图片并执行了图片里的脚本代码

分析定时任务计划,发现攻击者在添加了一项计划任务

在tomcat日志文件中找到一条记录,发现攻击代码和计划任务里的一致

删除木马的定时任务,以及终结异常进程


盖茨木马
盖茨木马简述:
Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,并且会伪装成系统文件。木马得名于其在变量函数的命名中,大量使用Gates这个单词。
应急场景
发现服务器cpu占用异常,发现有几个进程占用大量的网络带宽

最后更新于