应急响应流程总结
最后更新于
有些病毒木马喜欢藏在系统文件里,开机后会随着系统文件的启动而自动运行木马程序。
Win10自启动注册表如下:
win7自启动注册表如下:
在运行输入services.msc
查看服务启动状态
有些PE(exe,dll,sys)文件会隐藏在Temp文件目录里,还有一些比较大的TMP文件,这些都是比较可疑的,需将这些可疑的文件发到检测病毒的网站进行检测
可以在运行里搜索%temp%
直接跳转到temp目录
可以通过分析浏览器里的一些信息来判断服务器是否被黑客入侵了
可以使用browserdownloadview工具进行查看
可以使用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进程
黑客会经常给受害机设置计划任务来维持木马的运行
检查服务器是否存在弱口令,远程端口是否对外开放
查看服务器是否存在可疑账号以及新增账号,可以通过cmd命令:lusrmgr.msc
进行查看
分析日志,打开时间查看器,可以在运行输入eventvwr.msc
打开时间查看器,当然也可以使用微软的LogParser进行分析日志
在计算机建立隐藏账户来维持对其的控制权限,使用net user
命令也查询不到隐藏账户,以下是建立隐藏账户的cmd命令,你可以在用户管理界面将隐藏账户进行删除或者修改其权限
黑客还可以利用注册表新建账户,这种更难被察觉到,以下利用hideadmin工具针对注册表创建隐藏用户。
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
为注册表用户所在目录
注意:要进入此目录需要给SAM目录给予权限
进入目录后寻找隐藏账户并且将其删掉,注意:需删除两个目录
使用process exploer工具可以对任务管理器进程进行分析,可以直接将可疑进程发送到病毒检测网站进行检测,随后进行删除操作。
执行cmd命令systeminfo
查看系统已安装补丁,也可以查看控制面板程序的已安装更新面板来查看补丁。win10直接在设置里的更新与安全进行查看更新。
若系统出现问题,即可查询到日志信息或追踪入侵者。
通过筛选功能可以更方便查询到指定的事件内容,不同的事件ID对应不同的事件操作
4624 | 4625 | 4634 | 4647 | 4672 |
---|---|---|---|---|
登录成功 | 登录失败 | 注销成功 | 用户启动的注销 | 超级用户(管理员)登录 |
使用管理员账户远程登录主机时,主机会出现以下的事件ID
4776 | 4648 | 4624 | 4672 |
---|---|---|---|
凭据验证 | 凭据登录 | 登录成功 | 超级用户登录 |
在入侵提权过程中,黑客一般都会利用net user或者net localgroup语句创建用户,日志记录的事件ID为:4732,4722,4724
4732 | 4724 | 4722 |
---|---|---|
添加用户 | 重置用户密码 | 启用用户账号 |
简单来说就是打开了程序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恶意进程,首先通过网络流量来识别
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
命令 : 实时查看登录日志
新建用户,随后修改用户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命令给改成别的了,从而导致无法使用此命令
使用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就是环境变量,分析是否有异常环境变量
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工具会自动为我们排查linux系统的安全隐患
安装工具:apt-get install rkhunter
常用命令:rkhunter --check --sk
//--sk表示自动补全
chmod命令的使用可以看我linux专栏的文章,这里不过多解释
vim /etc/profile
,修改HISTSIZE为20(默认是1000)
勒索病毒是无解的,要是被感染了基本上很难恢复数据,所以说备份数据很重要
上传被加密的文件至360病毒分析网站,网站如下
有一些简单的勒索病毒或许可以进行解密,以下是解密的网站
安装杀毒软件,保持监控开启,定期全盘扫描
及时更新 Windows 安全补丁,开启防火墙临时关闭端口,如 445、135、137、138、139、3389 等端口
及时更新 web 漏洞补丁,升级 web 组件
备份。重要的资料一定要备份,谨防资料丢失
强化网络安全意识,陌生链接不点击,陌生文件不要下载,陌生邮件不要打开
一些计算机若被挖矿病毒感染了,大部分都会出现cpu负载率过高,有些挖矿病毒还可以通过类似永恒之蓝等漏洞,或者服务器爆破进行横向渗透内网,感染其他主机
通过任务管理器确定CPU占用高的程序
使用wmic
命令列举所有进程的命令行参数并将其导出至tmp.txt
通过分析下图可知,有异常程序通过powershell远程执行目标网址的命令
通过访问指定网站,发现其内容是一些powershell命令,分析可得是在tmp目录创建挖矿木马
你也可以用wmic命令列出指定进程的命令行参数
随后清除挖矿木马,对全盘进行杀毒扫描,及时更新补丁,开启防火墙。
通过查看端口连接信息,发现22端口存在可疑的连接
分析特权用户
分析爆破信息
分析管理员登录情况
禁止公网开放管理端口,若确实需要开放,则需限定IP以及加强密码的组成
更改服务器ssh的默认端口
部署入侵检测设备,例如安全厂商的防火墙之类的
相对长连接而言,指的是在数据传送过程中,只需要发送数据时间,才会去建立一个连接,数据发送完毕后则断开连接,这样的短连接对于系统维护来说是很难被察觉到的
管理员在出口waf检测到服务器不停向外部发送请求,进入服务器发现短连接进程。
手动捕捉是很麻烦的,所以可以通过脚本进行捕捉进程,将下面脚本的ip值设置成短连接的外部ip
运行结果如下,可以发现短连接的进程pid一直在变,进程源文件也被捕捉到了:/usr/lib/nfsiod
某台网站服务器持续向境外ip发起连接下载病毒源
查看网络进程连接状态,发现远程下载一个jpg文件
分析下载的jpg文件可以发现,里面包含了执行代码,可以判断攻击者通过远程下载脚本图片并执行了图片里的脚本代码
分析定时任务计划,发现攻击者在添加了一项计划任务
在tomcat日志文件中找到一条记录,发现攻击代码和计划任务里的一致
删除木马的定时任务,以及终结异常进程
Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,并且会伪装成系统文件。木马得名于其在变量函数的命名中,大量使用Gates这个单词。
发现服务器cpu占用异常,发现有几个进程占用大量的网络带宽
可以使用browserhistoryview工具进行查看