操作系统 应急响应

发布于 2024-11-15 09:16:45 字数 6240 浏览 3 评论 0

1 Windows 应急响应

1.1 文件分析

1.1.1 开机启动项

利用操作系统中的启动菜单:

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

利用系统配置 msconfig:

利用注册表:

HKCU\software\Microsoft\Windows\CurrentVersion\Run
HKLM\software\Microsoft\Windows\CurrentVersion\Run

1.1.2 tmp 临时文件夹

使用 cmd,输入 %tmp% ,直接打开临时文件夹

查看该文件夹下是否有可疑文件(exe、dll、sys)

1.1.3 浏览器历史记录

工具地址: https://launcher.nirsoft.net/downloads/index.html

browsinghistoryview

browserdownloadsview

1.1.4 文件属性分析

在 Windows 系统下,文件属性的时间属性具有:创建时间、修改时间、访问时间(默认情况下禁用)默认情况下,计算机是以修改时间作为展示。

如果修改时间要早于创建时间那么这个文件存在很大可疑。使用中国菜刀等工具修改的修改时间,通过文件属性可以查看到创建时间、修改时间、访问时间。

1.1.5 最近打开文件分析

Windows 系统中默认记录系统中最近打开使用的文件信息。

可以在目录 C:\Documents and Settings\Administrator\Recent 下查看,也可以使用 win+R 打开运行,输入 %UserProfile%\Recent 查看。然后利用 Windows 中的筛选条件查看具体时间范围的文件

1.2 进程分析

1.2.1 可疑进程发现与关闭

计算机与外部网络通信是建立在 TCP 或 UDP 协议上的,并且每一次通信都是具有不同的端口(0~65535)。如果计算机被木马后,肯定会与外部网络通信,那么此时就可以通过查看网络连接状态,找到对应的进程 ID,然后关闭进程 ID 就可以关闭连接状态。

# 查看网络建立连接状态
netstat -ano | find "ESTABLISHED"
# 查看具体 PID 进程对应的程序
tasklist /svc | find "PID"
taskill /PID pid 值 /T 关闭进程

1.2.2 Window 计划任务

在计算机中可以通过设定计划任务,在固定时间执行固定操作。一般情况下,恶意代码也有可能在固定的时间设置执行。

使用 at 或 schtasks 命令可以对计划任务进行管理,直接输入 at 可以查看当前计算机中保存的计划任务。

也可以在计划任务程序中打开:

1.2.3 隐藏账户发现与删除

隐藏账号,是指“黑客”入侵之后为了能够持久保持对计算机访问,而在计算机系统中建立的不轻易被发现的计算机账户。

最为简单的隐藏账户建立:

net user test$ test /add && net localgroup administrator test$ /add 其中 $ 符号可以导致系统管理员在使用 net user 时无法查看到 test$ 用户。

1.3 系统信息

1.3.1 补丁查看与更新

Windows 系统支持补丁以修补漏洞。可以使用 systeminfo 查看系统信息,并展示对应的系统补丁信息编号。 也可以在卸载软件中查看系统补丁和第三方软件补丁。

1.4 webshell 查杀

常见工具:D 盾

2 linux 分析排查

2.1 文件分析

2.1.1 tmp 目录

在 Linux 系统下一切都是文件。其中 /tmp 是一个特别的临时目录文件。每个用户都可以对它进行读写操作。因此一个普通用户可以对 /tmp 目录执行读写操作。

2.1.2 开机启动项

查看开机启动项内容 /etc/init.d/ ,恶意代码很有可能设置在开机自启动的位置。

查看指定目录下文件时间顺序的排序: Is-alt| head -n 10

查看文件时间属性: stat 文件名

使用 update-rc.d 程序名称 enable 设置开机自启

使用 update-rc.d 程序名称 disable 禁止开机自启

2.1.3 文件修改时间搜索

新增文件分析:

  • 查找 24 小时内被修改的文件

    • find ./ -mtime 0 -name "*.php"
  • 查找 72 小时内新增的文件

    • find ./ -ctime -2 -name "*.php"
  • 权限查找

    • find ./ -iname "*.php" -perm 777
    • -iname 忽略大小写, -perm 筛选文件权限

2.2 进程分析

2.2.1 网络连接分析

在 Linux 中可以使用 netstat 进行网络连接查看。

netstat -Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

常用命令 netstat -pantl 查看处于 tcp 网络套接字相关信息。

关闭未知连接 kill -9 PID 即可。

2.2.2 进程对应的文件

在 linux 中可以使用 ps 查看进程相关信息

使用 ps aux 查看所有进程信息

使用 ps -aux| grep PID 筛选出具体 PID 的进程信息, lsof -i:端口号 也可以实现类似功能

2.3 登录分析

在 Linux 做的操作都会被记录到系统日志中,对于登录也可以查看日志信息查看是否有异常登录。last 命令 last -i | grep -v 0.0.0.0 查看登录日志,筛选非本地登录。

w 命令实时查看登录用户

2.4 异常用户的分析排查

在 Linux 中 root 用户是一个无敌的存在,可以在 Linux 上做任何事情。

新建用户 useradd username

设置密码 passwd username 输出密码

设置用户 uid 和 gid 都为 0。(root 用户 uid 为 0 gid 为 0)修改文件即可 /etc/passwd

cat /etc/passwd
grep "0:0" /etc/passwd
ls -l /etc/passwd
awk -F: '$3==0 {print $1}' /etc/passwd
awk -F:'$2=="!”{print $1}' /etc/shadow 或 
awk -F:'length($2)==0 {print $1}' /etc/shadow

2.5 历史命令分析

在 Linux 系统中默认会记录之前执行的命令 /root/bash history 文件中。

用户可以使用 cat /root/.bash_history 进行查看或者使用 history 命令进行查看

2.6 计划任务排查

在 Linux 系统中可以使用命令 crontab 进行计划任务的设定

其中 -e 可以用来编辑设定计划任务,-l 可以用来查看当前计划任务,-d 用来删除计划任务。特别注意计划任务中未知内容

2.7 异常 $PAHT 环境变量的排查

环境变量决定了 shell 将到哪些目录中寻找命令或程序,PATH 的值是一系列目录,当您运行一个程序时,Linux 在这些目录下进行搜寻编译链接。

修改 PATH :

export PATH=$PATH:/usr/locar/new/bin 
# 本次终端中有效,重启后无效。
# 在 /etc/profile 或/home/.bashrc(source ~/.bashrc)才能永久生效。

2.8 后门自动排查 - rkhunter

Rkhunter 具有以下功能:

  1. 系统命令检测,MD5 校验

  2. Rookit 检测

  3. 本机敏感目录、系统配置异常检测

安装: apt install rkhunter

基本使用:

rkhunter -check-sk
-c,--check # Check the local system
-sk --skip-keypress # Don't wait for a keypress after each test

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

灯角

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

错爱

文章 0 评论 0

qq_VRzBBA45

文章 0 评论 0

qq_Xkuuc

文章 0 评论 0

尤怨

文章 0 评论 0

luoshaojba

文章 0 评论 0

调妓

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文