提权
Linux提权
Linux提权linux提权信息收集
linux提权信息收集操作系统及内核的发行版本、详细信息
linux内核提权
uname -a查看内核版本,针对内核版本去找已知漏洞。发现SUID权限上的配置错误
find / -perm /4000其中 4000代表SUID权限文件sudo -i配置上的漏洞sudo -l查看权限配分如果都无效需要寻找新的出路,在目标系统上进行大量的信息搜集
如果可以免密或者其他方式使用sudo权限的系统指令,则尝试使用GTFOBins提权
lsb_release -a显示发行版本信息sudo --version查看sudo版本crontab -i查看计划任务如果普通账户有mysql的
(root)NOPASSWD权限,进入mysql,输入\! bash即可提权
系统信息
主机名
网络信息:网卡信息、IP信息、DNS信息
默认路由信息
用户信息
当前用户详细信息
登录到该主机的用户信息
所有用户的信息(包括UID/GID信息)
特殊权限信息
/etc/sudoers文件是否可读当前用户是否拥有sudo权限
是否存在使用sudo可以调用的二进制程序
所有用户的home目录是否可以访问
环境信息
当前的
$PATH信息环境变量
env信息
进程/任务信息
进程列表信息
计划任务信息
/etc/crontab任务日志cronlog系统计时器信息
服务信息
当前网络连接信息(TCP & UDP)
当前开启的服务器信息(init.d)
常用第三方程序信息(包括但不限于)
sudo
Mysql
Postgres
Apache
Docker
文件/程序信息
所有的SUID/GUID程序信息
所有的具有POSIX capabilities程序信息
所有的可写文件信息
在可读文件中搜索关键字password信息
LinPEAS自动化提权信息挖掘
LinPEAS自动化提权信息挖掘linpeas.sh
基本信息
此脚本的目标是搜索可能的权限提升路径(在 Debian、CentOS、FreeBSD、OpenBSD 和 MacOS 中测试)。
这个脚本没有任何依赖。
它使用**/bin/sh**语法,因此可以在任何支持sh(以及使用的二进制文件和参数)中运行。
默认情况下,linpeas 不会向磁盘写入任何内容,也不会尝试以任何其他用户身份使用su.
默认情况下 linpeas 大约需要4 分钟才能完成,但使用**-a参数执行所有检查可能需要5 到 10 分钟***(CTF 的推荐选项)*:
从不到 1 分钟到 2 分钟完成几乎所有检查
在系统的所有可访问文件中搜索可能的密码几乎需要 1 分钟
20s/user bruteforce with top2000 密码*(需要*
-*a)-* 请注意,此检查非常嘈杂1 分钟监控进程以查找非常频繁的 cron 作业*(需要
-a)* - 请注意,此检查需要在将被删除的文件中写入一些信息
有趣的参数:
-a(除正则表达式外的所有检查)- 这还将在 1 分钟内执行进程检查,将在文件中搜索更多可能的哈希值,并暴力破解每个用户使用
sutop2000 密码。
-e (额外的枚举) - 这将执行默认避免的枚举检查
-r(正则表达式检查)——这将在 silesystem 中搜索数百个不同平台的 API 密钥
-s(超快和隐身) - 这将绕过一些耗时的检查 -隐身模式(不会将任何内容写入磁盘)
-P(密码) - 传递一个密码,该密码将与其他用户一起使用
sudo -l并暴力破解其他用户
-D(调试)- 打印有关未发现任何内容的检查以及每次检查所用时间的信息
-d/-p/-i/-t(本地网络枚举)-Linpeas 还可以发现和端口扫描本地网络
该脚本中包含多个列表,以便能够为结果着色以突出显示 PE 矢量。
快速开始
在发布页面中找到所有脚本和二进制文件的最新版本。
固件分析
如果你有一个固件并且你想用 linpeas 分析它以搜索密码或错误的配置权限,你有 2 个主要选项。
如果您可以模拟固件,只需在其中运行 linpeas:
如果您无法模拟固件,请使用
f </path/to/folder参数:
AV Bypass(旁路)
主机发现和端口扫描
使用LinPEAS,您还可以使用 and/or 自动发现主机fping,并使用.pingncnc
LinPEAS 将自动在其中搜索此二进制文件,$PATH并让您知道它们是否可用。在这种情况下,您可以使用 LinPEAS 来托管 dicovery and/or 端口扫描。
输出结果颜色使用
LinPEAS 使用颜色来指示每个部分的开始位置。但它也使用它们来识别潜在的错误配置。
红色**/黄色**用于识别导致 PE 的配置(99% 肯定)
红色用于识别可能导致 PE 的可疑配置:
可能的可利用内核版本
易受攻击的 sudo 版本
识别以 root 身份运行的进程
未安装的设备
危险的 fstab 权限
有趣目录中的可写文件
具有某些易受攻击版本的 SUID/SGID 二进制文件(它还指定易受攻击的版本)
可用于在 sudo -l(无密码)中提升权限的 SUDO 二进制文件(https://gtfobins.github.io/
)
检查 /etc/doas.conf
网络统计中的 127.0.0.1
可能包含密码的已知文件
有趣的二进制文件中的功能
二进制文件的有趣功能
有关 cron 作业的信息中的可写文件夹和通配符
PATH 中的可写文件夹
可能导致root的组
可能包含密码的文件
可疑的 cronjobs
绿色用于:
由 root 运行的常用进程
安装常见的不感兴趣的设备
不危险的 fstab 权限
SUID/SGID 通用二进制文件(该 bin 已在其他机器中找到,并且 searchsploit 未识别任何易受攻击的版本)
路径中的常见 .sh 文件
执行进程的用户的通用名称
常见的 cronjobs
蓝色用于:
没有外壳的用户
安装设备
浅青色用于:
有壳的用户
浅洋红色用于:
当前用户名
脚本解析器
这些脚本允许您将 linpeas/macpeas/winpeas 的输出转换为 JSON,然后转换为 PDF 和 HTML。
JSON 格式
基本上,每个部分都有:
信息(有关该部分的 URL 或信息)
文本行(该部分中的真实文本信息,包括颜色)
更多部分
最多有3 个级别的部分。
Capabilities提权
Capabilities提权Capabilities是linux内核的一个功能 Linux2.2引入进来,功能为权限管理
capabilities(7) - Linux manual page
利用Capability实现权限提升
查找设置了capabilities可执行文件
5.10 openssl
service命令提权
service命令提权https://gtfobins.github.io/gtfobins/service/
ShellShock提权
ShellShock提权漏洞信息
漏洞利用
前提条件:必须同时存在任意文件访问漏洞
回到目标靶机查看sudo权限
在kali中开启监听本地端口接收反弹回来的shell
打开另一个终端制造访问请求,利用shellshock漏洞,同时建立读写交互文件
以上两步运行过后,在第一个终端将会显示目标机的交互shell:
脏牛提权
脏牛提权💡 CVE-2016-5195脏牛利用代码
漏洞范围:Linux内核 >= 2.6.38(or 22?)(2007年发行,到2016年10月18日才修复)
由于从2.6.38内核后才开始支持THP,所以漏洞影响所有内核在2.6.38以上并且开启THP的Linux系统。
该漏洞利用dirtycow(脏牛)漏洞的pokemon(口袋妖怪)漏洞利用作为基础,自动生成新的passwd行。运行二进制文件时,将提示用户输入新密码。然后将原始 /etc/passwd 文件备份到 /tmp/passwd.bak 并用生成的行覆盖 root 帐户。运行漏洞利用后,您应该能够使用新创建的用户登录。
要使用此漏洞利用,请根据您的需要修改用户值。
创建的默认用户是
firefart
💡 [使用方法](https://github.com/FireFart/dirtycow)
编译:(在目标服务器上运行此exp)
然后通过执行以下任一操作运行新创建的二进制文件:
或者
使用
之后,您可以su firefart或ssh firefart@...
运行漏洞利用后不要忘记恢复您的 /etc/passwd
恢复/etc/passwd之后,root账户重新恢复,命令行输入passwd重设root密码,则下一次可以不用触发脏牛漏洞,直接使用root账户登录即可
堆溢出提权
堆溢出提权Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27), and Fedora 33 (Sudo 1.9.2)可利用此提权漏洞
启动MSF,搜索CVE-2021-3156
也可以使用手动的方式下载payload脚本,上传至目标端在目标端执行exp
CVE-2021-3156/exploit_nss.py at main · worawit/CVE-2021-3156
MOTD提权
MOTD提权motd(message of the day )用户登录系统时弹出的欢迎信息,默认是放在
/etc/update-motd.d/的shell脚本。这些脚本文件就是当用户登录时就能以root用户身份执行一段代码。故尝试修改其中某个脚本,当每次登录系统就把root用户密码修改为一个已知的密码
例:/etc/update-motd.d 中的文件脚本普通用户都可执行和修改
重新连接普通账号,当跳出登录欢迎代码时代表payload已经运行,此时切换root账户
Ubuntu-CVE提权
Ubuntu-CVE提权CVE-2021-3493提权
CVE-2021-3493提权EXP利用代码
CVE-2015-1328提权
CVE-2015-1328提权💡 CVE-2015-1328漏洞介绍
💡 EXP利用代码
SUID提权
SUID提权💡 在目标机器上搜索过滤出文件属主为`root` 并且其他用户有`写`权限的文件

