Web渗透测试(4)—本地提权方法

之前有几个面试官问我,怎么在Linux上本地提权,想了下脚本提权的倒是有几种方法,而通过溢出的方法获取root权限,说下思路。下面依次介绍:溢出的方法获取root权限、sudo提权、setuid 提权、crontab 提权、链接提权、enviroment提权。

溢出的方法获取root权限

首先获取linux的版本号和内核版本

  1. 获取版本号
lsb_release -a
获取Linux版本号.png
  1. 获取内核版本
uname -a

3.网上搜索内核版本的cve提权POC,有能力的自己去挖掘内核提权CVE。

Sudo提权

这种方法是最长规的提权方法了。
sudo 是 Linux 下允许普通用户使用超级用户权限的工具,其配
置文件为 /etc/sudoers。在该配置文件中可以定义执行 sudo 命令 的账户、作为超级用户能够访问的应用程序、是否需要密码验证等。

我们下面看一个例子:
如在/etc/sudoers配置文件中,添加如下行——test 用户无需输入用户口令 即可以任意用户身份执行任意命令。

添加test all.png

可以看到test用户,现在可以执行任何命令,查看任何文件了。
root权限.png

可以使用sudo /bin/bash切换到root权限下。

setuid 提权

黑客留后门的常用方法。
set user id(setuid) 在 Linux 内核中允许一个进程以调用 setuid
程序的方式来改变自身的有效用户 ID,被设置了 setuid 权限位的程 序允许其他用户以该文件属主的身份来运行。该权限位常用于设置所 有者为 root 的相关程序,让普通用户可以以 root 用户身份运行原本 只有 root 权限才能运行的程序或命令。

crontab 提权

Linux 下的任务调度命令 crontab 用于周期性的执行预设指令,与 Windows 下的计划任务功能类似。其默认的配置文件为 /etc/ crontab,该文件中可定义指定命令的运行周期及具体时间,同时 /etc 下 的 cron.hourly、cron.daily、cron.weekly、cron.monthly 目 录分别用于存放每小时、每天、每周、每月需定期执行的脚本。通过查看目录下的脚本,看普通用户是否有修改权限,然后添加用户权限。

链接提权

我的独门绝技,看好了。
链接提权的原理是,root用户创建了软链接,但是没有源文件或者删除了源文件,而普通用户可以通过更改源文件得到提权。看下示例:

  1. 创建软链接
    首先old.file 是不存在的
ln -s old.file soft.link
创建软链接.png
  1. 普通用户创建old.file
echo "this is a file "
普通用户创建文件.png

看到源文件已经被改变了。

  1. 看下文件属性
    任何用户都可以编辑,执行了。


    查看文件属性.png

环境变量提权

环境变量 (environment) 用于给系统和部分应用程序设置运行
相关的一些参数,如版本信息、路径设置、命令参数等。Linux 环 境变量按照生存周期可划分为永久型和临时型,前者主要通过修改 相关配置文件来实现,如 /etc/profile、/etc/environment 等 ;而后 者只需要用 export 命令声明即可,但声明的变量只对当前用户的当 前 shell 生效,当关闭 shell 或新建 shell 时之前声明的变量均无效。
Linux 中的 bash 支持变量 PROMPT_COMMAND 和 BASH_ ENV,前者将在用户提示符前被执行,而后者在 shell 脚本执行前会 首先执行变量中设置的文件。

  1. export 命令可用于查看当前用户环境变量信息。
  2. 通过 export 命令设置 PROMPT_COMMAND 变量后,该变量 包含的命令将在 shell 提示符前自动执行,unset 用于取消临时环境 变量。
  3. 查看用户命令历史记录文件,系统管理员经常通过 su 而非 su – 切换至 root 用户,当通过 su 命令进行切换时,root 用户环境变量 将仍为当前用户。
  4. 变量 PROMPT_COMMAND 中的命令被成功执行,通过 su – r00t 命令切换到 root 用户时,查看当前环境变量为 root 用户
  5. 但上述通过 export 命令增加临时变量的方法,只对当前 shell 有效,用户退出及新建 shell 时均不生效。
  6. 可通过在 .bash_profile 文件中添加相应 export 命令,使用户 每次登录时均可在环境变量中新增变量 PROMPT_COMMAND。
  7. 普 通 用 户 登 录 并 执 行 su 命 令 切 换 至 root 后, 上 述 变 量 PROMPT_COMMAND 中预设命令被成功执行。
  8. 若当前用户执行 su 命令后,以 root 权限执行了相关 shell 脚 本,此时还可通过设置变量 BASH_ENV 的方式进行提权,这与变 量 PROMPT_COMMAND 的利用方法类似。
  9. 设置变量 BASH_ENV 为包含相关提权命令的脚本文件,通过 su 命令以 root 权限执行相关 shell 脚本后,变量 BASH_ENV 指向 文件中的提权命令被成功执行。

参考文献:

  1. 详细的提权方法
  2. 软链接和硬链接
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容