Furt de carduri cu schema de email phishing prin Netflix
Netflix în ultima perioada e un val care tot creşte din prisma faptului că e un coltişor unde îţi sunt oferite atât de multe lucruri ce omoară timpul încât şi uiţi că în fiecare lună îţi sunt traşi vreo 10euro de pe card în mod automat după prima retragere.
Şi în general cam toată lumea isteaţă s-a prins că ecosistemul ăsta e destul de atacabil din punct de vedere al furtului de identitate/cont/card bancar pentru că utilizatorii platformei au început să cam depindă de serviciu într-o oarecare măsură şi o cam iau razna când văd un mail ce le-ar putea compromite ‘netflix and chill’, plus că în graba lor trec cu vederea nişte detalii extrem de importante prin care ar putea să identifice pagina în care îşi introduc datele proprii.
Ultima tentativă de a agita apele prin habitatul ăsta e un mail extrem de ciudat ce vine în general pe Yahoo direct în inbox cu un titlu: “Netflix Alert” ce zice că plata recurentă nu s-a putut efectua şi că ar fi nevoie de o reîncercare a plăţii. O plasă întinsă exact pentru a împuşca 3 iepuri dintr-o lovitură: cont, identitate, card.

Pe lângă faptul că sender-ul e cineva foarte dubios, în interiorul mail-ului sunt două linkuri ce direcţionează spre o pagină de autentificare care ar părea că e ruptă din Netflix. În care spre surprinderea mea chrome-ul i-a aplicat un auto complete pe form-uri ca şi cum şi el ar presupune că e pagina autentică a Netflix.

Treaba nasoală e că după introducerea datelor ăstora şi executarea paginii de autentificare se încarcă un fişier php de pe server prin POST care atunci când e încercat printr-un GET forţat răspunde cu un mesaj de eroare:
https://logln-memberarea-authprofile.netfllx.corn.nirusmi.com/action/post_login.php
El e apelat printr-o funcţie ce se află într-un fişier login.post.js atunci când form-ul e validat cu succes.
$('#login').validate({
submitHandler: function (n) {
$.post('../action/post_login.php'
În unele cazuri după completarea form-ului de autentificare el intră pe o ramură în care fişierul ăla php primeşte un parametru ce îl blochează intenţionat:
: n == 'banned'
? setTimeout(function () {
window.location.assign('../script.php?block')
Cu toate că datele se trimit undeva:
913f9c49dcb544e2087cee284f4a00b7: 1920x1080
8e3f1bbb73f0f6c952fcf873332eae9f: 958x937
b2c6cc48f97ccd71b16d31d88fc177a6: 2
0c83f57c786a0b4a39efab23731c7ebc: asdgggs@asd.com
5f4dcc3b5aa765d61d8327deb882cf99: aaaa
Din ce am reuşit să îmi dau seama ramura aia ar deveni activă când se folosesc date ce există deja undeva. Pentru ca pe date noi se intră pe altă ramură:
: setTimeout(function () {
window.location.assign('../YourAccount/trouble')
})
Pagina aia de ‘trouble’ seamă exact ca un dashboard în care user-ul s-ar fi autentificat.

După pagina asta se află partea în care se fură identitatea contului:

Aici în spatele a ceea ce se vede fişierele de pe server sunt structurate exact la fel ca şi în cazul paginii de autentificare. Avem un billing.auth.js şi un billing.post.js
În privinţa billing.auth.js avem validări exclusiv pe input-uri pentru a părea cât mai autentic. Partea interesantă se află în interiorul billing.post.js unde după validare se face un alt request spre un fişier php.
$('#billing').validate({
submitHandler: function (i) {
$.post('../action/post_billing.php'
Şi care redirectează spre pagina unde se colectează datele cardului:
setTimeout(function () {
window.location.assign('confirm_card')
})

Iar pagina aceasta e partea care încheie apoteotic toată sceneta. După ce detaliile contului cu username şi parola au fost colectate, de asemenea şi detaliile persoanei, acum urmează cireaşa de pe tort, cardul. Şi aici, la fel ca şi în cazul paginii de autentificare se sugerează datele unui card pre salvat folosit anterior. Ceea ce pentru un utilizator obişnuit ar părea că browser-ul a ‘validat’ într-un fel pagina aia că doar n-o pune el automat datele lui preţioase într-o pagină fake, dar din păcate chiar asta face.
În fişierul card.post.js se află şi path-ul spre fişierul php ce urmeaza a fi încărcat prin request după confirm.
$.post('../action/post_card.php'
La o analiză mai amănunţită a fişierului, spre final apare ceva ce pare a fi verificarea 3d secure pentru cardurile ce au activate opţiunea:
: e == 'secure'
? $('#secure3D').fadeIn(300)
Probabil se declanşează un alt form după validarea datelor cardului în care se va cere un alt cod pentru 3d secure după care se redirecţionează spre /completed care duce exact în netflix.com, ca şi cum nimic nu s-ar fi întâmplat.
La scurt timp după ce am accesat toate fişierele astea de pe server şi facut/refăcut interogări pe tot flow-ul ăsta scriind articolul se pare că autorii şi-au dat seama de asta şi au şters tot astfel că link-urile alea din mail nu mai funcţionează. În cel mai bun caz or fi făcut asta, sau au mutat tot pe un alt subdomeniu fantomă.
Domeniul şi subdomeniul pe care le-au folosit acum sunt:
nirusmi.com
https://logln-memberarea-authprofile.netfllx.corn.nirusmi.com/YourAccount/
Si ip-ul: 162.241.87.157
Au avut grijă să nu ţină detalii în informaţiile domeniului cum ar fi datele de înregistrare şi nici nu au mai multe pagini în acelaşi loc pentru a nu crea legături atunci când cineva le cercetează.
Per general scamatoria e destul de inteligent concepută pentru că imită destul de bine lucrurile din pagina reală, iar ca şi remarci:
- cel mai frapant de ingenios pentru mine a fost autofill-ul făcut prin browser asupra form-urilor
- sub-sub-sub domeniul folosit e total aiurea fiind atât de lung
- ssl pe domeniu un punct în plus pentru ca google e destul de greu sa identifice un domeniu cu certificat ca fiind potenţial threat
- textul “Sign out” din partea de sus imită perfect o sesiune activă pe user
- reproducerea aproape perfectă a validărilor pe fiecare input cum ar fi pentru numărul cardului există nişte măşti care identifică tipul de card în funcţie de nişte valori predefinite pentru fiecare în parte. există reguli de validare pe toate input-urile-pagina de autentificare, identitate, card
Am observat că în Yahoo cel puţin în ultima perioada apar tot mai multe mail-uri de genul ăsta care fac ravagii printre utilizatori şi profită de neatenţia lor furându-le identităţi, conturile şi datele cardurilor. Uneori mail-urile ce ajung în inbox nu nimeresc ţinta, în sensul în care unora le ajung notificări din partea unor servicii pe care nu le folosesc. Dovadă a faptului că autorii nu au o listă filtrată exact 100% cu serviciile folosite de un anumit mail, aşa că se trimit aleator şi se merge pe premisa că odată momeala aruncată cineva tot se prinde cumva de ea.