点击上方[蓝字],关注我们
免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。
文章正文
应急响应
应急响应事件分类
应用层
-
1. 网站植入WebShell -
2. 网页挂马 -
3. 暗链 -
4. 数据篡改(色情/博彩)
主机层
-
1. 挖矿 -
2. DDOS -
3. 勒索病毒 -
4. SSH爆破 -
5. 数据库入侵 -
6. 远控后门
网络层
-
1. DDOS攻击 -
2. CC攻击 -
3. DNS/HTTP劫持 -
4. ARP欺骗
排查思路
一、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%System32WinevtLogsSystem.evtx
#安全日志
%SystemRoot%System32WinevtLogsSecurity.evtx
#应用程序日志
%SystemRoot%System32WinevtLogsApplication.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查杀工具
- • D盾
- • 河马
- • 查看
access.log
文件
溯源
查看GitHub用户绑定的邮箱
1、Github搜索某一个词条,打开搜索结果
2、打开commits历史提交记录
3、打开一条历史记录
4、Url后添加.patch
则可查看
QQ号码查看IP归属查询接口
接口+qq号,然后打开链接,跳转到QQ,
https://h5.qzone.qq.com/v2/wezone/jump?_wv=3&_proxy=1&schema=mqqapi%3A//qcircle/openmainpage%3Ffrom%3Dhomepage%26sharecategory%3D1%26shareentrance%3D2%26uin%3D
原文始发于微信公众号(Z2O安全攻防):如何进行高效的应急响应:一份必备的笔记!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论