入侵排查之Linux

目录

1.黑客入侵后的利用思路

2.入侵排查思路

2.1.账号安全

2.1.1.用户信息文件/etc/passwd

2.1.2.影子文件/etc/shadow

2.1.3.入侵排查

2.1.3.1.排查当前系统登录信息

2.1.4.2.查询可以远程登录的账号信息

2.2.历史命令

2.2.1.基本使用

2.2.1.1.root历史命令

2.2.1.2.打开/home各账号目录下的.bash_history,查看普通账号的历史命令

2.2.1.3.历史操作命令清除

2.2.2.入侵排查

2.3.检查异常端口

2.4.检查异常进程

2.5.检查开机启动项

2.5.1.基本使用

2.5.1.1.系统运行级别示意图

2.5.1.3.开机启动配置文件

2.5.1.4.脚本开机自启案例

2.5.2.入侵排查

2.6.检查定时任务

2.6.1.使用crontab创建计划任务

2.6.1.1.基本命令

2.6.1.2.利用anacron实现异步定时任务调度

2.6.2.入侵排查

2.7.检查服务

2.7.1.服务自启动

2.7.1.1.第一种修改方法

2.7.1.2.第二种修改方法

2.7.2.入侵排查

2.8.检查异常文件

2.9.1.linux系统日志默认存放路径

2.9.2.常见服务的日志文件路径

2.9.3.日志分析技巧

2.9.3.1.定位有多少IP在爆破主机的root账号

2.9.3.2.登录成功的IP有哪些

2.9.3.3.增加一个用户kali日志

3.1.Rootkit查杀

3.1.1.chkrootkit

3.1.1.1.下载

3.1.1.2.使用方法

3.1.2.rkhunter

3.1.2.1.下载

3.1.2.2.使用方法

3.2.病毒查杀clamav

3.2.1.下载地址

3.2.2.安装

3.2.2.1.安装方式1

3.2.2.2.安装方式2

3.3.webshell查杀

3.4.linux安装检查脚本


1.黑客入侵后的利用思路

黑客入侵后的利用思路可以包括以下几个方面:

  1. 篡改网页:查找对应网站首页文件路径、查看文件时间、内容。
  2. 创建超级用户:查看password、shadow文件时间、内容;查看登录成功时间和不成功事件查看机器当前登录的全部用户;查看机器创建以来登陆过的用户;查看机器所有用户的连接时间(小时);查看历史命令;查看ssh远程连接情况:黑客删除登录日志文件(rm -rf /var/log/secure)、防守者恢复被黑客删除的文件(lsof grep /var/log/secure)
  3. 挖矿:查询异常进程所对应的执行脚本文件 ,top命令查看异常进程对应的PID
  4. 内网渗透:攻击者利用防守:反弹shell、植入cs/ms木马;防守思路:查看异常流量;使用tcpdump抓取网络包查看流量情况

2.入侵排查思路

2.1.账号安全

2.1.1.用户信息文件/etc/passwd

检查是否存在异常用户或未知用户。

关注用户权限设置,特别是特权用户(如root)。

root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组id:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登录,不允许远程登录

2.1.2.影子文件/etc/shadow

影子文件存储了用户的加密密码信息。

检查密码字段是否被篡改或存在异常。

注意:直接查看/etc/shadow文件需要root权限,且出于安全考虑,通常不会直接显示密码哈希值。

root:$6$oGLFhf899ckdeMC2p3ZetrE$X485ouEWFSEmSgsWEH78423UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到警告天数:密码过期之后的宽限天数:账号失效时间:保留

2.1.3.入侵排查

2.1.3.1.排查当前系统登录信息

使用whow命令查看当前登录用户。

awk文本处理工具,用于模式扫描和处理语言

who   		#查看当前登录用户(tty表示本地登录,pts远程登录)
w     		#查看系统信息,想知道某一时刻用户的行为
uptime  	#查看登录多久、多少用户、负载
awk -F: '$3==0{print $1}' /etc/passwd
-F来指定分隔符,默认的字段分隔符是任意空白字符(空格或者TAB)
awk的数据字段变量:$0表示整行文本$1表示文本中第一个数据字段$2表示文本中第二个数据字段$n表示文本中第n个数据字段awk的用-F来指定分隔符
awk命令的完整语法:awk ‘BEGIN{commands}pattern{commands}END{commands}’ file1BEGIN是处理数据前执行的命令,END是处理数据后执行的命令,commands指的是awk里			面的子命令,并不是shell中的mkdir、ls等命令
2.1.4.2.查询可以远程登录的账号信息

