一、介绍

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). 入侵排查

  1. 进入cron文件目录,查看是否存在非法定时任务脚本
  2. 注意查看 /etc/crontab、/etc/cron.d、/etc/cron.daily、/etc/cron.hourly/、/etc/monthly/、/etc/weekly/
  3. 若不认识某一计划任务,定位脚本位置,确认是否为正常业务脚本
  4. 若为恶意脚本,注释内容或删除

7. 第三方软件漏洞

  1. 及时升级修复应用程序漏洞
  2. 限制应用程序对文件系统的写权限,尽量使用非root账户运行
  3. 进入应用相关配置目录
  4. 运行 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日志

    导出Windowws日志

  • 利用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. 排查内容
  1. 没有签名验证的进程
  2. 没有描述信息的进程
  3. 进程的属主
  4. 进程路径是否合法
  5. 查看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分析各个中间件的访问日志

9. 自动化查杀

(1). 病毒查杀

病毒查杀

(2). webshell查杀

Webshell查杀