Katrs tīmekļa pārzinis, kurš savā vietnē atklāj ļaunprātīgu kodu, saņem daudz ne pārāk patīkamu pieredzi. Vietnes īpašnieks nekavējoties panikā mēģina atrast un iznīcināt vīrusu un saprast, kā šī nepatīkamā lieta var nokļūt viņa vietnē. Bet, kā liecina prakse, ļaunprātīga koda atrašana vietnē nav tik vienkārša. Galu galā vīrusu var reģistrēt vienā vai vairākos failos, no kuriem liels skaits veido vietni, neatkarīgi no tā, vai tas ir dzinējs, kas darbojas uz WordPress, vai parasta html vietne.

Vakar, pārbaudot savu e-pastu, es atklāju Google vēstuli, kurā teikts, ka noteiktu manas vietnes lapu apmeklēšana var izraisīt lietotāju datoru inficēšanos ar ļaunprātīgu programmatūru. Tagad lietotājiem, kuri piekļūst šīm lapām, izmantojot saites Google.ru meklēšanas rezultātos, tiek parādīta brīdinājuma lapa. Šī vietne netika pievienota manam Google tīmekļa pārziņa panelim, tāpēc es saņēmu paziņojumu pa e-pastu. Tīmekļa pārziņa panelī man bija vēl vairākas vietnes; kad es tur devos, es biju šausmās, redzot brīdinājumu par ļaunprātīgu kodu vēl divās savās vietnēs.
Tā rezultātā trīs no manām vietnēm apmetās ļaunprātīgs kods, kas man bija jāatrod un jāiznīcina. Viena no vietnēm darbojās uz WordPress, pārējās divas sastāvēja no parastajām PHP lapām.

Ir vērts atzīmēt, ka Google daudz ātrāk nekā Yandex reaģēja uz ļaunprātīga koda klātbūtni. Yandex tīmekļa pārziņa panelī brīdinājums par vīrusa klātbūtni vietnē neparādījās. Par laimi, dažu stundu laikā man izdevās atrast šo nelaimīgo vīrusu.

Parasti vietnes visbiežāk tiek inficētas ar tā saukto iframe vīrusu. Būtībā šis vīruss sastāv no koda... . Vīruss nozog visas Total Commander vai cita ftp klienta paroles. Manā gadījumā notika tas pats; iframe kods tika ierakstīts vairākos desmitos manas vietnes failu. Vietnē, kas darbojās uz WordPress, ļaunprātīgajam kodam izdevās nokārtot tikai footer.php.

Tātad, kā atrast ļaunprātīgu kodu, ja konstatējat, ka jūsu vietne ir inficēta:

1. Atveriet mitināšanas vadības paneli un nomainiet paroli. Ja jums ir vairākas vietnes, mēs to darām ar visām mūsu vietnēm.

2. Mainiet un dzēsiet paroles ftp klientā. Mēs nekad vairs neuzglabājam paroles ftp klientos; mēs tās vienmēr ievadām manuāli.

3. Varat doties uz hostingu, izmantojot ftp, un redzēt, kas ir mainījies jūsu failos. Kārtot failus pēc pēdējās modificēšanas datuma. Inficētajiem failiem jābūt jaunākajam un vienādam datumam. Atveriet šos failus un meklējiet iframe kodu, parasti šis kods atrodas pašā beigās. Būtībā ļaunprātīgs kods tiek rakstīts šādos failos: index.php, index.html un failos ar paplašinājumu .js. Bieži vien šī infekcija dzīvo starp tagiem... .
Pašu rakstītām vietnēm ļoti rūpīgi apskatiet visus skriptu failus un mapes; tur bieži tiek ierakstīts vīruss. Arī šī vīrusa iecienītākā dzīvotne ir vietnes pretkodos un reklāmas kodos.

4. Pārbaudiet, vai .htaccess failā nav aizdomīgu koda. Dažreiz šajā failā iekļūst ļaunprātīgs kods. Parasti programmas failos ir vairāki direktoriji, kuros var atrasties .htaccess fails. Pārbaudiet visus šos failus un pārliecinieties, vai kods ir "tīrs".

Kas attiecas uz WordPress failiem vai citiem CMS, parasti jebkura CMS sastāv no daudziem failiem un mapēm, un tajos ir ļoti grūti atrast ļaunprātīgu kodu. Piemēram, WordPress varu ieteikt spraudni TAC. Šis spraudnis pārbauda, ​​vai failos visos motīvu mapē esošajos motīvos nav trešās puses koda. Ja TAC atrod nevēlamu kodu, tas parādīs ceļu uz šo failu. Tādējādi ir iespējams aprēķināt maskēšanas vīrusu.
Lejupielādēt TAC spraudni: wordpress.org

Kopumā jums pastāvīgi jāpatur prātā visas darbības, ko veicāt ar vietnes failiem. Atcerieties, kas tika mainīts vai pievienots šim vai citam kodam.

Kad esat atradis un noņēmis ļaunprātīgo kodu, jums nav par ļaunu pārbaudīt, vai datorā nav vīrusu.
Un, ja Google vai Yandx jūsu vietni ir atzīmējusi kā inficētu, jums ir jānosūta atkārtotas pārbaudes pieprasījums, izmantojot tīmekļa pārziņa paneli. Parasti meklētājprogrammām ir jānoņem visi ierobežojumi jūsu vietnē 24 stundu laikā. Nepagāja ilgs laiks, līdz Google apstrādāja manu atkārtotās verifikācijas pieprasījumu, un pēc dažām stundām no manām vietnēm tika noņemti visi ierobežojumi.

Ir nepieciešams periodiski pārbaudīt, vai vietnē nav kaitīgu vīrusu; tas ir jebkura sevi cienoša tīmekļa pārziņa pirmais bauslis. Pat ja izmantojat tīru Twenty Eleven motīvu, tas nav fakts, ka laika gaitā tā arī nav inficējusies. Šī parādība var rasties (un visbiežāk notiek) tāpēc, ka pati WordPress dzinējs sākotnēji bija paredzēts publicēšanai tiešsaistē. Tāpēc nekad nav par ļaunu vēlreiz pārbaudīt un izveidot vietnes un datu bāzes kopiju.

Piemēram, es (protams, pēc kāda laika) izdarīju vienu secinājumu – vajag tikai labu hosteri, un problēmas ar dublēšanu pazudīs pašas no sevis. Man tagad nav jāveido datu bāzu vai vietņu dublējumkopijas — mitinātājs visu dara manā vietā un automātiski. Jebkurā laikā, ja vēlaties, varat pasūtīt jebkuras sava emuāra sadaļas kopiju (un ne tikai), lejupielādēt šo kopiju vai atjaunot emuāru tieši no vadības paneļa. Tas ir, man nav jālejupielādē dublējums, viss notiek automātiski - dublēšana, atjaunošana utt. Tas ir ērti, jo es varu izsekot ne tikai katru dienu, bet katru stundu, kad manā emuārā parādījās vīruss, un attiecīgi veikt pasākumus, lai to novērstu.

Sākšu ar labajām ziņām – vismaz divi manis izmantotie spraudņi dod labus rezultātus kaitīgā koda atklāšanā un lokalizēšanā. Tie ir AntiVirus un Exploit Scanner spraudņi. Jūs neticēsiet, cik daudz kaitīga koda ir jūsu emuārā! Bet neuztveriet visu iegūto informāciju pēc pārbaudes kā dogmu — daudzas no šiem spraudņiem atklātajām rindām patiesībā nenozīmē neko sliktu. Spraudnis tikai apšauba dažas rindiņas, tas arī viss. Lai par to pārliecinātos, manuāli pārbaudiet tos fragmentus, kurus spraudnis ir identificējis kā ļaunprātīgus. Tātad, pārbaudot ar AntiVirus spraudni, izrādījās, ka pat vienkāršu funkcijas get_cache_file () izsaukšanu spraudnis jau uzskata par aizdomīgu. Tāpēc visi pārbaudes rezultāti būs jāseko manuāli. Bet šī, piemēram, ir patiešām inficēta saite, un tā ir jānoņem:

Kā zināt, vai tas ir vīruss vai tikai kā tam vajadzētu būt? Viss ir ļoti vienkārši - salīdziniet savu tīro veidni (ja jums tāda ir) un salīdziniet to (pa failam) ar to, kas ir instalēta un kurā jau ir veiktas dažas izmaiņas. Nav nepieciešams tieši salīdzināt, vienkārši izmantojiet meklēšanu, lai pārbaudītu, vai jūsu tukšajā veidnē ir spraudņa iezīmētā rindiņa. Ja ir, noklikšķiniet uz pogas “Tas nav vīruss”, un šī rinda netiks ņemta vērā nākamajā skenēšanas laikā.

Un šeit ir piemērs otrajam mūsu pārbaudītajam spraudnim — Exploit Scanner

Kā redzat, šeit viss ir daudz vairāk atstāts novārtā. Man šis rezultāts bija šokējošs. Bet tas vēl nav viss. Spraudnim ir funkcija, ko sauc par pārbaudi. Tātad, ja to ieslēdzat, izrādās, ka emuāram vajadzētu sastāvēt no teksta un, ne vairāk, no pāris CSS tabulām. Tātad, man šķiet, ka spraudņa autors šeit nepārprotami pārcentās ar drošību. Labi, ka spraudnis vienkārši parāda iespējamos inficētos fragmentus un tos neattīra.

Izanalizējot visas dzeltenā krāsā iezīmētās rindas, varat viegli atklāt ļaunprātīgu programmatūru (ļaunprātīgu kodu), labi, izlemiet pats, ko ar to darīt tālāk. Tīrīšanas metode joprojām ir tāda pati - salīdziniet izvēlēto kodu ar vietnes dublējumu (skatiet) un, ja atrodat neatbilstības, noskaidrojiet, vai to izdarījāt pats, vai kāds to izdarīja jūsu vietā, kas nozīmē, ka tas vairs nav labi un var izrādīties vīruss. Pat WordPress izstrādātāji iesaka pārbaudīt, vai jūsu vietnē nav ļaunprātīga koda, izmantojot šo spraudni. Bet ir tādi nekaitīgi ieliktņi, piemēram, iframe pamattekstā, kurus spraudnis var arī identificēt kā inficētu kodu. Bet patiesībā bez šīm rindām šī jūsu emuāra sadaļa nedarbosies pareizi.

Kā ļaunprogrammatūra var iekļūt emuāru failos un kas tā pēc definīcijas ir? Vārds ļaunprogrammatūra burtiski nozīmē - ļaunprātīga programmatūra, no angļu ļaunprātīgas programmatūras. Šī ir jebkura programmatūra, ko var izmantot, lai nesankcionēti piekļūtu vietnei un tās saturam. Jūs droši vien iedomājaties, ka vidusmēra hakeram uzlauzt vietni nebūs grūti, it īpaši pēc reģistrācijas. Pēc tam varat modificēt emuāra saturu pēc vēlēšanās – tas būtu izglītojoši.

Ļaunprātīga programmatūra var tikt ievietota spraudņos, kurus instalējat no nezināma avota, un skriptos, kurus dažreiz arī uzņemat, nepārbaudot, bet uzticoties autoram. Visnekaitīgākā ļaunprogrammatūra ir saite uz jebkura vietnē instalētā moduļa autoru. Un, ja pats autors jūs nebrīdināja, ka šāda saite pastāv, tad tas ir tīrs vīruss.

Tātad, es testa emuārā instalēju jaunu motīvu, un pēc vienas nekaitīgas saites izdzēšanas uz kaut kādu vīriešu klubu vietnes pagrabā tā vairs neatvērās, un galvenajā lapā bija uzraksts - “Tu nedari. ir tiesības dzēst saites." Šeit ir bezmaksas tēma. Par to, kā izplēst tādas kreisas saites, var palasīt.

Jūsu datu bāzi var izmantot arī vīrusu saturoša koda palaišanai. Arī ziņojumiem vai komentāriem ļoti bieži tiek pievienotas surogātpasta saites. Šādas saites parasti tiek paslēptas, izmantojot CSS, lai nepieredzējis administrators tās neredzētu, bet meklētājs tās uzreiz atpazīs. Protams, šeit spēlē jebkurš antispam, piemēram, tas pats, kas ir licencēts, pārbaudīts un daudzkārt pārbaudīts. Hakeris var lejupielādēt failus ar attēlu failu paplašinājumiem un pievienot tos jūsu aktivizēto spraudņu kodiem. Tāpēc, pat ja failam nav php paplašinājuma, šajā failā esošo kodu var izpildīt.

Ir vēl viens vienkāršs rīks, ar kuru sāku iepazīties ar ļaunprogrammatūru - Theme Authenticity Checker (TAC) spraudnis. Šis ir viegls un diezgan efektīvs rīks, taču tas pārbauda tikai jūsu tēmas, pat neaktīvās. Tas neskar pārējos direktorijus, un tas ir tā mīnuss. Lūk, ko man sniedza pašreizējās tēmas pārbaude ar šo spraudni:

Divi brīdinājumi aktīvajā pavedienā, un nekas vairāk. Nav ļaunprātīga koda. Starp citu, šīs ir saites, kuras es ievietoju pats pēc Google ieteikuma - lai uzlabotu fragmenta kvalitāti (parādās personas dati, organizācijas adrese utt.). Bet tas ir tikai motīvu failu pārbaude, un jums būs jānoskaidro, kas tiek darīts citos direktorijos, izmantojot citus spraudņus vai tiešsaistes pakalpojumus. Piemēram, pakalpojums (tas ir patiešām uzticams), piemēram, Yandex Webmaster vai līdzīgs Google. To funkcija ir pārbaudīt, vai tīmekļa resursā nav ļaunprātīgu ieslēgumu, un viņi to dara efektīvi. Bet, ja jums ar to nepietiek, salīdziniet rezultātus ar citu pakalpojumu rezultātiem un izdariet secinājumus.

Kādu iemeslu dēļ es vēlos uzticēties Yandex, nevis spraudņiem. Vēl viens labs resurss ir http://2ip.ru/site-virus-scanner/. Pārbaudot vienu no saviem emuāriem, es atklāju šo:

Šeit varat arī pārbaudīt, vai atsevišķos failos nav ļaunprātīga koda, ja jums ir šaubas. Kopumā pakalpojums nav slikts.

No visa teiktā es izdarīšu šādus secinājumus:

1. Lai novērstu ļaunprātīga koda parādīšanos, vispirms ir jāizmanto pārbaudīti datņu lejupielādes pakalpojumi - spraudņi, motīvi utt.

2. Regulāri izveidojiet rezerves kopijas visam, kas atrodas vietnē – datubāzēm, saturam, administratora panelim, ieskaitot lejupielādētos trešo pušu failus.

3. Izmantojiet WordPress piedāvātos atjauninājumus. Vismaz tajos nav vīrusu, lai gan tie ne vienmēr ir funkcionāli pamatoti. Bet, atjauninot, jūs tādējādi noņemat visus iespējamos vīrusus.

4. Bez nožēlas izdzēsiet neizmantotos motīvus, spraudņus, attēlus un failus — tas ir vēl viens bēgšanas ceļš no ļaunprātīgas programmatūras, par kuru jūs, iespējams, pat nenojaušat.

5. Pareizi aizsargājiet ar paroli savas FTP piekļuves, piesakieties programmā PhpAdmin, administratora panelī un vispār, kur nevienam citam, izņemot jūs, nevajadzētu piekļūt.

6. Mēģiniet (pat ja jūsu vēlme ir tik liela kā debesis) nemainīt un nemainīt WordPress pamata failus – izstrādātāji zina labāk, kam un kā vajadzētu darboties.

7. Pēc vīrusu noteikšanas un noņemšanas nomainiet visas paroles. Domāju, ka tev būs liela vēlme uztaisīt paroli no 148 rakstzīmēm dažādos reģistros un ar speciālajām rakstzīmēm. Bet neaizraujieties ar pārāk sarežģītām parolēm, jūs varat tās pazaudēt, un tad jums būs viss jāatjauno, kas nav īpaši patīkami.

