入侵排查_2025/11/23

news/2025/11/23 23:03:41/文章来源:https://www.cnblogs.com/Neur0toxin/p/19254991

入侵排查_2025/11/23

windows

系统账号安全

检查是否开启公网3389端口及弱口令

检查方法:咨询运维人员。

检查是否存在可疑账号、新增账号

检查方法:打开 cmd 窗口,输入 lusrmgr.msc 命令,查看是否有新增/可疑的账号,如有管理员群组的(Administrators)里的新增账户。

检查是否存在克隆账号、隐藏账号

检查方法:

  1. 由于隐藏账号无法在终端和用户组中看到,可以通过查看注册表regedit中管理员账号对应键值来排查。
  2. 使用D盾_web查杀工具,集成了对克隆账号检测的功能。

检查系统信息

检查补丁信息

检查方法:systeminfo

检查可疑目录与文件

检查方法:

  1. 目录,查看是否有新建的用户目录。
  2. 文件,输入 %UserProfile%\Recent,分析最近打开分析可疑文件。
  3. 修改时间在创建时间之前的为可疑文件。
  4. 发现并得到 WebShell、远控木马的创建时间,如何找出同一时间范围内创建的文件?

​ 利用 Registry Workshop 注册表编辑器的搜索功能,可以找到最后写入时间区间的文件。
​ 利用计算机自带文件搜索功能,指定修改时间进行搜索。

启动项&计划任务&服务

检查服务器是否有异常的启动项

检查方法:

  1. 登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。

  2. 输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。

  3. 输入 regedit,打开注册表,查看开机启动项是否正常。

  4. 检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。

  5. 利用安全软件查看启动项、开机时间管理等。

  6. 检查组策略,运行 gpedit.msc

检查计划任务

检查方法:

  1. 单击【开始】>【设置】>【控制面板】>【任务检查方法:计划】,查看计划任务属性,便可以发现木马文件的路径。

  2. 单击【开始】>【运行】;输入 cmd,然后输入 at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。

检查服务自启动

检查方法:单击【开始】>【运行】,输入 services.msc,注意服务状态和启动类型,检查是否有异常服务。

异常进程&端口

检查端口连接情况

检查方法:

  1. 使用netstat -ano 命令查看目前的网络连接,定位可疑的 ESTABLISHED 连接。
  2. 根据 netstat 命令定位出的 PID 编号,再通过 tasklist 命令进行进程定位 tasklist | findstr "PID"

检查可疑进程

检查方法:

  1. 打开任务管理器,查看当前的运行程序,查看程序对应的文件位置。
  2. 输入 msinfo32 命令,依次点击 "软件环境 -- 正在运行任务" 就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期以及启动时间等。
  3. 打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
  4. 通过微软官方提供的 Process Explorer 等工具进行排查 。

工具查杀

病毒查杀

检查方法:下载安全软件,更新最新病毒库,进行全盘扫描。

webshell查杀

检查方法:选择具体站点路径进行webshell查杀;使用多款 WebShell 查杀工具同时查杀,互补规则库的不足。

日志分析

系统日志

检查方法:

  1. 开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等:
    开始 → 管理工具 → 本地安全策略 → 本地策略 → 审核策略。
  2. 输入eventvwr.msc进入事件查看器:
    windows有三类日志,应用程序日志、系统日志和安全日志;其中安全日志是最重要的。
  3. 导出应用程序日志、安全日志、系统日志,利用 Log Parser 进行分析。

Web访问日志

检查方法:

  1. 找到中间件的web日志,打包到本地方便进行分析。
  2. 导入到工具中分析 EmEditor。

linux

系统账号安全

检查passwd文件

检查方法:cat /etc/passwdawk -F: '$3==0{print $1}' /etc/passwd

0:特权用户

1000:普通用户
image-20251123210300664

检查shadow文件

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

image-20251123210605667

检查sudoer文件

检查方法:cat /etc/sudoers

image-20251123210908389

禁用或删除账号

方法:

usermod -L user    禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
userdel user       删除 user 用户
userdel -r user    将删除 user 用户,并且将 /home 目录下的 user 目录一并删除

检查历史命令

检查方法:cat .bash_history

检查异常端口

检查方法:

  1. 使用 netstat 网络连接命令,分析可疑端口、IP、PID

    netstat -antlp

  2. 查看下 PID 所对应的进程文件路径

    ls -l /proc/$PID/exefile /proc/$PID/exe($PID 为对应的 pid 号)
    image-20251123213226456

检查异常进程

检查方法:

ps aux | grep $PID

image-20251123213516773

检查开机启动项

检查方法:

启动项文件:
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/*

image-20251123220512149

检查服务

检查方法:

查询已安装的服务:

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/  查看是否存在

检查异常文件

检查方法:

  1. 查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
  2. 得到发现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 -nr2、登录成功的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/secure5、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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/974327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF1851G-Vlad and the Mountains

CF1851G-Vlad and the Mountains 题目大意 一张无向图上有 \(n\) 个结点,每个节点有一个高度 \(h_i\) 。从结点 \(i\) 到 结点 \(j\) 的能量花费是 \(h_j-h_i\) 。如果途中能量降到零以下,则无法从 \(i\) 走到 \(j\)…

Java环境下HBase存储方案如何设计

在Java环境下设计Hbase存储方案,需要考虑以下几个方面: 1. 环境准备安装Hbase:首先需要在Java环境中安装Hbase,可以通过下载Hbase安装包或使用包管理工具(如Maven或Gradle)进行安装。 配置Hbase:根据实际需求配…

STM32Hal库学习11.23

STM32Hal库学习11.23 1.使用Printf重定义函数时,如果发现已经定义了fputc函数,但是仍没有输出,但是不报错,可能是没有定义__io_putchar。 // 实现__io_putchar函数,用于系统调用层的输出重定向 int __io_putchar(…

Winre.wim

winre Winre.wim 分卷压缩 Winre_2.7z.001 0cd627631df742bbc174c4594d7ce2b1Winre_2.7z.002 e086c1c40a7241b29fd90674561c19a5

4sapicom生成式 AI 驱动下的智能聊天机器人 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

KEYDIY PAK06-TB Phone As Key: Smart Keyless Car Key for European American Vehicles

Problem: The Limitations of Traditional Car Keys In the European and American markets, physical car keys have long been a source of frustration. Whether you’re a car owner juggling bulky remotes, fobs…

4.典型的分治算法

4.1选最大与最小 1.选择问题 概念问题 选最大问题:顺序比较伪码:同时选最大最小问题: 通常算法:先选出最大数,再从剩下的n-1个数里选最小数算法 分组算法:两两数分成一组,每组进行比较,在所有大的数+轮空数里选…

Serilog 日志库简单实践(三)集中式日志与分析平台 Sinks(.net8)

本文主要介绍了集中式日志与分析平台 Sinks,并通过示例项目简单演示了它们的用法,供参考。〇、前言 前文已经介绍过什么是 Serilog,以及其核心特点,详见:https://www.cnblogs.com/hnzhengfy/p/19167414/Serilog_b…

数论部分

目录质数 约数 欧拉函数 快速幂 扩展欧几里得算法 组合数 博弈论质数 分解质因数 一个数最小的因子一定是质数。for (int i = 2; i <= x / i; i ++ )if (x % i == 0){int s = 0;while (x % i == 0) x /= i, s ++ ;c…

Java的ConcurrentModificationException异常介绍和解决方案

关于ConcurrentModificationException 异常介绍 在一个线程遍历集合的时候(如ArrayList,HashMap),结构被修改(如remove, add),就会抛出这个异常。 是一个fail fast机制,为了在并发修改的时候发现问题,而不是返…

深入理解 Dart 中的 const 与 final:编译时常量与运行时常量

在 Dart 的开发中,我们频繁地使用 const 和 final 来声明变量。表面上看,它们都用于创建“不可变”的变量,但背后的机制却有着本质的区别。这种区别直接影响着程序的性能和内存分配。本文将深入探讨这两者的不同,并…

python: 缩放图片

一,代码 import base64 import cv2 import numpy as np from PIL import Image import io from PIL import Image, ImageFilter from io import BytesIOdata_url = "data:image/png;base64,iVBORw0KGgoAAAANSUhE…

java和python做出什么

Java 和 Python 是两种非常流行的编程语言,它们在不同的应用场景中发挥着重要作用。下面我将从 语言特性、应用场景 和 代码示例 三个方面来详细说明 Java 和 Python 的作用。一、Java 和 Python 的语言特性 1. Java类…

java和linux

Java 和 Linux 是两个不同的技术栈,但它们在系统开发、自动化脚本、服务器管理等领域有密切的联系。以下是关于 Java 和 Linux 的一些关键点和常见用法:一、Java 与 Linux 的关系Java 是一种编程语言,用于开发桌面应…

湖南工程学院 学科实践与创新协会电气部 幕后揭示

第一次为其他学校出的题目~献给挚爱的你的不思议之国幕后揭示 题面地址:https://www.cnblogs.com/Reisentyan/p/19261758 现在时间:\([2025/11/20\) \(23:47]\) 将揭示—— 幕后真相 本场比赛难度预计:Easy - A, …

KEYDIY PAK06-ZB Phone As Key: Replace Your Car Key with Your Smartphone for European/American Cars

The Pain of Traditional Keys: Why Your Garage and Pocket Deserve a Upgrade In the age of smartphones and smart homes, traditional car keys feel increasingly outdated. Whether you’ve mislaid your physi…

湖南工程学院 学科实践与创新协会电气部 新生选拔赛

湖南工程学院新生选拔赛 赛前提醒 在完成本题目时,除抄袭外允许采用任何方式。 最终人员录取将依据所提交代码的质量进行评定,请各位认真对待。 如发现任何抄袭行为,将立即取消参与资格。 题目要求 提交要求 …… 请…

It Calculus

Brownian Motion Wiener Process \(\newcommand{\E}{\mathbb{E}}\newcommand{\Var}{\text{Var}}\)我们熟悉作为离散随机过程的“随机游走”。这指的是:给定一列自然数下标的i.i.d.随机变量\(X_t\),其中\(X_t\)有\(1/…

20232412 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 本实践目标是掌握metasploit的用法。 下载官方靶机Metasploitable2,完成下面实验内容。 (1)前期渗透 (2)Vsftpd源码包后门漏洞(21端口) (3)SambaMS-RPC Shell命令注入漏洞(端口139) (4)Java R…

20232309 2025-2026-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 1.1实验任务前期渗透主机发现(可用Aux中的arp_sweep,search一下就可以use) 端口扫描:可以直接用nmap,也可以用Aux中的portscan/tcp等。 选做:也可以扫系统版本、漏洞等。Vsftpd源码包后门漏洞(21端口…