Over the course of the last decade, we have unhacked and secured many Joomla websites ranging in size from very small to very large. In most cases, cleaning up a Joomla website consists of the following steps:
- Blocking all traffic to the website.
-
Backing up the website.
-
Overwriting the core files from a fresh Joomla install matching the same version.
-
Scanning the website using various tools and deleting the malicious files.
-
Only allowing the index.php file to be executed by Apache as described here.
-
Preventing direct access to core folders.
-
Installing the itoctopus Joomla firewall (a homemade firewall that we install for our clients).
-
Updating the Joomla website to the latest stable version and updating/uninstalling vulnerable extensions (optional – as some clients want to only cleanup the website and prefer to update at a later time [of course, we always recommend to perform both the cleanup and the update at the same time]).
-
Testing the website (we whitelist our IP in order to do that).
-
Backing up the clean version of the website.
-
Unblocking access to the website.
Typically, the various tools that we use in step number 4 above find all the malicious files on the website, but not always, which was a major problem and which caused the cleanup process to take a lot more time.
However, lately we have noticed the following pattern in almost all the malicious files that were not caught by the scan: */$
Let us explain…
You see, malicious code is typically highly compressed, and so usually, there are no spaces between a comment and a variable declaration, which means that searching for */$ will most likely return all of the malicious files on your Joomla website. Here’s the ssh command that you should use to search for it:
grep -R --include=*.php '\*\/\$' *
(Note: This command should be run at the root directory of your Joomla website, e.g. at the same level of the main index.php file).
The above command may return some false positives, but that’s OK, because they are typically few, and are easily recognizable.
We hope that you found this post useful and that it helped you cleanup your Joomla website. If you still think that your website is not fully clean, or if you want some Joomla security experts to do the cleanup for you, then please contact us. We will clean your website, we will secure it, and we will not charge you much!