应急响应事件分类
应用层
主机层
网络层
排查思路
一、Windows
1、排查思路
• 查看日志
• 查看端口/外连情况**(netstat -pantu)**
• 查看进程**(tasklist)**
• 查看系统账户
• 查看启动项
• 查看注册表
• 查看定时任务
2、查看账号
查看是否存在弱口令
查看lusrmgr用户列表,是否存在未知用户、影藏用户(特征为用户名后存在$符)
查看lusrmgr组列表,查看是否存在未知账户。
query user //查看当前系统登录的会话
logoff ID //把指定用户踢出会话
net user //查看本地用户
lusrmgr.msc //查看账号
D盾
Pchunter
3、查看端口
查看有无异常端口连接
使用netstat查看异常进程,并查找到PID
查看异常外连IP
查看有无重要的端口外连,类似于22(SSH)、3389(RDP)
被注入的进程属性里会多出**.NET Assemblies和.NET Performance**两个菜单
netstat //查看端口网络外连情况
-a 显示所有连接和监听端口
-n 以数字形式显示地址和端口号
-o 显示与每个连接相关的进程ID
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况
-p proto 显示proto指定的协议的连接 proto有TCP、UDP、TCPv6、UDPv6。如果与-s选项一起使用以显示按协议统计信息
火绒剑 #着重关注未知文件、外部IP
DNSQuerySniffer #着重关注红色端口号、A记录、状态码
4、查看进程
打开任务管理器,查看资源占用情况
运行msinfo32查看正在运行任务
taskmgr.exe #任务管理器
tasklit #列出所有进程
tasklist /svc #列出每个进程所调用的服务
taskkill /T /F /PID #结束某进程
火绒剑
Pchunter #关注无厂商名、签名验证、描述信息的可疑进程
5、启动项与计划任务
运行msconfig,打开系统配置,查看是否存在异常的启动项(win7以后取消)
可以在任务管理器中打开(taskmgr.exe)查看启动项
net statistics workstation #查看系统开机事件
schtasks #CMD查看系统计划任务
taskschd.msc #win+r运行,查看任务计划程序
wmic startup get command,caption #查看程序启动信息
wmic service list brief #查看主机服务信息
autoruns #查看启动项、计划任务
PChunter #查看启动项,黑色-微软进程;蓝色-非微软进程;红色-可疑进程、隐藏服务;
6、日志分析
打开事件查看器,如果存在大量的登录失败事件ID则代表对相关的账号进行了爆破
#系统日志
%SystemRoot%\System32\Winevt\Logs\System.evtx
#安全日志
%SystemRoot%\System32\Winevt\Logs\Security.evtx
#应用程序日志
%SystemRoot%\System32\Winevt\Logs\Application.evtx
事件ID
说明
4624
登录成功
4625
登录失败
4634
注销成功
4647
用户启动的注销
4672
使用超级用户进行登录
4720
创建用户
7045
服务创建
eventvwr.msc #win+r打开事件查看器
7、文件分析
查看有无新键的文件夹
分析最近打开的可疑文件
%UserProfile%\Recent #win+r运行,分析最近打开的可疑文件
#查看有无新键的用户文件夹
Window 2003 C:\Documents and Settings
Window 2007及以后 C:\Users\
msinfo32 #查看系统信息
8、Windows命令
#获取本地用户列表
net user
#查看当前会话
net session
#查看当前运行的服务
net start
#远程连接
net use
#查看当前用户下的共享目录
net share
#查看网络连接
netstat -ano
#查看操作系统的详细配置信息
systeminfo
#获取进程信息
wmic process
#获取系统进程信息
tasklist
二、Linux
1、排查思路
• 查看账户
• 查看端口
• 查看进程
• 启动项与定时任务
• 日志分析
• 文件分析
• 历史命令
2、查看账号
查看用户信息文件,查看是否存在UID为0的用户、新增的用户
查看当前已登录用户及会话时常
查看用户登录信息
查看sudo用户列表,除去Root账号外,是否存在其他账号拥有sudo权限
禁用和删除可以用户账号
用户信息文件:/etc/passwd
用户组信息文件:/etc/group
用户密码文件:/etc/shadonw
#查看目前登录系统的用户信息,一共有五列,其每一列对应的含义如下
#第一列显示用户名词
#第二列显示用户的连接方式。tty/:0代表用户直接连接电脑,pts代表远程登录
#root pts/0 2023-05-29 11:28 (xxx.xxx.xxx.xxx)
who
#提出用户,如果想提出以上的用户则
pkill -kill -t pts/0
#查看用户登录的信息
last
#显示系统中所有用户最近一次登录信息
lastlog
#显示登录失败用户的信息
lastb
3、查看端口和进程
查看端口外连情况,分析可疑进程
查看本地有无重要端口被连接
查看有无可疑IP外连,可以用微步在线检测
查看当前运行那些进程,分析可疑的进程
#查看端口连接情况
netstat -pantu
#查看进程,分析异常的进程名、PID、可疑的命令行
ps -aux
#查看异常进程
ps -aux | grep $PID
#查看pid所对应的进程文件路径
ls -l /proc/$PID/exe
#结束进程
kill -9 $PID
#查看指定端口对应的进程
lsof -i:80
#查看指定PID的调用情况
lsof -p 666
#动态展示系统整体运行情况,查看有无资源占用过高的jing
top
4、启动项与定时任务
运行级别
含义
0
关机
1
单用户模式,可以想象为windows的安全模式,主要用于系统修复
2
不完全的命令行模式,不含NFS服务
3
完全的命令行模式,就是标准字符界面
4
系统保留
5
图形模式
6
重启
#查看自启动服务
cat /etc/cron*
#查看某个用户的计划任务
crontab -l
#编辑定时任务
crontab -e
#删除当前用户的定时任务
crontab -r
#查看有无异常开机启动命令
more /etc/rc.local
#查看服务自启动状态
chkconfig
#当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可,S开头代表加载时自启动
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
5、日志分析
日志文件
说明
/var/log/cron
记录系统定时任务相关日志
/var/log/massage
记录Linux操作系统常见的系统和服务错误信息
/var/log/btmp
记录登录失败 的信息, 也可以使用命令lastb
/var/log/lastlog
记录系统中所有用户最后一次成功登录的时间, 也可以使用命令lastlog
/var/log/wtmp
永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;也可以使用命令last
/var/log/utmp
只记录当前用户 的信息;也可以使用命令w,who,user
/var/log/secure
记录验证和授权方面的信息,如SSH登录、用户切换、SUDO授权的部分操作
/var/log/yum.log
查看Centos软件安装日志
/var/log/apt
查看Ubuntu软件安装日志
查看ssh登录日志
查看登录成功的IP
查看有多少IP尝试登录root账号
6、文件分析
文件名
说明
/etc/passwd
用户信息文件
/etc/crontab
定时任务文件
/etc/anacrontab
异步定时任务文件
/etc/rc.d/rc.local
开机启动项
查看敏感目录下是否存在影藏文件
发现可疑文件使用`stat`查看创建修改时间
如果前期信息收集知道木马的创建时间,可疑根据时间查找文件
查看历史命令
#查找近7天内修改的文件
find / -mtime -7 -ls | more
#查看历史命令
cat .bash_history
7、Linux常用命令
#查看资源占用
top
#查看进程
ps -aux
#查看网络连接
netstat -pantu
#查看开123端口的进程
lsof -i:123
#显示错误的登录信息
lastb
#显示系统用户最近的的登录信息
last
#显示所有用户最近的登录信息
lastlog
#查看定时任务
crontab -l
事件分析
挖矿病毒
1、代表
• DTStealer (又名“永恒之蓝下载器木马”)
• WannaMine
• 隐匿者(MyKings)
• 紫狐
2、特征
• 电脑CPU占用率过高
• 大量对外网络连接
• 存在异常的定时任务
3、排查思路
• netstat
查看网络连接, 发现异常的进程
• 使用ps
查看进程状态,发现异常下载进程
• 打开其下载的文件,发现其为挖矿的Shell脚本
• 排查开机启动项、定时任务、服务等
• 查看系统日志、中间件日志等,找到攻击者攻击原因
• 删除定时任务
• 终止异常进程
Webshell木马查杀
排查思路
• 定位时间和范围
• 工具扫描定位位置
• 定位创建时间
• 查看Web根目录的.htaccess
文件
• 查找危险命令、危险函数
# php文件
find 网站目录/* -type f -name "*.php" |xargs grep "eval"
find 网站目录/* -type f -name "*.php" |xargs grep "base64_decode"
find 网站目录/* -type f -name "*.php" |xargs grep "@$"
# jsp文件
find 网站目录/* -type f -name "*.jsp" |xargs grep "getRuntime"
find 网站目录/* -type f -name "*.jsp" |xargs grep "exec"
find 网站目录/* -type f -name "*.jsp" |xargs grep "AES"
# asp文件
find 网站目录/* -type f -name "*.asp" |xargs grep "execute"
find 网站目录/* -type f -name "*.asp" |xargs grep "eval"
find 网站目录/* -type f -name "*.asp" |xargs grep "ExecuteGlobal"
• 查看异常端口和进程
• Webshell查杀工具
• Web日志审计
• 漏洞分析:分析可能存在漏洞的地方
• 漏洞修复:清除Webshell并进行加固
- 最新
- 最热
只看作者