红笔Linux提权总结(上)

💡 原文中文,约8700字,阅读约需21分钟。
📝

内容提要

本文介绍了Linux系统中的多种提权方法,包括利用可读和可写的shadow和passwd文件、sudo环境变量、自动任务和SUID文件等,攻击者可通过这些方式获取root权限并执行任意命令。

🎯

关键要点

  • 利用可读的shadow文件提权,通过提取哈希值并使用john工具破解。

  • 利用可写的shadow文件提权,通过替换root的哈希值实现提权。

  • 利用可写的passwd文件提权,通过直接写入生成的哈希值替换占位符x。

  • 通过sudo环境变量提权,利用LD_PRELOAD预加载共享库实现提权。

  • 利用自动任务文件权限提权,通过构造反弹shell实现提权。

  • 利用自动任务PATH环境变量提权,将overwrite.sh放入用户目录以优先执行。

  • 利用自动任务通配符提权,通过设置检查点执行反弹shell。

  • 利用SUID可执行文件提权,利用已知漏洞的exim文件实现提权。

  • 利用SUID共享库注入提权,通过创建共享库文件实现提权。

  • 利用SUID环境变量提权,通过劫持环境变量实现提权。

  • 利用SUID-shell功能提权,通过定义同名函数劫持命令实现提权。

  • 利用bash调试模式设置环境变量进行提权,适用于bash版本小于4.4。

延伸问答

如何利用可读的shadow文件进行提权?

可以通过提取哈希值并使用john工具破解来实现提权。

可写的passwd文件如何实现提权?

通过直接将生成的哈希值写入passwd文件中替换占位符x来实现提权。

sudo环境变量提权的原理是什么?

利用LD_PRELOAD预加载共享库,可以在执行sudo命令时实现提权。

如何通过自动任务文件权限进行提权?

可以利用可写权限构造反弹shell,或通过设置PATH环境变量优先执行恶意脚本来实现提权。

SUID文件提权的常见方法有哪些?

可以利用已知漏洞的SUID可执行文件或通过共享库注入等方式实现提权。

bash调试模式如何用于提权?

在bash版本小于4.4时,可以通过设置环境变量在调试模式下执行提权命令。

➡️

继续阅读