Злонамерени скриптове. Ние търсим и премахваме зловреден код в WordPress. Неутрализиране на сървърни скриптове
WordPress е една от най-популярните системи за управление на съдържание, използвана за различни цели, от блогове до електронна търговия. Има богат избор от WordPress добавки и теми. Случва се някои от тези разширения да попаднат в ръцете на уеб администратори, след като някой нападател е работил върху тях.
За негова собствена изгода той би могъл да остави рекламни линкове или код в тях, с които да управлява вашия сайт. Много потребители на WordPress нямат много опит в уеб програмирането и не знаят как да се справят с тази ситуация.
За тях прегледах девет от най-ефективните инструменти за откриване на злонамерени промени в кода на работещ уебсайт или инсталирани добавки.
1. Проверка на автентичността на темата (TAC)Проверка на автентичността на темата (TAC) – WordPress плъгин, който сканира всеки установена темаза подозрителни елементи като невидими връзки или Base64 криптиран код.
След като открие такива елементи, TAC ги докладва на администратора на WordPress, което му позволява самостоятелно да анализира и, ако е необходимо, да коригира изходните файлове на темата:
2. Експлойт СкенерExploit Scanner сканира изходния код на целия ви сайт и съдържанието на базата данни на WordPress за съмнителни включвания. Точно като TAC, този плъгин не предотвратява атаки или се бори автоматично с последствията от тях.
Той показва само откритите симптоми на инфекция на администратора на сайта. Ако искате да изтриете зловреден код, ще трябва да го направите ръчно:
3. Sucuri SecuritySucuri е добре известно решение за сигурност на WordPress. Плъгинът Sucuri Security следи файловете, качени на сайт на WordPress, поддържа свой собствен списък с известни заплахи и също така ви позволява да сканирате отдалечено сайта с помощта на безплатния скенер Sucuri SiteCheck. Отзад абонаментна таксаМожете допълнително да подсилите защитата на сайта си, като инсталирате мощната защитна стена на уебсайта Sucuri:
4. Анти-зловреден софтуерAnti-Malware е плъгин за WordPress, който може да намира и премахва троянски скриптове, задни вратички и друг зловреден код.
Настройките за сканиране и изтриване могат да бъдат персонализирани. Този плъгин може да се използва след безплатна регистрация в gotmls.
Плъгинът редовно осъществява достъп до уебсайта на производителя, предава статистически данни за откриване на зловреден софтуер и получава актуализации. Ето защо, ако не искате да инсталирате плъгини на вашия сайт, които следят работата му, тогава трябва да избягвате използването на Anti-Malware:
5. WP антивирусна защита на сайтаWP Antivirus Site Protection е плъгин, който сканира всички файлове, качени на сайт, включително WordPress теми.
Плъгинът има собствена база данни със сигнатури, която се актуализира автоматично през интернет. Може да премахва заплахите автоматично, уведомете администратора на сайта чрез електронна пощаИ още много.
Плъгинът е инсталиран и функционира безплатно, но има няколко платени добавки, на които си струва да обърнете внимание:
6. Антивирусна програма за WordPressAntiVirus за WordPress е лесен за използване плъгин, който може редовно да сканира вашия сайт и да ви уведомява за проблеми със сигурността по имейл. Плъгинът има персонализиран бял списък и други функции:
7. Quterra Web Malware ScannerСкенерът на Quterra проверява уебсайт за уязвимости, инжектиране на код на трети страни, вируси, задни вратички и др. Скенерът има такива интересни функции като евристично сканиране и откриване на външни връзки.
Основните функции на скенера са безплатни, докато някои допълнителни услуги ще ви струват $60 на година:
8. WordfenceАко търсите цялостно решение на проблемите със сигурността на уебсайта си, не търсете повече от Wordfence.
Този плъгин осигурява постоянна защита на WordPress срещу известни видове атаки, двуфакторно удостоверяване, поддръжка за „черен списък“ с IP адреси на компютри и мрежи, използвани от хакери и спамъри, и сканиране на сайта за известни задни вратички.
Този плъгин е безплатен в основната си версия, но също така има премиум функционалност, за която производителят изисква скромна абонаментна такса:
9.ВемахуWemahu следи промените в кода на вашия сайт и търси злонамерен код.
Базата данни, в която е открит зловреден софтуер, се попълва с помощта на метода на краудсорсинг: потребителите сами я попълват, като изпращат резултатите от сканирането на заразени инсталации на WordPress на уебсайта на автора на приставката. Плъгинът също поддържа изпращане на отчети по имейл и други полезни функции.
Трябва да се направи заедно. Ако премахнете първоначалната причина за хакването (например уязвимост в разширението на CMS), но не премахнете всички злонамерени файлове, нападателят ще може отново да получи достъп до сайта с помощта на един от своите скриптове. Ако премахнете всички изтеглени злонамерени скриптове, но не отстраните причината за хакването, атакуващият ще може отново да хакне сайта и да изтегли скриптове в него отново.
Специалист с необходимите знания и опит трябва да извърши работа за премахване на злонамерени скриптове и да анализира причините за хакване:
- За да премахнете злонамерени скриптове, са необходими познания по езика за програмиране PHP, както и познания за „вътрешността“ на популярните CMS (Joomla, WordPress и др.) и разширенията за тях. Тези познания са необходими за разграничаване на скриптове директно от CMS и нейните разширения от външни файлове, както и за да можете недвусмислено да определите какви действия извършват, когато се натъкнат на съмнителни скриптове.
- За да се анализират причините за хакването, е необходим опит в администрирането на сървъра. Това е необходимо, за да се анализира състоянието на файловете в акаунта, времето, когато са били променени, както и да се сравнят тези данни със сървърните регистрационни файлове, за да се определи кои действия на нападателя са довели до хакване на сайтове.
Ето защо, ако вашият сайт е бил хакнат, препоръчително е, за да избегнете повторни хакове, да не извършвате работата сами, а да се свържете със специалист, който ще извърши необходимата диагностика и ще препоръча или извърши необходими действияза решаване на проблема и кой може да гарантира качеството на получения резултат.
Съществуват обаче редица мерки, които в някои случаи помагат за възстановяване на безопасната работа на сайта без специални познания. Ограничението на метода по-долу е, че за да възобнови работата на сайта, той изисква резервно копие от него, създадено преди хакването. Ако датата на пробива е неизвестна, можете да опитате този метод, като използвате най-стария наличен архив. Второто ограничение, като следствие от първото, е, че след възстановяване на сайта, данните, добавени към сайта след възстановяването, са създадени резервно копие (например нови статии, изображения или документи). Ако трябва да възстановите сайта, като запазите нови данни, трябва да се свържете със специалист.
Тези мерки не ни позволяват да определим причината за хакването на сайта, но всяка от тях е насочена към премахване на една от потенциалните причини за проникване. Тъй като точната причина за хакването е неизвестна, е необходимо да се извършат всички. Действията са подредени в такъв ред, че първо напълно да елиминират възможността нападателят да продължи дейността си в сайта или хостинг акаунта в понастоящем, и след това да предотврати нападател да влезе в сайта в бъдеще.
Стъпките по-долу предполагат, че имате само един уебсайт във вашия хостинг акаунт. Ако има няколко сайта в акаунта, тогава те също могат да бъдат хакнати и сайтът може да бъде хакнат чрез тях. Необходимо е или да прехвърлите сайта, с който се извършва възстановителна работа, в отделен акаунт, или да извършите възстановяване за всички сайтове, хоствани в акаунта едновременно.
Редът на действията е важен, така че е необходимо да ги изпълнявате точно в реда, в който са разположени по-долу.
Всички горепосочени действия трябва да се извършват в съответствие с посочения ред, без пропуски или промени. Ако действията се извършват неточно, на сайта могат да останат злонамерени скриптове или уязвимости, в резултат на което след кратко време той може да бъде отново хакнат от нападател. Ако по някаква причина не е възможно да изпълните горните стъпки във формата, в която са посочени, свържете се със специалист, който да извърши работа по възстановяване на сайта след хакване.
За да защитите сайта си от повторни хакове в бъдеще, трябва да се придържате към следните препоръки:Зловреден код попада на сайта поради небрежност или злонамерено намерение. Целите на злонамерения код са различни, но по същество той вреди или пречи на нормалното функциониране на уебсайт. За да премахнете зловреден код в WordPress, първо трябва да го намерите.
Какво е злонамерен код на WordPress сайт?от външен вид, най-често злонамереният код е набор от букви и символи на латинската азбука. Всъщност това е криптиран код, чрез който се извършва това или онова действие. Действията могат да бъдат много различни, например новите ви публикации веднага се публикуват на ресурс на трета страна. Това по същество е кражба на вашето съдържание. Кодовете имат и други „задачи“, например поставяне на изходящи връзки на страниците на сайта. Задачите могат да бъдат най-сложни, но едно е ясно: злонамерените кодове трябва да бъдат преследвани и премахвани.
Как злонамерените кодове попадат в уебсайт?Има и много вратички за кодове за влизане в сайта.
Нека веднага да отбележа, че борбата с такива вируси е трудна и ръчното премахване изисква знания. Има три решения на проблема: първото решение е да използвате антивирусни добавки, например плъгин, наречен BulletProof Security.
Това решение дава добри резултати, но отнема време, макар и малко. Има по-радикално решение да се отървете от злонамерени кодове, включително сложни вируси, което е да възстановите сайта от предварително направени резервни копия на сайта.
Тъй като добър уеб администратор прави това периодично, можете да се върнете към незаразена версия без никакви проблеми. Третото решение е за богатите и мързеливите, просто се свържете със специализиран „офис“ или индивидуален специалист.
Как да търсите злонамерен код в WordPressВажно е да разберете, че злонамереният код на WordPress може да бъде във всеки файл на сайта, а не непременно в работната тема. Той може да измисли плъгин, тема или „домашен“ код, взет от Интернет. Има няколко начина да се опитате да намерите зловреден код.
Метод 1: Ръчно. Превъртате през всички файлове на сайта и ги сравнявате с файловете на незаразен архив. Ако намерите чужд код, изтрийте го.
Метод 2: Използване на добавки за сигурност на WordPress. Например, . Този плъгин има страхотна функция, сканира файловете на сайта за наличие на код на други хора и плъгинът се справя перфектно с тази задача.
Метод 3. Ако имате разумна поддръжка на хостинг и ви се струва, че има някой друг на сайта, помолете ги да сканират сайта ви с тяхната антивирусна програма. Техният доклад ще изброява всички заразени файлове. След това отворете тези файлове в текстов редактори премахване на зловреден код.
Метод 4. Ако можете да работите с SSH достъп до директорията на сайта, давайте, има собствена кухня.
важно! Без значение как търсите злонамерен код, преди да търсите и след това да изтриете кода, затворете достъпа до файловете на сайта (включете режима на поддръжка). Не забравяйте за кодовете, които сами се възстановяват, когато бъдат изтрити.
Търсете злонамерени кодове с помощта на функцията evalВ PHP има такава функция, наречена eval. Позволява ви да изпълните всеки код на неговия ред. Освен това кодът може да бъде криптиран. Именно поради кодирането злонамереният код изглежда като набор от букви и символи. Две популярни кодировки са:
Съответно в тези кодировки функцията eval изглежда така:
- eval(base64_decode(...))
- eval (str_rot13 (...)) //във вътрешни кавички, дълги, неясни набори от букви и символи..
Алгоритъмът за търсене на зловреден код с помощта на функцията eval е следният (работим от административния панел):
- отидете в редактора на сайта (Външен вид→Редактор).
- копирайте файла functions.php.
- отворете го в текстов редактор (например Notepad++) и потърсете думата: eval.
- Ако го намерите, не бързайте да изтриете нищо. Трябва да разберете какво „иска“ да бъде изпълнена тази функция. За да се разбере това, кодът трябва да бъде декодиран. За декодиране има онлайн инструменти, наречени декодери.
Декодерите работят просто. Копирате кода, който искате да дешифрирате, поставяте го в полето за декодер и декодирате.
По време на писането не намерих нито един криптиран код в WordPress. Намерих кода от уебсайта на Joomla. По принцип няма разлика в разбирането на декодирането. Да погледнем снимката.
Както можете да видите на снимката, функцията eval след декодиране не показва ужасен код, който застрашава сигурността на сайта, а криптирана връзка за авторски права от автора на шаблона. Той също може да бъде премахнат, но ще се върне след актуализиране на шаблона, ако не използвате .
В заключение бих искал да отбележа, за да не получа вирус на сайта:
- Зловреден код в WordPress често идва с теми и добавки. Затова не инсталирайте шаблони и добавки от „леви“, непроверени ресурси, а ако го направите, проверете ги внимателно за наличие на връзки и изпълнителни функции на PHP. След като инсталирате плъгини и теми от „незаконни“ ресурси, проверете сайта с антивирусен софтуер.
- Не забравяйте да правите периодични архиви и да извършвате други.
1. Разопаковайте го в папката на сайта.
2. следвайте връзката your_site/fscure/
3. всичко
1. Автоматично търсене на вируси по сигнатури.
2. Търсене на низ във файлове
3. Изтриване на файлове
4. Коригирайте зловреден код с помощта на регулярни изрази
Скриптът няма да свърши цялата работа вместо вас и изисква някои минимални познания. Препоръчително е да направите резервно копие на сайта преди работа.
Как работи?При първото стартиране той създава индекс от файлове. Файлът fscure.lst е в папката. Показва списък с файлове, съдържащи потенциално злонамерени подписи. „Потенциално злонамерен“ означава, че ще трябва да решите дали е вирус или не. Списъкът с подписи е конфигуриран във файла config.php, константа SCAN_SIGN. С настройките по подразбиране скриптът не проверява js файлове и не съдържа подписи за тях.
1. не създава индекса fscure.lst. Може да се случи, ако няма достатъчно права. Поставете 777 в папката fscure
2. 5xx грешка. Най-често "504 Gateway Time-out". Скриптът няма време за обработка и се срива поради изчакване. В този случай има няколко начина за ускоряване на работата му. Скоростта зависи главно от размера на индекса. Това е във файла fscure.lst. Обикновено файл до 5 MB може да бъде обработен в 90% от случаите. Ако няма време, можете да намалите "алчността" на скрипта, като забраните сканирането *.jpg;*.png;*.css в конфигурацията.
Във файла config.php.
// разделител; define("FILES_EXCLUDE","*.js;*.jpg;*.png;*.css");
3. Хостингът издава предупреждение като
(HEX)base64.inject.unclassed.6: u56565656: /var/www/u65656565/data/www/34535335353.ru/fscure/index.php
В сценария няма вирус и никога не е имало. И (HEX)base64.inject.unclassed.6 е конструкция като "echo base64_decode(", която често се среща и сама по себе си е доста безвредна. Въпреки това, в последна версия, замених този код.
Какво да направите, ако не сте успели да откриете вируса сами?Можете да се свържете с мен за помощ. Цените ми са скромни. Давам гаранция за работата си 6 месеца. Цената на работата е 800 рубли. за 1 сайт. Ако има няколко сайта в акаунта ви, цената се определя индивидуално.
Ако сте успели да направите всичко сами, ще бъда благодарен за финансова награда или връзка към моя сайт.
Моите реквизити:
yandex
41001151597934
webmoney
Z959263622242
R356304765617
E172301357329
Истината на живота е, че сайтът може да бъде хакнат рано или късно. След успешно използване на уязвимостта, хакерът се опитва да стъпи на сайта, като поставя хакерски уеб обвивки и програми за изтегляне в системни директории и въвежда задни врати в кода на скрипта и CMS базата данни.
Скенерите помагат за откриване на заредени уеб обвивки, задни вратички, фишинг страници, спам имейли и други видове злонамерени скриптове - всичко, което знаят и е предварително добавено към базата данни със сигнатури за злонамерен код. Някои скенери, като AI-BOLIT, имат набор от евристични правила, които могат да откриват файлове с подозрителен код, който често се използва в злонамерени скриптове, или файлове с подозрителни атрибути, които могат да бъдат изтеглени от хакери. Но, за съжаление, дори ако на хостинга се използват няколко скенера, може да има ситуации, при които някои хакерски скриптове остават неоткрити, което всъщност означава, че атакуващият остава със „задна врата“ и може да хакне сайта и да получи контрол над него пълен контролпо всяко време.
Съвременните зловреден софтуер и хакерски скриптове се различават значително от тези отпреди 4-5 години. Понастоящем разработчиците на зловреден код комбинират обфускация, криптиране, декомпозиране, външно зареждане на зловреден код и други трикове, за да заблудят антивирусния софтуер. Следователно вероятността да пропуснете нов зловреден софтуер е много по-висока от преди.
Какво може да се направи в този случай за по-ефективно откриване на вируси в сайта и хакерски скриптове в хостинга? Необходимо е да се използва интегриран подход: първоначално автоматизирано сканиране и по-нататъшен ръчен анализ. Тази статия ще обсъди опциите за откриване на зловреден код без скенери.
Първо, нека да разгледаме какво точно трябва да търсите по време на хакване.
Най-често при хакване файловете, които се изтеглят, са уеб шелове, бекдори, „качващи програми“, скриптове за спам съобщения, фишинг страници + манипулатори на форми, вратички и хакерски маркери (снимки от логото на хакерската група, текстови файловесъс „съобщение“ от хакери и др.)
Вторият най-популярен тип хостване на зловреден и хакерски код са инжекциите. Мобилните пренасочвания и пренасочванията за търсене могат да бъдат инжектирани в съществуващи .htaccess файлове на сайта, задните врати могат да бъдат инжектирани в php/perl скриптове, а вирусните javascript фрагменти или пренасочвания към ресурси на трети страни могат да бъдат вградени в .js и .html шаблони. Инжекциите са възможни и в медийни файлове, например.jpg или. Често злонамереният код се състои от няколко компонента: самият злонамерен код се съхранява в exif хедъра на jpg файла и се изпълнява с помощта на малък контролен скрипт, чийто код не изглежда подозрителен за скенера.
Базата данни е третата цел за хакер. Тук са възможни статични вмъквания, , , , които пренасочват посетителите към ресурси на трети страни, „шпионират“ ги или заразяват компютъра/мобилното устройство на посетителя в резултат на drive-by атака.
В допълнение, в много съвременни CMS (IPB, vBulletin, modx и т.н.) модулите за шаблони ви позволяват да изпълните php код, а самите шаблони се съхраняват в базата данни, така че PHP кодът на уеб обвивки и задни вратички може да бъде вграден директно в базата данни.
В резултат на неправилна или опасна конфигурация на услугите за кеширане, например memcached, са възможни инжекции в кеширани данни „в движение“. В някои случаи хакер може да инжектира злонамерен код в страниците на сайта, без директно да хакне сайта.
Ако хакерът е получил привилегирован (root) достъп до сървъра, той може да замени елементи от уеб сървъра или кеширащия сървър със заразени. Такъв уеб сървър, от една страна, ще осигури контрол върху сървъра чрез контролни команди, а от друга страна, от време на време ще въвежда динамични пренасочвания и зловреден код в страниците на сайта. Както в случай на инжектиране в услуга за кеширане, администраторът на сайта най-вероятно няма да може да открие факта, че сайтът е бил хакнат, тъй като всички файлове и базата данни ще бъдат оригинални. Тази опция е най-трудна за лечение.
Така че, нека приемем, че вече сте проверили файловете на хостинга и дъмпа на базата данни със скенери, но те не са открили нищо и вирусът все още е на страницата или мобилното пренасочване продължава да работи при отваряне на страници. Как да търсим по-нататък?
Ръчно търсенеВ unix е трудно да се намери по-ценна двойка команди за намиране на файлове и фрагменти от find / grep.
намирам . -име ‘*.ph*’ -mtime -7
ще намери всички файлове, които са били променени през последната седмица. Понякога хакерите „изкривяват“ датата на модификация на скриптовете, за да не открият нови скриптове. След това можете да търсите php/phtml файлове, чиито атрибути са променени
намирам . -име ‘*.ph*’ -време -7
Ако трябва да намерите промени в определен интервал от време, можете да използвате същата находка
намирам . -name ‘*.ph*’ -newermt 2015-01-25 ! -newermt 2015-01-30 -ls
За да търсите във файлове, grep е незаменим. Може да търси рекурсивно във файлове за определен фрагмент
grep -ril ‘stummann.net/steffen/google-analytics/jquery-1.6.5.min.js’ *
Когато хакнете сървър, е полезно да анализирате файлове, които имат зададен флаг guid/suid
намери / -perm -4000 -o -perm -2000
За да определите кои скриптове се изпълняват в момента и зареждат процесора на хостинга, можете да се обадите
lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ ( if(!str) ( str= ) else ( str=str””))END(print str)’` | grep vhosts | grep php
Използваме мозъка и ръцете си, за да анализираме файлове на хостингЗа WordPress има смисъл да се проверява директорията wp-content/uploads, директориите с теми за архивиране и кеширане за скриптове.
Например php, fyi.php, n2fd2.php. Файловете могат да се търсят
- - чрез нестандартни комбинации от знаци,
- - наличието на числа 3,4,5,6,7,8,9 в името на файла
Да речем, че имате уебсайт на WordPress или за тях файловете с разширения .py, .pl, .cgi, .so, .c, .phtml, .php3 няма да са съвсем обикновени. Ако бъдат открити скриптове и файлове с тези разширения, най-вероятно те ще бъдат хакерски инструменти. Процентът на фалшивите засичания е възможен, но не е висок.
Подозрението може да бъде причинено от файлове с атрибути, които се различават от съществуващите на сървъра. Например, всички .php скриптове са качени чрез ftp/sftp и имат потребителски потребител, а някои са създадени от потребителския www-data. Логично е да проверите най-новите. Или ако датата на създаване на скриптовия файл е по-ранна от датата на създаване на сайта.
За да ускорите търсенето на файлове с подозрителни атрибути, е удобно да използвате командата Unix find.
Ако има няколко хиляди .php или .html файла в директорията, това най-вероятно е врата.
Уеб сървър, имейл услуга и FTP регистрационни файлове могат да се използват за откриване на злонамерени и хакерски скриптове.
- Корелация на датата и часа на изпращане на писмото (което може да се намери от дневника пощенски сървърили служебна заглавка на спам писмо) със заявки от access_log помощ за идентифициране на метода на изпращане на спам или намиране на скрипта на изпращача на спам.
- Анализът на регистрационния файл за прехвърляне на FTP xferlog ви позволява да разберете кои файлове са били изтеглени по време на хакването, кои са били променени и от кого.
- В правилно конфигуриран регистрационен файл на пощенски сървър или в заглавката на услугата на спам имейл, ако PHP е правилно конфигуриран, ще има име или пълен път до изпращащия скрипт, което помага да се определи източникът на спам.
- Използвайки регистрационните файлове на проактивна защита на съвременни CMS и плъгини, можете да определите какви атаки са били извършени на сайта и дали CMS е успял да им устои.
- Използвайки access_log и error_log, можете да анализирате действията на хакер, ако знаете имената на скриптовете, които той е извикал, IP адреса или потребителския агент. В краен случай можете да видите POST заявките в деня, в който сайтът е бил хакнат и заразен. Често анализът ви позволява да намерите други хакерски скриптове, които са били изтеглени или вече са били на сървъра по време на хакването.
Много по-лесно е да анализирате хак и да търсите злонамерени скриптове на уебсайт, ако предварително се погрижите за неговата сигурност. Процедурата за проверка на целостта помага за навременното откриване на промени в хостинга и определяне на факта на хакване. Един от най-простите и ефективни начини– поставете сайта под система за контрол на версиите (git, svn, cvs). Ако конфигурирате правилно .gitignore, процесът на контрол на промените изглежда като извикване на командата git status, а търсенето на злонамерени скриптове и променени файлове изглежда като git diff.
Също така винаги ще имате резервно копиефайлове, към които можете да „върнете назад“ сайта за няколко секунди. Сървърните администратори и напредналите уеб администратори могат да използват inotify, tripwire, auditd и други механизми за проследяване на достъпа до файлове и директории и за наблюдение на промените във файловата система.
За съжаление, не винаги е възможно да конфигурирате система за контрол на версиите или услуги на трети страни на сървъра. В случай на споделен хостинг няма да е възможно да се инсталира система за контрол на версиите и системни услуги. Но няма значение, има доста готови решения за CMS. Можете да инсталирате плъгин или отделен скрипт на сайта, който ще проследява промените във файловете. Някои CMS вече прилагат ефективен мониторинг на промените и механизъм за проверка на целостта (например Bitrix, DLE). В краен случай, ако хостингът има ssh, можете да създадете референтен каст файлова системаекип
Промоция „2 на цената на 1“Промоцията е валидна до края на месеца.
Когато активирате услугата "Обект под наблюдение" за един уебсайт, вторият към същия акаунт се свързва безплатно. Следващи сайтове по сметката - 1500 рубли на месец за всеки сайт.