With a Filter Bypass and Some Hexadecimal, Hacked Credit Card Numbers Are Still, Still Google-able

A Word on Credit Card Hacking

Jeśli mnie znasz, lub czytałeś mój poprzedni post, wiesz, że pracowałem dla bardzo interesującej firmy zanim dołączyłem do Toptal. W tej firmie, nasz dostawca płatności przetwarzał transakcje o wartości około 500 tys. dolarów dziennie. Częścią mojej pracy było zapewnienie zgodności naszego dostawcy z PCI-DSS, czyli z Payment Card Industry – Data Security Standard.

Można śmiało powiedzieć, że nie była to praca dla osób o słabym sercu. W tym momencie jestem dość dobrze zaznajomiony z kartami kredytowymi (CC), włamaniami do kart kredytowych i ogólnie pojętym bezpieczeństwem w sieci. W końcu naszym zadaniem była ochrona danych naszych użytkowników, aby zapobiec ich włamaniu, kradzieży lub niewłaściwemu wykorzystaniu.

Można sobie wyobrazić moje zaskoczenie, kiedy zobaczyłem artykuł Bennetta Haseltona z 2007 roku na Slashdot: Why Are CC Numbers Still So Easy to Find? W skrócie, Haselton był w stanie znaleźć numery kart kredytowych poprzez Google, najpierw wyszukując pierwszych osiem cyfr karty w formacie „nnnn nnnn”, a później używając zaawansowanych zapytań zbudowanych na zakresach liczbowych. Na przykład, mógł użyć „4060000000000000..4060999999999999999999”, aby znaleźć wszystkie 16-cyfrowe numery kont głównych (PAN) z CHASE (których wszystkie karty zaczynają się od 4060). Przy okazji: tutaj jest pełna lista numerów identyfikacyjnych Emitenta.

W tym czasie, nie myślałem dużo o tym, jak Google natychmiast zaczął filtrować rodzaje zapytań, że Bennett był używany. Kiedy próbowałeś wygooglować taki zakres, Google wyświetlało stronę, która mówiła coś w stylu „Jesteś złym człowiekiem”.

Około pół roku temu, podczas wspominania ze starym przyjacielem, to włamanie na numer karty kredytowej znowu przyszło mi na myśl. Wkrótce potem, odkryłem coś niepokojącego. Nie strasznie niepokojące, ale na pewno niepokojące – więc powiadomiłem Google, i czekał. Po miesiącu bez odpowiedzi, powiadomiłem ich ponownie bezskutecznie.

Z niewielką poprawką na starą sztuczkę Haseltona, byłem w stanie wygooglować numery kart kredytowych, numery ubezpieczenia społecznego i wszelkie inne wrażliwe informacje, które mnie interesowały.

Zawiadomiłem więc Google i czekałem. Po miesiącu bez odpowiedzi, powiadomiłem ich ponownie bezskutecznie. Z niewielką poprawką na starą sztuczkę Haseltona, byłem w stanie wygooglować numery kart kredytowych, numery ubezpieczenia społecznego i wszelkie inne wrażliwe informacje.

Bennett

Wczoraj moi przyjaciele (buhera.blog.hu i _2501) zwrócili moją uwagę na bardziej aktualny post Slashdota: Credit Card Numbers Still Google-able.

Autor artykułu, ponownie Bennett Haselton, który napisał oryginalny artykuł z powrotem w 2007 roku, twierdzi, że numery kart kredytowych nadal mogą być Googled. Nie można użyć hack zapytania zakresu liczbowego, ale nadal można to zrobić. Zamiast używać prostych zakresów, musisz zastosować specyficzne formatowanie do zapytania. Coś w stylu: „1234 5678” (zauważ spację w środku). Dla tego zapytania pojawia się wiele trafień, ale bardzo niewiele z nich jest rzeczywiście interesujących. Wśród uczestników konkursu są numery telefonów, kody pocztowe i inne. Nic nadzwyczajnie niepokojącego. Ale oto nadchodzi zwrot z hackowaniem kart kredytowych.

Metodologia

Byłem ciekaw, czy nadal możliwe jest uzyskanie numerów kart kredytowych online w sposób, w jaki mogliśmy w 2007 roku. Jak każdy dobry inżynier, zazwyczaj podchodzę do rzeczy używając odpowiednio skonstruowanego i inteligentnego planu, który musi być perfekcyjnie wykonany z najwyższą precyzją. Jeśli próbowałeś tej metody, możesz wiedzieć, że może ona zawieść naprawdę mocno – w takim przypadku twoje staranne planowanie i wysiłek idą na marne.

W IT mamy tendencję do przeintelektualizowania, nawet jeśli nie jest to dokładnie uzasadnione. Widziałem, jak moi przyjaciele i koledzy całkowicie łamią aplikacje, używając pozornie przypadkowych danych wejściowych. Ich wskaźnik sukcesu był oszałamiający, a wysiłek, jaki w to włożyli, bliski zeru. To właśnie wtedy nauczyłem się, że aby otworzyć drzwi, czasami trzeba po prostu zapukać.

The Credit Card Hack

Poprzedni akapit był sprytnie zamaskowaną próbą sprawienia, że będę wyglądał jak mniejszy idiota, kiedy będę się popisywał moimi „elitarnymi umiejętnościami hakerskimi”. Ups.

Po pierwsze, wypróbowałem kilka podejść opartych na zapytaniach o zakres. Następnie spojrzałem na zaawansowane zapytania i całkiem sporo wszystkiego, co możesz wymyślić w ciągu godziny lub tak. Żadne z nich nie przyniosło znaczących rezultatów.

I wtedy wpadłem na szalony pomysł.

Co, jeśli istniało niedopasowanie między silnikiem filtrującym a rzeczywistym back-endem? Co by było, gdyby wiadomość, którą dostałem od Google („Jesteś złym człowiekiem”) nie pochodziła z samego back-endu, ale z wyznaczonego silnika filtrującego, który Google zaimplementowało w celu cenzurowania zapytań takich jak moje?

Miałoby to wiele sensu z perspektywy architektury. A takie błędy są dość powszechne – widzimy je w ITSEC cały czas, szczególnie w rozwiązaniach IDS/IPS, ale także w zwykłym oprogramowaniu. Istnieje procedura filtrowania, która przetwarza dane i przekazuje je do back-endu tylko wtedy, gdy uzna, że są one akceptowalne/niezłośliwe. Jednakże, back-end i serwer filtrujący prawie nigdy nie przetwarzają danych wejściowych w dokładnie ten sam sposób. Tak więc, pozornie poprawne dane wejściowe mogą przejść przez filtr i siać spustoszenie na back-endzie, efektywnie omijając filtr.

Zazwyczaj możesz wywołać tego typu zachowanie dostarczając swoje dane wejściowe w różnych kodowaniach. Na przykład: zamiast używać liczb dziesiętnych (0-9), może przekonwertujesz je na szesnastkowe, ósemkowe lub binarne? Cóż, zgadnij co…

Szukaj tego, a Google powie ci, że jesteś złym człowiekiem: „4060000000000000..4060999999999999”

Szukaj tego, a Google z przyjemnością zobowiąże: „0xe6c8c69c9c000..0xe6d753e6ecfff”.

Jedyną rzeczą, którą musisz zrobić, jest konwersja numerów kart kredytowych z dziesiętnych na szesnastkowe. To wszystko.

Wyniki obejmują…

  • Wielkie pliki CSV wypełnione potencjalnie wrażliwymi informacjami.

  • Wadliwe pliki dzienników handlu elektronicznego.

  • Wrażliwe informacje udostępniane na stronach hakerów (a nawet na Facebooku).

To naprawdę przerażające rzeczy.

