Подскажите регулярные выражения для preg_match_all, которые могут быть подозрительными в файлах вашей темы/шаблона [Scanner FMS]

12
Dmitriy_2014
На сайте с 01.07.2014
Offline
276
1356

Всем привет!

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

Посмеяться над моим умением программировать и знанием английского языка можно вот тут:

https://github.com/Dmitriy-2014/ww-scanner-fms

Но, помните я не программист и руки у меня растут не из плеч, стиль программирования у меня — это копи/паст со стековерфлов, архитектура построения приложения это не MVC из 70-х притащенная в веб, а уникальная методика под названием – LRINEM – лишь бы работало и не делало мозги :-).

Для тех, у кого есть смелость и отвага, скачать плагин и запустить можете отсюда:

https://wordpress.org/plugins/ww-scanner-fms/

Но, помните используется лицензия GPL что значит – Без каких-либо гарантий, без претензий, на свой страх и риск. Если у вас залагает сервер или упадет, или ещё что-то случится я не виноват, если вы потеряете при этом 178 миллиардов евро, то я тоже не виноват, искать меня не стоит все никнеймы и ip адреса поддельные :-).

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

Плагин из разряда READ ONLY, но с моим умением программировать может произойти все что угодно, риск присутствует.

(Может находить множественные ложные срабатывания.)

Если кто-то рискнет установить, напишите он вообще работает и находит что-нибудь :)

Заранее всем спасибо и не судите строго, я сильно удивлюсь если он у вас вообще заработает!

Мой стартовый набор слов (Может что-то изменить, добавить или убрать):

$collection_of_patterns[] = "/base64/i";

$collection_of_patterns[] = "/eval/i";

$collection_of_patterns[] = "/mkdir/i";

$collection_of_patterns[] = "/shell_exec/i";

$collection_of_patterns[] = "/chmod/i";

$collection_of_patterns[] = "/system/i";

$collection_of_patterns[] = "/passthru/i";

$collection_of_patterns[] = "/fromCharCode/i";

$collection_of_patterns[] = "/auth_pass/i";

$collection_of_patterns[] = "/FilesMan/i";

$collection_of_patterns[] = "/try{document.body/i";

$collection_of_patterns[] = "/passwd/i";

$collection_of_patterns[] = '/="";function/i';

$collection_of_patterns[] = "/e2aa4e/i";

$collection_of_patterns[] = "/md5=/i";

$collection_of_patterns[] = "/rot13/i";

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

В этом плагине дизайн пока временный, комментарии временные, код временный и тут нужна шутка про то что ничего не бывает более постоянного чем временное :)


GitHub - Dmitriy-2014/ww-scanner-fms: Scanner FMS – A simple plugin scanner for your main theme in WordPress. Looks for suspicious inclusions in theme files. ( base64, eval, shell_exec, etc. )
GitHub - Dmitriy-2014/ww-scanner-fms: Scanner FMS – A simple plugin scanner for your main theme in WordPress. Looks for suspicious inclusions in theme files. ( base64, eval, shell_exec, etc. )
  • Dmitriy-2014
  • github.com
Scanner FMS – A simple plugin scanner for your main theme in WordPress. Looks for suspicious inclusions in theme files. ( base64, eval, shell_exec, etc. ) Attention This scanner is very simple and can find a lot of false matches, so do not delete the found code in any case, as it may be normal running code in your theme, remember that this...
W1
На сайте с 22.01.2021
Offline
285
#1
Dmitriy_2014 :
который ищет подозрительные вхождения

Абсолютно бесполезное занятие. Просто не бери темы с помоек.

Мой форум - https://webinfo.guru –Там я всегда на связи
Sly32
На сайте с 29.03.2012
Offline
303
#2
webinfo #:

Абсолютно бесполезное занятие. Просто не бери темы с помоек.

что подозрительного в base64, oauth, md5? может стоит сначала ращобраться, потом ваять непонятно что? 😂

Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#3
Sly32 #:

