攻亦是防,防亦是攻——Linux内核视角看权限维持

💡 原文中文,约13700字,阅读约需33分钟。
📝

内容提要

本文讨论了隐藏rootkits的技术,包括在/proc/modules和/sys/module目录中隐藏,以及使用eBPF和binfmt_misc来检测和逃避rootkits。文章还探讨了如何使用eBPF来监控恶意行为,如网络通信和恶意系统调用。

🎯

关键要点

  • 理论上不存在毫无痕迹的Rootkit,攻击者需要对操作系统底层有深入了解。
  • /proc/modules和/sys/module目录可以被用来隐藏rootkit模块。
  • 通过将rootkit模块的module结构体从双向链表上脱链,可以实现模块隐藏。
  • eBPF是一个强大的编程框架,可以在Linux内核中安全地运行沙盒程序。
  • eBPF程序可以监控系统调用、网络事件等,并在特定钩子点运行。
  • eBPF可以用于检测恶意行为,包括网络通信和恶意系统调用。
  • 使用eBPF可以实现对系统调用表的劫持检测,检查系统调用入口指针是否正常。
  • binfmt_misc功能允许识别任意可执行文件格式,可能被用于容器逃逸。
  • 通过自定义解析器和特定类型文件的处理,可以实现容器逃逸。
  • eBPF可以监测恶意行为,检测rootkit的存在和系统调用的异常。
➡️

继续阅读