Wiem, że ten błąd nie zainspiruje żadnych badań nad bezpieczeństwem, ale proszę bardzo. Google zrobiło to boo-boo i zaniedbało nawet odpisanie mi. Cóż, zdarza się. Nie zazdroszczę ludziom zajmującym się bezpieczeństwem w wielkim G, chociaż. Muszą mieć dużo rzeczy, aby zwrócić uwagę na. Piszę tutaj o tym włamaniu na numer karty kredytowej, ponieważ:

  1. Jest to stosunkowo niewielki wpływ.
  2. Każdy, kto jest zainteresowany i zmotywowany, już to rozgryzł.
  3. Cytując Haseltona, jeśli duzi gracze nie biorą odpowiedzialności i nie działają na tych exploitach, to „właściwą rzeczą do zrobienia jest rzucenie światła na problem i naleganie, aby naprawili go tak szybko, jak to możliwe”.

Tej sztuczki można użyć do sprawdzenia numerów telefonów, SSN-ów, TFN-ów i innych. I, jak napisał Bennett, te numery są o wiele trudniejsze do zmiany niż twoja karta kredytowa, dla której możesz po prostu zadzwonić do banku i anulować kartę.

Przykładowe zapytania

Ostrzeżenie: NIE wpisuj w Google numeru swojej karty kredytowej w całości!

Poszukaj jakiegokolwiek numeru CC PAN zaczynającego się od 4060:4060000000000000..406099999999999999 ? 0xe6c8c69c9c000..0xe6d753e6ecfff

Jakieś węgierskie numery telefonów od operatora 'Telenor’? Nie ma problemu:362000000..36209999999 ? 0x86db02a00..0x86e48c07f

Poszukaj numerów SSN. Na szczęście nie zwracają one wielu znaczących wyników:1000000..999999999 ? 0x5f5e100..0x3b9ac9ff

Jest ich o wiele, wiele więcej.

Jeśli znajdziesz coś bardzo niepokojącego, lub jeśli jesteś ciekawy włamań do kart kredytowych, zostaw to w komentarzach lub skontaktuj się ze mną przez e-mail lub na Twitterze pod adresem @synsecblog. Wezwanie policji jest w takich przypadkach zazwyczaj daremne, ale może warto spróbować. Dany sprzedawca lub dostawca karty jest zazwyczaj bardziej chętny do zajęcia się problemem.

Where to Go From Here

Well, Google oczywiście musi to naprawić, być może z pomocą dużych graczy, takich jak Visa i Mastercard. W rzeczywistości, Haselton zapewnia wiele ciekawych sugestii w dwóch artykułach połączonych powyżej.

To, co musisz zrobić, jednak (i dlaczego napisałem ten post), jest rozprzestrzenianie słowa. Oszustwa związane z kartami kredytowymi to duża branża, a prosta świadomość może uchronić Cię przed staniem się ofiarą. Ponadto, jeśli posiadasz stronę e-commerce lub zajmujesz się przetwarzaniem kart kredytowych, upewnij się, że jesteś bezpieczny. PCI-DSS jest dobrym przewodnikiem, ale daleko mu do doskonałości. Ponadto, zawsze warto sprawdzić swoją stronę w Google za pomocą zaawansowanego zapytania „site:mysite.com” w poszukiwaniu wrażliwych numerów. Jest bardzo, bardzo mała szansa, że znajdziesz cokolwiek – ale jeśli tak się stanie, musisz działać natychmiast.

A także, trochę przyjacielskiej rady: Nigdy nie powinieneś nikomu podawać informacji o swojej karcie kredytowej. Radzę korzystać z PayPal lub podobnej usługi, kiedy tylko jest to możliwe. Możesz sprawdzić te linki w celu uzyskania dalszych informacji:

  • Wskazówki dotyczące bezpieczeństwa kart kredytowych Visa
  • Wskazówki dotyczące bezpieczeństwa kart kredytowych Citi

I kilka ogólnych wskazówek: nie pobieraj rzeczy, o które nie prosiłeś, nie otwieraj wiadomości spamowych i pamiętaj, że Twój bank nigdy nie poprosi Cię o podanie hasła.

Przy okazji: Jeśli myślisz, że nie ma nikogo na tyle głupiego, aby nabrać się na te techniki hakowania kart kredytowych lub oddać informacje o swojej karcie kredytowej w Internecie, zajrzyj na stronę @NeedADebitCard.

Stay safe people!

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.