检查/etc/ssh/sshd_config文件中的AllowUsersDenyUsers设置

grep -E '^AllowUsers|^DenyUsers' /etc/ssh/sshd_config
 awk '/\$1|\$6/{print $1}' /etc/shadow

除root账号外,其他账号是否存在sudo权限,如非管理需要,普通账号应删除sudo权限。

 more /etc/sudoers |grep -v "^#|^$" |grep "ALL=(ALL)"
usermod -L user   #禁用账号,账号无法登录,/etc/shadow第二栏为!开头
userdel user      #删除user用户
userdel -r user   #将删除user用户,并且将/home目录下的user目录一并删除

2.2.历史命令

2.2.1.基本使用

2.2.1.1.root历史命令
history 

使用history命令查看root用户的历史命令。

2.2.1.2.打开/home各账号目录下的.bash_history,查看普通账号的历史命令

为历史的命令增加登录的IP地址、执行命令时间等信息。将username替换为具体用户的用户名。

cat /home/username/.bash_history
2.2.1.3.历史操作命令清除

清除当前shell会话的历史记录,要清除所有用户的历史记录,可以删除每个用户主目录下的.bash_history文件。

history -c  #此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录

2.2.2.入侵排查

检查历史命令中是否存在异常操作,如未知命令、系统修改命令等

进入用户目录下:

cat .bash_history >> history.txt

2.3.检查异常端口

使用netstatss命令检查当前系统开放的端口,分析可疑端口、ip、PID

netstat -antlp|more
# 或
ss -tuln

关注非标准端口和未知服务的端口

2.4.检查异常进程

使用ps命令查看当前系统中的进程。

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

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

相关文章

【OceanBase 诊断调优】—— 止血良方「SQL 限流」

1. 知识点 1. 对于Oceanbase,限流的意思是限制其在单台主机上处理的并发度,因此假设对某SQL限流的并发度为1,该集群有N台机器可以执行该SQL,则实际并发度是N。 2. OceanBase 是通过在 SQL 上绑定 Outline 的方式来实现的&#x…

excel使用

上中下旬的逾期金额 步骤: 1、先判断上中下旬的时间范围 2、根据城市和时间求和,算出对应的逾期金额 问题:当从左插入列时,列的格式与原本一致,当我们想看数值时,发现为日期 解决:在开始-数据格…

MySQL远程连接错误解决:Host is not allowed to connect to this MySQL server

1. 异常错误 通过远程客户端访问MySQL服务器时会遇到“Host is not allowed to connect to this MySQL server”的错误提示。 2. 原因 MySQL服务器当前配置不允许来自特定主机的连接尝试。 3. 解决方法 允许远程主机访问MySQL服务器,按照以下步骤操作&#xff…

MySQL算数运算符基础:详解与入门

目录 背景: 过程: 1.加法与减法运算符 1.2扩展: 1.3运算结果得出结论 : 2.乘法和除法运算 ​2.1练习: 2.2运算结果得出结论 : 3.求模取余运算符 3.1练习: 总结: 背景&a…

7天用Go从零实现分布式缓存GeeCache(学习)

参考资料 前置知识 在 Go 的 HTTP 服务器开发中,ServeHTTP 方法的参数 w http.ResponseWriter 和 r *http.Request 用于处理 HTTP 请求和构建响应。以下是它们的详细解释: 1. w http.ResponseWriter w 是一个 http.ResponseWriter 类型,用…

[HarmonyOS]简单说一下鸿蒙架构

鸿蒙操作系统(HarmonyOS)是由华为公司开发的一款面向全场景的操作分布式系统。它旨在提供一个统一的操作系统平台,支持多种设备,包括智能手机、平板电脑、智能电视、可穿戴设备、智能家居等。鸿蒙架构的设计目标是实现设备之间的无…

centos7.9安装mysql5.7完整版

centos7.9安装mysql5.7完整版 1. 更新yum源 [rootlocalhost ~]# cd /etc/yum.repos.d/ [rootlocalhost yum.repos.d]# ls -lh #备份镜像源 [rootlocalhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup #下载阿里云centos7镜像 [rootlocalhost yum.repos.d]# …

2024年AI办公工具API:高效办公的智能选择

在2024年,AI技术已经深入到我们工作生活的方方面面,极大地提高了办公效率和质量。这些工具通过集成先进的算法和模型,使得日常任务自动化、数据分析智能化、内容创作高效化。以下是2024年最受欢迎的AI办公工具API,它们正在重新定义…