Visas šīs manis aprakstītās metodes un komponenti, kas palīdzēs jums atbrīvoties no vīrusiem, protams, ir bez maksas, protams, gandrīz paštaisīti, un, protams, tie nesniedz 100% garantiju, ka jūsu vietne tiks attīrīta no ļaunprātīgas. ieliktņi. Tāpēc, ja jums jau ir bažas par sava emuāra tīrīšanu, tad labāk ir sazināties ar profesionāļiem, piemēram, Sucuri servisu (http://sucuri.net/). Šeit jūsu vietne tiks rūpīgi uzraudzīta, sniegti praktiski ieteikumi, kas jums tiks nosūtīti vēstulē, un, ja jūs nevēlaties sakopt vietni pats, tad jūsu rīcībā ir speciālisti, kas izdarīs visu pēc iespējas labāk. ceļš 4 stundu laikā:

Nu lūk, šādi izskatās mans testa blogs pēc monitoringa, un tas neskatoties uz to, ka citas metodes (mājās audzētas) vienmēr uzrāda atšķirīgus rezultātus. Kā redzat, pārbaude ir bezmaksas, taču, ja tiek atklāti vīrusi, jums ir jāmaksā, lai tos noņemtu, nekaitējot vietnei (ja vien, protams, neesat guru emuāra attīrīšanā no ļaunprātīgas programmatūras).

Vēlreiz uzsveru – hakeri nesnauž, vīrusi tiek nemitīgi atjaunināti, un pašam nav iespējams visam izsekot. Visi jauninājumi ir tik rūpīgi slēpti un maskēti, ka tos atklāt var tikai komanda! profesionāļi, nevis pašmācības emuāru autors, kāds ir daudzi. Tāpēc ļaunprātīgas programmatūras manuāla noteikšana un noņemšana ir tik neefektīva: pieredzes trūkums nozīmē, ka nav rezultāta, taču ir vīruss. Izmantojiet licencētas programmas un uzticiet briesmu novēršanu profesionāļiem

Dzīves patiesība ir tāda, ka vietne agrāk vai vēlāk var tikt uzlauzta. Pēc veiksmīgas ievainojamības izmantošanas hakeris cenšas nostiprināties vietnē, ievietojot hakeru tīmekļa čaulas un lejupielādētājus sistēmas direktorijos un ieviešot aizmugures durvis skripta kodā un CMS datubāzē.

Ļaunprātīga koda noteikšanai failos un datu bāzēs ir specializēti risinājumi - pretvīrusi un skeneri mitināšanai. To nav daudz; populārie ir AI-BOLIT, MalDet (Linux Malware Detector) un ClamAv.

Skeneri palīdz atklāt ielādētās tīmekļa čaulas, aizmugures durvis, pikšķerēšanas lapas, surogātpasta e-pasta sūtītājus un cita veida ļaunprātīgus skriptus — visu, ko viņi zina un kas ir iepriekš pievienoti ļaunprātīga koda parakstu datubāzei. Dažiem skeneriem, piemēram, AI-BOLIT, ir virkne heiristisku noteikumu, kas var noteikt failus ar aizdomīgu kodu, kas bieži tiek izmantots ļaunprātīgos skriptos, vai failus ar aizdomīgiem atribūtiem, kurus var lejupielādēt hakeri. Bet diemžēl pat tad, ja hostingā tiek izmantoti vairāki skeneri, var būt situācijas, kad daži hakeru skripti paliek neatklāti, kas faktiski nozīmē, ka uzbrucējam ir atstātas “sētas durvis” un viņš var uzlauzt vietni un iegūt pilnīgu kontroli pār to. jebkurā laikā.mirklī.

Mūsdienu ļaunprātīgās programmatūras un hakeru skripti ievērojami atšķiras no tiem, kas bija pirms 4–5 gadiem. Pašlaik ļaunprātīga koda izstrādātāji apvieno apmulsināšanu, šifrēšanu, sadalīšanu, ļaunprātīga koda ārēju ielādi un citus trikus, lai apmānītu pretvīrusu programmatūru. Tāpēc iespēja pazust jaunai ļaunprogrammatūrai ir daudz lielāka nekā iepriekš.

Ko šajā gadījumā var darīt, lai efektīvāk atklātu vīrusus vietnē un hakeru skriptus mitināšanā? Ir jāizmanto integrēta pieeja: sākotnējā automatizētā skenēšana un turpmākā manuālā analīze. Šajā rakstā tiks aplūkotas iespējas, kā noteikt ļaunprātīgu kodu bez skeneriem.

Vispirms apskatīsim, kas tieši jums vajadzētu meklēt uzlaušanas laikā.

  • Hakeru skripti.
    Visbiežāk uzlaušanas laikā tiek lejupielādēti faili: tīmekļa čaulas, aizmugures durvis, “augšupielādētāji”, surogātpasta sūtījumu skripti, pikšķerēšanas lapas + veidlapu apstrādātāji, durvju ailes un uzlaušanas marķieru faili (attēli no hakeru grupas logotipa, teksta faili ar “ziņojumu” no hakeriem utt.)
  • Injekcijas (koda injekcijas) esošajās .
    Otrs populārākais ļaunprātīgā un hakeru koda mitināšanas veids ir injekcijas. Mobilo un meklēšanas novirzīšanu var ievadīt esošajos vietņu .htaccess failos, aizmugures durvis var ievadīt php/perl skriptos, un vīrusu JavaScript fragmentus vai novirzīšanu uz trešās puses resursiem var iegult .js un .html veidnēs. Injekcijas iespējamas arī multivides failos, piemēram.jpg vai. Bieži vien ļaunprātīgais kods sastāv no vairākiem komponentiem: pats ļaunprātīgais kods tiek saglabāts jpg faila exif galvenē un tiek izpildīts, izmantojot nelielu vadības skriptu, kura kods skenerim nešķiet aizdomīgs.
  • Datu bāzes injekcijas.
    Datubāze ir trešais hakeru mērķis. Šeit ir iespējami statiski ieliktņi , , , kas novirza apmeklētājus uz trešo pušu resursiem, “izspiego” tos vai inficē apmeklētāja datoru/mobilo ierīci drive-by uzbrukuma rezultātā.
    Turklāt daudzās mūsdienu CMS (IPB, vBulletin, modx u.c.) veidņu dzinēji ļauj izpildīt PHP kodu, un pašas veidnes tiek glabātas datu bāzē, tāpēc tīmekļa čaulu un aizmugures durvju PHP kodu var veidot tieši datubāzē.
  • Injekcijas kešatmiņas pakalpojumos.
    Nepareizas vai nedrošas kešatmiņas pakalpojumu konfigurācijas rezultātā, piemēram, memcached, ir iespējamas injekcijas kešatmiņā saglabātajos datos “lidojumā”. Dažos gadījumos hakeris var ievadīt ļaunprātīgu kodu vietnes lapās, tieši neuzlaužot vietni.
  • Injekcijas/iniciētie elementi servera sistēmas komponentos.
    Ja hakeris ir ieguvis priviliģētu (saknes) piekļuvi serverim, viņš var aizstāt tīmekļa servera vai kešatmiņas servera elementus ar inficētiem. Šāds tīmekļa serveris, no vienas puses, nodrošinās kontroli pār serveri, izmantojot vadības komandas, un, no otras puses, ik pa laikam vietnes lapās ieviesīs dinamisku novirzīšanu un ļaunprātīgu kodu. Tāpat kā injekcijas gadījumā kešatmiņas pakalpojumā, vietnes administrators, visticamāk, nevarēs atklāt faktu, ka vietne ir uzlauzta, jo visi faili un datubāze būs oriģināli. Šo iespēju ir visgrūtāk ārstēt.
  • Tātad, pieņemsim, ka jūs jau esat pārbaudījis failus mitināšanā un datu bāzes izgāztuvē ar skeneriem, taču viņi neko neatrada, un vīruss joprojām atrodas lapā vai arī mobilā novirzīšana turpina darboties, atverot lapas. Kā meklēt tālāk?

    Manuālā meklēšana

    Operētājsistēmā unix ir grūti atrast vērtīgāku komandu pāri failu un fragmentu atrašanai nekā find / grep.

    atrast. -nosaukums '*.ph*' -mtime -7

    atradīs visus failus, kas ir mainīti pēdējā nedēļā. Dažreiz hakeri “sagriež” skriptu modifikācijas datumu, lai neatklātu jaunus skriptus. Pēc tam varat meklēt php/phtml failus, kuru atribūti ir mainījušies

    atrast. -nosaukums '*.ph*' -сtime -7

    Ja jums ir jāatrod izmaiņas noteiktā laika intervālā, varat izmantot to pašu atrašanu

    atrast. -name ‘*.ph*’ -newermt 2015-01-25 ! -newermt 2015-01-30 -ls

    Lai meklētu failus, grep ir neaizstājams. Tas var rekursīvi meklēt noteikta fragmenta failos

    grep -ril ‘stummann.net/steffen/google-analytics/jquery-1.6.5.min.js’ *

    Uzlaužot serveri, ir lietderīgi analizēt failus, kuriem ir iestatīts guid/suid karodziņš

    atrast / -perm -4000 -o -perm -2000

    Lai noteiktu, kuri skripti pašlaik darbojas un ielādē mitināšanas centrālo procesoru, varat piezvanīt

    lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ ( if(!str) ( str=$1 ) else ( str=str”,”$1))END(print str)’` | grep vhosts | grep php

    Mēs izmantojam savas smadzenes un rokas, lai analizētu mitināšanas failus
  • Mēs ejam uz augšupielādes, kešatmiņas, tmp, dublējuma, žurnāla, attēlu direktorijiem, kuros kaut kas ir ierakstīts ar skriptiem vai augšupielādēts lietotāju, un skenējam saturu, lai atrastu jaunus failus ar aizdomīgiem paplašinājumiem. Piemēram, joomla var pārbaudīt .php failus direktorijā images:find ./images -name ‘*.ph*’.Visticamāk, ja kaut kas tiks atrasts, tā būs ļaunprogrammatūra.
    WordPress gadījumā ir lietderīgi pārbaudīt skriptus wp-content/uploads direktorijā, dublējumkopiju un kešatmiņas motīvu direktorijās.
  • Meklē failus ar dīvainiem nosaukumiem
    Piemēram, php, fyi.php, n2fd2.php. Failus var meklēt
    • ar nestandarta rakstzīmju kombinācijām,
    • skaitļu 3,4,5,6,7,8,9 klātbūtne failu nosaukumos
  • Mēs meklējam failus ar neparastiem paplašinājumiem
    Pieņemsim, ka jums ir vietne pakalpojumā WordPress vai tiem faili ar paplašinājumiem .py, .pl, .cgi, .so, .c, .phtml, .php3 nebūs gluži parasti. Ja tiek atklāti kādi skripti un faili ar šiem paplašinājumiem, visticamāk, tie būs hakeru rīki. Nepatiesu atklāšanu procentuālais daudzums ir iespējams, taču tas nav augsts.
  • Meklējam failus ar nestandarta atribūtiem vai izveides datumu
    Aizdomas var izraisīt faili ar atribūtiem, kas atšķiras no serverī esošajiem. Piemēram, visi .php skripti tika augšupielādēti, izmantojot ftp/sftp, un tiem ir lietotāja lietotājs, un dažus ir izveidojis lietotājs www-data. Ir jēga pārbaudīt jaunākos. Vai arī skripta faila izveides datums ir agrāks par vietnes izveides datumu.
    Lai paātrinātu failu ar aizdomīgiem atribūtiem meklēšanu, ir ērti izmantot Unix find komandu.
  • Mēs meklējam durvis, izmantojot lielu skaitu .html vai .php failu
    Ja direktorijā ir vairāki tūkstoši .php vai .html failu, visticamāk, tā ir durvju aile.
  • Žurnāli, lai palīdzētu

    Tīmekļa serveri, e-pasta pakalpojumu un FTP žurnālus var izmantot, lai atklātu ļaunprātīgus un hakeru skriptus.

    • Vēstules nosūtīšanas datuma un laika saistīšana (ko var atrast pasta servera žurnālā vai surogātpasta vēstules pakalpojuma galvenē) ar pieprasījumiem no access_log palīdz identificēt surogātpasta sūtīšanas metodi vai atrast surogātpasta sūtītāja skriptu.
    • FTP xferlog pārsūtīšanas žurnāla analīze ļauj saprast, kuri faili tika lejupielādēti uzlaušanas laikā, kuri tika mainīti un kurš to veica.
    • Pareizi konfigurētā pasta servera žurnālā vai surogātpasta e-pasta pakalpojuma galvenē, ja PHP ir pareizi konfigurēts, tiks norādīts sūtīšanas skripta nosaukums vai pilns ceļš, kas palīdz noteikt surogātpasta avotu.
    • Izmantojot mūsdienu CMS un spraudņu proaktīvās aizsardzības žurnālus, varat noteikt, kādi uzbrukumi tika veikti vietnē un vai CMS spēja tiem pretoties.
    • Izmantojot access_log un error_log, varat analizēt hakera darbības, ja zināt viņa izsaukto skriptu nosaukumus, IP adresi vai lietotāja aģentu. Kā pēdējo līdzekli varat skatīt POST pieprasījumus dienā, kad vietne tika uzlauzta un inficēta. Bieži vien analīze ļauj atrast citus hakeru skriptus, kas tika lejupielādēti vai jau atradās serverī uzlaušanas brīdī.
    Integritātes kontrole

    Ir daudz vieglāk analizēt uzlaušanu un vietnē meklēt ļaunprātīgus skriptus, ja iepriekš parūpējaties par tās drošību. Integritātes pārbaudes procedūra palīdz savlaicīgi atklāt izmaiņas hostingā un noteikt uzlaušanas faktu. Viens no vienkāršākajiem un efektīvākajiem veidiem ir ievietot vietni zem versiju kontroles sistēmas (git, svn, cvs). Ja pareizi konfigurējat .gitignore, izmaiņu kontroles process izskatās kā git statusa komandas izsaukšana, bet ļaunprātīgu skriptu un mainīto failu meklēšana izskatās kā git diff.

    Turklāt jums vienmēr būs failu dublējumkopijas, uz kurām dažu sekunžu laikā varat “atgriezt” vietni. Serveru administratori un pieredzējuši tīmekļa pārziņi var izmantot inotify, tripwire, auditd un citus mehānismus, lai izsekotu piekļuvi failiem un direktorijiem un pārraudzītu izmaiņas failu sistēmā.

    Diemžēl ne vienmēr serverī ir iespējams konfigurēt versiju kontroles sistēmu vai trešās puses pakalpojumus. Dalītā hostinga gadījumā nebūs iespējams instalēt versiju kontroles sistēmu un sistēmas pakalpojumus. Bet tas nav svarīgi, CMS ir diezgan daudz gatavu risinājumu. Vietnē varat instalēt spraudni vai atsevišķu skriptu, kas izsekos failos veiktās izmaiņas. Dažas CMS jau ievieš efektīvu izmaiņu uzraudzību un integritātes pārbaudes mehānismu (piemēram, Bitrix, DLE). Kā pēdējo līdzekli, ja mitināšanai ir ssh, varat izveidot failu sistēmas atsauces momentuzņēmumu ar komandu

    ls -lahR > oriģinālais_fails.txt

    un, ja rodas problēmas, izveidojiet jaunu momentuzņēmumu citā failā un pēc tam salīdziniet tos programmā WinDiff, AraxisMerge Tool vai BeyondCompare.

    Epilogs

    Vairumā gadījumu pretvīrusu programmatūras izstrādātāji un skeneri netiek līdzi ļaunprogrammatūras izstrādātājiem, tāpēc, diagnosticējot un ārstējot vietnes, jūs nevarat paļauties tikai uz automatizētiem programmatūras risinājumiem un skriptiem. Izmantojot heiristisko pieeju, bagātīgos operētājsistēmas rīkus un CMS iespējas, jūs varat atrast ļaunprātīgu kodu, ko antivīrusi un skeneri nevarēja atklāt. Izmantojot manuālo analīzi, vietnes apstrādes process kļūst labāks un efektīvāks.

    Ļaunprātīgs kods nokļūst vietnē nolaidības vai ļaunprātīga nolūka dēļ. Ļaunprātīga koda mērķi ir dažādi, taču būtībā tas kaitē vai traucē normālu vietnes darbību. Lai noņemtu ļaunprātīgo kodu pakalpojumā WordPress, vispirms tas ir jāatrod.

    Kas ir ļaunprātīgs kods WordPress vietnē?

    Pēc izskata ļaunprātīgais kods visbiežāk ir latīņu alfabēta burtu un simbolu kopums. Faktiski tas ir šifrēts kods, ar kuru tiek veikta šī vai cita darbība. Darbības var būt ļoti dažādas, piemēram, jūsu jaunās ziņas nekavējoties tiek publicētas trešās puses resursā. Tas būtībā ir jūsu satura zagšana. Kodiem ir arī citi “uzdevumi”, piemēram, izejošo saišu ievietošana vietnes lapās. Uzdevumi var būt vismodernākie, taču viens ir skaidrs: ļaunprātīgie kodi ir jāmeklē un jānoņem.

    Kā ļaunprātīgi kodi nokļūst vietnē?

    Ir arī daudz nepilnību, lai kodi varētu iekļūt vietnē.

  • Visbiežāk tie ir motīvi un spraudņi, kas lejupielādēti no “kreisajiem” resursiem. Lai gan šāda iespiešanās ir raksturīga tā sauktajām šifrētajām saitēm. Skaidrs kods nenonāk vietnē.
  • Visbīstamākā ir vīrusa iekļūšana, kad vietne tiek uzlauzta. Parasti vietnes uzlaušana ļauj ievietot ne tikai “vienreizēju kodu”, bet arī instalēt kodu ar ļaunprātīgas programmatūras elementiem (ļaunprātīga programma). Piemēram, jūs atrodat kodu un izdzēšat to, bet pēc kāda laika tas tiek atjaunots. Atkal ir daudz iespēju.
  • Ļaujiet man uzreiz atzīmēt, ka cīnīties ar šādiem vīrusiem ir grūti, un manuāla noņemšana prasa zināšanas. Problēmai ir trīs risinājumi: pirmais risinājums ir izmantot pretvīrusu spraudņus, piemēram, spraudni ar nosaukumu BulletProof Security.

    Šis risinājums dod labus rezultātus, taču prasa laiku, lai arī nedaudz. Ir radikālāks risinājums, lai atbrīvotos no ļaunprātīgiem kodiem, tostarp sarežģītiem vīrusiem, proti, atjaunot vietni no iepriekš izveidotajām vietnes rezerves kopijām.

    Tā kā labs tīmekļa pārzinis to dara periodiski, varat bez problēmām atgriezties pie neinficētas versijas. Trešais risinājums ir bagātiem un slinkiem, vienkārši sazinieties ar specializētu “biroju” vai individuālu speciālistu.

    Kā pakalpojumā WordPress meklēt ļaunprātīgu kodu

    Ir svarīgi saprast, ka WordPress ļaunprātīgs kods var atrasties jebkurā vietnes failā un ne vienmēr darba motīvā. Viņš var nākt klajā ar spraudni, motīvu vai “pašdarinātu” kodu, kas ņemts no interneta. Ir vairāki veidi, kā mēģināt atrast ļaunprātīgu kodu.

    1. metode: manuāli. Jūs ritiniet cauri visiem vietnes failiem un salīdziniet tos ar neinficētas dublējuma failiem. Ja atrodat kāda cita kodu, izdzēsiet to.

    2. metode: WordPress drošības spraudņu izmantošana. Piemēram, . Šim spraudnim ir lieliska funkcija, kas skenē vietnes failus, lai noteiktu citu personu koda klātbūtni, un spraudnis lieliski tiek galā ar šo uzdevumu.

    3. metode. Ja jums ir saprātīgs hostinga atbalsts un jums šķiet, ka vietnē ir kāds cits, palūdziet viņam skenēt jūsu vietni ar savu pretvīrusu. Viņu ziņojumā būs uzskaitīti visi inficētie faili. Pēc tam atveriet šos failus teksta redaktorā un noņemiet ļaunprātīgo kodu.

    4. metode. Ja varat strādāt ar SSH piekļuvi vietnes direktorijam, turpiniet, tam ir sava virtuve.

    Svarīgs! Neatkarīgi no tā, kā meklējat ļaunprātīgu kodu, pirms koda meklēšanas un pēc tam dzēšanas aizveriet piekļuvi vietnes failiem (ieslēdziet apkopes režīmu). Atcerieties par kodiem, kas paši tiek atjaunoti, kad tie tiek dzēsti.

    Meklējiet ļaunprātīgus kodus, izmantojot funkciju eval

    PHP ir tāda funkcija, ko sauc par eval. Tas ļauj izpildīt jebkuru kodu savā rindā. Turklāt kodu var šifrēt. Kodējuma dēļ ļaunprātīgais kods izskatās kā burtu un simbolu kopa. Divi populāri kodējumi ir:

  • Base64;
  • Rot13.
  • Attiecīgi šajos kodējumos eval funkcija izskatās šādi:

    • eval(base64_decode(...))
    • eval (str_rot13 (...)) //iekšējās pēdiņās, garas, neskaidras burtu un simbolu kopas..

    Ļaunprātīga koda meklēšanas algoritms, izmantojot funkciju eval, ir šāds (mēs strādājam no administratīvā paneļa):

    • dodieties uz vietnes redaktoru (Izskats→Redaktors).
    • kopējiet failu functions.php.
    • atveriet to teksta redaktorā (piemēram, Notepad++) un meklējiet vārdu: eval.
    • Ja atrodat, nesteidzieties neko dzēst. Jums ir jāsaprot, ko šī funkcija “lūdz” izpildīt. Lai to saprastu, kods ir jāatšifrē. Dekodēšanai ir tiešsaistes rīki, ko sauc par dekodētājiem.
    Dekoderi/kodētāji

    Dekoderi darbojas vienkārši. Jūs nokopējat kodu, kuru vēlaties atšifrēt, ielīmējiet to dekodētāja laukā un atšifrējiet.

    Rakstīšanas laikā es neatradu WordPress nevienu šifrētu kodu. Es atradu kodu Joomla vietnē. Principā dekodēšanas izpratnē nav nekādas atšķirības. Apskatīsim fotoattēlu.

    Kā redzams fotoattēlā, eval funkcija pēc dekodēšanas neparādīja briesmīgu kodu, kas apdraud vietnes drošību, bet gan šifrētu autortiesību saiti no veidnes autora. To var arī noņemt, taču pēc veidnes atjaunināšanas tas atgriezīsies, ja neizmantojat .

    Noslēgumā es vēlos atzīmēt, lai vietnē neiekļūtu vīruss:

    • Ļaunprātīgs kods pakalpojumā WordPress bieži nāk ar motīviem un spraudņiem. Tāpēc neinstalējiet veidnes un spraudņus no “kreisajiem”, nepārbaudītajiem resursiem, un, ja to darāt, rūpīgi pārbaudiet, vai tajos nav saišu un PHP izpildfunkciju. Pēc spraudņu un motīvu instalēšanas no “nelegālajiem” resursiem pārbaudiet vietni, izmantojot pretvīrusu programmatūru.
    • Noteikti veiciet periodiskas dublējumkopijas un veiciet citus.

    Šo ziņu izraisīja vairāku vietņu īpašnieku jautājumi par to, kā no viņu vietnes noņemt ļaunprātīgu kodu. Tālāk es mēģināšu aprakstīt vienkāršu darbību secību, kas neprasa nekādas īpašas zināšanas un galvenokārt noderēs iesācējiem interneta resursu administrēšanā.

    Kā zināt, vai vietne ir kļuvusi par upuri uzbrukumam, kura laikā tai tika trāpīts ļaunprātīgs kods? Pirmā un vienkāršākā lieta ir tā, ka vietne ir pārtraukusi darboties vai neizskatās tā, kā vajadzētu izskatīties “veselīgam” resursam. Tas var izpausties kā nevēlama satura parādīšanās vai jūsu satura pazušana, lapas netiek ielādētas vai tiek ielādētas ar kļūdām. Turklāt, ja jūsu vietne ir pievienota Yandex vai Google tīmekļa pārzinim, jūs, visticamāk, saņemsit paziņojumu no šīm sistēmām par ļaunprātīgu kodu. Dažos gadījumos par ievainojamību varat uzzināt savā pārlūkprogrammā (ekrānuzņēmums no Google Chrome).

    Šādos gadījumos ir ļoti nevēlami mēģināt atvērt lapu tālāk.

    Mēs vietnē meklējam ļaunprātīgu kodu

    Mēs nesapratīsim tās personas motīvus, kura jūsu vietnē instalēja ļaunprātīgu kodu, un vēl jo mazāk to meklēsim. Mūsu galvenais mērķis ir atrast "sliktu" kodu un noņemt to. Pirmkārt, jums ir jāskenē resurss, lai atklātu visas “inficētās” lapas. Tas ļauj sašaurināt meklēšanu. Piemēram, ļaunprātīgu kodu var ievietot Javascript skripta veidā atsevišķā lapā, piemēram, ziņas saturā vai komentārā. Šajā gadījumā problēmu var atrisināt ar vietnes administratora starpniecību, noņemot šādu kodu no satura/komentāra. Pretējā gadījumā jums tas ir jāmeklē sava resursa avota kodā.

    Lai pārbaudītu vietnes ievainojamības, varat izmantot vietni https://sitecheck.sucuri.net. Rezultātā var redzēt tālāk norādīto.

    Kā redzat ekrānuzņēmumā, “sliktais” skripts tika atrasts vairākās vietnes lapās, tāpēc jums tas būs jāmeklē avota kodā.

    Vietnes avota kodam var piekļūt vairākos veidos:

  • Vienkāršākais veids ir caur vietnes administratora paneli. Programmā Wordpress, piemēram, "Izskats" -> "Redaktors". Šī metode nav gluži ērta, jo trūkst failu satura meklēšanas, tāpēc jums ir ļoti rūpīgi jāizpēta tie visi atsevišķi un jāmeklē “slikts” skripts.
  • Daudzi emuāri, korporatīvie resursi un tiešsaistes veikali atrodas serveros, kuriem var piekļūt, izmantojot mitināšanas vadības paneli. Bieži vien šis panelis ir cPanel. Lai piekļūtu, jums jāzina savs pieteikumvārds un parole. Tie parasti tiek nosūtīti personai, kas veic darījumu, pērkot hostingu. Pēc pieteikšanās vadības panelī, izmantojot “Failu pārvaldnieku”, varat skatīt absolūti visus avota failus un mēģināt atrast tos, kuros ir atklātais ļaunprātīgais skripts.
  • Ērtākais veids ir caur FTP klientu. Ja “sazināties” ar savu resursu, izmantojot FTP klientu, varat viegli veikt meklēšanu avota failu saturā.
  • Nemēģiniet atrast ļaunprātīgu kodu savas vietnes avota failos, pilnībā aizstājot to meklēšanā. Atlasiet tās unikālo daļu, piemēram, mūsu gadījumā, piemēram, googleleadservices.cn, un atkārtojiet meklēšanu vairākas reizes.

    Ļaunprātīga koda noņemšana

    Kad tiek atklāts ļaunprātīgs kods, tas vienkārši ir jānoņem. Mūsu gadījumā vietne darbojās Joomla, un “sliktais” skripts tika ievietots saknes direktorijā index.php. Tāpēc ievainojamība tika atklāta vairākās lapās vienlaikus, jo šis index.php tiek izmantots, veidojot visas resursa lapas.

    Uzreiz pēc ļaunprātīgā koda noņemšanas iesaku vietnes vadības panelī nomainīt visu lietotāju paroles, kā arī mēģināt noskaidrot citu administratoru pieredzi, kuri ir saskārušies ar šo problēmu. Var būt nepieciešams veikt dažus papildu pasākumus.

    Profilakse

    Profilakse vienmēr ir labāka nekā ārstēšana, tāpēc es iesaku:

  • Izmantojiet “labas” paroles visiem vietnes lietotājiem (garas, ar cipariem, lielajiem un mazajiem burtiem).
  • Uztveriet nopietni un filtrējiet saturu, ko vietnē neesat ģenerējis jūs (viesu ziņas, komentāri).
  • Negaidiet paziņojumus, bet periodiski pārbaudiet vietni, lai atrastu ievainojamības.
  • Savlaicīgi atjaunināt satura pārvaldības sistēmu (Wordpress, Joomla, Drupal, ...).
  • Lūdzu, atstājiet visus jautājumus vai komentārus komentāros.