入侵排查之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.rhkb.cn/news/471813.html

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

相关文章

云计算研究实训室建设方案

一、引言 随着云计算技术的迅速发展和广泛应用,职业院校面临着培养云计算领域专业人才的迫切需求。本方案旨在构建一个先进的云计算研究实训室,为学生提供一个集理论学习、实践操作、技术研发与创新于一体的综合性学习平台,以促进云计算技术…

通过Python 调整Excel行高、列宽

在Excel中,默认的行高和列宽可能不足以完全显示某些单元格中的内容,特别是当内容较长时。通过调整行高和列宽,可以确保所有数据都能完整显示,避免内容被截断。合理的行高和列宽可以使表格看起来更加整洁和专业,尤其是在…

【代码审计】常见漏洞专项审计-业务逻辑漏洞审计

❤️博客主页: iknow181 🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 0x01 漏洞介绍 1、 原理 业务逻辑漏洞是一类特殊的安全漏洞,业务逻辑漏洞属于设计漏洞而非实…

Wordpress常用配置,包括看板娘跨域等

一个Wordpress的博客已经搭建完成了,那么为了让它看起来更有人间烟火气一点,有一些常用的初始配置,这里整理一下。 修改页脚 页脚这里默认会显示Powered by Wordpress,还有一个原因是这里要加上备案信息。在主题里找到页脚&…

数据库范式、MySQL 架构、算法与树的深入解析

一、数据库范式 在数据库设计中,范式是一系列规则,用于确保数据的组织和存储具有良好的结构、完整性以及最小化的数据冗余。如果不遵循范式设计,数据可能会以平铺式罗列,仅使用冒号、分号等简单分隔。这种方式存在诸多弊端&#…

Taro React-Native IOS 打包发布

http网络请求不到 配置 fix react-native facebook::flipper::SocketCertificateProvider‘ (aka ‘int‘) is not a function or func_rn运行debug提示flipper-CSDN博客 Xcode 15(iOS17)编译适配报错_no template named function in namespace std-CS…

基于yolov8、yolov5的车型检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要:车型识别在交通管理、智能监控和车辆管理中起着至关重要的作用,不仅能帮助相关部门快速识别车辆类型,还为自动化交通监控提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的车型识别模型,该模型使用了…

从python源码到可自动更新软件

相关阅读 标题链接如何打包python程序为exebczl【auto-py-to-exe 可视化打包python到exe】51CTO ZATA 1. python源码 打包时需要特别注意的源码编写规范 除了基本的 Python 编码规范之外,在准备程序进行打包时,还需要特别注意以下几点: 1.1 依赖管理 确保 requirements.t…

javaWeb小白项目--学生宿舍管理系统

目录 一、检查并关闭占用端口的进程 二、修改 Tomcat 的端口配置 三、重新启动 Tomcat 一、javaw.exe的作用 二、结束javaw.exe任务的影响 三、如何判断是否可以结束 结尾: 这个错误提示表明在本地启动 Tomcat v9.0 服务器时遇到了问题,原因是所需…

k8s笔记——核心概念

什么是K8s Kubernetes 也称为 K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。 Kubernetes 最初是由 Google 工程师作为 Borg 项目开发和设计的,后于 2015 年捐赠给 云原生计算基金会(CNCF)。 什么是 Kubernetes 集群…

SkyWalking-安装

SkyWalking-简单介绍 是一个开源的分布式追踪系统,用于检测、诊断和优化分布式系统的功能。 支持 ElasticSearch、H2、MySQL、PostgreSql 等数据库 基于 ElasticSearch 的情况 ElasticSearch(ES) 安装 1、下载并解压 https://www.elastic…

怎么样绑定域名到AWS(亚马逊云)服务器

1,拿着你买的域名去亚马逊申请一个证书。申请证书分两种,一种是去亚马逊后台填域名手动申请 ,另一种是通过API来申请,类似如下代码: 2、证验证书。有两种方式:一种是通过邮件,另一种去到域名提供…

C++常用的新特性-->day06

时间间隔duration duration表示一段时间间隔&#xff0c;用来记录时间长度&#xff0c;可以表示几秒、几分钟、几个小时的时间间隔。duration的原型如下 // 定义于头文件 <chrono> template<class Rep,class Period std::ratio<1> > class duration;Rep&…

云服务器端口开放

云服务器一般除了必要端口&#xff0c;其它端口默认都是关闭的&#xff0c;要想进行网络通信就必须开放指定的端口。下面以腾讯云服务器为例来进行详细说明。 腾讯云的轻量服务器是没有安全组的&#xff0c;这里有的只是防火墙&#xff0c;开放端口也是通过防火墙来设置的。首先…

[Linux网络编程]10-http协议,分别使用epoll和libevent两种方式实现B/S服务器

一.HTTP协议&#xff0c;Request请求和Response响应 二.常用状态码 接下来使用两种方式构建B/S模型,实现浏览器向客户端请求文件的功能。 浏览器向构建好的服务器发送请求&#xff0c;在请求行中请求具体文件&#xff0c;服务器连通客户端(浏览器)后&#xff0c;检查文件是否存…

C#从入门到放弃

C#和.NET的区别 C# C#是一个编程语言 .NET .NET是一个在window下创建程序的框架 .NET框架不仅局限于C#,它还可以支持很多语言 .NET包括了2个组件&#xff0c;一个叫CLR(通用语言运行时)&#xff0c;另一个是用来构建程序的类库 CLR 用C写一个程序&#xff0c;在一台8688的机器…

Suricata

02-Suricata 一 ICMP流量预警 一条ICMP报文有四个重要内容&#xff0c;可与相应的ICMP关键字相匹配。它们是&#xff1a;消息的类型、代码、ID和序列。 通过ICMP的type进行匹配 alert icmp any any <> any any (msg:"icmp流量预警";itype:8;threshold:type t…

在 WPF 中,如何实现数据的双向绑定?

在 WPF 中&#xff0c;数据绑定是一个非常重要的特性&#xff0c;它允许 UI 与数据源之间自动同步。双向绑定是一种常见的绑定方式&#xff0c;当数据源更新时&#xff0c;UI 会自动更新&#xff1b;同样&#xff0c;当 UI 中的元素&#xff08;如文本框&#xff09;发生改变时…

2、 家庭网络发展现状

上一篇我们讲了了解家庭网络历史(https://blog.csdn.net/xld_hung/article/details/143639618?spm1001.2014.3001.5502),感兴趣的同学可以看对应的文章&#xff0c;本章我们主要讲家庭网络发展现状。 关于家庭网络发展现状&#xff0c;我们会从国内大户型和小户型的网络说起&…

Linux——Linux环境基础开发工具使用

一、软件包管理器yum 在Linux上想要安装一个软件需要下载程序的源代码并且进行编译得到一个可执行的程序。这样会引发很多的问题&#xff0c;第一是这样做很麻烦&#xff1b;第二是我们不知道软件的开发者在开发这款软件的时候用的是一个什么样的环境&#xff0c;我们用不一样的…