Linux系统入侵排查(一)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文探讨了在遭遇黑客入侵或系统异常时进行应急响应和排查的必要性,重点介绍了基于Kali Linux的入侵排查步骤。排查的目标是找出潜在的恶意活动,恢复系统的安全性,并防止未来攻击。总结来说,进行Linux系统入侵排查需要密切关注账号安全,跟踪历史命令,及时识别并消除安全隐患。同时,保持对最新攻击手段和技术的了解,以便更好地防御和应对潜在的网络安全威胁。

前言

版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                            

原文链接:https://blog.csdn.net/weixin_72543266/article/details/138596038

       对我处在学生时期的我来说,目前web渗透还是为主,但是还是需要对于蓝队相关的应急响应,等保测评等还是需要有一定的了解的,攻防兼备才能越站越勇嘛,linux入侵排查也能够让我更加熟悉liunx命令.

为什么要做系统入侵排查

       当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些Linux服务器入侵排查的思路。

入侵排查思路

作为渗透小子一名,当然是通过kali来进行练习和总结了

1.检查账号安全

基本使用:

cat和more指令说明

cat


cat命令是整个文件的内容从上到下显示在屏幕上。还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况.


more


 more命令会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

1、查看用户信息文件

cat /etc/passwd(信息少)

more /etc/passwd(信息多)

root:x:0:0:root:/root:/usr/bin/zsh
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
account:password:UID:GID:GECOS:directory:shell

image.gif

image.gif

需要注意的是:无密码只允许本机登陆,远程不允许登陆

方法:将后面有nologin的排除,因为有nologin的表示不能远程登录的,对剩下的账号进行排查看是否存在可疑账号或不应该存在的账号

2、影子文件

cat /etc/shadow

这是个存密码的文件,存储着上面查出的用户对应的密码

用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期的警告天 数:密码过期之后的宽限天数:账号失效时间:保留

kali:$y$j9T$k2TlXoYE./3ZfpPlC1rnz/$0GYCwPePph6GEy24/N8s7vVxlzwndL/DltBOhVQ1pLC:19799:0:99999:7:::

image.gif

没有密码的用户就看不到这么一大串字符了: $y$j9T$k2TlXoYE./3ZfpPlC1rnz/$0GYCwPePph6GEy24/N8s7vVxlzwndL/DltBOhVQ1pLC:19799:0:99999:7::: image.gif

两次密码的修改时间间隔:0表示没有修改过 密码有效期:99999表示永不过期 密码修改到期的警告天数:7表示7天内都会提醒你 注:linux的密码是双层加密的(加密和加盐),不容易破解

3.查看当前登录用户

who

image.gif

(tty本地登陆 ,pts远程登录,比如用xshell这种工具连接登录上去的),一般本地登录的都是没什么问题的,排查远程登录的这些账号。排查是否是通过暴力破解登录上来的、还是自己人登录的.

image.gif

w 查看系统信息,想知道某一时刻用户的行为

参考博客:CentOS下用于查看系统当前登录用户信息的4种方法_centos 查看用户信息-CSDN博客

uptime 查看登陆多久、多少用户,负载

参考博客:CentOS下Uptime命令详解 - 服务器之家

2.账号安全入侵排查方法总结

解释:有人入侵进来之后,肯定会把自己的级别提到管理员,方便进行更多的操作,通过指令可以查看有哪些用户为管理员,也就是特权用户.

1、查询特权用户特权用户(uid 为0)

root㉿kali)-[/home/kali]

└─# awk -F: '$3==0{print $1}' /etc/passwd

image.gif

2、查询可以远程登录的帐号信息

这里因为我没有进行远程登录页就不存在远程登录的信息,如果存在的话,就会出现上面查出的登录用户的加密的账号密码 ,例如出现如下所示  账号:密码  这种格式        

kali:$y$j9T$k2TlXoYE./3ZfpPlC1rnz/$0GYCwPePph6GEy24/N8s7vVxlzwndL/DltBOhVQ1pLC:19799:0:99999:7:::

(root㉿kali)-[/home/kali]

└─# awk '/\$1|\$6/{print $1}' /etc/shadow


image.gif

3、除root帐号外 o权限

more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"  # 其他的主机

─(root㉿kali)-[/home/kali]

└─# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL:ALL) ALL"

image.gif

命令的主要目的是检查sudoers文件中是否允许所有用户(ALL)在所有主机(ALL)上执行sudo命令。

4、禁用或删除多余及可疑的帐号

这里我先创建一个用户做一个案例:

sudo useradd -M hello   创建一个用户名为hello的用户

┌──(root㉿kali)-[/home/kali]

└─# sudo useradd -M hello

image.gif

usermod -L user  

禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头   user表示你查到的用

户名



image.gif

剩下的这两个语句,用来删除确定是威胁的用户

userdel user       删除user用户

userdel -r user   将删除user用户,并且将/home目录下的user目录一并删除,有些人入侵完成删除自己用户的时候,可能忘记了加-r,那么在/home目录下是有它用户名的文件夹的,也就是存有相关信息。

image.gif

2.查看历史命令确定目标

基本使用:

通过 .bash_history 查看帐号执行过的系统命令

1、root的历史命令

首先切换到用户(例如root)的用户目录,然后输入下面的命令

history N 显示最近的N条命令,例如history 5

history -d N 删除第N条命令,这个N就是前面的编号,例如history -d 990

history -c 清空命令历史 (包括缓存和文件)

history -a 将当前会话中的命令历史写入指定文件

history -w:把缓存中的历史命令写入历史命令保存文件~/.bash_history(显然每个用户有自己的文件)



2、查看普通帐号的历史命令

打开/home各帐号目录下的 .bash_history ,为历史的命令增加登录的IP地址、执行命令时间等信息:

1)保存1万条命令,默认只保存1000条

sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

image.gif

2)在 /etc/profile 的文件尾部添加如下行数配置信息:

######***************#########
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
######### ************** ##########

image.gif

vim /etc/profile

image.gif

然后按I键,进行输入,将上面的写入文件中,最后按:wq,进行写入

image.gif

3) source /etc/profile 让配置生效

再执行history指令,生成效果:

第一条记录 什么时候执行的   哪个ip地址过来执行的 用的哪个用户 执行的什么指令

1  2024-05-9 12:45:39 192.168.xxx.1 root source /etc/profile


3、历史操作命令的清除: history -c

       但此命令并不会清除保存在文件中的记录,因此需要手动删除 .bash_profile 文件中的记录。入侵者如果能力比较强的,也会把这个文件删除。

总结

       对系统进行入侵排查也是比较费时间和精力的一次行动,本篇目前只记录这么多,后续会继续记录和总结.

相关文章
|
15天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
57 3
|
15天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
47 2
|
9天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
15 3
|
15天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
52 3
|
18天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
36 6
|
7月前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
1866 0
|
7月前
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
239 0
|
2月前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
3月前
|
Ubuntu Linux 网络安全
从头安装Arch Linux系统
本文记录了作者安装Arch Linux系统的过程,包括安装成果展示和遇到的疑难点及其解决方法,如硬盘不足、下载失败、设置时区、安装微码和配置无密码登录等。
从头安装Arch Linux系统
|
5月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD