foto1
foto1
foto1
foto1
foto1

Saugumo testavimai

Botnetų stebėjimas

DDOS gynyba

WEB svetainių apsauga

Kibernetinio saugumo tyrimai

Socialinės inžinerijos ataka,

siekiant išgauti lankytojo kreditinės kortelės duomenis

 

   Tiriame infekuotą svetainę www.estrella.lt. Tyrimas atliktas 2017-03-13 dieną (tai dinamiškai kintanti ataka, todėl atliekant tyrimą kitomis dienomis rezultatai gali būti skirtingi). Taigi, gavę informaciją iš savo stebėjimo sistemų, kad svetainė www.estrella.lt užkrėsta, ją aplankome. Keletą sekundžių matome pradinį svetainės puslapį, tačiau netrukus naršyklė parodo visai kitą puslapį: exclusiverewards.faxix.xyz (IP 104.238.147.92)

   Matome, kad darkyta lietuvių kalba prašoma užpildyti apklausą. Spaudžiam  "OK" ir  pildome. Apklausa padaryta trumpa, tikintis, kad daugiau vartotojų atsakys.

  Baigus pildyti apklausą, gauname pasiūlymą nemokamai įsigyti "HD Streaming Movies":

   Spustelėję mygtuką patenkame į musikzoo.com (IP 52.51.228.18). Čia prašoma registruotis - įvesti savo elektroninį paštą bei slaptažodį:

registracijos forma

   Dar paprašoma informacijos apie kreditinę kortelę:

kreditines korteles forma

   Baigiame tyrimą. Akivaizdu, kad tai nėra teisėta veikla.

Tyrimas

   Panagrinėkime, kaip vykdoma ataka. Svetainėje www.estrella.lt patalpintas kenkėjiškas kodas (jis parodytas žemiau). Šis kodas svetainės www.estrella.lt lankytojus nukreipia į exclusiverewards.faxix.xyz - svetainę, kur siūloma atsakyti į apklausą. Tyrimas rodo, kad kelias iki exclusiverewards.faxix.xyz buvo toks:

redirects

   Paveiksle rodyklės rodo naršyklės nukreipimus. Visi jie atlikti automatiškai, be vartotojo įsikišimo. Taigi, iš pradinio puslapio http://www.estrella.lt buvome nukreipti į http://www.estrella.lt/?pagerd_XXXXX (čia XXXX yra atsitiktiniai simboliai, kiekvieną kartą vis kitokie), o po to naršyklė nuosekliai aplankė kitas svetaines. Svetainės www.estrella.lt pradinio puslapio kode nėra nuorodų į /?pagerd_XXXX . Analizuojant  puslapį,  randame tokį Javascript kodą:

injected

   Matome, kad tai Base64 užkoduotas tekstas, kurį po dekodavimo įvykdo JavaScript funkcija eval().  Iškodavus šį tekstą, gauname naują Javascript kodą, tačiau ir pastarasis nėra lengvai skaitomas:

   Šį kartą panaudota fromCharCode() funkcija, verčianti ASCII kodus į simbolius, o gauta eilutė vėl vykdoma su eval(). Iššifravus šį kodą, gauname dar vieną tarpinį rezultatą

   Vėl turime Base64 metodu užkoduotą kintamąjį, šifravimo raktą ir JavaScript šifravimo funkciją xor_enc(). Iššifravę kintamąjį dec gauname tokį galutinį rezultatą

internal redirect

 

 

   Matome, kaip atliekamas nukreipimas į www.estrella.lt/?pagerd_XXXX. JavaScript kode dar atliekamas patikrinimas ar pas vartotoją yra slapukai (angl. cookies), patikrinami elementai, esantys HTML5 localStorage. Jei slapukai ar localStorage elementai egzistuoja, nukreipimas neatliekamas, priešingu atveju jie nustatomi. Konkrečiu atveju nustatomas slapukas "referrerRedirectCookie". Taip pat yra atliekamas patikrinimas ar naršymą atlieka robotas, ar paprastas vartotojas. Jei visi šitie patikrinimai duoda neigiamą rezultatą (slapukų nėra, naršo ne robotas), vartotojas nukreipiamas į www.estrella.lt/?pagerd_XXXX. Kai naršyklė kreipiasi šiuo adresu, jai svetainės puslapis su tokiu įterptu kodu

final redirect

   Čia naršymas www.estrella.lt svetainėje baigiamas ir naršyklė nukreipiama į kitas svetaines. Tolimesnėje grandinėje nukreipimai atliekami serverio pusėje (panaudojant HTTP 302 atsakymą), kol vartotojas pasiekia norimą svetainę - šiuo atveju exclusiverewards.faxix.xyz - o čia jau prasideda socialinės inžinierijos ataka.

   Javascript kodo šifravimas keliais lygiais bendru atveju nėra labai sudėtingas ir saugumo analitikui neturėtų kilti problemų jį išanalizuoti. Tai skirta išvengti tinklo lygio apsaugų. Kita vertus, išanalizavus atakos kodą, galima šią ataką aprašyti ir atpažinti naudojant įsilaužimo aptikimo sistemas.

 

Apsauga

   Nuo tokių apkrėstų svetainių gali apsisaugoti įvairiais būdais. Praktika rodo, kad geriausia apsauga yra kompleksinė, veikianti tiek tinkle, tiek vartotojo darbo vietoje. Tinklo lygyje galima:

  • Analizuoti įeinantį HTTP srautą antiviruso pagalba (Web proxy, UTM įrenginys). Dažnai tokie įrenginiai turi galimybę pastebėti ne tik virusus ar trojanus, bet ir  įterptą JavaScript kodą.
  • Blokuoti užkrėstą svetainę
  • Blokuoti tolimesnės grandinės dalyvius pagal IP adresus arba DNS vardus. Šiuo atveju reikia nepamiršti, kad grandinė gali keistis ir rytoj vartotojas jau bus nukreipiamas į kitas svetaines.
  • Atitinkamai sukonfigūruoti IDS (arba IPS) sistemą, kuri leistų automatiškai fiksuoti tokius įvykius.

Darbo vietoje reikalinga antivirusinė programinė įranga su naujausiais parašais.

   Tam tikrais atvejais pasitaiko, kad padėti gali ir pati naršyklė, tiksliau - jos gamintojas. Taip ir čia: pabandžius pakartoti šį tyrimą praėjus savaitei (būtent - 2017-03-22) su Internet Explorer naršykle buvo gautas štai toks pranešimas:

   Deja, patikrinus po keletos valandų naršyklė jau rodė svetainę be jokio įspėjimo, o realus patikrinimas parodė, kad joje vis dar yra kenkėjiškas JavaScript kodas.

   Tyrimo medžiaga yra čia ( vartotojo vardas:analize, slaptažodis:blogis23 )

P.S.: tyrimas remiasi atakos įrašu ( informacijos srauto įrašu )