Zone'i blogi

Eelpaigaldatud pahavaraga “tasuta” pluginad ja teemad muudavad sind veebipiraatide sihtmärgiks

Foto: Pixabay

Zone’il tuleb sageli rinda pista WordPressi-saitidega, mis omaniku tahte vastaselt külastajaid erinevatele saitidele edasi suunavad. Põhjuseks on “tasuta kohast” saadud tasuline plugin või teema. Paraku käib selliste tasuta saadud tasuliste asjadega kaasas ka pahavara ehk täpsemalt öeldes “tagauks”. Seega – kui sa kauba eest ei maksa, siis oled kaup sina ise. Või sinu arvuti. Või sinu veebileht.

Kuidas veebi külastaja seda näeb?

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 saaks soovitud veebis mõnda aega segamatult klikkida.

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

Veebiomaniku vaade

Monitooringus silma hakanud saitide puhul on pahavaraks WP-VCD, mille paigaldusskript 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ärkusena olgu öeldud, et 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 alla kuuluv kujundus. Kuid kuna antud puhul toimub veebi ülevõtmine piraatide poolt, sai otsustatud artiklis kasutada nimelt seda sõna.

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 ja 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:

<script type="text/javascript" src="//go.onclasrv[.]com/apu.php?zoneid=1635111"></script>
<script async="async" type="text/javascript" src="//go.mobisla[.]com/notice.php?p=1635222&interactive=1&pushup=1"></script>
<script src="//pushnest[.]com/ntfc.php?p=1662333" data-cfasync="false" async></script>

wp-feed.php sisaldab administraatorina 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

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 administraatorina sisse logitud, siis võta arvess järgmist:
• kui oled varem administraatorina sisse loginud, kasuta mobiiltelefoni internetti või mõnda wifi-võrku;
• ava Google Chrome’is 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 FTP-ga serverisse – kui leiad /wp-includes/wp-vcd.php faili, siis on tegemist täpselt siinkirjeldatud pahavaraga.

Kuidas “koristaja” asja näeb?

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öö) ja 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. Kui juba veebis oled, uuenda ära ka WP ja kõik pluginad-teemad (ning vii veeb HTTPS peale ja vaheta PHP versioon värskeima toimiva vastu).

Kui koristamistegevus keeruline tundub, kirjuta info@zone.ee, maini WP-VCD probleemi ja telli puhastustöö.

Mõnede levinumate pluginate nagu WPML puhul on Zone’il olemas arendaja litsents ja need saab ametlike/legaalsetega asendada. Vähem levinud pluginad peab eraldi soetama ning sel juhul lisandub nende hind tööaja hinnale.

Märksõnad: , ,

Ära jää ilma päeva põnevamatest lugudest

Telli Geeniuse uudiskiri

Saadame sulle igal argipäeval ülevaate olulisematest Geeniuse teemadest.

Populaarsed lood mujal Geeniuses