红笔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时,可以通过设置环境变量在调试模式下执行提权命令。
➡️