一、介绍
1. 分类
(1). web入侵
- 网页挂马、主页篡改、Webshell
(2). 系统入侵
- 病毒木马、勒索软件、远控后门
(3). 网络攻击
- DDOS攻击、DNS劫持、ARP欺骗
2. 排查思路
(1). 文件分析
- 文件日期、新增文件、可疑/异常文件、最近使用文件、浏览器下载文件
- Webshell排查与分析
- 核心应用关联目录文件分析
(2). 进程分析
- 当前活动进程&远程连接
- 启动进程&计划任务
- 进程工具分析
- Windows:Pchunter
- Linux:Chkrootkit&Rkhunter
(3). 系统分析
- 环境变量
- 账号信息
- History
- 系统配置文件
(4). 日志分析
a. 操作系统
- Windows——事件查看器(eventvwr)
- Linux—— /var/log/
b. 应用
- Access.log
- Error.log
二、Linux
1. 账号安全
(1). 基本使用
a. /etc/password
root:x:0:0:root:/root:/bin/bash
用户名:密码:用户ID:组ID:用户说明:家目录:登录后的shell
#无密码只允许本机登录,不允许远程登录
b. /etc/shadow
root:$6$0Gs1PaqhL2p3ZetrE$X7obzoouHQVSEmSgsYN5:16809:0:99999:7:::
用户名:加密密码:密码最后修改日期:两次修改密码间隔:密码有效期:到期前警告天数:到期后宽限天数:账号失效时间:保留
(2). 入侵排查
a. 特权账户
#排查uid为0的用户
awk -F: '$3==0 {print $1}' /etc/passwd
b. 远程登录账户
awk '/\$1|\$6/{print $1}' /etc/shadow
c. sudo权限账户
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
d. 可疑账户禁用
usermod -L [用户名]
e. 修改时间
ls -l /etc/passwd
2. 历史命令
(1). 基本使用
- 只要用户执行过命令,在该用户HOME目录下一定存在
.bash_history
,记录历史指令 cat /root/.bash_history | more
(2). 入侵排查
查找并分析
.bash_history
文件#清空历史命令 history -c #输出并查看历史命令 cat /root/.bash_history >> history.txt cat history.txt
3. 端口排查
(1). 基本使用
netstat命令
,查看是否有未被授权的端口被监听,分析可疑端口、IP、PID
(2). 入侵排查
1. #先查看是否有非授权进程
netstat -antlp | more
ss -antlp
2. #查看对应进程路径
ls -l /proc/[PID]/exe
file /proc/[PID]/exe
4. 进程排查
- 排查是否有名称不断变化的非授权进程占用大量系统CPU或内存资源
#查看进程资源占用
ps aux
top
ps -ef
#结束进程 or 使用防火墙
kill -g [进程名]
5. 开机启动项
(1). 基本使用
#列出服务项
chkconfig --list
systemctl list-unit-files #Centos下使用
ls -alt /etc/init.d/
#查看系统服务
ls -la /etc/rc.d/rc.local
#查看ssh公钥是否被修改
ls -la /root/.ssh/authorized_keys #时间判断
cat /root/.ssh/authorized_keys #内容比对判断
系统运行级别图
(2). 入侵排查
#列出服务项
chkconfig --list
#命令关闭
chkconfig [服务名] off
or
systemctl disable postfix.service #centos7
6. 定时任务
(1). 基本使用
crontab -l #列出当前用户cron服务详细内容
crontab -u [用户名] -l #列出指定用户cron服务详细内容
crontab -r #删除当前用户cron任务
crontab -e #编辑当前用户cron任务
(2). 入侵排查
- 进入cron文件目录,查看是否存在非法定时任务脚本
- 注意查看 /etc/crontab、/etc/cron.d、/etc/cron.daily、/etc/cron.hourly/、/etc/monthly/、/etc/weekly/
- 若不认识某一计划任务,定位脚本位置,确认是否为正常业务脚本
- 若为恶意脚本,注释内容或删除
7. 第三方软件漏洞
- 及时升级修复应用程序漏洞
- 限制应用程序对文件系统的写权限,尽量使用非root账户运行
- 进入应用相关配置目录
- 运行
chown -R apache:apache /var/www/xxxx -R 750 file1.txt
,配置网站访问权限
8. 系统日志
- 默认存放位置/var/log/
- 查看日志配置情况
more /etc/rsyslog.conf
| 日志文件 | 说明 |
| —————– | ———————————————————— |
| /var/log/cron | 定时任务相关日志 |
| /var/log/syslog | 记录系统的各类活动和事件,适用于 Debian 系统。 |
| /var/log/messages | 记录系统消息,适用于 Red Hat 系统 |
| /var/log/auth.log | 记录用户登录和授权相关的事件,如 SSH 登录、sudo 使用等 |
| /var/log/cups | 打印信息日志 |
| /var/log/lastlog | 所有用户最后一次登录时间 |
| /var/log/secure | 记录安全相关的事件,包括用户登录和权限提升操作 |
| 记录系统的启动、重启、关机时间
|
| /var/run/utmp | 记录当前已经登录的用户信息 |
| /var/log/btmp | 记录失败的登录尝试 |
三、Windows
msinfo32
msconfig
1. 账号安全
(1). 弱口令
(2). 可疑账号
#查看是否有新增/可疑的账号
lusrmgr.msc
(3). 隐藏账号
a. 注册表
- 注册表
regedit
,查看管理员对应键值 - 在
Users
下,找到对应的用户 SID,管理员账户通常是S-1-5-<机器名>-500
- 在
ProfileList
中,可以找到用户的 SID,并查看与之对应的用户信息。
KEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users #包含用户账户信息
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList #包含用户配置文件的 SID 和相关信息
b. 工具
- 使用D盾——web查杀工具,检测克隆账号
(4). 结合登录日志
eventvwr.msc
打开事件查看器
导出Windows日志
利用LogParser分析
#根据不同事件ID进行分析 LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM C:\security.evtx where EventID=4624"
2. 端口排查
- 检查是否有远程连接、可疑连接
netstat -ano #查看网络连接情况,定位可疑的ESTABLISHED、LISTENING,查看开放服务端口,进一步排查相对应的服务
tasklist | findstr "PID" #根据PID定位服务或程序
3. 进程排查
a. msinfo32
- 查看进程的详细信息,包括进程路径、进程ID、文件创建日期、启动时间等
b. 使用工具
- D盾_web查杀,查看进程,关注有没有
签名信息
- 使用官方工具
Process Explorer
c. 排查内容
- 没有签名验证的进程
- 没有描述信息的进程
- 进程的属主
- 进程路径是否合法
- 查看CPU、内存资源占用时间过高的进程
4. 开机启动项
(1). 服务器
- 开始 => 所有程序 => 启动 ,查看目录是否为空,是否有可疑内容
(2). msconfig
- 查看是否存在命名异常的启动项目,存在,则去删除对应文件
(3). 注册表
regedit
,查看开机启动项是否正常HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\runonce
(4). 组策略
- 运行
gpedit.msc
5. 服务与计划任务
(1). 计划任务
控制面板 => 系统和安全 => 管理工具 => 计划任务 => 查看计划任务属性,发现木马文件的路径
cmd中,输入
schtasks.exe
,检查计算机与其他网络上的其他计算机之间的会话或计划任务,确认是否为正常连接
(2). 服务
- 开始 => 运行 =>
services.msc
,注意服务状态和启动类型,检查是否有异常任务
6. 系统补丁
- cmd中输入
systeminfo
查看系统版本以及补丁信息
7. 文件目录
查看用户目录是否有新文件夹存在
开始 => 运行 ,输入
%UserProfile%\Recent
分析最近打开的可疑文件在服务器各个目录,按时间顺序排序,查找可疑文件
8. 日志分析
(1). 系统日志
- 前提需开启审核策略,方法同账号安全的登录日志排查
(2). Web访问日志
- 使用EmEditor分析各个中间件的访问日志