💡 通过过滤搜索查找到存在该文件后,可以对文件进行分析研究,如查看文件类型

💡 通过分析研究查看文件内容,得知脚本内容就是获取系统时间,可能是某些系统服务在使用该脚本

在etc目录查找引用了check-system.service文件的文件

根据查找出文件的结果分析,check-system.service是在操作系统启动时会用/bin/bash运行/usr/bin/check-system脚本。如果我们在/usr/bin/check-system脚本中加入反弹shell的代码,并执行重启,那么在系统启动后就能获得root用户反弹的shell。
修改/usr/bin/check-system

查询重启权限,具备shutdown权限

Kali本地监听4444端口

执行重启操作
稍等片刻root用户shell已收到

获取flag

💡 这是通过过滤搜索查找到对应SUID文件的权限分配进行垂直提权的某一个例子。供参考
Docker 提权
Docker 提权我们必须是系统的 Docker Group 的一部分。 作为该组的一员,我们可以创建新的 Docker 容器并进行部署。
第 1 步:检查组
和 groups 或者 id 命令检查我们是否是 docker 组的一部分。
第 2 步:运行一个新的 docker 容器
创建并运行一个 docker 容器。id 命令检查是否是root用户
Windows提权
Windows提权当通过msf拿到windows shell的session会话时,可使用此模块对windows进行漏洞探测
最后更新于
这有帮助吗?