что подозрительного в base64, oauth, md5? может стоит сначала ращобраться, потом ваять непонятно что? 😂

Так об этом говорят провайдеры, а у них я думаю есть небольшой опыт в этом деле.

FistVDS – одна из статей на эту тему, старенькая но как есть:

https://firstvds.ru/technology/poisk-virusov-na-sayte

Php/js код

Вручную вредоносный код можно искать по паттернам. Чаще всего, это либо закодированный в base_64 код, либо обфусцированный по определенному алгоритмому. Имеет смысл искать следующие, наиболее распространенные, паттерны:

FilesMan, try{document.body, String["fromCharCode"], auth_pass, fromCharCode, shell_exec, passthru, system, base64_decode, chmod, passwd, mkdir, eval(str_replace, eval(gzinflate, ="";function, "ev"+"al",md5=,ss+st.fromCharCode, e2aa4e

Sly32
На сайте с 29.03.2012
Offline
303
#4
Не читайте вы всякую устаревшую чушь. Или читайте до конца хотя бы уже. 
Каширин
На сайте с 03.01.2004
Offline
1018
#5

Димон, друг, скажи. Зачем ты ищешь "подозрительный код" в плагинах?
Дрелью не хочешь себе зубы посверлить, чтобы поискать подозрение на кариес? ;)

Если у тебя все работает - не надо чинить. А если что-то сломалось - надо чинить то, что сломалось!
Чтобы ты понимал, результатом этого: 

"ev"+"al"


будет "eval". Если кто-то написал в интернете, что это вредоносный код :)
то я напишу так: 

"e"+"v"+"a"+"l"


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

Dmitriy_2014
На сайте с 01.07.2014
Offline
276
#6
Каширин #:

Димон, друг, скажи. Зачем ты ищешь "подозрительный код" в плагинах?
Дрелью не хочешь себе зубы посверлить, чтобы поискать подозрение на кариес? ;)

Если у тебя все работает - не надо чинить. А если что-то сломалось - надо чинить то, что сломалось!
Чтобы ты понимал, результатом этого: 


будет "eval". Если кто-то написал в интернете, что это вредоносный код :)
то я напишу так: 


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

Не в плагинах, а пока только в текущей теме, про эту фишку с разделением я в курсе, вот бы подсказал как такое найти.
Каширин
На сайте с 03.01.2004
Offline
1018
#7
Dmitriy_2014 #:
вот бы подсказал как такое найти

Да никак ты его не найдешь! Нельзя найти то, чего ты не знаешь. Мой совет: забей.

W1
На сайте с 22.01.2021
Offline
285
#8
Dmitriy_2014 #:
только в текущей теме

В текущей теме, допустим, я вставлю include, а сам подключаемый файл запихну куда угодно. И что ты найдёшь своим скриптом?

Sly32
На сайте с 29.03.2012
Offline
303
#9
webinfo #:

В текущей теме, допустим, я вставлю include, а сам подключаемый файл запихну куда угодно. И что ты найдёшь своим скриптом?

Пенсионер, ты как обычно жжешь! Что мешает скриптом пройтись по всем файлам скачаной темы? Куда ты запихнешь свой файл если скачивается вся  тема?

Вопрос второй что в целом это бесполезное занятие - пытаться таким способом найти шеллы. 

W1
На сайте с 22.01.2021
Offline
285
#10
Sly32 #:
Пенсионер, ты как обычно жжешь! Что мешает скриптом пройтись по всем файлам скачаной темы? Куда ты запихнешь свой файл если скачивается вся  тема?

Эмигрант, жжёшь, как всегда, ты. Либо ты не умеешь читать, либо не знаешь, что такое тема. И в любом случае не знаешь и не понимаешь, как работают взломщики сайтов. Но тебе не привыкать выдавать свои незнания и неумения за особую продвинутость. Так что давай, отжигай дальше, сидя в своём любимом докере. 

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий