Apache modules could be used as a new attack vector to make it easier for cybercriminals to take over web servers. Bleeping Computer reported that Dutch web developer Luke Paris created a rootkit that hides inside a PHP module and attacks servers through Apache modules, which are open source HTTP servers.
About the Threat Vector
A rootkit is a piece of code that allows administrator-level access to a computer or network that attackers can exploit to inject malicious code. Most rootkits traditionally work close to the operating system kernel (OS). Attackers often need advanced coding skills to avoid crashing a victim’s computer.
Paris took a simpler approach, developing a rootkit that interacts with the PHP interpreter rather than the OS kernel. On his websiteParis explained that writing a PHP module is easier than a kernel because the code base is smaller, better documented and simpler. He created the method to educate others about the potential dangers of malicious PHP modules.
Using PHP modules to hide rootkits provided several advantages for nefarious actors. For example, crashes are less likely, and PHP rootkits only have to hook into one system process, while kernel rootkits must hook into many. Additionally, PHP is cross-platform language, meaning code written for one platform can easily be compiled to be run on another.
Paris has published the full rootkit source code on GitHub for public reference. His rootkit hooks into the PHP server’s SHA-1 function, which is a cryptographic algorithm that generates hashes for digital data that help prove the identity of a file. The entire rootkit is just 80 lines of code and can easily hide in legitimate modules. This rootkit’s existence represents a fresh potential attack vector for errant actors and server administrators must start thinking about preventative actions.
Responding to Malicious Apache Modules
Experts are already aware of the increasing risk of malware authors crafting attacks that inject malicious code into OS kernels. What makes Paris’ work different is its focus on PHP, although Bleeping Computer noted that he is not the first person to suggest hiding malicious code in Apache modules. London-based developer Christian Papathanasiou hid a similar rootkit inside an Apache module on GitHub in 2015.
Keeping a list of the module hashes after installing PHP is the simplest way of detecting whether any are malicious. Paris even published a Python script on his website that allows users to check the SHA-1 hashes of their PHP modules.
Scott Arciszewski, chief development officer at Paragon Initiative Enterprise, told Bleeping Computer the only modification he would make to Paris’ mitigation script is to use SHA-256 hashes in place of SHA-1. Experts also suggested businesses should urgently move from SHA-1 to safer alternatives such as SHA-256.
The fresh attack vector presents another threat to enterprise security bosses who are already fighting to protect their organizations from the ever-increasing malware challenge. IT decision-makers should ensure their companies are focused on techniques to help prevent malicious code injections.