80行写就PHP底层RootKit 可以拦截内核操作并实现恶意攻击

简介:

荷兰开发人员Luke Paris创建了可隐藏在PHP服务器模块中的PHP隐匿程序 RootKit,并解释了经典隐匿程序更为危险的原因。攻击者可利用该程序接管web服务器。

PHP RootKit隐匿程序拦截内核操作 实现恶意攻击

经典隐匿程序活跃于最低级的操作系统中,拦截内核操作,实现恶意攻击。Luck Paris成功创建了可与PHP解释器而非更复杂的操作系统内核进行互动的隐匿程序。

编写 PHP 模块隐匿程序首要和显然的原因是可访问性。学习使用 Zend 引擎(整个 PHP 语言的框架)远比学习编写内核模块简单的多,因为前者的代码库本身更小,有更多的说明文档,且更简单。

即使没有很多文档和教程,我也在一天内学会了编写 PHP 模块的基础知识。 “ 如果我(一名 语言的新手程序员)能做到这一点,攻击者更是不在话下。

通过利用Paris的PHP隐匿程序,攻击者可持久感染被攻击的服务器而不被检测到。Paris表示,利用PHP模块隐藏隐匿程序是非常有效的,原因如下:

可访问性 —编写PHP模块隐匿程序比学习如何编写内核模块要简单的多。开发人员可使用更少的代码实现。Paris解释说自己在短短一天内就学会了编写PHP模块的基础知识。

稳定性 —隐匿程序在内核中运行,这意味着随意编写的恶意软件可破坏整个系统。使用PHP隐匿程序后,此问题可迎刃而解。随意编写的PHP隐匿程序不能破坏整个系统。 Paris 表示 

“ 最糟情况下 , 隐匿程序可造成分段错误并打断当前请求 ( 注 : 大部分 web 服务器在错误日志中报告了该问题 , 应引起怀疑 ) 。 

可检测性 —由于缺少PHP模块检测,难以实现对PHP隐匿程序的检测。 Paris 说 

“ 并且 , 内核隐匿程序可深入到系统中的每个进程调用而不只是一个进程 , 这可大幅降低系统速度 , 引起更多怀疑。 

可移植性 —PHP隐匿程序是跨平台的隐匿程序,因为PHP(在多数情况下)是不依赖于平台的。

PoC已经被公开

Luke Paris在GitHub上发布了关于PHP隐匿程序的概念证明(PoC),这是一个开源项目。Paris开发的PoC代码在PHP服务器上融入到hash和shal参数中,隐匿程序是由80行代码组成,因此黑客能够很轻易地将之隐藏在合法模块中。

为防止攻击者利用这些代码,Paris省略了部分代码,使非专业PHP开发人员很难进行编译。

发布的文章中还为管理员提供了一条建议:

安装PHP后,保留模块哈希值清单。管理员可利用corn job计算扩展目录中所有文件的哈希值,并与当前哈希值进行对比。Paris还发布了Python脚本,可检查用户PHP模块的SHAI哈希值。



原文发布时间:2017年6月19日

本文由:securityaffairs 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/php-rootkit

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

相关文章
|
存储 缓存 自然语言处理
深入PHP内核:理解Opcode缓存对性能的影响
【4月更文挑战第25天】 在提升PHP应用性能的众多策略中,Opcode缓存技术因其显著的效果和较低的复杂度而备受开发者青睐。本文将深入探讨Opcode缓存机制,解析其对PHP执行效率的提升原理,并通过实验数据展示启用Opcode缓存前后的性能差异。我们还将讨论几种流行的Opcode缓存工具,如APC、OpCache与APCu,并评估它们的优劣及适用场景,帮助开发者根据不同的项目需求做出合适的选择。通过本文,读者不仅能够了解Opcode缓存的工作原理,还能学会如何在实际项目中应用这一技术以优化PHP应用程序的性能。
|
缓存 自然语言处理 PHP
深入PHP内核:理解OPcode和执行生命周期
在PHP的执行过程中,源代码经过词法分析、语法分析等一系列复杂的步骤后,最终会编译成一种叫做“操作码”(OPcode)的中间代码。本文将深入探讨PHP的操作码(OPcode)是什么,它是如何生成的,以及它在整个PHP脚本执行周期中扮演的角色。我们还将了解不同的OPcode优化技术,以及它们如何影响PHP应用程序的性能。通过本文,读者将对PHP的内部工作原理有更深刻的理解,为进一步的性能调优打下坚实的基础。
|
数据采集 前端开发 PHP
深入PHP内核:探索高性能异步编程
【2月更文挑战第24天】在现代Web开发中,提供快速响应和高并发处理能力是至关重要的。传统的同步阻塞模型已无法满足现代互联网服务的需求。本文将深入探讨PHP语言中的异步编程概念,介绍其原理、实现方式以及如何通过异步编程提升应用性能。我们将剖析PHP的多线程扩展,如pthreads,以及事件驱动编程模型,重点关注它们在处理大量并发连接时的优势和潜在问题。此外,文中还将展示如何使用Swoole等高级框架来构建高效的异步应用。最后,我们将讨论异步编程在实际应用中的挑战与未来发展趋势。
|
6月前
|
SQL 安全 PHP
PHP安全性实践:防范常见漏洞与攻击####
本文深入探讨了PHP编程中常见的安全漏洞及其防范措施,包括SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造等。通过实际案例分析,揭示了这些漏洞的危害性,并提供了具体的代码示例和最佳实践建议,帮助开发者提升PHP应用的安全性。 ####
189 6
|
存储 缓存 自然语言处理
深入PHP内核:理解Opcode缓存与性能优化
【5月更文挑战第14天】 在动态语言的世界里,PHP一直因其高性能的执行效率和广泛的社区支持而备受青睐。随着Web应用的复杂性增加,对性能的要求也越来越高。本文将探讨PHP的Opcode缓存机制,解析其对性能提升的贡献,并展示如何通过配置和使用不同的Opcode缓存方案来进一步优化PHP应用的性能。我们将深入到PHP的核心,了解Opcode是如何生成的,以及它如何影响最终的执行效率。
|
存储 缓存 PHP
深入PHP内核:理解Zend Engine与Opcode缓存
【5月更文挑战第30天】 在PHP的开发世界中,性能优化是一个永恒的话题。随着现代Web应用的复杂性日益增加,仅仅依靠代码层面的优化已经远远不够。本文将深入探讨PHP的执行心脏——Zend Engine,以及如何通过Opcode缓存机制提升PHP应用的执行效率。我们将透过对Zend Engine工作原理的分析,了解Opcode缓存的实现原理,并通过实例来展示其对性能提升的显著影响。
|
12月前
|
PHP
php对memcached简单的操作
php对memcached简单的操作
61 0
|
12月前
|
SQL 关系型数据库 MySQL
php mysqli操作数据库
php mysqli操作数据库
78 0
|
存储 缓存 自然语言处理
深入PHP内核:理解OPcache的工作原理与优化实践
【5月更文挑战第6天】 在现代Web开发中,提升性能和响应速度是持续追求的目标。PHP作为一种广泛使用的服务端脚本语言,其执行效率至关重要。本文将深入探索PHP的OPcache(优化器缓存)组件,解析其如何改善PHP的性能表现。通过剖析OPcache的工作机制,我们将讨论有效的配置策略以及实践中的最佳优化方法,旨在帮助开发者充分理解并利用OPcache来提升应用性能。
|
数据库连接 PHP
深入PHP内核:理解Zend Engine和PHP生命周期
【5月更文挑战第4天】 在本文中,我们将探讨PHP的核心——Zend Engine。我们会详细解释Zend Engine的工作原理,以及它如何驱动PHP代码的执行。此外,我们还将深入讨论PHP生命周期的各个阶段,包括从请求开始到输出结果的整个过程。这篇文章将为你提供一个深入的理解,关于PHP如何处理你的代码,以及它在背后是如何运作的。
234 3