Cu o ocolire a filtrului și unele numere hexazecimale, numerele de card de credit piratate sunt încă, încă compatibile cu Google
Publicat: 2022-03-11Un cuvânt despre piratarea cardurilor de credit
Dacă mă cunoașteți sau ați citit postarea mea anterioară, știți că am lucrat pentru o companie foarte interesantă înainte de a mă alătura Toptal. La această companie, furnizorul nostru de plăți a procesat tranzacții în apropiere de 500.000 USD pe zi. O parte din munca mea a fost să fac furnizorul nostru să fie compatibil cu PCI-DSS, adică să respecte standardul de securitate a datelor pentru industria cardurilor de plată.
Este sigur să spunem că aceasta nu a fost o meserie pentru cei slabi de inimă. În acest moment, sunt destul de intim cu cardurile de credit (CC), hackingul cardurilor de credit și securitatea web în general. La urma urmei, treaba noastră a fost să protejăm datele utilizatorilor noștri, pentru a preveni piratarea, furtul sau utilizarea abuzivă a acestora.
Vă puteți imagina surprinderea mea când am văzut articolul lui Bennett Haselton din 2007 despre Slashdot: De ce sunt încă atât de ușor de găsit numerele CC?. Pe scurt, Haselton a reușit să găsească numerele de card de credit prin Google, în primul rând căutând primele opt cifre ale unui card în format „nnnn nnnn”, iar mai târziu folosind câteva interogări avansate construite pe intervale de numere. De exemplu, ar putea folosi „4060000000000000..406099999999999” pentru a găsi toate numerele de cont primare (PAN) din 16 cifre de la CHASE (ale căror carduri încep toate cu 4060). Apropo: iată o listă completă a numerelor de identificare a emitentului.
La acea vreme, nu m-am gândit prea mult la asta, deoarece Google a început imediat să filtreze tipurile de interogări pe care le folosea Bennett. Când încercați să căutați pe Google o astfel de gamă, Google prezenta o pagină care spunea ceva de genul „Ești o persoană rea”.
În urmă cu aproximativ șase luni, în timp ce îmi aminteam cu un vechi prieten, mi-a venit din nou în minte acest truc al numărului de card de credit. La scurt timp după, am descoperit ceva alarmant. Nu teribil de alarmant, dar cu siguranță alarmant – așa că am anunțat Google și am așteptat. După o lună fără răspuns, i-am anunțat din nou fără niciun rezultat.
Cu o mică modificare a vechiului truc al lui Haselton, am reușit să găsesc Google numere de card de credit, numere de securitate socială și orice alte informații sensibile de interes.
Bennett
Ieri, câțiva prieteni de-ai mei (buhera.blog.hu și _2501) mi-au adus în atenție o postare Slashdot mai recentă: Numerele cardurilor de credit încă pot fi Google.
Autorul articolului, din nou Bennett Haselton, care a scris articolul original în 2007, susține că numerele cardurilor de credit pot fi încă căutate pe Google. Nu puteți utiliza hack-ul de interogare a intervalului de numere, dar încă se poate face. În loc să utilizați intervale simple, trebuie să aplicați o formatare specifică interogării dvs. Ceva de genul: „1234 5678” (observați spațiul din mijloc). O mulțime de accesări apar pentru această interogare, dar foarte puține sunt de interes real. Printre concurenți se numără numere de telefon, coduri poștale și altele. Nu extrem de alarmant. Dar aici vine răsucirea hack-ului cărților de credit.
Metodologia
Eram curios dacă mai era posibil să obțin numerele de carduri de credit online așa cum am putut în 2007. Ca orice inginer bun, de obicei abordez lucrurile folosind un plan inteligent, corect construit și care trebuie executat perfect, cu cea mai mare precizie. Dacă ați încercat această metodă, s-ar putea să știți că poate eșua foarte greu - caz în care planificarea atentă și efortul dvs. se irosesc.
În IT avem tendința de a ne supraintelectualiza, chiar și atunci când nu este tocmai justificat. Mi-am văzut prietenii și colegii rupând complet aplicații folosind intrări aparent aleatorii. Rata lor de succes a fost uluitoare, iar efortul pe care l-au depus a fost aproape de zero. Atunci am învățat că pentru a deschide o ușă, uneori trebuie doar să bati.
Hackul cardului de credit
Paragraful anterior a fost o încercare deghizată inteligent de a mă face să arăt mai puțin idiot când îmi arăt „abilitățile de hacking de elită”. Hopa!
În primul rând, am încercat mai multe abordări bazate pe interogare. Apoi, m-am uitat la interogări avansate și aproape orice ai putea găsi într-o oră și ceva. Niciuna dintre ele nu a dat rezultate semnificative.
Și atunci mi-a venit o idee nebună.
Ce se întâmplă dacă ar exista o nepotrivire între motorul de filtrare și back-end-ul real? Ce se întâmplă dacă mesajul pe care l-am primit de la Google („Ești o persoană rea”) nu provenea de la back-end în sine, ci de la un motor de filtrare desemnat pe care Google l-a implementat pentru a cenzura interogări precum a mea?
Ar avea mult sens din punct de vedere arhitectural. Și erori de genul acesta sunt destul de comune – le vedem în ITSEC tot timpul, în special în soluțiile IDS/IPS, dar și în software-ul obișnuit. Există o procedură de filtrare care prelucrează datele și le dă back-end numai dacă consideră că datele sunt acceptabile/ne-răuțioase. Cu toate acestea, back-end-ul și serverul de filtrare aproape niciodată nu analizează intrarea exact în același mod. Astfel, o intrare aparent validă poate trece prin filtru și poate face ravagii pe back-end, ocolind efectiv filtrul.