[UnLua]动态创建SceneCapture2d相机,并且添加渲染目标纹理

在 Unlua 开发中,相机相关的操作是构建场景视觉效果的重要部分。以下我们来详细分析一段涉及相机实例化和为相机赋予纹理目标的 Unlua 代码。 -- 实例化相机local World self:GetWorld()maskCamera World:SpawnActor(UE.ASceneCapture2D)-- 给相机赋值纹理目标lo…

力扣 LeetCode 142. 环形链表II(Day2:链表)

解题思路&#xff1a; 使用set判断是否重复添加&#xff0c;如果set加入不进去证明之前到达过该节点&#xff0c;有环 public class Solution {public ListNode detectCycle(ListNode head) {Set<ListNode> set new HashSet<>();ListNode cur head;while (cur …

基于Spring Boot的电子商务系统设计

5 系统实现 系统实现部分就是将系统分析&#xff0c;系统设计部分的内容通过编码进行功能实现&#xff0c;以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析&#xff0c;系统设计最主要还是进行功能&#xff0c;系统操作逻辑的设计&#xff0c;也包括…

数据驱动的投资分析:民锋科技的量化模型探索

在全球金融市场中&#xff0c;数据驱动的投资分析正在变革传统投资方式。民锋科技通过精密的量化模型和智能算法&#xff0c;为投资者提供更加科学的市场预测和投资分析工具&#xff0c;以帮助他们更好地理解市场波动、优化投资组合&#xff0c;实现风险管理。 #### 一、数据驱…

论文阅读《BEVFormer v2》

BEVFormer v2: Adapting Modern Image Backbones to Bird’s-Eye-View Recognition via Perspective Supervision 目录 摘要1 介绍2 相关工作2.1 BEV三维目标检测器 摘要 我们提出了一种具有透视监督的新型鸟瞰图&#xff08;BEV&#xff09;检测器&#xff0c;其收敛速度更快…

使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏

作者&#xff1a;BLACK595 “小恐龙酷跑”&#xff0c;它是一款有趣的离线游戏&#xff0c;是Google给Chrome浏览器加的一个有趣的彩蛋。当我们浏览器断网时一只像素小恐龙便会出来提示断网。许多人认为这只是一个可爱的小图标&#xff0c; 但当我们按下空格后&#xff0c;小恐…

Attention is all you need详细解读

transformer目的是解决NLP中使用RNN不能并行计算问题。 Encoder-Decoder, Attention, Transformer 三者关系 1.基础储备 &#xff08;1&#xff09;CV基础知识 1.首先拿CV中的分类任务来说&#xff0c;训练前我们会有以下几个常见步骤&#xff1a; 2.获取图片 3.定义待分类的类…

面向对象的需求分析和设计(一)

[toc] 1. 引言 前一篇文章《我对需求分析的理解》提到了面向对象分析和设计&#xff0c;正好最近又重新有重点的读了谭云杰著的《Think in UML》&#xff0c;感觉有必要写把书中一些核心内容观点以及自己的想法整理出来&#xff0c;一是方便自己日后的复习&#xff0c;另外也…

Window下PHP安装最新sg11(php5.3-php8.3)

链接: https://pan.baidu.com/s/10yyqTJdwH_oQJnQtWcwIeA 提取码: qz8y 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 (链接失效联系L88467872) 1.下载后解压文件&#xff0c;将对应版本的ixed.xx.win文件放进php对应的ext目录下&#xff0c;如图所示 2.修改ph…

基于Spring Boot与Redis的令牌主动失效机制实现

目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中&#xff0c;用…

sql专题 之 sql的执行顺序

文章目录 sql的执行顺序sql语句的格式实际的执行顺序&#xff1a;虚拟表 vs 数据集虚拟表 结果集总结嵌套查询在sql查询中的执行顺序 前文我们了解了sql常用的语句&#xff0c;这次我们对于这些语句来个小思索 戳这里→ sql专题 之 常用命令 sql的执行顺序 SQL语句的执行顺序是…

Linux学习笔记之组管理和权限管理

组管理 文件/目录 所有者 一般文件所有者是文件的创建者&#xff0c;谁创建了该文件&#xff0c;就自然成为该文件的所有者 ls -ahl &#xff08;查看文件的所有者&#xff09; chown 用户名 文件名 &#xff08;修改文件所有者&#xff09; 文件/目录 所在组 当某个用户…