Concise guide about how to fix your hacked Joomla website from malicious content
In our previous guide we talked about how to scan a site for malware. The next step is to clean your hacked site. The following guidelines are based on Joomla! sites but the methodology can be used for any other database driven (eg wordpress) or pure html website as well.
You must act both fast so as to prevent further infection and not to be blacklisted (by google, your hosting server etc) and cautiously so as not to damage your site irreversibly.
- Access to web server files -eg through control panel’s file manager (suggested), ftp service, filezilla etc
- Access to site database -if you use Joomla, WordPress or other database driven site
- Being comfortable with web server control panel
- Basic understanding of unix/linux file and folder permissions and command line
- Local pc to download and review sites would be extremely useful.
If you don’t have ftp access or not being familiar with control panel, your hands are tied and is better to ask for help from professionals.
Before doing anything else, backup your hacked site. You may need to review it, restore a part of it, your hosting provider for security reasons may delete it (!) or for any case. But
BACKUP YOUR SITE!!!!!
Use control panel’s file manager (suggested), select the site root folder, zip it, download .zip file, leave the .zip file on server too for convenience. Ensure the downloaded backup is ok.
You may use an ftp client software, such as filezilla, but filezilla does not support compression (zip, tar etc). It is much more faster to compress and download one .zip file than downloading the same folder uncompressed with numerous files. It is not the size that counts but the number of files to be download.
You may use phpmyadmin from control panel and export data in compressed file.
Ensure the size of the exported file not to exceed the phpmyadmin upload limit of your web server, otherwise you may not be able to restore it).
You can also use backup extensions such as Akeeba Backup or whatever solution your hosting provider offers you .
Ensure that you have downloaded the backup to your local pc or transfered it to a safe place.
Doing this prevents intruders from doing further damage, prevents the malware spread to other computers and you avoid being blacklisted by google or other service. Use one of the following methods:
1. Use .htaccess file to block all ip -suggested
Add these lines to the .htaccess:
deny from all
allow from x.x.x.x
Access will be denied to everyone apart to the ip mentioned at the last line. Replace x.x.x.x with your ip. Visit http://www.whatismyip.com/ to find your ip.
2. Manually edit configuration.php
The file configuration.php is located on the root folder of your site. Change the following line from
public $offline = '0';
public $offline = '1';
3. Use Joomla administrator control panel
Log in to administrator back-end. Go to
System menu → Global Configuration
Site tab → site offline and click yes.
Your files have been hacked in two ways:
- core files have been modified
- New files with malicious content have been added
So, you must replace the modified files with the original ones and remove the added files. You may do so following one or more of the solutions below.
1. Use a previous clean backup
Restore all your files using a previous backup with healthy files. It is obvious that the backup must have been taken before malicious content was uploaded to the site and that time is NOT the time you noticed you are hacked; it is long before.
Check affected files timestamp and log files to figure out when intrusion possibly happened. There are high chances that fresh backups may include affected files or at least vulnerable plugins.
2. Clean the site manually
If you don’t have a trustworthy backup solution, then you must get your hands dirty. Alternatives:
- Download and examine locally your site for malware content using antimalware software. Double check results using different antivirus tools. Remove the affected core or extra added files.
- Download the Joomla! Version of your site and extract it inside you site root folder. This way you replace site core files with the original healthy ones (remove the default installation folder).
- Examine manually the folders structure one by one for suspicious content in correlation with the structure of a clean joomla site. Examine the code of each file for malicious content.
Hint: If the size of a core file is different from the original or it has a timestamp greater than the others of the same folder, probably it has been altered by hackers; replace it with the original.
Possible hacked files and folders :
- /tmp (remover them all)
- /cache (remove them all)
- /images (remove any .php files that shouldn’t be there)
Tools you can use to compare files:
It is obvious that this method is the most tedious, requires php and joomla files structure knowledge and is not false-proof.
- HIGHLY RECOMMEND: Use free online services, such as Sucuri Site Check, to scan your files online and get inform which ones have been affected.
- Use hosting provider’s malware scanner to inspect your files and then manually clean them. Usually this is a paid service.
If you have downloaded and cleaned locally your site, before uploading the clean site to the live folder on the web server, delete the contents of the live folder. If you don’t do this, then the uploaded files will override and replace all the files of the live folder (as expected and you want to) but the extra added malicious files of the live folder will NOT be deleted. When uploading, files in the same folder with the same file name are replaced but the others are left untouched -they are just merged with the uploaded files.
Always have a working backup before deleting!
3. Use online malware removal service
Use the online malware removal solution of your hosting provider or from other security professionals. They will scan and fix the site for you. It is the most easy, quick and secure way but the most expensive of all!
IMPORTANT: If you host more than one site on your web server, it is highly possible that others sites have been affected as well. You must scan your entire web server for malware and not only to folders of the affected domain.
STEP 4. Secure your site
Are you ready to go live now? No, further actions required. The previous steps help you to clean your site from malicious content, but that‘s only half job done. You are not safe to go live yet. Your site is still vulnerable and you must secure it
In the next article we will provide all the necessary steps required to secure your site and go live.