05、应急事件检测
应急事件检测
1.Windows 系统
1.1.Windows 系统用户账号收集
查找本地用户和组:lusrmgr.msc
查找用户:net user
查找本地管理员组用户:net localgroup administrators
使用 powershell 查找用户:Get-LocalUser
1.2.Windows 系统进程信息收集
任务管理器(Ctrl+Shift+Esc)(文件位置、结束任务)
运行:taskmgr.exe
cmd:tasklist
tasklist | find "notepad"
poershell:get-process
获取完整的进程信息:wmic process list full
获取名称、父进程id、进程id:wmic process get name,parentprocessid,processid
获取具体进程的文件路径:wmic process where 'ProcessID=PID' get CommandLine
1.3.Windows 系统服务信息收集
运行:services.msc
命令行:
已经启动的服务:net start
查看每个进程中的服务:tasklist /svc
psService 工具
1.4.Windows 系统计划任务信息收集
控制面板-管理工具-任务计划程序
运行:taskschd.msc
命令行:schtasks
1.5.Windows 系统自启动项信息收集
任务管理器(Ctrl+Shift+Esc)-启动
运行:taskmgr-启动
命令行查看启动项:
wmic startup get caption,command
Get-CimInstance Win32_StartupCommand | Select-Object Name, command, Location, User | Format-List
1.6.注册表的自启动信息收集
运行:regedit
查看相关程序的进程:
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
1.7.Windows 系统端口状态信息收集
查看端口状态:netstat -ano | findstr "ESTABLISHED"
查看对应PID的进程:tasklist /FI "PID eq pid值"
查找特定 IP 的状态:Get-NetTCPConnection -LocalAddress 192.168.93.1 | Sort-Object LocalPort | findstr "Established"
1.8.Windows 系统共享文件信息收集
查看本地主机共享文件(也可查看远程主机共享文件):net view \\127.0.0.1
net share
关闭共享:net share x$ delete(重启后又会出现)
彻底关闭共享(注册表):https://blog.csdn.net/weixin_28949779/article/details/118663138
powershell 查看:Get-SmbShare
1.9.Windows 系统 session 信息收集
查看网络连接:net use
查看网络连接:net session(普通权限拒绝访问,通过管理员执行才不会报错)
工具:
2.Linux 系统
2.1.Linux 系统用户信息收集
查看是否存在可疑用户:cat /etc/passwd
查看用户密码信息:sudo cat /etc/shadow
查看用户组信息:cat /etc/group
快速定位 sudo 组:cat /etc/group |greo "sudo"
查看当前登录系统用户信息:whoami、w、who
查看网络状态:netstat -pantu
查看登录记录:last
查看登录日志记录:sudo lastb
2.2.Linux 系统文件信息收集
查看当前路径下的文件信息:ls -alh
识别系统中任何过大的文件及其权限(查看 home 目录下文件大于 512k 的文件信息):
find /home/ -type f -size +512k -exec ls -lh {} \;
查找所有拥有 suid 的文件:
find / -perm -u=s -type f 2>/dev/null(经常被作为提权的命令)
查找用户具有 su 权限的文件目录:
ls -alh /usr/bin/su
find 命令 suid 提权:
配置环境:
- 查看文件路径:which find
- 给用户添加 s 的权限:chmod u+s /usr/bin/find
- 查看 find 的权限:ls -al /usr/bin/find
- 使用之前的命令,发现 find 已经被添加到 suid 文件中:find / -perm -u=s -type f 2>/dev/null
提权:
- 创建文件:touch test
- 提权语句,查看当前用户:find test -exec "whoami" \;
2.3.Linux 系统资源信息收集
查看服务器已经运行了多长时间、系统中的当前时间、当前登录了多少用户以及系统的平均负载:uptime
查看Linux中系统的内存使用情况,系统中使用的物理内存和交换内存,以及内核使用的缓冲区:free(内存使用过多可能存在挖矿病毒)
检查系统上是否存在未知的挂载:cat /proc/mounts(通常对挂载点进行备份,然后应急时进行对比)
2.4.Linux 系统进程信息收集
top 命令:能够实时显示系统中各个进程的资源占用情况,类似于 Windows 的任务管理器
- TIME+:占用系统资源的时间(发现其不断增加,并且一直占用 CPU 资源,那么肯定是有问题的)
- %CPU:CPU占用百分比(占用过高有问题)
- %MEM:内存占用百分比(占用过高有问题)
- USER:进程运行用户(可疑用户)
按 c:按 CPU 进行排序
按 m:按 MEM 进行排序
2.5.Linux 系统服务信息收集
获取当前系统所有服务信息 +开启 -关闭:service --status-all
筛选开启的服务:service --status-all |grep "+"
查看具体的服务:service 服务名称 status
查看计划任务信息:cat /etc/crontab
查看 DNS 服务的 IP 地址:more /etc/resolv.conf
查看 hosts 文件:cat /etc/hosts
查看防火墙规则:iptabls -L -n
2.6.Linux 系统网络信息收集
arp 命令:用来管理系统的 arp 缓冲区,可以显示、删除、添加静态 mac 地址
arp -vn
添加静态映射:arp -i eth0 -s IP地址 MAC地址
显示网络连接信息:netstat -pantu
3.应急响应流程
PDCERT 应急响应方法模型:准备阶段、检测阶段、抑制阶段、根除阶段、恢复阶段、总结阶段
1.应急响应取证
2.应急响应根除
- 利用杀毒软件、杀毒脚本、手工查杀等方式彻底消除病毒,并检测整个网络系统,以确保不要留下后门。
- 针对不同操作系统,使用打补丁、修改安全配置和增加系统带宽的方式,降低安全风险。
3.应急响应恢复
- 利用备份文件恢复用户数据和配置信息
- 将受到入侵和可能存储漏洞的服务关闭,修改后重启服务
- 连接网络,恢复业务,持续监控并进行汇总分析
4.应急响应报告
- 事情经过
- 事件成因
- 评估事件影响
- 采取措施
- 事后系统定级、备案、测评等情况
参考: