Please note that Admin Tools Professional can only protect you against hacking attempts which go
through your site's index*.php files. When you use the .htaccess Maker, it will also create a .htaccess which prevents direct access to .php files on your site, unless you allow specific files to be directly accessible.
From that point, your site can be hacked with one of the following ways (these are the most common ways, not an exclusive list):
- Bad ownership/permissions. Please note that permissions alone mean
NOTHING AT ALL. For more information, you can consult Akeeba Backup User's Guide, the Security chapter. If you have bad ownership/permissions, it is possible that another hacked account on the same server can overwrite your files, i.e. hack your site.
- Direct access to vulnerable .php files. If you have not used .htaccess Maker or if you have added exceptions for some .php files and these are vulnerable, an attacker can very easily access them over the web to hack your site. Since the access to these files does not pass through Joomla!'s index*.php files, Admin Tools is not running and can not protect you.
- Stolen FTP access. It's not that hard. Malware on your or your client's (if you're managing a client's site) computer can steal your FTP login information. This gives the attacker a "free pass" to hack your site.
- Exploited yesterday, ready to be hacked tomorrow as
Brian Teeman has shown. In this very common scenario, the attacker has infiltrated your site a while ago, then hacks it at his convenience in a later date.
- Some attacks may pass through Admin Tools Professional, albeit it take a lot of skill and a scandalously badly coded extension for this to happen. For example, if you have an extension which allows an attacker to execute PHP code passed in a POST request without a PHP tag (e.g. the developer is using PHP's eval() with unvalidated input data) there's no way Admin Tools can protect you. I have not seen such extensions in the wild, only custom extensions written by underskilled (or, should I say, unskilled), idiotic freelancers of the 1$/hour rent-a-coder variety.
So, what can you do? Start by reading my
Unhacking your site walkthrough. It will help you not only fix the hack, but also secure your site.
The next step you can do is to wait just a few days for me to publish the new alpha release of Admin Tools. I have just (as in, ten days ago) completed writing a handy new tool which allows you to run a security assessment of your site's files. It does throw a lot of false positives in the first run, but it will narrow down the list of possibly suspicious files to about 100 of them. The documentation explains how you can check those files against the "official" files of Joomla! itself or the extension they belong to to make sure they are not suspicious. If you find a compromised file, you will immediately know how you're being hacked.
If, despite the above, you still get hacked, you are on a host with one or more hacked sites and screwed up ownership/permissions which allow the hacker to hack your site through the "back door", i.e. by directly modifying your site's files from the other hacked site on the same server. Besides fixing your ownership and permissions (as explained in the Unhacking Your Site walkthrough) the only other workaround is to actually move to a different host.
I know this is a LOT of information to take in. Let me give you a sound advice. Don't panic. The situation can't get much worse than it is right now and doing things hastily will end up to offering no solution, only wasting your time. Start by meticulously following the unhacking instructions and you'll see that things will start making sense. It will take you 1-2 days, but in the end you'll end up with a much more secure site.
Good luck and, should you get stuck, please post back so that I can help you!
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!