应急响应笔记
一,windows
1,排查账号情况
1.1 弱口令情况
机器所有账号以及账号密码情况需要与机器所属人/管理员进行沟通
1.2 账号情况
lusrmgr.msc 查看是否有异常用户存在或存在于管理员组中
1.3 影子账号
当没有修改注册表时

可以通过lusrmgr.msc查看到影子用户
当修改了注册表

通过对比注册表和lusrmgr.msc的用户 判断是否有影子用户
清理影子用户

将Names和对应Users的文件夹删除
2,异常进程,端口
2.1 检查可疑链接
netstat -ano
排查状态为ESTABLISHED状态的进程
TCP xx.xx.xx.xx:1139 47.102.130.247:2117 ESTABLISHED 8980
在通过pid 8980确定是什么进程

2.2 检查可疑的进程
运行-msinfo32 点击 软件环境-正在运行任务

tasklist pid对应的文件名
2.3 查看进程对应的文件位置
cmd输入 wmic process
可以用 wmic process >> 123.txt 将结果输出到txt 格式会整齐很多
通过powershell判断pid文件的路径
wmic process get name,executablepath,processid|findstr 2696
通过powershell 通过文件名获取文件路径
wmic process where caption="powershell.exe" get caption,commandline /value
3,检查启动项,计划任务,服务自启动,共享文件
3.1 检查启动项
3.1.1 msconfig
运行-输入msconfig

判断启动项是否有问题
3.1.2 注册表
通过注册表排查
HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

3.1.3 组策略
运行-gpedit.msc

排查是否添加了异常脚本
3.2 检查计划任务
3.2.1 控制面板
控制面板-任务计划程序

右键属性 可以看到具体文件位置
3.2.2 schtasks.exe
cmd 输入 schtasks.exe

3.3 服务自启动
运行-输入services.msc

注意服务状态和启动类型 判断是否是正常服务
3.4 共享文件夹
我的电脑 右键 -管理-共享文件夹-共享 判断是否非管理员操作的共享文件夹的操作
二,linux
1,账号安全
who 查看当前登录用户。tty本地登录 pts远程登录
uptime 账户登录多久
查看特权用户
awk -F: '$3==0{print $1}' /etc/passwd
查看可以远程登录的账号
awk '/\$1|\$6/{print $1}' /etc/shadow
2,历史操作
history
3,异常端口和进程
3.1 异常端口
netstat -antlp

查看pid对应的文件路径
ls -l /proc/$pid/exe

查看pid对应的执行程序
ls -alt /proc/pid
查看进程打开的文件
lsof -p pid
3.2 异常进程
ps aux |grep pid
3.3 异常服务
service --status-all
4,定时任务
crontab -l
重点排查一下目录
/var/spool/cron/* /etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /etc/anacrontab /var/spool/anacron/*
5,系统日志
| 日志文件 | 说明 |
|---|---|
| /var/log/cron | 记录了系统定时任务相关的日志 |
| /var/log/cups | 记录打印信息的日志 |
| /var/log/dmesg | 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 |
| /var/log/mailog | 记录邮件信息 |
| /var/log/message | 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件 |
| /var/log/btmp | 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看 |
| /var/log/lastlog | 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看 |
| /var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看 |
| /var/log/utmp | 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询 |
| /var/log/secure | 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
1、定位有多少IP在爆破主机的root帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
2、登录成功的IP有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
5.1 ssh登录成功
last
5.2 ssh登录失败
lastb

浙公网安备 33010602011771号