应急响应复现
windows
1.检查可疑账号
1.排除弱口令
2.查看是否有新增用户
1.net user 但有隐藏
2.注册表中查看 计算机\HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
如果SAM没权限打开,给个权限就行
隐藏账户:
00000*和下面的name是一一对应的
比如可以修改aaa的类型也就是对应000003E9的F值,将其设置为Admixistrator对应的000001F4
当然,aaa是可以前面查到的,所以还是创建一个用户test$,net user不会显示
1.修改对应值
2.导出注册表
3.删除用户
4.导入注册表,双击导入即可
3.查看日志
事件查看器
主要看Security.evtx,有登录日志
其中主要看4624成功 4625失败 4672超级用户登录
成功类型:
2 本地登录 3网络登录(共享文件夹或打印机)7屏保解锁 10远程桌面RDP
先在本地策略中打开记录日志
也可以看到从哪里登录
使用Log Parser工具分析日志
Logparser.exe -i:EVT -o:DATAGRID "SELECT * FROM C:\Users\aaa\Desktop\1.evtx"
LogParser.exe -i:EVT –o:DATAGRID "SELECT EXTRACT_TOKEN(Message,13,' ') as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN(Strings,15,'|') as Loginip FROM C:\Users\aaa\Desktop\1.evtx where EventID=4624"LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM C:\Users\aaa\Desktop\1.evtx where EventID=4624"
后面的语句类似sql语句
日志ip显示有问题,也在Strings字段找就行了
2.查看端口和进程
查看netstat -ano | findstr EST
已建立TCP连接
找出可疑端口后,通过tasklist /svc | findstr "PID"
根据PID定位进程和服务
或者msinfo32----软件环境----正在运行任务,可以看到进程的详细信息
第三方工具可以看进程的签名信息
3.检查启动项、计划任务、服务
启动项:msconfig中查看,注册表中查看,组策略中有脚本启动和关机
计划任务:控制面板的任务计划中查看,schtasks.exe查看,
服务:services.msc中查看启动类型,自启动
可以放dll脚本还有powershell脚本
Linux
1.账号安全
1.用户信息 /etc/passwd |grep /bin/bash,主要看可以登录终端的用户,其他nologin不用看
2.影子文件 /etc/shadow 同样看有密码的用户
无密码只允许本机登录,不允许远程
who 、w 、uptime都可以查看信息
3.主要排查命令
查看特权用户(uid为0):awk -F: '$3==0{print $1}' /etc/passwd
查看可以远程用户:awk -F: '/\$1|\$6/ {print $1}' /etc/shadow
查看sudo权限:more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
删除账号:userdel -r user
将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
2.历史命令
.bash_history
文件查看帐号执行过的系统命令
2.root 用户的历史命令 history
3.检查端口
1.netstat -antlp | more
2.查看下 pid 所对应的进程文件路径
运行 ls -l /proc/$PID/exe
或 file /proc/$PID/exe
($PID 为对应的 pid 号)
4.检查进程
ps aux | grep pid
5.检查开机启动项
runlevel
:查看当前运行级别
启动项文件:
more /etc/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/
6.检查定时任务
查看以下文件:
/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/*
more /etc/cron.daily/* 查看目录下所有文件
crontab -l 查看任务计划
crontab -e 编辑任务计划
*/1 * * * * echo "hello world" >> /tmp/test.txt
将这句命令写入计划任务,1分钟执行一次
分 时 日 月 星期
*/1 * * * *
7.检查服务
查看服务:
1.RPM包安装的服务
chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond 查看当前服务2.源码包安装的服务
查看服务安装位置 ,一般是在/user/local/
service httpd start
搜索/etc/rc.d/init.d/ 查看是否存在
8.检查文件
1.检查/tmp目录下的文件,以“…”为名的文件夹具有隐藏属性
2.find /opt -iname "*" -atime 1 -type f
找出 /opt 下一天前访问过的文件
3.使用 stat 进行创建修改时间
9.查看日志
日志默认存放位置:/var/log/
主要是:登录相关日志
登录失败记录:/var/log/btmp //lastb 二进制文件,不能直接查看
最后一次登录:/var/log/lastlog //lastlog
登录成功记录: /var/log/wtmp //last
登录日志记录:/var/log/secure ubuntu下是/var/log/auth.log
目前登录用户信息:/var/run/utmp //w、who、users
历史命令记录:history
仅清理当前用户: history -c
web中间件日志
nginx:
access.log 访问日志
error.log 错误日志
192.168.23.1 - - [04/Aug/2025:08:34:35 +0000] "GET /bypass/demo8.php HTTP/1.1" 200 33 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
访问IP 时间 类型 请求页面 状态值 agent