De obicei, puteți declanșa acest tip de comportament furnizând intrarea dvs. în diferite codificări. De exemplu: în loc să folosiți numere zecimale (0-9), ce ziceți de a le converti în hexazecimal, octal sau binar? Ei bine, ghici ce...
Căutați acest lucru și Google vă va spune că sunteți o persoană rea: „4060000000000000..406099999999999”
Căutați acest lucru și Google va fi bucuros să vă oblige: „0xe6c8c69c9c000..0xe6d753e6ecfff”.
Singurul lucru pe care trebuie să-l faceți este să convertiți numerele cardului de credit din zecimal în hexazecimal. Asta e.
Rezultatele includ...
- Fișiere CSV uriașe pline cu informații potențial sensibile.
- Fișiere jurnal de comerț electronic defecte.
- Informații sensibile partajate pe site-urile hackerilor (și chiar pe Facebook).
Sunt lucruri cu adevărat înfricoșătoare.
Știu că acest bug nu va inspira nicio cercetare de securitate, dar iată-l. Google a făcut acest boo-boo și a neglijat chiar să-mi scrie înapoi. Ei bine, se întâmplă. Totuși, nu-i invidiez pe oamenii de securitate de la marele G. Trebuie să aibă o mulțime de lucruri la care să se uite. Postez aici despre acest hack al numărului de card de credit pentru că:
- Are un impact relativ scăzut.
- Oricine este interesat și motivat își va da seama până acum.
- Ca să-l citez pe Haselton, dacă marii jucători nu își asumă responsabilitatea și nu acționează în baza acestor exploatații, atunci „lucru corect de făcut este să luminezi problema și să insiste să o rezolve cât mai curând posibil”.
Acest truc poate fi folosit pentru a căuta numere de telefon, SSN, TFN și multe altele. Și, după cum a scris Bennett, aceste numere sunt mult mai greu de schimbat decât cardul dvs. de credit, pentru care vă puteți suna pur și simplu banca și anula cardul.
Exemple de interogări
AVERTISMENT: NU căutați complet pe Google propriul dvs. număr de card de credit!
Căutați orice CC PAN care începe cu 4060: 4060000000000000..406099999999999? 0xe6c8c69c9c000..0xe6d753e6ecfff
Câteva numere de telefon maghiare de la furnizorul „Telenor”? Nicio problemă: 36200000000..36209999999 ? 0x86db02a00..0x86e48c07f
Căutați SSN-uri. Din fericire, acestea nu returnează multe rezultate semnificative: 100000000...999999999 ? 0x5f5e100..0x3b9ac9ff
Sunt multe, multe altele.
Dacă găsești ceva foarte alarmant sau dacă ești curios despre hacking-ul cărților de credit, te rog să-l lași în comentarii sau să mă contactezi prin e-mail la [email protected] sau pe Twitter la @synsecblog. Apelarea la poliție este de obicei inutilă în aceste cazuri, dar ar putea merita încercat. Comerciantul sau furnizorul de carduri este de obicei mai dornic să rezolve problema.
Unde să mergi de aici
Ei bine, Google trebuie să rezolve acest lucru, eventual cu ajutorul unor jucători mari precum Visa și Mastercard. De fapt, Haselton oferă o serie de sugestii interesante în cele două articole legate mai sus.
Totuși, ceea ce trebuie să faci (și de ce am scris această postare) este să răspândești vestea. Frauda cu cardul de credit este o mare industrie, iar simpla conștientizare te poate scuti de a deveni o victimă. În plus, dacă aveți un site de comerț electronic sau vă ocupați de orice procesare a cardurilor de credit, vă rugăm să vă asigurați că sunteți în siguranță. PCI-DSS este un ghid bun, dar este departe de a fi perfect. În plus, este întotdeauna o idee bună să căutați pe Google site-ul dvs. cu interogarea avansată „site:mysite.com”, căutând numere sensibile. Există o șansă foarte, foarte mică să găsești orice, dar dacă o faci, trebuie să acționezi imediat.
De asemenea, un sfat prietenos: nu trebuie să oferiți nimănui informațiile cardului dvs. de credit. Sfatul meu ar fi să utilizați PayPal sau un serviciu similar ori de câte ori este posibil. Puteți consulta aceste link-uri pentru mai multe informații:
- Sfaturi pentru siguranța cardului de credit Visa
- Sfaturi pentru siguranța cardului de credit Citi
Și câteva sfaturi generale: nu descărcați lucruri pe care nu le-ați cerut, nu deschideți e-mailuri spam și amintiți-vă că banca dvs. nu vă va cere niciodată parola.
Apropo: dacă credeți că nimeni nu este suficient de prost încât să se îndrăgească de aceste tehnici de hacking a cardurilor de credit sau să dezvăluie informațiile cardului de credit pe internet, aruncați o privire la @NeedADebitCard.
Fiți în siguranță, oameni buni!