WP-VCD ehk eelpaigaldatud pahavaraga “tasuta” pluginad ja teemad

Peeter Marvet
Jaga:

Hetkel on meie juures üle 70 WordPressi-saidi, mis omaniku tahte vastaselt külastajaid erinevatele saitidele edasi suunavad. Põhjuseks “tasuta kohast” saadud tasuline plugin või teema … millega käib kaasas pahavara ehk täpsemalt öeldes tagauks.

Külastaja vaade

Toimub see kõik umbes nii:

  • külastaja saabub otsimootori kaudu veebilehele;
  • veebilehe koodi sokutatakse viited mujal asuvatele skriptidele;
  • kasutaja brauseris käivitatud skript jääb ootama esimest klikki…;
  • … ja avab uue brauserisaki, kus kuvatakse reklaami;
  • ühtlasi salvestatakse brauserisse küpsised, mis mõeldud reklaami efektiivsuse mõõtmiseks ja tagavad ka selle, et ta saaks soovitud veebis mõnda aega segamatult klikkida.

Reklaamini jõuab kasutaja läbi mitme edasisuunamise, näiteks minule pakuti testis laen[.]ee ja olybet[.]ee saite, esimeseks sammuks mõlemal puhul cobalten[.]com:

Veebiomaniku vaade

Minule monitooringus silma hakanud saitide puhul on pahavaraks WP-VCD, mille paigaldus-skript sisaldub enamasti class.plugin-modules.php või class.theme-modules.php nimelises failis, mis on lisatud “nullitud” (nulled) ehk sisuliselt piraaditud tasulisele pluginale või teemale:

Ääremärkus: kuna WordPress ja teemad on GPL litsentsiga vaba tarkvara, siis juriidiliselt ei ole nende kopeerimine piraatlus sest ainus asi mille eest raha küsitakse on uuendused, teemade puhul ka eraldi autoriõiguse all olev kujundus. Aga kuna antud puhul toimub sinu veebi ülevõtmine piraatide poolt, siis otsustasin kasutada nimelt seda sõna.

Golce & Dabbana? Roolex? Sir! I haz very good price, only original fakes!

See kood korraldab pahavara laiema paigalduse, nii näeb see välja pahavaraga WPML puhul:

2018-04-08 14:43 - ./wp-content/plugins/sitepress-multilingual-cms/inc/class.theme-modules.php
2018-04-08 14:43 - ./wp-content/themes/Avada-Child-Theme/functions.php
2018-04-08 14:43 - ./wp-content/themes/Avada/functions.php
2018-04-08 14:43 - ./wp-content/themes/twentyfifteen/functions.php
2018-04-08 14:43 - ./wp-content/themes/twentyseventeen/functions.php
2018-04-08 14:43 - ./wp-content/themes/twentysixteen/functions.php
2018-04-08 14:43 - ./wp-includes/wp-vcd.php

Ehk siis /wp-includes/wp-vcd.php saab oma sisuks paigalduskoodi ning selle käivitamiseks vajalik include läheb WP osaks oleva /wp-includes/post.php algusesse … ning class.theme-modules.php tehakse kenasti tühjaks, sealt ei tohiks hiljem vaadates enam midagi kahtlast märgata.

Lisaks paigaldatakse kõigi leitud teemade functions.php faili kood, mis võimaldab edaspidi lihtsalt muuta command & control serveri domeeninime … ning saadetakse ülevõetud serveri andmed peremehele:

if (isset($_REQUEST['action']) && isset($_REQUEST['password']) && ($_REQUEST['password'] == 'xxxxxxxxx'))
  {
$div_code_name="wp_vcd";
    switch ($_REQUEST['action'])
      {
        case 'change_domain';
          if (isset($_REQUEST['newdomain']))

Edaspidi märkab vaid kahe faili muutumist:

2018-07-28 00:07 - ./wp-includes/wp-tmp.php

2018-07-19 11:41 - ./wp-includes/wp-feed.php

wp-tmp.php failis hoitakse koodi mida peremees veebis kuvada soovib, nt:



… ning wp-feed.php sisaldab adminnina sisse loginud kasutajate IP-aadresse – nii väldib pahavara seda, et saidi tegelik omanik kogemata reklaami näeks (lisaks läheb brauserisse ka vastav küpsis):

146.255.1xx.xxx
146.255.1xx.xxx
95.161.2xx.xxx
194.150.6x.xxx
146.255.1xx.xx

Ja kui siis veebi tuleb külastaja mõnest otsimootorist:

$ref = $_SERVER['HTTP_REFERER'];
$SE = array('google.','/search?','images.google.', 'web.info.com', 'search.','yahoo.','yandex','msn.','baidu','bing.','doubleclick.net','googleweblight.com');
foreach ($SE as $source) {
  if (strpos($ref,$source)!==false) {
    setcookie("sevisitor", 1, time()+120, COOKIEPATH, COOKIE_DOMAIN); 
	$sevisitor=true;
  }
}

… pannakse skriptid lehesappa ning märgitakse ta kaheks tunniks “ära reklaamituks”.

Kuidas kontrollida?

Kuna pahad skriptid saavad kuvatud ainult juhul, kui tuled otsimootorist ja ei ole varem sama IP või brauseriga olnud adminnina sisse logitud… siis:

  • kui oled adminnina varem sisse loginud – siis kasuta mobiiltelefoni internetti või mõnda wifi-võrku
  • ava Google Chromes inkognito aken, tee hiirega paremklõps ja vali “Inspekteeri” (pärast võib ka see liigutus reklaami avada)
  • googelda oma domeeni, siirdu lehele
  • vaata inspektori Elements vaates lehe jaluses olevaid skripte… või proovi klikkida oma veebis suvalisse kohta ja vaata, kas satud kuhugi, kuhu ei plaaninud sattuda

Loomulikult võib ka vaadata FTPga serverisse – kui leiad /wp-includes/wp-vcd.php faili, siis on tegemist täpselt siinkirjeldatud pahavaraga.

Koristaja vaade

Kuna ainus turvanõrkus on (loodetavasti) see piraat-teema või -plugin ning serveris toimuva muster näib olevat ühetaoline, ei tohiks puhastamine olla ülearu keeruline:

  1. leia üles probleemne teema või plugin ja asenda see ametliku, puhta versiooniga (jah, see maksab raha – sest kellegi jaoks on selle valmistamine ja värskena hoidmine töö) – otsi class.plugin-modules.php või class.theme-modules.php nimelist faili
  2. kustuta ära kõik kasutusel MITTE olevad teemad ja pluginad (lihtsam puhastada)
  3. eemalda /wp-includes kataloogist wp-feed.php, wp-tmp.php ja wp-vcd.php; post.php algusest eemalda include käsk
  4. käi üle teema(de) functions.php failid ning eemalda nende algusest kahtlane kood
  5. vaata igaks juhuks ctimer.php abil ega mõnda muud faili näpitud ole
  6. turvakaalutlusel võiks ära vahetada ka: andmebaasiparooli, WP kasutajate paroolid ning wp-config.php‘s olevad soolad
  7. … ning kui juba veebis oled, siis uuenda ära ka WP ja kõik pluginad-teemad (ning vii veeb HTTPS peale + vaheta PHP versioon värskeima toimiva vastu – ilmselt 7.1 või 7.2)

Kui koristamistegevus keeruline tundub, siis kirjuta info@zone.ee, maini WP-VCD probleemi ja telli meilt puhastustöö (mõnede levinumate pluginate nagu WPML puhul on meil olemas arendaja-litsents ja saame need kenasti ametlike/legaalsetega asendada, vähemlevinud pluginate puhul lisandub nende hind tööaja hinnale).

Kommentaarid

2 kommentaari
  • On hulk vabavara, mis ongi tasuta ilma pettuseta. Näiteks Linux ja selle ümber loodu. Seega ei vasta tõele, et tasuta saades oled ise söök.

    • Otseloomulikult on olemas vabavara – ja olemaks täpne, siis on olemas ka vaba tarkvara, mille hulka kuuluvad ka Linux ja WordPress… ning enamus WP pluginatest peaks samuti olema GPL litsentsiga.

      Antud juhul käib jutt siiski “tasuta kohast saadud tasulistest” pluginatest – tõsi, juhtlõik võib olla mitmeti tõlgendatav.

Kommentaarid suletud.

Populaarsed postitused

Partner soovitab:
Veebilehe optimeerimine paneb tulud kasvama

Digielu
Tänapäevase veebilehe optimeerimine mõjutab otseselt seda, kui hästi nii otsingumootorid kui ka kasutajad sinu veebilehte tajuvad.

Teeme andmebaasiühendused turvalisemaks

Ingmar Aasoja
Teatavasti on SQL andmebaaside kasutajatel vaikeseadistustes lubatud ühenduda ainult lokaalselt, mis tagab selle, et andmed ei liigu üle võõraste võrkude....

Partner soovitab:
Kuidas tõsta e-poe müüki disaini abil?

blogi
Kas oled märganud, et veebilehed on justkui uued vaateaknad? Inimesed toimetavad üha enam veebis, mis tähendab, et ka suur osa oste tehakse seal. See...