入侵排查_2025/11/23
windows
系统账号安全
检查是否开启公网3389端口及弱口令
检查方法:咨询运维人员。
检查是否存在可疑账号、新增账号
检查方法:打开 cmd 窗口,输入 lusrmgr.msc 命令,查看是否有新增/可疑的账号,如有管理员群组的(Administrators)里的新增账户。
检查是否存在克隆账号、隐藏账号
检查方法:
- 由于隐藏账号无法在终端和用户组中看到,可以通过查看注册表regedit中管理员账号对应键值来排查。
- 使用D盾_web查杀工具,集成了对克隆账号检测的功能。
检查系统信息
检查补丁信息
检查方法:systeminfo。
检查可疑目录与文件
检查方法:
- 目录,查看是否有新建的用户目录。
- 文件,输入 %UserProfile%\Recent,分析最近打开分析可疑文件。
- 修改时间在创建时间之前的为可疑文件。
- 发现并得到 WebShell、远控木马的创建时间,如何找出同一时间范围内创建的文件?
利用 Registry Workshop 注册表编辑器的搜索功能,可以找到最后写入时间区间的文件。
利用计算机自带文件搜索功能,指定修改时间进行搜索。
启动项&计划任务&服务
检查服务器是否有异常的启动项
检查方法:
- 登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。
- 输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
- 输入 regedit,打开注册表,查看开机启动项是否正常。
- 检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。
- 利用安全软件查看启动项、开机时间管理等。
- 检查组策略,运行 gpedit.msc。
检查计划任务
检查方法:
- 单击【开始】>【设置】>【控制面板】>【任务检查方法:计划】,查看计划任务属性,便可以发现木马文件的路径。
- 单击【开始】>【运行】;输入 cmd,然后输入 at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。
检查服务自启动
检查方法:单击【开始】>【运行】,输入 services.msc,注意服务状态和启动类型,检查是否有异常服务。
异常进程&端口
检查端口连接情况
检查方法:
- 使用netstat -ano 命令查看目前的网络连接,定位可疑的 ESTABLISHED 连接。
- 根据 netstat 命令定位出的 PID 编号,再通过 tasklist 命令进行进程定位 tasklist | findstr "
ID"。
检查可疑进程
检查方法:
- 打开任务管理器,查看当前的运行程序,查看程序对应的文件位置。
- 输入 msinfo32 命令,依次点击 "软件环境 -- 正在运行任务" 就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期以及启动时间等。
- 打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
- 通过微软官方提供的 Process Explorer 等工具进行排查 。
工具查杀
病毒查杀
检查方法:下载安全软件,更新最新病毒库,进行全盘扫描。
webshell查杀
检查方法:选择具体站点路径进行webshell查杀;使用多款 WebShell 查杀工具同时查杀,互补规则库的不足。
日志分析
系统日志
检查方法:
- 开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等:
开始 → 管理工具 → 本地安全策略 → 本地策略 → 审核策略。
- 输入eventvwr.msc进入事件查看器:
windows有三类日志,应用程序日志、系统日志和安全日志;其中安全日志是最重要的。
- 导出应用程序日志、安全日志、系统日志,利用 Log Parser 进行分析。
Web访问日志
检查方法:
- 找到中间件的web日志,打包到本地方便进行分析。
- 导入到工具中分析 EmEditor。
linux
系统账号安全
检查passwd文件
检查方法:cat /etc/passwd、awk -F: '$3==0{print $1}' /etc/passwd
0:特权用户
1000:普通用户
检查shadow文件
检查方法:cat /etc/shadow,如果用户能登陆,就会在后面显示加密密码:
检查sudoer文件
检查方法:cat /etc/sudoers
禁用或删除账号
方法:- usermod -L user 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
- userdel user 删除 user 用户
- userdel -r user 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
复制代码 检查历史命令
检查方法:cat .bash_history
检查异常端口
检查方法:
- 使用 netstat 网络连接命令,分析可疑端口、IP、PID
netstat -antlp
- 查看下 PID 所对应的进程文件路径
ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)
检查异常进程
检查方法:
ps aux | grep $PID
检查开机启动项
检查方法:- 启动项文件:
- more /etc/rc.local
- /etc/rc.d/rc[0~6].d
- ls -l /etc/rc.d/rc3.d/
复制代码 检查计划任务
检查方法:- 重点关注以下目录中是否存在恶意脚本:
- /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/*
复制代码
检查服务
检查方法:
查询已安装的服务:
RPM 包安装的服务- chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务
- ps aux | grep crond 查看当前服务
- 系统在3与5级别下的启动项
- 中文环境
- chkconfig --list | grep "3:启用\|5:启用"
- 英文环境
- chkconfig --list | grep "3:on\|5:on"
复制代码 源码包安装的服务- 查看服务安装位置 ,一般是在/user/local/
- service httpd start
- 搜索/etc/rc.d/init.d/ 查看是否存在
复制代码 检查异常文件
检查方法:
- 查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
- 得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前访问过的文件
日志分析
系统日志
日志位置:
日志文件说明/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授权,甚至添加用户和修改用户密码都会记录在这个日志文件中检查方法:- #以 /var/log/secure 为例:
- 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}'
- 3、增加一个用户kali日志:
- Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
- Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
- , shell=/bin/bash
- Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
- #grep "useradd" /var/log/secure
- 4、删除用户kali日志:
- Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
- Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
- Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
- # grep "userdel" /var/log/secure
- 5、su切换用户:
- Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)
- sudo授权执行:
- sudo -l
- Jul 10 00:43:09 localhost sudo: good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now
复制代码 Web访问日志
日志位置:- # Apache 日志
- /var/log/apache2/access.log
- /var/log/apache2/error.log
- /var/log/httpd/access_log # CentOS
- /var/log/httpd/error_log # CentOS
- # Nginx 日志
- /var/log/nginx/access.log
- /var/log/nginx/error.log
- # 其他Web服务
- /var/log/tomcat/*
- /var/log/lighttpd/*
复制代码 检查方法:- # 查看实时访问日志
- tail -f /var/log/nginx/access.log
- # 查找可疑请求
- grep -E "(\.php|\.asp|\.jsp)" /var/log/nginx/access.log
- grep -i "shell" /var/log/apache2/access.log
- grep -E "(cmd|exec|system)" /var/log/nginx/access.log
- # 查找特定IP的访问
- grep "192.168.1.100" /var/log/nginx/access.log
- # 查找POST请求(可能包含攻击payload)
- grep "POST" /var/log/apache2/access.log
- # 查找404错误(探测行为)
- grep "404" /var/log/nginx/access.log | head -20
- # 统计IP访问量
- awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
- # 查找特定时间段的访问
- sed -n '/25\/Aug\/2024:17:00:/,/25\/Aug\/2024:18:00:/p' /var/log/nginx/access.log
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |