Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Σχεδόν όλοι χρησιμοποιούμε τις υπηρεσίες ηλεκτρονικών καταστημάτων, πράγμα που σημαίνει ότι αργά ή γρήγορα διατρέχουμε τον κίνδυνο να γίνουμε θύμα sniffers JavaScript - ειδικός κώδικας που εφαρμόζουν οι εισβολείς σε έναν ιστότοπο για να κλέψουν δεδομένα τραπεζικών καρτών, διευθύνσεις, στοιχεία σύνδεσης και κωδικούς πρόσβασης χρηστών .

Σχεδόν 400 χρήστες της ιστοσελίδας και της εφαρμογής για κινητά της British Airways έχουν ήδη επηρεαστεί από sniffer, καθώς και επισκέπτες της βρετανικής ιστοσελίδας του αθλητικού κολοσσού FILA και της αμερικανικής εταιρείας διανομής εισιτηρίων Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - αυτά και πολλά άλλα συστήματα πληρωμών μολύνθηκαν.

Ο αναλυτής του Threat Intelligence Group-IB Viktor Okorokov μιλά για τον τρόπο με τον οποίο οι sniffer διεισδύουν στον κώδικα ιστότοπου και κλέβουν πληροφορίες πληρωμής, καθώς και σε ποια CRM επιτίθενται.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

«Κρυφή απειλή»

Έτυχε ότι για μεγάλο χρονικό διάστημα οι sniffers της JS παρέμειναν μακριά από την οπτική γωνία των αναλυτών κατά των ιών και οι τράπεζες και τα συστήματα πληρωμών δεν τους έβλεπαν ως σοβαρή απειλή. Και εντελώς μάταια. Εμπειρογνώμονες του Group-IB αναλύονται 2440 μολυσμένα ηλεκτρονικά καταστήματα, των οποίων οι επισκέπτες - συνολικά περίπου 1,5 εκατομμύριο άνθρωποι την ημέρα - κινδύνευαν να συμβιβαστούν. Ανάμεσα στα θύματα δεν είναι μόνο χρήστες, αλλά και ηλεκτρονικά καταστήματα, συστήματα πληρωμών και τράπεζες που εξέδωσαν παραβιασμένες κάρτες.

Αναφορά Το Group-IB έγινε η πρώτη μελέτη της αγοράς του σκοτεινού δικτύου για sniffers, της υποδομής τους και των μεθόδων δημιουργίας εσόδων, η οποία αποφέρει στους δημιουργούς τους εκατομμύρια δολάρια. Εντοπίσαμε 38 οικογένειες sniffers, από τις οποίες μόνο οι 12 ήταν γνωστές στο παρελθόν στους ερευνητές.

Ας σταθούμε αναλυτικά στις τέσσερις οικογένειες sniffers που μελετήθηκαν κατά τη διάρκεια της μελέτης.

ReactGet Family

Τα Sniffers της οικογένειας ReactGet χρησιμοποιούνται για την κλοπή δεδομένων τραπεζικών καρτών σε ιστότοπους ηλεκτρονικών αγορών. Ο ανιχνευτής μπορεί να λειτουργήσει με έναν μεγάλο αριθμό διαφορετικών συστημάτων πληρωμών που χρησιμοποιούνται στον ιστότοπο: μία τιμή παραμέτρου αντιστοιχεί σε ένα σύστημα πληρωμών και μεμονωμένες ανιχνευμένες εκδόσεις του sniffer μπορούν να χρησιμοποιηθούν για την κλοπή διαπιστευτηρίων, καθώς και για την κλοπή δεδομένων τραπεζικής κάρτας από την πληρωμή μορφές πολλών συστημάτων πληρωμών ταυτόχρονα, όπως το λεγόμενο καθολικό sniffer. Διαπιστώθηκε ότι σε ορισμένες περιπτώσεις, οι εισβολείς πραγματοποιούν επιθέσεις phishing σε διαχειριστές διαδικτυακών καταστημάτων προκειμένου να αποκτήσουν πρόσβαση στον πίνακα διαχείρισης του ιστότοπου.

Η εκστρατεία που χρησιμοποιεί αυτήν την οικογένεια sniffers ξεκίνησε τον Μάιο του 2017 και δέχτηκαν επιθέσεις ιστοσελίδες που λειτουργούσαν με CMS και πλατφόρμες. Magento, Μεγάλο εμπόριο, Shopify.

Πώς εφαρμόζεται το ReactGet στον κώδικα ενός ηλεκτρονικού καταστήματος

Εκτός από την «κλασική» υλοποίηση ενός σεναρίου μέσω συνδέσμου, οι χειριστές της οικογένειας sniffers ReactGet χρησιμοποιούν μια ειδική τεχνική: χρησιμοποιώντας κώδικα JavaScript, ελέγχουν εάν η τρέχουσα διεύθυνση όπου βρίσκεται ο χρήστης πληροί ορισμένα κριτήρια. Ο κακόβουλος κώδικας θα εκτελεστεί μόνο εάν η δευτερεύουσα συμβολοσειρά υπάρχει στην τρέχουσα διεύθυνση URL checkout ή ταμείο ενός βήματος, μια σελίδα/, out/onepag, ταμείο/ένα, σκαουτ/ένας. Έτσι, ο κωδικός sniffer θα εκτελεστεί ακριβώς τη στιγμή που ο χρήστης θα προχωρήσει στην πληρωμή για αγορές και θα εισαγάγει τα στοιχεία πληρωμής στη φόρμα του ιστότοπου.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Αυτό το sniffer χρησιμοποιεί μια μη τυπική τεχνική. Η πληρωμή και τα προσωπικά δεδομένα του θύματος συλλέγονται μαζί και κωδικοποιούνται χρησιμοποιώντας base64, και στη συνέχεια η συμβολοσειρά που προκύπτει χρησιμοποιείται ως παράμετρος για την αποστολή αιτήματος στον ιστότοπο των εισβολέων. Τις περισσότερες φορές, η διαδρομή προς την πύλη μιμείται ένα αρχείο JavaScript, για παράδειγμα resp.js, data.js και ούτω καθεξής, αλλά χρησιμοποιούνται επίσης σύνδεσμοι προς αρχεία εικόνας, GIF и JPG. Η ιδιαιτερότητα είναι ότι ο sniffer δημιουργεί ένα αντικείμενο εικόνας διαστάσεων 1 επί 1 pixel και χρησιμοποιεί τον σύνδεσμο που έλαβε προηγουμένως ως παράμετρο src εικόνες. Δηλαδή, για τον χρήστη ένα τέτοιο αίτημα στην κυκλοφορία θα μοιάζει με αίτημα για μια συνηθισμένη εικόνα. Μια παρόμοια τεχνική χρησιμοποιήθηκε στην οικογένεια sniffers ImageID. Επιπλέον, η τεχνική της χρήσης εικόνας 1 επί 1 pixel χρησιμοποιείται σε πολλά νόμιμα σενάρια διαδικτυακών αναλυτικών στοιχείων, τα οποία μπορούν επίσης να παραπλανήσουν τον χρήστη.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Ανάλυση έκδοσης

Η ανάλυση των ενεργών τομέων που χρησιμοποιούνται από τους χειριστές sniffer του ReactGet αποκάλυψε πολλές διαφορετικές εκδόσεις αυτής της οικογένειας sniffer. Οι εκδόσεις διαφέρουν ως προς την παρουσία ή την απουσία συσκότισης και επιπλέον, κάθε sniffer έχει σχεδιαστεί για ένα συγκεκριμένο σύστημα πληρωμών που επεξεργάζεται πληρωμές με τραπεζική κάρτα για ηλεκτρονικά καταστήματα. Έχοντας ταξινομήσει την τιμή της παραμέτρου που αντιστοιχεί στον αριθμό έκδοσης, οι ειδικοί του Group-IB έλαβαν μια πλήρη λίστα με τις διαθέσιμες παραλλαγές sniffer και με τα ονόματα των πεδίων φόρμας που αναζητά κάθε sniffer στον κώδικα της σελίδας, προσδιόρισαν τα συστήματα πληρωμών που στοχεύει ο sniffer.

Κατάλογος sniffer και τα αντίστοιχα συστήματα πληρωμών τους

Διεύθυνση URL SnifferΣύστημα πληρωμής
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Cardsave
ajaxstatic.com/api.js?v=2.1.2 Authorize.Net
ajaxstatic.com/api.js?v=2.1.3 Authorize.Net
ajaxstatic.com/api.js?v=2.1.4eWAY Rapid
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Αδέν
ajaxstatic.com/api.js?v=2.1.7USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3Μονέρης
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6PayPal
apitstatus.com/api.js?v=2.1.7Sage Pay
apitstatus.com/api.js?v=2.1.8Verisign
apitstatus.com/api.js?v=2.1.9PayPal
apitstatus.com/api.js?v=2.3.0Stripe
apitstatus.com/api.js?v=3.0.2Ρεάλξ
apitstatus.com/api.js?v=3.0.3PayPal
apitstatus.com/api.js?v=3.0.4 LinkPoint
apitstatus.com/api.js?v=3.0.5 PayPal
apitstatus.com/api.js?v=3.0.7 PayPal
apitstatus.com/api.js?v=3.0.8DataCash
apitstatus.com/api.js?v=3.0.9 PayPal
asianfoodgracer.com/footer.js Authorize.Net
billgetstatus.com/api.js?v=1.2 Authorize.Net
billgetstatus.com/api.js?v=1.3Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5Verisign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Μονέρης
billgetstatus.com/api.js?v=1.8 Sage Pay
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.jsAuthorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3ANZ eGate
cloudodesc.com/gtm.js?v=2.3Authorize.Net
cloudodesc.com/gtm.js?v=2.4 Μονέρης
cloudodesc.com/gtm.js?v=2.6 Sage Pay
cloudodesc.com/gtm.js?v=2.7 Sage Pay
cloudodesc.com/gtm.js?v=2.8 Chase Paymentech
cloudodesc.com/gtm.js?v=2.9Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Αδέν
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93Πηγή Cyber
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
cloudodesc.com/gtm.js?v=2.97Ρεάλξ
geisseie.com/gs.js USAePay
gtmproc.com/age.jsAuthorize.Net
gtmproc.com/gtm.js?v=1.2 Authorize.Net
gtmproc.com/gtm.js?v=1.3 ANZ eGate
gtmproc.com/gtm.js?v=1.5PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Ρεάλξ
livecheckpay.com/api.js?v=2.0 Sage Pay
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign
livecheckpay.com/api.js?v=2.3Authorize.Net
livecheckpay.com/api.js?v=2.4Verisign
livecheckpay.com/react.jsAuthorize.Net
livegetpay.com/pay.js?v=2.1.2 ANZ eGate
livegetpay.com/pay.js?v=2.1.3 PayPal
livegetpay.com/pay.js?v=2.1.5Πηγή Cyber
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Sage Pay
livegetpay.com/pay.js?v=2.1.9 Ρεάλξ
livegetpay.com/pay.js?v=2.2.0 Πηγή Cyber
livegetpay.com/pay.js?v=2.2.1PayPal
livegetpay.com/pay.js?v=2.2.2 PayPal
livegetpay.com/pay.js?v=2.2.3 PayPal
livegetpay.com/pay.js?v=2.2.4 Verisign
livegetpay.com/pay.js?v=2.2.5 eWAY Rapid
livegetpay.com/pay.js?v=2.2.7 Sage Pay
livegetpay.com/pay.js?v=2.2.8 Sage Pay
livegetpay.com/pay.js?v=2.2.9Verisign
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1Authorize.Net
livegetpay.com/pay.js?v=2.3.2First Data Global Gateway
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4Authorize.Net
livegetpay.com/pay.js?v=2.3.5 Μονέρης
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0Verisign
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.comAuthorize.Net
mediapack.info/track.js?d=vseyewear.com Verisign
mxcounter.com/c.js?v=1.2 PayPal
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 Stripe
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7eWAY Rapid
mxcounter.com/c.js?v=1.8 Sage Pay
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 Sage Pay
mxcounter.com/c.js?v=2.31 Sage Pay
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33PayPal
mxcounter.com/c.js?v=2.34Authorize.Net
mxcounter.com/c.js?v=2.35 Verisign
mxcounter.com/click.js?v=1.2 PayPal
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 Stripe
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY Rapid
mxcounter.com/click.js?v=1.8Sage Pay
mxcounter.com/click.js?v=2.0Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2PayPal
mxcounter.com/click.js?v=2.3 Sage Pay
mxcounter.com/click.js?v=2.31Sage Pay
mxcounter.com/click.js?v=2.32Authorize.Net
mxcounter.com/click.js?v=2.33PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 Verisign
mxcounter.com/cnt.jsAuthorize.Net
mxcounter.com/j.jsAuthorize.Net
newrelicnet.com/api.js?v=1.2Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Sage Pay
newrelicnet.com/api.js?v=4.5 Sage Pay
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0PayFort
nr-public.com/api.js?v=2.1 PayPal
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3Stripe
nr-public.com/api.js?v=2.4First Data Global Gateway
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7Authorize.Net
nr-public.com/api.js?v=2.8 Μονέρης
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 Sage Pay
nr-public.com/api.js?v=3.2 Verisign
nr-public.com/api.js?v=3.3Μονέρης
nr-public.com/api.js?v=3.5 PayPal
nr-public.com/api.js?v=3.6 LinkPoint
nr-public.com/api.js?v=3.7Westpac PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0Μονέρης
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Αδέν
nr-public.com/api.js?v=4.0.4PayPal
nr-public.com/api.js?v=4.0.5Authorize.Net
nr-public.com/api.js?v=4.0.6USAePay
nr-public.com/api.js?v=4.0.7 Χρέωση EBiz
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 Verisign
nr-public.com/api.js?v=4.1.2 Verisign
ordercheckpays.com/api.js?v=2.11Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13Μονέρης
ordercheckpays.com/api.js?v=2.14Authorize.Net
ordercheckpays.com/api.js?v=2.15PayPal
ordercheckpays.com/api.js?v=2.16PayPal
ordercheckpays.com/api.js?v=2.17Westpac PayWay
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 Sage Pay
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 Πηγή Cyber
ordercheckpays.com/api.js?v=2.4 PayPal Payflow Pro
ordercheckpays.com/api.js?v=2.7Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 Verisign
ordercheckpays.com/api.js?v=3.1 Authorize.Net
ordercheckpays.com/api.js?v=3.2 Authorize.Net
ordercheckpays.com/api.js?v=3.3Sage Pay
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5Stripe
ordercheckpays.com/api.js?v=3.6Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 Verisign
ordercheckpays.com/api.js?v=3.9PayPal
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1Authorize.Net
ordercheckpays.com/api.js?v=4.2 Sage Pay
ordercheckpays.com/api.js?v=4.3Authorize.Net
reactjsapi.com/api.js?v=0.1.0 Authorize.Net
reactjsapi.com/api.js?v=0.1.1PayPal
reactjsapi.com/api.js?v=4.1.2 Πυρόλιθος
reactjsapi.com/api.js?v=4.1.4PayPal
reactjsapi.com/api.js?v=4.1.5Sage Pay
reactjsapi.com/api.js?v=4.1.51 Verisign
reactjsapi.com/api.js?v=4.1.6Authorize.Net
reactjsapi.com/api.js?v=4.1.7Authorize.Net
reactjsapi.com/api.js?v=4.1.8 Stripe
reactjsapi.com/api.js?v=4.1.9 Λίπος ζέβρα
reactjsapi.com/api.js?v=4.2.0Sage Pay
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 First Data Global Gateway
reactjsapi.com/api.js?v=4.2.3 Authorize.Net
reactjsapi.com/api.js?v=4.2.4 eWAY Rapid
reactjsapi.com/api.js?v=4.2.5 Αδέν
reactjsapi.com/api.js?v=4.2.7PayPal
reactjsapi.com/api.js?v=4.2.8 Υπηρεσίες εμπόρων QuickBooks
reactjsapi.com/api.js?v=4.2.9Verisign
reactjsapi.com/api.js?v=4.2.91 Sage Pay
reactjsapi.com/api.js?v=4.2.92Verisign
reactjsapi.com/api.js?v=4.2.94Authorize.Net
reactjsapi.com/api.js?v=4.3.97Authorize.Net
reactjsapi.com/api.js?v=4.5Sage Pay
reactjsapi.com/react.jsAuthorize.Net
sydneysalonsupplies.com/gtm.jseWAY Rapid
tagsmediaget.com/react.jsAuthorize.Net
tagstracking.com/tag.js?v=2.1.2ANZ eGate
tagstracking.com/tag.js?v=2.1.3PayPal
tagstracking.com/tag.js?v=2.1.5Πηγή Cyber
tagstracking.com/tag.js?v=2.1.7Authorize.Net
tagstracking.com/tag.js?v=2.1.8Sage Pay
tagstracking.com/tag.js?v=2.1.9Ρεάλξ
tagstracking.com/tag.js?v=2.2.0Πηγή Cyber
tagstracking.com/tag.js?v=2.2.1 PayPal
tagstracking.com/tag.js?v=2.2.2PayPal
tagstracking.com/tag.js?v=2.2.3PayPal
tagstracking.com/tag.js?v=2.2.4Verisign
tagstracking.com/tag.js?v=2.2.5eWAY Rapid
tagstracking.com/tag.js?v=2.2.7Sage Pay
tagstracking.com/tag.js?v=2.2.8Sage Pay
tagstracking.com/tag.js?v=2.2.9Verisign
tagstracking.com/tag.js?v=2.3.0Authorize.Net
tagstracking.com/tag.js?v=2.3.1Authorize.Net
tagstracking.com/tag.js?v=2.3.2First Data Global Gateway
tagstracking.com/tag.js?v=2.3.3Authorize.Net
tagstracking.com/tag.js?v=2.3.4Authorize.Net
tagstracking.com/tag.js?v=2.3.5Μονέρης
tagstracking.com/tag.js?v=2.3.6Authorize.Net
tagstracking.com/tag.js?v=2.3.8PayPal

Ανιχνευτής κωδικού πρόσβασης

Ένα από τα πλεονεκτήματα των sniffers JavaScript που λειτουργούν στην πλευρά του πελάτη ενός ιστότοπου είναι η ευελιξία τους: κακόβουλος κώδικας που είναι ενσωματωμένος σε έναν ιστότοπο μπορεί να κλέψει κάθε τύπο δεδομένων, είτε πρόκειται για δεδομένα πληρωμής είτε για τη σύνδεση και τον κωδικό πρόσβασης ενός λογαριασμού χρήστη. Οι ειδικοί του Group-IB ανακάλυψαν ένα δείγμα ενός sniffer που ανήκει στην οικογένεια ReactGet, σχεδιασμένο να κλέβει διευθύνσεις email και κωδικούς πρόσβασης χρηστών του ιστότοπου.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Διασταύρωση με ImageID sniffer

Κατά την ανάλυση ενός από τα μολυσμένα καταστήματα, διαπιστώθηκε ότι ο ιστότοπός του μολύνθηκε δύο φορές: εκτός από τον κακόβουλο κώδικα του sniffer της οικογένειας ReactGet, εντοπίστηκε και ο κωδικός του sniffer της οικογένειας ImageID. Αυτή η επικάλυψη θα μπορούσε να είναι απόδειξη ότι οι χειριστές πίσω από τα δύο sniffer χρησιμοποιούν παρόμοιες τεχνικές για να εισάγουν κακόβουλο κώδικα.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Universal sniffer

Μια ανάλυση ενός από τα ονόματα τομέα που σχετίζονται με την υποδομή sniffer ReactGet αποκάλυψε ότι ο ίδιος χρήστης είχε καταχωρήσει τρία άλλα ονόματα τομέα. Αυτοί οι τρεις τομείς μιμήθηκαν τους τομείς πραγματικών ιστότοπων και χρησιμοποιήθηκαν προηγουμένως για τη φιλοξενία sniffers. Κατά την ανάλυση του κώδικα τριών νόμιμων τοποθεσιών, εντοπίστηκε ένα άγνωστο sniffer και περαιτέρω ανάλυση έδειξε ότι ήταν μια βελτιωμένη έκδοση του sniffer ReactGet. Όλες οι προηγουμένως παρακολουθούμενες εκδόσεις αυτής της οικογένειας sniffer στόχευαν σε ένα ενιαίο σύστημα πληρωμών, δηλαδή, κάθε σύστημα πληρωμών απαιτούσε μια ειδική έκδοση του sniffer. Ωστόσο, σε αυτήν την περίπτωση, ανακαλύφθηκε μια καθολική έκδοση του sniffer που είναι ικανή να κλέβει πληροφορίες από φόρμες που σχετίζονται με 15 διαφορετικά συστήματα πληρωμών και ενότητες ιστοτόπων ηλεκτρονικού εμπορίου για την πραγματοποίηση πληρωμών στο διαδίκτυο.

Έτσι, στην αρχή της εργασίας, ο ανιχνευτής αναζήτησε βασικά πεδία φόρμας που περιέχουν τα προσωπικά στοιχεία του θύματος: πλήρες όνομα, φυσική διεύθυνση, αριθμό τηλεφώνου.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Στη συνέχεια, ο ανιχνευτής αναζήτησε πάνω από 15 διαφορετικά προθέματα που αντιστοιχούν σε διαφορετικά συστήματα πληρωμών και ηλεκτρονικές μονάδες πληρωμής.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Στη συνέχεια, τα προσωπικά δεδομένα του θύματος και οι πληροφορίες πληρωμής συλλέχθηκαν μαζί και στάλθηκαν σε έναν ιστότοπο που ελέγχεται από τον εισβολέα: στη συγκεκριμένη περίπτωση, ανακαλύφθηκαν δύο εκδόσεις του καθολικού ανιχνευτή ReactGet, που βρίσκονται σε δύο διαφορετικούς ιστοτόπους που έχουν παραβιαστεί. Ωστόσο, και οι δύο εκδόσεις έστειλαν κλεμμένα δεδομένα στον ίδιο παραβιασμένο ιστότοπο zoobashop.com.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Η ανάλυση των προθεμάτων που χρησιμοποιούσε ο ανιχνευτής για την αναζήτηση πεδίων που περιέχουν τις πληροφορίες πληρωμής του θύματος μας επέτρεψε να προσδιορίσουμε ότι αυτό το δείγμα sniffer απευθυνόταν στα ακόλουθα συστήματα πληρωμών:

  • Authorize.Net
  • Verisign
  • Πρώτα δεδομένα
  • USAePay
  • Stripe
  • PayPal
  • ANZ eGate
  • Braintree
  • DataCash (MasterCard)
  • Πληρωμές Realex
  • PsiGate
  • Συστήματα πληρωμών Heartland

Ποια εργαλεία χρησιμοποιούνται για την κλοπή πληροφοριών πληρωμής;

Το πρώτο εργαλείο, που ανακαλύφθηκε κατά την ανάλυση της υποδομής των επιτιθέμενων, χρησιμοποιείται για τη συσκότιση κακόβουλων σεναρίων που ευθύνονται για την κλοπή τραπεζικών καρτών. Ένα σενάριο bash που χρησιμοποιεί το CLI του έργου ανακαλύφθηκε σε έναν από τους οικοδεσπότες του εισβολέα javascript-obfuscator για την αυτοματοποίηση της συσκότισης του κώδικα sniffer.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Το δεύτερο εργαλείο που ανακαλύφθηκε έχει σχεδιαστεί για τη δημιουργία κώδικα που είναι υπεύθυνος για τη φόρτωση του κύριου sniffer. Αυτό το εργαλείο δημιουργεί κώδικα JavaScript που ελέγχει εάν ο χρήστης βρίσκεται στη σελίδα πληρωμής αναζητώντας συμβολοσειρές στην τρέχουσα διεύθυνση του χρήστη checkout, καλάθι και ούτω καθεξής, και αν το αποτέλεσμα είναι θετικό, τότε ο κώδικας φορτώνει τον κύριο ανιχνευτή από τον διακομιστή των εισβολέων. Για την απόκρυψη κακόβουλης δραστηριότητας, όλες οι γραμμές, συμπεριλαμβανομένων των δοκιμαστικών γραμμών για τον προσδιορισμό της σελίδας πληρωμής, καθώς και ένας σύνδεσμος προς τον ανιχνευτή, κωδικοποιούνται χρησιμοποιώντας base64.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Επιθέσεις phishing

Μια ανάλυση της υποδομής δικτύου των εισβολέων αποκάλυψε ότι η εγκληματική ομάδα χρησιμοποιεί συχνά phishing για να αποκτήσει πρόσβαση στον πίνακα διαχείρισης του ηλεκτρονικού καταστήματος-στόχου. Οι εισβολείς καταχωρούν ένα domain οπτικά παρόμοιο με το domain του καταστήματος και στη συνέχεια αναπτύσσουν μια ψεύτικη φόρμα σύνδεσης στον πίνακα διαχείρισης σε αυτό. MagentoΕάν τα καταφέρουν, οι εισβολείς θα αποκτήσουν πρόσβαση στον πίνακα διαχείρισης του CMS. Magento, το οποίο τους δίνει τη δυνατότητα να επεξεργάζονται στοιχεία του ιστότοπου και να εφαρμόζουν ένα sniffer για την κλοπή δεδομένων πιστωτικών καρτών.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Υποδομή

Όνομα τομέαΗμερομηνία ανακάλυψης/εμφάνισης
mediapack.info04.05.2017
adsgetapi.com15.06.2017
simcounter.com14.08.2017
mageanalytics.com22.12.2017
maxstatics.com16.01.2018
reactjsapi.com19.01.2018
mxcounter.com02.02.2018
apitstatus.com01.03.2018
orderracker.com20.04.2018
tagstracking.com25.06.2018
adsapigate.com12.07.2018
trust-tracker.com15.07.2018
fbstatspartner.com02.10.2018
billgetstatus.com12.10.2018
www.aldenmlilhouse.com20.10.2018
balletbeautlful.com20.10.2018
bargalnjunkie.com20.10.2018
payselector.com21.10.2018
tagsmediaget.com02.11.2018
hs-payments.com16.11.2018
ordercheckpays.com19.11.2018
geisseie.com24.11.2018
gtmproc.com29.11.2018
livegetpay.com18.12.2018
sydneysalonsupplies.com18.12.2018
newrelicnet.com19.12.2018
nr-public.com03.01.2019
cloudodesc.com04.01.2019
ajaxstatic.com11.01.2019
livecheckpay.com21.01.2019
asianfoodgracer.com25.01.2019

Οικογένεια G-Analytics

Αυτή η οικογένεια sniffers χρησιμοποιείται για την κλοπή καρτών πελατών από ηλεκτρονικά καταστήματα. Το πρώτο όνομα τομέα που χρησιμοποιήθηκε από την ομάδα καταχωρήθηκε τον Απρίλιο του 2016, γεγονός που μπορεί να υποδηλώνει ότι η ομάδα ξεκίνησε τη δραστηριότητα στα μέσα του 2016.

Στην τρέχουσα καμπάνια, η ομάδα χρησιμοποιεί ονόματα τομέα που μιμούνται πραγματικές υπηρεσίες, όπως το Google Analytics και το jQuery, αποκρύπτοντας τη δραστηριότητα των sniffer με νόμιμα σενάρια και ονόματα τομέα που μοιάζουν με νόμιμα. Στοχεύτηκαν ιστότοποι που χρησιμοποιούν σύστημα διαχείρισης περιεχομένου (CMS). Magento.

Πώς ενσωματώνεται το G-Analytics στον κώδικα ενός ηλεκτρονικού καταστήματος

Ένα χαρακτηριστικό γνώρισμα αυτής της οικογένειας είναι η χρήση διαφόρων μεθόδων για την κλοπή πληροφοριών πληρωμής χρηστών. Εκτός από την κλασική ένεση κώδικα JavaScript στην πλευρά του πελάτη του ιστότοπου, η εγκληματική ομάδα χρησιμοποίησε επίσης τεχνικές έγχυσης κώδικα στην πλευρά του διακομιστή του ιστότοπου, συγκεκριμένα σενάρια PHP που επεξεργάζονται δεδομένα που έχουν εισαχθεί από τον χρήστη. Αυτή η τεχνική είναι επικίνδυνη γιατί δυσκολεύει τους ερευνητές τρίτων να εντοπίσουν κακόβουλο κώδικα. Οι ειδικοί του Group-IB ανακάλυψαν μια έκδοση ενός sniffer ενσωματωμένη στον κώδικα PHP του ιστότοπου, χρησιμοποιώντας έναν τομέα ως πύλη dittm.org.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Ανακαλύφθηκε επίσης μια πρώιμη έκδοση ενός sniffer που χρησιμοποιεί τον ίδιο τομέα για τη συλλογή κλεμμένων δεδομένων dittm.org, αλλά αυτή η έκδοση προορίζεται για εγκατάσταση στην πλευρά του πελάτη ενός ηλεκτρονικού καταστήματος.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Η ομάδα αργότερα άλλαξε την τακτική της και άρχισε να επικεντρώνεται περισσότερο στην απόκρυψη κακόβουλης δραστηριότητας και καμουφλάζ.

Στις αρχές του 2017, η ομάδα άρχισε να χρησιμοποιεί τον τομέα jquery-js.com, που μεταμφιέζεται ως CDN για το jQuery: όταν πηγαίνει στον ιστότοπο των εισβολέων, ο χρήστης ανακατευθύνεται σε έναν νόμιμο ιστότοπο jquery.com.

Και στα μέσα του 2018, ο όμιλος υιοθέτησε το όνομα τομέα g-analytics.com και άρχισε να συγκαλύπτει τις δραστηριότητες του sniffer ως νόμιμη υπηρεσία Google Analytics.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Ανάλυση έκδοσης

Κατά την ανάλυση των τομέων που χρησιμοποιούνται για την αποθήκευση του κώδικα sniffer, διαπιστώθηκε ότι ο ιστότοπος περιέχει μεγάλο αριθμό εκδόσεων, οι οποίες διαφέρουν ως προς την παρουσία συσκότισης, καθώς και την παρουσία ή απουσία μη προσβάσιμου κώδικα που προστέθηκε στο αρχείο για να αποσπάσει την προσοχή και απόκρυψη κακόβουλου κώδικα.

Σύνολο στον ιστότοπο jquery-js.com Εντοπίστηκαν έξι εκδοχές sniffers. Αυτοί οι sniffer στέλνουν τα κλεμμένα δεδομένα σε μια διεύθυνση που βρίσκεται στον ίδιο ιστότοπο με τον ίδιο τον sniffer: hxxps://jquery-js[.]com/latest/jquery.min.js:

  • hxxps://jquery-js[.]com/jquery.min.js
  • hxxps://jquery-js[.]com/jquery.2.2.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.8.3.min.js
  • hxxps://jquery-js[.]com/jquery.1.6.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.4.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.12.4.min.js

Μεταγενέστερος τομέας g-analytics.com, που χρησιμοποιείται από την ομάδα σε επιθέσεις από τα μέσα του 2018, λειτουργεί ως αποθήκη για περισσότερους sniffers. Συνολικά, ανακαλύφθηκαν 16 διαφορετικές εκδοχές του sniffer. Σε αυτήν την περίπτωση, η πύλη για την αποστολή κλεμμένων δεδομένων μεταμφιέστηκε ως σύνδεσμος προς μια μορφή εικόνας GIF: hxxp://g-analytics[.]com/__utm.gif?v=1&_v=j68&a=98811130&t=pageview&_s=1&sd=24-bit&sr=2560×1440&vp=2145×371&je=0&_u=AACAAEAB~&jid=1841704724&gjid=877686936&cid
= 1283183910.1527732071
:

  • hxxps://g-analytics[.]com/libs/1.0.1/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.10/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.11/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.12/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.13/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.14/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.15/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.16/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.3/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.4/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.5/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.6/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.7/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.8/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.9/analytics.js
  • hxxps://g-analytics[.]com/libs/analytics.js

Δημιουργία εσόδων από κλεμμένα δεδομένα

Η εγκληματική ομάδα κερδίζει χρήματα από τα κλεμμένα δεδομένα πουλώντας κάρτες μέσω ενός ειδικά δημιουργημένου υπόγειου καταστήματος που παρέχει υπηρεσίες σε carders. Η ανάλυση των τομέων που χρησιμοποιήθηκαν από τους εισβολείς μας επέτρεψε να το προσδιορίσουμε αυτό google-analytics.cm καταχωρήθηκε από τον ίδιο χρήστη με τον τομέα cardz.vc. Τομέα cardz.vc αναφέρεται σε ένα κατάστημα που πωλούσε κλεμμένες τραπεζικές κάρτες Cardsurfs (Flysurfs), το οποίο κέρδισε δημοτικότητα στις μέρες της δραστηριότητας της υπόγειας πλατφόρμας συναλλαγών AlphaBay ως κατάστημα που πωλούσε τραπεζικές κάρτες που είχαν κλαπεί με χρήση sniffer.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Ανάλυση του τομέα αναλυτικό.είναι, που βρίσκεται στον ίδιο διακομιστή με τους τομείς που χρησιμοποιούνται από τους sniffers για τη συλλογή κλεμμένων δεδομένων, οι ειδικοί του Group-IB ανακάλυψαν ένα αρχείο που περιείχε αρχεία καταγραφής κλοπής cookie, το οποίο φαίνεται να εγκαταλείφθηκε αργότερα από τον προγραμματιστή. Μία από τις εγγραφές στο αρχείο καταγραφής περιείχε έναν τομέα iozoz.com, το οποίο είχε χρησιμοποιηθεί προηγουμένως σε ένα από τα sniffer που δραστηριοποιήθηκαν το 2016. Προφανώς, αυτός ο τομέας χρησιμοποιήθηκε προηγουμένως από έναν εισβολέα για τη συλλογή καρτών που είχαν κλαπεί χρησιμοποιώντας ένα sniffer. Αυτός ο τομέας καταχωρήθηκε σε μια διεύθυνση ηλεκτρονικού ταχυδρομείου kts241@gmail.com, το οποίο χρησιμοποιήθηκε επίσης για την καταχώρηση τομέων cardz.su и cardz.vc, που σχετίζεται με το κατάστημα λαναρίσματος Cardsurfs.

Με βάση τα δεδομένα που ελήφθησαν, μπορεί να υποτεθεί ότι η οικογένεια sniffers G-Analytics και το υπόγειο κατάστημα που πουλά τραπεζικές κάρτες Cardsurfs διαχειρίζονται τα ίδια άτομα και το κατάστημα χρησιμοποιείται για την πώληση τραπεζικών καρτών που έχουν κλαπεί χρησιμοποιώντας το sniffer.

Υποδομή

Όνομα τομέαΗμερομηνία ανακάλυψης/εμφάνισης
iozoz.com08.04.2016
dittm.org10.09.2016
jquery-js.com02.01.2017
g-analytics.com31.05.2018
google-analytics.is21.11.2018
αναλυτικό.να04.12.2018
google-analytics.to06.12.2018
google-analytics.cm28.12.2018
αναλυτικό.είναι28.12.2018
googlc-analytics.cm17.01.2019

Οικογένεια Illum

Το Illum είναι μια οικογένεια sniffers που χρησιμοποιούνται για επιθέσεις σε ηλεκτρονικά καταστήματα που χρησιμοποιούν CMS. MagentoΕκτός από την έγχυση κακόβουλου κώδικα, οι χειριστές αυτού του sniffer αναπτύσσουν επίσης πλήρως ανεπτυγμένες ψεύτικες φόρμες πληρωμής που στέλνουν δεδομένα σε πύλες που ελέγχονται από τους εισβολείς.

Κατά την ανάλυση της δικτυακής υποδομής που χρησιμοποιούν οι χειριστές αυτού του sniffer, σημειώθηκε ένας μεγάλος αριθμός κακόβουλων σεναρίων, εκμεταλλεύσεων, πλαστών μορφών πληρωμής, καθώς και μια συλλογή παραδειγμάτων με κακόβουλους sniffer από ανταγωνιστές. Με βάση πληροφορίες σχετικά με τις ημερομηνίες εμφάνισης των ονομάτων τομέα που χρησιμοποιεί η ομάδα, μπορεί να υποτεθεί ότι η καμπάνια ξεκίνησε στα τέλη του 2016.

Πώς ενσωματώνεται το Illum στον κώδικα ενός ηλεκτρονικού καταστήματος

Οι πρώτες εκδόσεις του sniffer που ανακαλύφθηκαν ενσωματώθηκαν απευθείας στον κώδικα του παραβιασμένου ιστότοπου. Τα κλεμμένα δεδομένα στάλθηκαν στο cdn.illum[.]pw/records.php, η πύλη κωδικοποιήθηκε χρησιμοποιώντας base64.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Αργότερα, ανακαλύφθηκε μια συσκευασμένη έκδοση του sniffer που χρησιμοποιεί μια διαφορετική πύλη - records.nstatistics[.]com/records.php.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Σύμφωνα με κανω ΑΝΑΦΟΡΑ Willem de Groot, ο ίδιος οικοδεσπότης χρησιμοποιήθηκε στο sniffer, το οποίο εφαρμόστηκε στις ιστοσελίδα καταστήματος, που ανήκει στο γερμανικό πολιτικό κόμμα CSU.

Ανάλυση της ιστοσελίδας των επιτιθέμενων

Οι ειδικοί του Group-IB ανακάλυψαν και ανέλυσαν έναν ιστότοπο που χρησιμοποιούσε αυτή η εγκληματική ομάδα για την αποθήκευση εργαλείων και τη συλλογή κλεμμένων πληροφοριών.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Μεταξύ των εργαλείων που ανακαλύφθηκαν στον διακομιστή των εισβολέων ήταν σενάρια και exploits για κλιμάκωση δικαιωμάτων στο λειτουργικό σύστημα. Linux: για παράδειγμα, Linux Σενάριο ελέγχου κλιμάκωσης δικαιωμάτων από τον Mike Czumak, επίσης ένα exploit για το CVE-2009-1185.

Οι εισβολείς χρησιμοποίησαν δύο εκμεταλλεύσεις απευθείας για να επιτεθούν σε ηλεκτρονικά καταστήματα: πρώτα μπορεί να εισάγει κακόβουλο κώδικα σε core_config_data με την εκμετάλλευση του CVE-2016-4010, δεύτερος εκμεταλλεύεται μια ευπάθεια RCE σε πρόσθετα CMS Magento, επιτρέποντας την εκτέλεση αυθαίρετου κώδικα σε έναν ευάλωτο διακομιστή ιστού.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Επίσης, κατά την ανάλυση του διακομιστή, ανακαλύφθηκαν διάφορα δείγματα sniffers και πλαστά έντυπα πληρωμής, τα οποία χρησιμοποιούσαν οι εισβολείς για τη συλλογή πληροφοριών πληρωμής από παραβιασμένους ιστότοπους. Όπως μπορείτε να δείτε από την παρακάτω λίστα, ορισμένα σενάρια δημιουργήθηκαν ξεχωριστά για κάθε παραβιασμένο ιστότοπο, ενώ χρησιμοποιήθηκε μια καθολική λύση για ορισμένα CMS και πύλες πληρωμής. Για παράδειγμα, σενάρια segapay_standart.js и segapay_onpage.js έχει σχεδιαστεί για εφαρμογή σε ιστότοπους που χρησιμοποιούν την πύλη πληρωμής Sage Pay.

Λίστα σεναρίων για διάφορες πύλες πληρωμής

ΓραφήΠύλη πληρωμής
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/mylook.ee.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/julep.com.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/fareastflora.com.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/compuindia.com.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs/all_inputs.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/magento/payment_standart.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/payment_redirect.js//payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_redcrypt.js//payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_forminsite.js//paymentnow[.]tk/?payment=

Πλήθος πληρωμή τώρα[.]tk, χρησιμοποιείται ως πύλη σε σενάριο payment_forminsite.js, ανακαλύφθηκε ως subjectAltName σε πολλά πιστοποιητικά που σχετίζονται με την υπηρεσία CloudFlare. Επιπλέον, ο οικοδεσπότης περιείχε ένα σενάριο κακό.jsΚρίνοντας από το όνομα του σεναρίου, θα μπορούσε να έχει χρησιμοποιηθεί ως μέρος του exploit CVE-2016-4010, το οποίο επιτρέπει την εισαγωγή κακόβουλου κώδικα στο υποσέλιδο ενός ιστότοπου που εκτελεί ένα CMS. MagentoΑυτό το σενάριο χρησιμοποιούσε τον οικοδεσπότη ως πύλη. request.requestnet[.]tkχρησιμοποιώντας το ίδιο πιστοποιητικό με τον κεντρικό υπολογιστή πληρωμή τώρα[.]tk.

Ψεύτικες φόρμες πληρωμής

Το παρακάτω σχήμα δείχνει ένα παράδειγμα φόρμας για την εισαγωγή δεδομένων κάρτας. Αυτή η φόρμα χρησιμοποιήθηκε για να διεισδύσει σε ένα ηλεκτρονικό κατάστημα και να κλέψει δεδομένα κάρτας.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Το παρακάτω σχήμα δείχνει ένα παράδειγμα ψεύτικης φόρμας πληρωμής PayPal που χρησιμοποιήθηκε από εισβολείς για να διεισδύσουν σε ιστότοπους με αυτήν τη μέθοδο πληρωμής.
Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Υποδομή

Όνομα τομέαΗμερομηνία ανακάλυψης/εμφάνισης
cdn.illum.pw27/11/2016
records.nstatistics.com06/09/2018
request.payrightnow.βλ25/05/2018
paynow.tk16/07/2017
pay-line.tk01/03/2018
paypal.βλ04/09/2017
requestnet.tk28/06/2017

Οικογένεια CoffeeMokko

Η οικογένεια sniffers της CoffeMokko, σχεδιασμένη να κλέβει τραπεζικές κάρτες από χρήστες ηλεκτρονικών καταστημάτων, χρησιμοποιείται τουλάχιστον από τον Μάιο του 2017. Οι χειριστές αυτής της οικογένειας sniffers πιστεύεται ότι αποτελούν την εγκληματική ομάδα Ομάδας 1, όπως περιγράφεται από τους ειδικούς του RiskIQ το 2016. Ιστότοποι που χρησιμοποιούν CMS όπως Magento, OpenCart, WordPress, osCommerce, Shopify.

Πώς ενσωματώνεται το CoffeMokko στον κώδικα ενός ηλεκτρονικού καταστήματος

Οι χειριστές αυτής της οικογένειας δημιουργούν μοναδικά sniffer για κάθε μόλυνση: το αρχείο sniffer βρίσκεται στον κατάλογο src ή js στον διακομιστή των εισβολέων. Η ενσωμάτωση στον κώδικα του ιστότοπου πραγματοποιείται μέσω απευθείας σύνδεσης με τον ανιχνευτή.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Ο κωδικός sniffer κωδικοποιεί τα ονόματα των πεδίων φόρμας από τα οποία πρέπει να κλαπούν δεδομένα. Ο ανιχνευτής ελέγχει επίσης εάν ο χρήστης βρίσκεται στη σελίδα πληρωμής ελέγχοντας τη λίστα των λέξεων-κλειδιών με την τρέχουσα διεύθυνση του χρήστη.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Ορισμένες εκδόσεις του sniffer που ανακαλύφθηκαν ήταν ασαφείς και περιείχαν μια κρυπτογραφημένη συμβολοσειρά στην οποία ήταν αποθηκευμένη η κύρια συστοιχία πόρων: περιείχε τα ονόματα των πεδίων φόρμας για διάφορα συστήματα πληρωμών, καθώς και τη διεύθυνση πύλης στην οποία έπρεπε να αποσταλούν τα κλεμμένα δεδομένα.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Τα κλεμμένα στοιχεία πληρωμής στάλθηκαν σε ένα σενάριο στον διακομιστή των εισβολέων στην πορεία /savePayment/index.php ή /tr/index.php. Προφανώς, αυτό το σενάριο χρησιμοποιείται για την αποστολή δεδομένων από την πύλη στον κύριο διακομιστή, ο οποίος ενοποιεί δεδομένα από όλους τους sniffers. Για την απόκρυψη των μεταδιδόμενων δεδομένων, όλες οι πληροφορίες πληρωμής του θύματος κρυπτογραφούνται χρησιμοποιώντας base64, και στη συνέχεια συμβαίνουν αρκετές αντικαταστάσεις χαρακτήρων:

  • ο χαρακτήρας "e" αντικαθίσταται από ":"
  • το σύμβολο "w" αντικαθίσταται από "+"
  • ο χαρακτήρας "o" αντικαθίσταται από "%"
  • ο χαρακτήρας "d" αντικαθίσταται με "#"
  • ο χαρακτήρας "a" αντικαθίσταται από "-"
  • το σύμβολο "7" αντικαθίσταται από "^"
  • ο χαρακτήρας "h" αντικαθίσταται από "_"
  • το σύμβολο "Τ" αντικαθίσταται από "@"
  • ο χαρακτήρας "0" αντικαθίσταται από "/"
  • ο χαρακτήρας "Y" αντικαθίσταται από "*"

Ως αποτέλεσμα αντικαταστάσεων χαρακτήρων που κωδικοποιούνται χρησιμοποιώντας base64 Τα δεδομένα δεν μπορούν να αποκωδικοποιηθούν χωρίς να πραγματοποιηθεί η αντίστροφη μετατροπή.

Έτσι μοιάζει ένα τμήμα του κώδικα sniffer που δεν έχει συγκαλυφθεί:

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Ανάλυση Υποδομής

Σε πρώιμες καμπάνιες, οι εισβολείς κατέγραψαν ονόματα τομέα παρόμοια με αυτά των νόμιμων ιστότοπων διαδικτυακών αγορών. Ο τομέας τους μπορεί να διαφέρει από το νόμιμο ένα προς ένα σύμβολο ή το άλλο TLD. Οι καταχωρημένοι τομείς χρησιμοποιήθηκαν για την αποθήκευση του κωδικού sniffer, ένας σύνδεσμος στον οποίο ήταν ενσωματωμένος στον κωδικό καταστήματος.

Αυτή η ομάδα χρησιμοποίησε επίσης ονόματα τομέα που θυμίζουν δημοφιλή πρόσθετα jQuery (slickjs[.]org για ιστότοπους που χρησιμοποιούν την προσθήκη slick.js), πύλες πληρωμής (sagecdn[.]org για ιστότοπους που χρησιμοποιούν το σύστημα πληρωμών Sage Pay).

Αργότερα, η ομάδα άρχισε να δημιουργεί domains των οποίων τα ονόματα δεν είχαν καμία σχέση με τον τομέα του καταστήματος ή με το θέμα του καταστήματος.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Κάθε τομέας αντιστοιχούσε σε έναν ιστότοπο στον οποίο δημιουργήθηκε ο κατάλογος /js ή / src. Τα σενάρια Sniffer αποθηκεύτηκαν σε αυτόν τον κατάλογο: ένα sniffer για κάθε νέα μόλυνση. Το sniffer ενσωματώθηκε στον κώδικα του ιστότοπου μέσω απευθείας συνδέσμου, αλλά σε σπάνιες περιπτώσεις, οι εισβολείς τροποποίησαν ένα από τα αρχεία του ιστότοπου και πρόσθεσαν κακόβουλο κώδικα σε αυτό.

Ανάλυση Κώδικα

Πρώτος αλγόριθμος συσκότισης

Σε ορισμένα ανακαλυφθέντα δείγματα sniffers αυτής της οικογένειας, ο κωδικός ήταν συγκεχυμένος και περιείχε κρυπτογραφημένα δεδομένα που ήταν απαραίτητα για να λειτουργήσει ο sniffer: συγκεκριμένα, τη διεύθυνση της πύλης sniffer, μια λίστα με πεδία φόρμας πληρωμής και σε ορισμένες περιπτώσεις, τον κωδικό ενός πλαστού έντυπο πληρωμής. Στον κώδικα μέσα στη συνάρτηση, οι πόροι κρυπτογραφήθηκαν χρησιμοποιώντας XOR από το κλειδί που μεταβιβάστηκε ως όρισμα στην ίδια συνάρτηση.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Αποκρυπτογραφώντας τη συμβολοσειρά με το κατάλληλο κλειδί, μοναδικό για κάθε δείγμα, μπορείτε να λάβετε μια συμβολοσειρά που περιέχει όλες τις συμβολοσειρές από τον κωδικό sniffer που χωρίζονται με έναν διαχωριστικό χαρακτήρα.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Δεύτερος αλγόριθμος συσκότισης

Σε μεταγενέστερα δείγματα sniffers αυτής της οικογένειας, χρησιμοποιήθηκε ένας διαφορετικός μηχανισμός συσκότισης: σε αυτήν την περίπτωση, τα δεδομένα κρυπτογραφήθηκαν χρησιμοποιώντας έναν αυτογραφικό αλγόριθμο. Μια συμβολοσειρά που περιέχει κρυπτογραφημένα δεδομένα απαραίτητα για τη λειτουργία του sniffer μεταβιβάστηκε ως όρισμα στη συνάρτηση αποκρυπτογράφησης.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Χρησιμοποιώντας την κονσόλα του προγράμματος περιήγησης, μπορείτε να αποκρυπτογραφήσετε τα κρυπτογραφημένα δεδομένα και να αποκτήσετε έναν πίνακα που περιέχει πόρους sniffer.

Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα

Σύνδεση με πρώιμες επιθέσεις MageCart

Κατά την ανάλυση ενός από τους τομείς που χρησιμοποιούσε η ομάδα ως πύλη για τη συλλογή κλεμμένων δεδομένων, διαπιστώθηκε ότι αυτός ο τομέας ανέπτυξε μια υποδομή για κλοπή πιστωτικών καρτών, πανομοιότυπη με αυτή που χρησιμοποιούσε η Ομάδα 1, μια από τις πρώτες ομάδες, ανακαλύφθηκε από ειδικούς του RiskIQ.

Δύο αρχεία βρέθηκαν στον οικοδεσπότη της οικογένειας sniffers CoffeMokko:

  • μάγος.js — αρχείο που περιέχει κωδικό sniffer της ομάδας 1 με διεύθυνση πύλης js-cdn.link
  • mag.php — Σενάριο PHP υπεύθυνο για τη συλλογή δεδομένων που έχουν κλαπεί από τον ανιχνευτή

Περιεχόμενα του αρχείου mage.js Τέσσερα JavaScript sniffer που σας περιμένουν σε ηλεκτρονικά καταστήματα
Καθορίστηκε επίσης ότι οι παλαιότεροι τομείς που χρησιμοποιήθηκαν από την ομάδα πίσω από την οικογένεια sniffers CoffeMokko καταχωρήθηκαν στις 17 Μαΐου 2017:

  • σύνδεσμος-js[.]σύνδεσμος
  • σύνδεσμος info-js[.]
  • track-js[.]σύνδεσμος
  • map-js[.]σύνδεσμος
  • σύνδεσμος smart-js[.]

Η μορφή αυτών των ονομάτων τομέα ταιριάζει με τα ονόματα τομέα της Ομάδας 1 που χρησιμοποιήθηκαν στις επιθέσεις του 2016.

Με βάση τα γεγονότα που ανακαλύφθηκαν, μπορεί να υποτεθεί ότι υπάρχει σύνδεση μεταξύ των χειριστών των sniffers CoffeMokko και της εγκληματικής ομάδας 1. Προφανώς, οι χειριστές CoffeMokko θα μπορούσαν να έχουν δανειστεί εργαλεία και λογισμικό από τους προκατόχους τους για να κλέψουν κάρτες. Ωστόσο, είναι πιο πιθανό ότι η εγκληματική ομάδα πίσω από τη χρήση της οικογένειας sniffers CoffeMokko είναι τα ίδια άτομα που πραγματοποίησαν τις επιθέσεις της Ομάδας 1. Μετά τη δημοσίευση της πρώτης αναφοράς για τις δραστηριότητες της εγκληματικής ομάδας, όλα τα ονόματα τομέα τους ήταν μπλοκαρίστηκαν και τα εργαλεία μελετήθηκαν λεπτομερώς και περιγράφηκαν. Η ομάδα αναγκάστηκε να κάνει ένα διάλειμμα, να βελτιώσει τα εσωτερικά της εργαλεία και να ξαναγράψει τον κώδικα sniffer για να συνεχίσει τις επιθέσεις της και να παραμείνει απαρατήρητη.

Υποδομή

Όνομα τομέαΗμερομηνία ανακάλυψης/εμφάνισης
link-js.link17.05.2017
info-js.link17.05.2017
track-js.link17.05.2017
map-js.link17.05.2017
smart-js.link17.05.2017
adorebeauty.org03.09.2017
ασφάλεια-πληρωμή.su03.09.2017
braincdn.org04.09.2017
sagecdn.org04.09.2017
slickjs.org04.09.2017
oakandfort.org10.09.2017
citywlnery.org15.09.2017
dobell.su04.10.2017
Childrensplayclothing.org31.10.2017
jewsondirect.com05.11.2017
shop-rnib.org15.11.2017
closetlondon.org16.11.2017
misshaus.org28.11.2017
battery-force.org01.12.2017
kik-vape.org01.12.2017
greatfurnituretradingco.org02.12.2017
etradesupply.org04.12.2017
replacemyremote.org04.12.2017
all-about-sneakers.org05.12.2017
mage-checkout.org05.12.2017
nililotan.org07.12.2017
lamoodbighat.net08.12.2017
walletgear.org10.12.2017
dahlie.org12.12.2017
davidsfootwear.org20.12.2017
blackriverimaging.org23.12.2017
exrpesso.org02.01.2018
πάρκα.su09.01.2018
pmtonline.su12.01.2018
otocap.org15.01.2018
christohperward.org27.01.2018
coffetea.org31.01.2018
Energycoffe.org31.01.2018
Energytea.org31.01.2018
teacoffe.net31.01.2018
adaptivecss.org01.03.2018
coffemokko.com01.03.2018
londontea.net01.03.2018
ukcoffe.com01.03.2018
labbe.biz20.03.2018
batterynart.com03.04.2018
btosports.net09.04.2018
chicksaddlery.net16.04.2018
paypaypay.org11.05.2018
ar500arnor.com26.05.2018
autorizecdn.com28.05.2018
slickmin.com28.05.2018
bannerbuzz.info03.06.2018
kandypens.net08.06.2018
mylrendyphone.com15.06.2018
freshchat.info01.07.2018
3lift.org02.07.2018
abtasty.net02.07.2018
mechat.info02.07.2018
zoplm.com02.07.2018
zapaljs.com02.09.2018
foodandcot.com15.09.2018
freshdepor.com15.09.2018
swappastore.com15.09.2018
verywellfitnesse.com15.09.2018
elegrina.com18.11.2018
majsurplus.com19.11.2018
top5value.com19.11.2018

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster