红笔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。

🔎

延伸解读

提权方法的多样性

本文详细介绍了多种Linux提权方法,包括利用可读和可写的shadow、passwd文件,以及sudo环境变量等。这些方法的多样性提醒系统管理员在权限管理上需更加谨慎,确保敏感文件的权限设置合理,防止攻击者利用这些漏洞获取root权限。

自动任务的安全隐患

自动任务(cron jobs)在Linux系统中广泛使用,但如果配置不当,可能成为攻击者的突破口。文章中提到的通过可写权限构造反弹shell的方式,强调了定期审查和限制自动任务文件权限的重要性,以降低潜在的安全风险。

SUID文件的风险

SUID(Set User ID)文件在Linux中允许普通用户以文件拥有者的身份执行程序。文章中提到的利用SUID文件提权的实例,提醒用户在使用SUID时需谨慎,定期检查系统中SUID文件的安全性,以防止恶意利用。

延伸问答

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

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

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

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

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

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

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

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

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

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

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

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

🏷️

标签

➡️

继续阅读