找回密码
 立即注册
首页 业界区 业界 入侵排查_2025/11/23

入侵排查_2025/11/23

靛尊 2025-11-24 00:25:06
入侵排查_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:普通用户
1.png

检查shadow文件

检查方法:cat /etc/shadow,如果用户能登陆,就会在后面显示加密密码:
2.png

检查sudoer文件

检查方法:cat /etc/sudoers
3.png

禁用或删除账号

方法:
  1. usermod -L user    禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
  2. userdel user       删除 user 用户
  3. 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 号)
    4.png

检查异常进程

检查方法:
ps aux | grep $PID
5.png

检查开机启动项

检查方法:
  1. 启动项文件:
  2. more /etc/rc.local
  3. /etc/rc.d/rc[0~6].d
  4. ls -l /etc/rc.d/rc3.d/
复制代码
检查计划任务

检查方法:
  1. 重点关注以下目录中是否存在恶意脚本:
  2. /var/spool/cron/*
  3. /etc/crontab
  4. /etc/cron.d/*
  5. /etc/cron.daily/*
  6. /etc/cron.hourly/*
  7. /etc/cron.monthly/*
  8. /etc/cron.weekly/
  9. /etc/anacrontab
  10. /var/spool/anacron/*
复制代码
6.png

检查服务

检查方法:
查询已安装的服务:
RPM 包安装的服务
  1. chkconfig  --list  查看服务自启动状态,可以看到所有的RPM包安装的服务
  2. ps aux | grep crond 查看当前服务
  3. 系统在3与5级别下的启动项
  4. 中文环境
  5. chkconfig --list | grep "3:启用\|5:启用"
  6. 英文环境
  7. chkconfig --list | grep "3:on\|5:on"
复制代码
源码包安装的服务
  1. 查看服务安装位置 ,一般是在/user/local/
  2. service httpd start
  3. 搜索/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授权,甚至添加用户和修改用户密码都会记录在这个日志文件中检查方法:
  1. #以 /var/log/secure 为例:
  2. 1、定位有多少IP在爆破主机的root帐号:   
  3. grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
  4. 定位有哪些IP在爆破:
  5. 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
  6. 爆破用户名字典是什么?
  7. grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
  8. 2、登录成功的IP有哪些:        
  9. grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
  10. 登录成功的日期、用户名、IP:
  11. grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
  12. 3、增加一个用户kali日志:
  13. Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
  14. Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
  15. , shell=/bin/bash
  16. Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
  17. #grep "useradd" /var/log/secure
  18. 4、删除用户kali日志:
  19. Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
  20. Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
  21. Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
  22. # grep "userdel" /var/log/secure
  23. 5、su切换用户:
  24. Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)
  25. sudo授权执行:
  26. sudo -l
  27. Jul 10 00:43:09 localhost sudo:    good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now
复制代码
Web访问日志

日志位置:
  1. # Apache 日志
  2. /var/log/apache2/access.log
  3. /var/log/apache2/error.log
  4. /var/log/httpd/access_log   # CentOS
  5. /var/log/httpd/error_log    # CentOS
  6. # Nginx 日志
  7. /var/log/nginx/access.log
  8. /var/log/nginx/error.log
  9. # 其他Web服务
  10. /var/log/tomcat/*
  11. /var/log/lighttpd/*
复制代码
检查方法:
  1. # 查看实时访问日志
  2. tail -f /var/log/nginx/access.log
  3. # 查找可疑请求
  4. grep -E "(\.php|\.asp|\.jsp)" /var/log/nginx/access.log
  5. grep -i "shell" /var/log/apache2/access.log
  6. grep -E "(cmd|exec|system)" /var/log/nginx/access.log
  7. # 查找特定IP的访问
  8. grep "192.168.1.100" /var/log/nginx/access.log
  9. # 查找POST请求(可能包含攻击payload)
  10. grep "POST" /var/log/apache2/access.log
  11. # 查找404错误(探测行为)
  12. grep "404" /var/log/nginx/access.log | head -20
  13. # 统计IP访问量
  14. awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
  15. # 查找特定时间段的访问
  16. sed -n '/25\/Aug\/2024:17:00:/,/25\/Aug\/2024:18:00:/p' /var/log/nginx/access.log
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册