当前位置: 首页 > article >正文

入侵排查之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}’ file1
			BEGIN是处理数据前执行的命令,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.kler.cn/a/395454.html

相关文章:

  • YOLO系列基础(七)从数据增强到图像线性变换
  • Unity教程(十八)战斗系统 攻击逻辑
  • 【LeetCode】每日一题 2024_11_14 统计好节点的数目(图/树的 DFS)
  • MySQL【三】
  • 百度搜索AI探索版多线程批量生成TXT原创文章软件-可生成3种类型文章
  • 图论-代码随想录刷题记录[JAVA]
  • 自监督对比学习奠基之作CPC
  • mysql字符串、数学、日期和时间、类型转换、逻辑函数函数的说明用法
  • 安全见闻8
  • MATLAB蒙特卡洛仿真计算投资组合的VaR(Value at Risk )
  • LeetCode Hot 100 题解[java版本,冲大厂]
  • 使用Markmap从链接生成脑图并下载为交互式HTML文件
  • 大数据技术之Hadoop :我是恁爹
  • JVM详解:类的加载过程
  • LeetCode 491-非递减子序列
  • inpainting 语言驱动
  • 免费申请 Let‘s Encrypt SSL 证书
  • MongoDB分布式集群搭建----副本集----PSS/PSA
  • 28-一些常见的内存问题
  • 【SQL】E-R模型(实体-联系模型)
  • 【eNSP】路由基础与路由来源——静态路由实验
  • 数据分析24.11.13
  • 内网安全、域渗透测试工具-NetExec介绍及使用(优秀)
  • 视频编码基础入门
  • 香港科技大学广州|数据科学与分析学域硕博招生【线上】宣讲会
  • 记录一下跨域的问题,讲讲跨域