Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Gairebé tots fem servir els serveis de les botigues en línia, la qual cosa significa que tard o d'hora correm el risc de convertir-nos en víctimes dels sniffers de JavaScript: codi especial que els atacants implementen en un lloc web per robar dades de targetes bancàries, adreces, inicis de sessió i contrasenyes dels usuaris. .

Gairebé 400 usuaris del lloc web i de l'aplicació mòbil de British Airways ja s'han vist afectats pels sniffers, així com els visitants del web britànic del gegant esportiu FILA i del distribuïdor de bitllets nord-americà Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris: aquests i molts altres sistemes de pagament estaven infectats.

L'analista de Threat Intelligence Group-IB, Viktor Okorokov, parla de com els sniffers s'infiltren en el codi del lloc web i roben informació de pagament, així com de quins CRM ataquen.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

"Amenaça oculta"

Va passar que durant molt de temps els sniffers de JS van romandre fora de la vista dels analistes antivirus, i els bancs i els sistemes de pagament no els van veure com una amenaça seriosa. I completament en va. Experts del Grup-IB analitzat 2440 botigues en línia infectades, els visitants de les quals -un total d'uns 1,5 milions de persones al dia- estaven en risc de comprometre's. Entre les víctimes no només hi ha usuaris, sinó també botigues en línia, sistemes de pagament i bancs que van emetre targetes compromeses.

Informe Group-IB es va convertir en el primer estudi del mercat de darknet per a sniffers, la seva infraestructura i mètodes de monetització, que aporta als seus creadors milions de dòlars. Vam identificar 38 famílies de sniffers, de les quals només 12 eren conegudes prèviament pels investigadors.

Anem a detenir-nos amb detall en les quatre famílies de sniffers estudiades durant l'estudi.

ReactGet Family

Els sniffers de la família ReactGet s'utilitzen per robar dades de targetes bancàries als llocs de compres en línia. L'sniffer pot funcionar amb un gran nombre de sistemes de pagament diferents utilitzats al lloc: un valor de paràmetre correspon a un sistema de pagament i les versions individuals detectades de l'sniffer es poden utilitzar per robar credencials, així com per robar dades de la targeta bancària del pagament. formes de diversos sistemes de pagament alhora, com l'anomenat sniffer universal. Es va trobar que, en alguns casos, els atacants realitzen atacs de pesca contra els administradors de les botigues en línia per accedir al tauler administratiu del lloc.

El maig de 2017 es va iniciar una campanya que utilitzava aquesta família de rastrejadors; van ser atacats llocs amb CMS i plataformes Magento, Bigcommerce i Shopify.

Com s'implementa ReactGet al codi d'una botiga en línia

A més de la implementació “clàssica” d'un script a través d'un enllaç, els operadors de la família de sniffers ReactGet utilitzen una tècnica especial: mitjançant codi JavaScript, comproven si l'adreça actual on es troba l'usuari compleix uns criteris determinats. El codi maliciós només s'executarà si la subcadena està present a l'URL actual caixa o compra en un pas, una pàgina/, fora/unapag, caixa/una, ckout/un. Així, el codi sniffer s'executarà exactament en el moment en què l'usuari procedeixi a pagar les compres i introdueixi la informació de pagament al formulari del lloc.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Aquest sniffer utilitza una tècnica no estàndard. Les dades personals i de pagament de la víctima es recullen conjuntament i es codifiquen mitjançant base 64, i després la cadena resultant s'utilitza com a paràmetre per enviar una sol·licitud al lloc web dels atacants. Molt sovint, el camí a la porta imita un fitxer JavaScript, per exemple resp.js, data.js i així successivament, però també s'utilitzen enllaços a fitxers d'imatge, GIF и JPG. La particularitat és que l'sniffer crea un objecte d'imatge que mesura 1 per 1 píxel i utilitza l'enllaç rebut anteriorment com a paràmetre. src Imatges. És a dir, per a l'usuari aquesta sol·licitud en el trànsit semblarà una sol·licitud d'una imatge normal. Es va utilitzar una tècnica similar a la família de sniffers ImageID. A més, la tècnica d'utilitzar una imatge d'1 per 1 píxel s'utilitza en molts scripts d'anàlisi en línia legítims, que també poden enganyar l'usuari.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Anàlisi de versions

L'anàlisi dels dominis actius utilitzats pels operadors de sniffer de ReactGet va revelar moltes versions diferents d'aquesta família de sniffers. Les versions es diferencien en la presència o absència d'ofuscament i, a més, cada sniffer està dissenyat per a un sistema de pagament específic que processa els pagaments amb targeta bancària per a botigues en línia. Després d'haver ordenat el valor del paràmetre corresponent al número de versió, els especialistes del Grup-IB van rebre una llista completa de les variacions de sniffer disponibles i, pels noms dels camps del formulari que cada sniffer cerca al codi de la pàgina, van identificar els sistemes de pagament. al qual s'adreça l'sniffer.

Llista de sniffers i els seus corresponents sistemes de pagament

URL del rastreig Sistema de pagament
reactjsapi.com/react.js Autoritzar.Net
ajaxstatic.com/api.js?v=2.1.1 Estalvi de cartes
ajaxstatic.com/api.js?v=2.1.2 Autoritzar.Net
ajaxstatic.com/api.js?v=2.1.3 Autoritzar.Net
ajaxstatic.com/api.js?v=2.1.4 eWAY Rapid
ajaxstatic.com/api.js?v=2.1.5 Autoritzar.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Autoritzar.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Autoritzar.Net
apitstatus.com/api.js?v=2.1.3 Moneris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 PayPal
apitstatus.com/api.js?v=2.1.7 Sage Pay
apitstatus.com/api.js?v=2.1.8 Verisign
apitstatus.com/api.js?v=2.1.9 PayPal
apitstatus.com/api.js?v=2.3.0 Raya
apitstatus.com/api.js?v=3.0.2 Realex
apitstatus.com/api.js?v=3.0.3 PayPal
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.8 DataCash
apitstatus.com/api.js?v=3.0.9 PayPal
asianfoodgracer.com/footer.js Autoritzar.Net
billgetstatus.com/api.js?v=1.2 Autoritzar.Net
billgetstatus.com/api.js?v=1.3 Autoritzar.Net
billgetstatus.com/api.js?v=1.4 Autoritzar.Net
billgetstatus.com/api.js?v=1.5 Verisign
billgetstatus.com/api.js?v=1.6 Autoritzar.Net
billgetstatus.com/api.js?v=1.7 Moneris
billgetstatus.com/api.js?v=1.8 Sage Pay
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.js Autoritzar.Net
cloudodesc.com/gtm.js?v=1.2 Autoritzar.Net
cloudodesc.com/gtm.js?v=1.3 ANZ eGate
cloudodesc.com/gtm.js?v=2.3 Autoritzar.Net
cloudodesc.com/gtm.js?v=2.4 Moneris
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.9 Autoritzar.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 ciberfont
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
cloudodesc.com/gtm.js?v=2.97 Realex
geisseie.com/gs.js USAePay
gtmproc.com/age.js Autoritzar.Net
gtmproc.com/gtm.js?v=1.2 Autoritzar.Net
gtmproc.com/gtm.js?v=1.3 ANZ eGate
gtmproc.com/gtm.js?v=1.5 PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Realex
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.3 Autoritzar.Net
livecheckpay.com/api.js?v=2.4 Verisign
livecheckpay.com/react.js Autoritzar.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 ciberfont
livegetpay.com/pay.js?v=2.1.7 Autoritzar.Net
livegetpay.com/pay.js?v=2.1.8 Sage Pay
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 ciberfont
livegetpay.com/pay.js?v=2.2.1 PayPal
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.9 Verisign
livegetpay.com/pay.js?v=2.3.0 Autoritzar.Net
livegetpay.com/pay.js?v=2.3.1 Autoritzar.Net
livegetpay.com/pay.js?v=2.3.2 Primera passarel·la global de dades
livegetpay.com/pay.js?v=2.3.3 Autoritzar.Net
livegetpay.com/pay.js?v=2.3.4 Autoritzar.Net
livegetpay.com/pay.js?v=2.3.5 Moneris
livegetpay.com/pay.js?v=2.3.6 Autoritzar.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0 Verisign
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.com Autoritzar.Net
mediapack.info/track.js?d=vseyewear.com Verisign
mxcounter.com/c.js?v=1.2 PayPal
mxcounter.com/c.js?v=1.3 Autoritzar.Net
mxcounter.com/c.js?v=1.4 Raya
mxcounter.com/c.js?v=1.6 Autoritzar.Net
mxcounter.com/c.js?v=1.7 eWAY Rapid
mxcounter.com/c.js?v=1.8 Sage Pay
mxcounter.com/c.js?v=2.0 Autoritzar.Net
mxcounter.com/c.js?v=2.1 Braintree
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 Autoritzar.Net
mxcounter.com/c.js?v=2.33 PayPal
mxcounter.com/c.js?v=2.34 Autoritzar.Net
mxcounter.com/c.js?v=2.35 Verisign
mxcounter.com/click.js?v=1.2 PayPal
mxcounter.com/click.js?v=1.3 Autoritzar.Net
mxcounter.com/click.js?v=1.4 Raya
mxcounter.com/click.js?v=1.6 Autoritzar.Net
mxcounter.com/click.js?v=1.7 eWAY Rapid
mxcounter.com/click.js?v=1.8 Sage Pay
mxcounter.com/click.js?v=2.0 Autoritzar.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 PayPal
mxcounter.com/click.js?v=2.3 Sage Pay
mxcounter.com/click.js?v=2.31 Sage Pay
mxcounter.com/click.js?v=2.32 Autoritzar.Net
mxcounter.com/click.js?v=2.33 PayPal
mxcounter.com/click.js?v=2.34 Autoritzar.Net
mxcounter.com/click.js?v=2.35 Verisign
mxcounter.com/cnt.js Autoritzar.Net
mxcounter.com/j.js Autoritzar.Net
newrelicnet.com/api.js?v=1.2 Autoritzar.Net
newrelicnet.com/api.js?v=1.4 Autoritzar.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.0 PayFort
nr-public.com/api.js?v=2.1 PayPal
nr-public.com/api.js?v=2.2 Autoritzar.Net
nr-public.com/api.js?v=2.3 Raya
nr-public.com/api.js?v=2.4 Primera passarel·la global de dades
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Autoritzar.Net
nr-public.com/api.js?v=2.7 Autoritzar.Net
nr-public.com/api.js?v=2.8 Moneris
nr-public.com/api.js?v=2.9 Autoritzar.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 Moneris
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.7 Westpac PayWay
nr-public.com/api.js?v=3.8 Autoritzar.Net
nr-public.com/api.js?v=4.0 Moneris
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4 PayPal
nr-public.com/api.js?v=4.0.5 Autoritzar.Net
nr-public.com/api.js?v=4.0.6 USAePay
nr-public.com/api.js?v=4.0.7 EBizCharge
nr-public.com/api.js?v=4.0.8 Autoritzar.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.11 Autoritzar.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13 Moneris
ordercheckpays.com/api.js?v=2.14 Autoritzar.Net
ordercheckpays.com/api.js?v=2.15 PayPal
ordercheckpays.com/api.js?v=2.16 PayPal
ordercheckpays.com/api.js?v=2.17 Westpac PayWay
ordercheckpays.com/api.js?v=2.18 Autoritzar.Net
ordercheckpays.com/api.js?v=2.19 Autoritzar.Net
ordercheckpays.com/api.js?v=2.21 Sage Pay
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23 Autoritzar.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 ciberfont
ordercheckpays.com/api.js?v=2.4 PayPal Payflow Pro
ordercheckpays.com/api.js?v=2.7 Autoritzar.Net
ordercheckpays.com/api.js?v=2.8 Autoritzar.Net
ordercheckpays.com/api.js?v=2.9 Verisign
ordercheckpays.com/api.js?v=3.1 Autoritzar.Net
ordercheckpays.com/api.js?v=3.2 Autoritzar.Net
ordercheckpays.com/api.js?v=3.3 Sage Pay
ordercheckpays.com/api.js?v=3.4 Autoritzar.Net
ordercheckpays.com/api.js?v=3.5 Raya
ordercheckpays.com/api.js?v=3.6 Autoritzar.Net
ordercheckpays.com/api.js?v=3.7 Autoritzar.Net
ordercheckpays.com/api.js?v=3.8 Verisign
ordercheckpays.com/api.js?v=3.9 PayPal
ordercheckpays.com/api.js?v=4.0 Autoritzar.Net
ordercheckpays.com/api.js?v=4.1 Autoritzar.Net
ordercheckpays.com/api.js?v=4.2 Sage Pay
ordercheckpays.com/api.js?v=4.3 Autoritzar.Net
reactjsapi.com/api.js?v=0.1.0 Autoritzar.Net
reactjsapi.com/api.js?v=0.1.1 PayPal
reactjsapi.com/api.js?v=4.1.2 Pedernal
reactjsapi.com/api.js?v=4.1.4 PayPal
reactjsapi.com/api.js?v=4.1.5 Sage Pay
reactjsapi.com/api.js?v=4.1.51 Verisign
reactjsapi.com/api.js?v=4.1.6 Autoritzar.Net
reactjsapi.com/api.js?v=4.1.7 Autoritzar.Net
reactjsapi.com/api.js?v=4.1.8 Raya
reactjsapi.com/api.js?v=4.1.9 Zebra grassa
reactjsapi.com/api.js?v=4.2.0 Sage Pay
reactjsapi.com/api.js?v=4.2.1 Autoritzar.Net
reactjsapi.com/api.js?v=4.2.2 Primera passarel·la global de dades
reactjsapi.com/api.js?v=4.2.3 Autoritzar.Net
reactjsapi.com/api.js?v=4.2.4 eWAY Rapid
reactjsapi.com/api.js?v=4.2.5 Adyen
reactjsapi.com/api.js?v=4.2.7 PayPal
reactjsapi.com/api.js?v=4.2.8 Serveis per a comerciants de QuickBooks
reactjsapi.com/api.js?v=4.2.9 Verisign
reactjsapi.com/api.js?v=4.2.91 Sage Pay
reactjsapi.com/api.js?v=4.2.92 Verisign
reactjsapi.com/api.js?v=4.2.94 Autoritzar.Net
reactjsapi.com/api.js?v=4.3.97 Autoritzar.Net
reactjsapi.com/api.js?v=4.5 Sage Pay
reactjsapi.com/react.js Autoritzar.Net
sydneysalonsupplies.com/gtm.js eWAY Rapid
tagsmediaget.com/react.js Autoritzar.Net
tagstracking.com/tag.js?v=2.1.2 ANZ eGate
tagstracking.com/tag.js?v=2.1.3 PayPal
tagstracking.com/tag.js?v=2.1.5 ciberfont
tagstracking.com/tag.js?v=2.1.7 Autoritzar.Net
tagstracking.com/tag.js?v=2.1.8 Sage Pay
tagstracking.com/tag.js?v=2.1.9 Realex
tagstracking.com/tag.js?v=2.2.0 ciberfont
tagstracking.com/tag.js?v=2.2.1 PayPal
tagstracking.com/tag.js?v=2.2.2 PayPal
tagstracking.com/tag.js?v=2.2.3 PayPal
tagstracking.com/tag.js?v=2.2.4 Verisign
tagstracking.com/tag.js?v=2.2.5 eWAY Rapid
tagstracking.com/tag.js?v=2.2.7 Sage Pay
tagstracking.com/tag.js?v=2.2.8 Sage Pay
tagstracking.com/tag.js?v=2.2.9 Verisign
tagstracking.com/tag.js?v=2.3.0 Autoritzar.Net
tagstracking.com/tag.js?v=2.3.1 Autoritzar.Net
tagstracking.com/tag.js?v=2.3.2 Primera passarel·la global de dades
tagstracking.com/tag.js?v=2.3.3 Autoritzar.Net
tagstracking.com/tag.js?v=2.3.4 Autoritzar.Net
tagstracking.com/tag.js?v=2.3.5 Moneris
tagstracking.com/tag.js?v=2.3.6 Autoritzar.Net
tagstracking.com/tag.js?v=2.3.8 PayPal

Esnifer de contrasenya

Un dels avantatges dels sniffers de JavaScript que treballen al costat del client d'un lloc web és la seva versatilitat: el codi maliciós incrustat en un lloc web pot robar qualsevol tipus de dades, ja siguin dades de pagament o el login i la contrasenya d'un compte d'usuari. Els especialistes del Grup IB van descobrir una mostra d'un sniffer pertanyent a la família ReactGet, dissenyat per robar adreces de correu electrònic i contrasenyes dels usuaris del lloc.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Intersecció amb ImageID sniffer

Durant l'anàlisi d'una de les botigues infectades, es va comprovar que el seu lloc estava infectat dues vegades: a més del codi maliciós de l'sniffer de la família ReactGet, es va detectar el codi de l'sniffer de la família ImageID. Aquest solapament podria ser una evidència que els operadors darrere d'ambdós sniffers utilitzen tècniques similars per injectar codi maliciós.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Esnifer universal

Una anàlisi d'un dels noms de domini associats a la infraestructura sniffer ReactGet va revelar que el mateix usuari havia registrat altres tres noms de domini. Aquests tres dominis imitaven els dominis de llocs web de la vida real i anteriorment s'utilitzaven per allotjar sniffers. Quan es va analitzar el codi de tres llocs legítims, es va detectar un sniffer desconegut i una anàlisi posterior va demostrar que es tractava d'una versió millorada del sniffer ReactGet. Totes les versions prèviament monitoritzades d'aquesta família d'sniffers estaven dirigides a un únic sistema de pagament, és a dir, cada sistema de pagament requeria una versió especial de l'sniffer. No obstant això, en aquest cas, es va descobrir una versió universal del sniffer capaç de robar informació de formularis relacionats amb 15 sistemes de pagament diferents i mòduls de llocs de comerç electrònic per fer pagaments en línia.

Així, a l'inici del treball, l'sniffer va cercar camps bàsics del formulari que contenien la informació personal de la víctima: nom complet, adreça física, número de telèfon.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
A continuació, l'sniffer va cercar en 15 prefixos diferents corresponents a diferents sistemes de pagament i mòduls de pagament en línia.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
A continuació, es van recopilar conjuntament les dades personals de la víctima i la informació de pagament i es van enviar a un lloc controlat per l'atacant: en aquest cas concret, es van descobrir dues versions de l'sniffer universal ReactGet, ubicades en dos llocs piratejats diferents. Tanmateix, ambdues versions van enviar dades robades al mateix lloc piratejat zoobashop.com.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
L'anàlisi dels prefixos que utilitzava l'sniffer per cercar els camps que contenien la informació de pagament de la víctima ens va permetre determinar que aquesta mostra d'sniffer anava dirigida als sistemes de pagament següents:

  • Autoritzar.Net
  • Verisign
  • Primeres dades
  • USAePay
  • Raya
  • PayPal
  • ANZ eGate
  • Braintree
  • DataCash (MasterCard)
  • Realex Payments
  • PsiGate
  • Sistemes de pagament Heartland

Quines eines s'utilitzen per robar informació de pagament?

La primera eina, descoberta durant l'anàlisi de la infraestructura dels atacants, s'utilitza per ofuscar scripts maliciosos responsables del robatori de targetes bancàries. Es va descobrir un script bash que utilitzava la CLI del projecte en un dels amfitrions de l'atacant javascript-ofuscator per automatitzar l'ofuscament del codi sniffer.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
La segona eina descoberta està dissenyada per generar codi encarregat de carregar l'sniffer principal. Aquesta eina genera codi JavaScript que verifica si l'usuari es troba a la pàgina de pagament cercant cadenes a l'adreça actual de l'usuari. caixa, carro i així successivament, i si el resultat és positiu, el codi carrega l'sniffer principal des del servidor dels atacants. Per ocultar l'activitat maliciosa, totes les línies, incloses les línies de prova per determinar la pàgina de pagament, així com un enllaç al rastrejador, es codifiquen mitjançant base 64.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Atacs de pesca

Una anàlisi de la infraestructura de xarxa dels atacants va revelar que el grup criminal sovint utilitza phishing per accedir al panell administratiu de la botiga en línia objectiu. Els atacants registren un domini que és visualment similar al domini d'una botiga i, a continuació, hi despleguen un formulari d'inici de sessió fals del tauler d'administració de Magento. Si tenen èxit, els atacants tindran accés al tauler administratiu del CMS Magento, que els dóna l'oportunitat d'editar components del lloc web i implementar un sniffer per robar dades de la targeta de crèdit.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Infraestructura

Nom del domini Data de descobriment/aparició
mediapack.info 04.05.2017
adsgetapi.com 15.06.2017
simcounter.com 14.08.2017
mageanalytics.com 22.12.2017
maxstatics.com 16.01.2018
reactjsapi.com 19.01.2018
mxcounter.com 02.02.2018
apitstatus.com 01.03.2018
orderracker.com 20.04.2018
tagstracking.com 25.06.2018
adsapigate.com 12.07.2018
trust-tracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
balletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector.com 21.10.2018
tagsmediaget.com 02.11.2018
hs-payments.com 16.11.2018
ordercheckpays.com 19.11.2018
geisseie.com 24.11.2018
gtmproc.com 29.11.2018
livegetpay.com 18.12.2018
sydneysalonsupplies.com 18.12.2018
newrelicnet.com 19.12.2018
nr-public.com 03.01.2019
cloudodesc.com 04.01.2019
ajaxstatic.com 11.01.2019
livecheckpay.com 21.01.2019
asianfoodgracer.com 25.01.2019

Família G-Analytics

Aquesta família de sniffers s'utilitza per robar targetes de clients de les botigues en línia. El primer nom de domini utilitzat pel grup es va registrar l'abril de 2016, cosa que pot indicar que el grup va començar l'activitat a mitjans de 2016.

En la campanya actual, el grup utilitza noms de domini que imiten serveis de la vida real, com ara Google Analytics i jQuery, emmascarant l'activitat dels sniffers amb scripts legítims i noms de domini similars als legítims. Els llocs que executaven el CMS Magento van ser atacats.

Com s'implementa G-Analytics al codi d'una botiga en línia

Una característica distintiva d'aquesta família és l'ús de diversos mètodes per robar la informació de pagament dels usuaris. A més de la clàssica injecció de codi JavaScript al costat del client del lloc, el grup criminal també va utilitzar tècniques d'injecció de codi al costat del servidor del lloc, és a dir, scripts PHP que processen les dades introduïdes per l'usuari. Aquesta tècnica és perillosa perquè dificulta que els investigadors de tercers detectin codi maliciós. Els especialistes del Grup-IB van descobrir una versió d'un sniffer incrustat al codi PHP del lloc, utilitzant un domini com a porta dittm.org.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
També es va descobrir una versió primerenca d'un sniffer que utilitza el mateix domini per recollir dades robades dittm.org, però aquesta versió està pensada per a la instal·lació al costat del client d'una botiga en línia.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Més tard, el grup va canviar la seva tàctica i va començar a centrar-se més en amagar activitats malicioses i camuflatges.

A principis del 2017, el grup va començar a utilitzar el domini jquery-js.com, disfressat com a CDN per a jQuery: quan va al lloc dels atacants, l'usuari és redirigit a un lloc legítim jquery.com.

I a mitjans del 2018, el grup va adoptar el nom de domini g-analytics.com i va començar a disfressar les activitats del sniffer com un servei legítim de Google Analytics.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Anàlisi de versions

Durant l'anàlisi dels dominis utilitzats per emmagatzemar el codi sniffer, es va trobar que el lloc conté un gran nombre de versions, que es diferencien per la presència d'ofuscament, així com per la presència o absència de codi inabastable afegit al fitxer per distreure l'atenció. i amagar codi maliciós.

Total al lloc jquery-js.com Es van identificar sis versions de sniffers. Aquests sniffers envien les dades robades a una adreça situada al mateix lloc web que el mateix 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

Domini posterior g-analytics.com, utilitzat pel grup en atacs des de mitjan 2018, serveix com a dipòsit per a més sniffers. En total, es van descobrir 16 versions diferents del sniffer. En aquest cas, la porta d'enviament de dades robades es va disfressar d'enllaç a un format d'imatge 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

Monetització de dades robades

El grup criminal monetitza les dades robades venent targetes a través d'una botiga subterrània especialment creada que ofereix serveis als carders. L'anàlisi dels dominis utilitzats pels atacants ens va permetre determinar-ho google-analytics.cm va ser registrat pel mateix usuari que el domini cardz.vc. Domini cardz.vc es refereix a una botiga de venda de targetes bancàries robades Cardsurfs (Flysurfs), que va guanyar popularitat en els dies de l'activitat de la plataforma comercial subterrània AlphaBay com a botiga de venda de targetes bancàries robades amb un sniffer.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Anàlisi del domini analític.és, situat al mateix servidor que els dominis utilitzats pels sniffers per recollir dades robades, els especialistes del Grup-IB van descobrir un fitxer que contenia registres de robatoris de galetes, que sembla haver estat abandonat posteriorment pel desenvolupador. Una de les entrades del registre contenia un domini iozoz.com, que s'utilitzava anteriorment en un dels sniffers actius el 2016. Presumiblement, un atacant utilitzava aquest domini anteriorment per recollir targetes robades amb un sniffer. Aquest domini s'ha registrat a una adreça de correu electrònic [protegit per correu electrònic], que també s'utilitzava per registrar dominis cardz.su и cardz.vc, relacionat amb la botiga de carding Cardsurfs.

A partir de les dades obtingudes, es pot suposar que la família de sniffers G-Analytics i la botiga subterrània de venda de targetes bancàries Cardsurfs són gestionades per les mateixes persones, i la botiga serveix per vendre targetes bancàries robades amb l'sniffer.

Infraestructura

Nom del domini Data de descobriment/aparició
iozoz.com 08.04.2016
dittm.org 10.09.2016
jquery-js.com 02.01.2017
g-analytics.com 31.05.2018
google-analytics.is 21.11.2018
analítiques.a 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analític.és 28.12.2018
google-analytics.cm 17.01.2019

Família Illum

Illum és una família d'sniffers que s'utilitza per atacar botigues en línia amb el CMS Magento. A més d'introduir codi maliciós, els operadors d'aquest sniffer també utilitzen la introducció de formularis de pagament falsos complets que envien dades a les portes controlades pels atacants.

En analitzar la infraestructura de xarxa utilitzada pels operadors d'aquest sniffer, es va observar un gran nombre d'scripts maliciosos, exploits, formularis de pagament falsos, així com una col·lecció d'exemples amb sniffers maliciosos de competidors. A partir de la informació sobre les dates d'aparició dels noms de domini utilitzats pel grup, es pot suposar que la campanya va començar a finals de 2016.

Com s'implementa Illum al codi d'una botiga en línia

Les primeres versions de l'sniffer descobertes es van incrustar directament al codi del lloc compromès. Les dades robades van ser enviades a cdn.illum[.]pw/records.php, la porta es va codificar utilitzant base 64.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Més tard, es va descobrir una versió empaquetada del sniffer que utilitza una porta diferent: records.nstatistics[.]com/records.php.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Segons informe Willem de Groot, el mateix amfitrió es va utilitzar al sniffer, que es va implementar lloc web de la botiga, propietat del partit polític alemany CSU.

Anàlisi del lloc web dels atacants

Els especialistes del Grup-IB van descobrir i analitzar un lloc web utilitzat per aquest grup criminal per emmagatzemar eines i recopilar informació robada.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Entre les eines que es van trobar al servidor dels atacants hi havia scripts i exploits per augmentar els privilegis al sistema operatiu Linux: per exemple, el Linux Privilege Escalation Check Script desenvolupat per Mike Czumak, així com un exploit per a CVE-2009-1185.

Els atacants van utilitzar directament dues explotacions per atacar botigues en línia: первый capaç d'injectar codi maliciós core_config_data mitjançant l'explotació de CVE-2016-4010, 2 explota una vulnerabilitat RCE en els connectors per a CMS Magento, la qual cosa permet executar codi arbitrari en un servidor web vulnerable.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
A més, durant l'anàlisi del servidor, es van descobrir diverses mostres de sniffers i formularis de pagament falsos, utilitzats pels atacants per recollir informació de pagament de llocs piratejats. Com podeu veure a la llista següent, es van crear alguns scripts individualment per a cada lloc piratejat, mentre que es va utilitzar una solució universal per a determinats CMS i passarel·les de pagament. Per exemple, els guions segapay_standart.js и segapay_onpage.js dissenyat per a la implementació en llocs que utilitzen la passarel·la de pagament Sage Pay.

Llista d'scripts per a diverses passarel·les de pagament

Guió Passarel·la de pagament
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=

Amfitrió pagament ara[.]tk, utilitzat com a porta en un guió payment_forminsite.js, es va descobrir com subjectAltName en diversos certificats relacionats amb el servei CloudFlare. A més, l'amfitrió contenia un guió mal.js. A jutjar pel nom de l'script, es podria utilitzar com a part de l'explotació de CVE-2016-4010, gràcies al qual és possible injectar codi maliciós al peu de pàgina d'un lloc amb CMS Magento. L'amfitrió va utilitzar aquest script com a porta request.requestnet[.]tkutilitzant el mateix certificat que l'amfitrió pagament ara[.]tk.

Formes de pagament falses

La figura següent mostra un exemple de formulari per introduir dades de la targeta. Aquest formulari es va utilitzar per infiltrar-se en una botiga en línia i robar dades de la targeta.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
La figura següent mostra un exemple d'un formulari de pagament de PayPal fals que van utilitzar els atacants per infiltrar-se en llocs amb aquest mètode de pagament.
Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Infraestructura

Nom del domini Data de descobriment/aparició
cdn.illum.pw 27/11/2016
records.nstatistics.com 06/09/2018
sol·licitud.payrightnow.cf 25/05/2018
paymentnow.tk 16/07/2017
línia de pagament.tk 01/03/2018
paymentpal.cf 04/09/2017
requestnet.tk 28/06/2017

Cafè Família Mokko

La família de sniffers CoffeMokko, dissenyada per robar targetes bancàries als usuaris de la botiga en línia, s'utilitza almenys des del maig del 2017. Presumiblement, els operadors d'aquesta família de sniffers són el grup criminal Grup 1, descrit pels especialistes de RiskIQ el 2016. Els llocs amb CMS com Magento, OpenCart, WordPress, osCommerce i Shopify van ser atacats.

Com s'implementa CoffeMokko al codi d'una botiga en línia

Els operadors d'aquesta família creen sniffers únics per a cada infecció: el fitxer sniffer es troba al directori src o js al servidor dels atacants. La incorporació al codi del lloc es realitza mitjançant un enllaç directe al sniffer.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
El codi sniffer codifica els noms dels camps del formulari dels quals s'han de robar les dades. L'sniffer també comprova si l'usuari es troba a la pàgina de pagament comprovant la llista de paraules clau amb l'adreça actual de l'usuari.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Algunes versions descobertes de l'sniffer estaven ofuscades i contenien una cadena xifrada en la qual s'emmagatzemava la matriu principal de recursos: contenia els noms dels camps del formulari per a diversos sistemes de pagament, així com l'adreça de la porta a la qual s'havien d'enviar les dades robades.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
La informació de pagament robada es va enviar a un script al servidor dels atacants durant el camí /savePayment/index.php o /tr/index.php. Presumiblement, aquest script s'utilitza per enviar dades des de la porta al servidor principal, que consolida les dades de tots els sniffers. Per ocultar les dades transmeses, tota la informació de pagament de la víctima es xifra utilitzant base 64, i després es produeixen diverses substitucions de caràcters:

  • el caràcter "e" es substitueix per ":"
  • el símbol "w" es substitueix per "+"
  • el caràcter "o" es substitueix per "%"
  • el caràcter "d" es substitueix per "#"
  • el caràcter "a" es substitueix per "-"
  • el símbol "7" es substitueix per "^"
  • el caràcter "h" es substitueix per "_"
  • el símbol "T" es substitueix per "@"
  • el caràcter "0" es substitueix per "/"
  • el caràcter "Y" es substitueix per "*"

Com a resultat de substitucions de caràcters codificades utilitzant base 64 Les dades no es poden descodificar sense realitzar la conversió inversa.

Així és un fragment de codi sniffer que no s'ha ofuscat:

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Anàlisi d'infraestructures

A les primeres campanyes, els atacants van registrar noms de domini similars als dels llocs de compra en línia legítims. El seu domini podria diferir del legítim per un símbol o un altre TLD. Els dominis registrats es van utilitzar per emmagatzemar el codi de rastreig, un enllaç al qual estava incrustat al codi de la botiga.

Aquest grup també va utilitzar noms de domini que recorden els connectors populars de jQuery (slickjs[.]org per als llocs que utilitzen el connector slick.js), passarel·les de pagament (sagecdn[.]org per a llocs que utilitzen el sistema de pagament Sage Pay).

Més tard, el grup va començar a crear dominis els noms dels quals no tenien res a veure amb el domini de la botiga o el tema de la botiga.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Cada domini corresponia a un lloc on es va crear el directori /js o /src. Els scripts sniffer es van emmagatzemar en aquest directori: un sniffer per cada nova infecció. L'sniffer es va incrustar al codi del lloc web mitjançant un enllaç directe, però en casos rars, els atacants van modificar un dels fitxers del lloc web i hi van afegir codi maliciós.

Anàlisi de codi

Primer algorisme de ofuscació

En algunes mostres descobertes d'sniffers d'aquesta família, el codi estava ofuscat i contenia dades xifrades necessàries perquè funcionés l'sniffer: en particular, l'adreça de la porta de l'sniffer, una llista de camps del formulari de pagament i, en alguns casos, el codi d'un fals. formulari de pagament. Al codi dins de la funció, els recursos es van xifrar mitjançant XOR mitjançant la clau que es va passar com a argument a la mateixa funció.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
En desxifrar la cadena amb la clau adequada, única per a cada mostra, podeu obtenir una cadena que contingui totes les cadenes del codi sniffer separades per un caràcter separador.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Segon algorisme de ofuscació

En mostres posteriors de sniffers d'aquesta família, es va utilitzar un mecanisme d'ofuscació diferent: en aquest cas, les dades es van xifrar mitjançant un algorisme escrit per si mateix. S'ha passat una cadena que conté les dades xifrades necessàries perquè l'sniffer funcioni com a argument a la funció de desxifrat.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia
Mitjançant la consola del navegador, podeu desxifrar les dades xifrades i obtenir una matriu que contingui recursos sniffer.

Quatre sniffers de JavaScript que t'esperen a les botigues en línia

Connexió als primers atacs de MageCart

Durant l'anàlisi d'un dels dominis utilitzats pel grup com a passarel·la per recollir dades robades, es va comprovar que aquest domini allotjava una infraestructura per al robatori de targetes de crèdit, idèntica a la utilitzada pel Grup 1, un dels primers grups, descobert pels especialistes de RiskIQ.

Es van trobar dos fitxers a l'amfitrió de la família d'sniffers CoffeMokko:

  • mag.js — fitxer que conté el codi de rastreig del grup 1 amb l'adreça de la porta js-cdn.link
  • mag.php — Script PHP responsable de la recollida de dades robades per l'sniffer

Contingut del fitxer mage.js Quatre sniffers de JavaScript que t'esperen a les botigues en línia
També es va determinar que els primers dominis utilitzats pel grup darrere de la família d'sniffers CoffeMokko es van registrar el 17 de maig de 2017:

  • enllaç-js[.]enllaç
  • info-js[.]enllaç
  • track-js[.]enllaç
  • map-js[.]enllaç
  • smart-js[.]enllaç

El format d'aquests noms de domini coincideix amb els noms de domini del grup 1 que es van utilitzar en els atacs de 2016.

A partir dels fets descoberts, es pot suposar que hi ha una connexió entre els operadors dels sniffers CoffeMokko i el grup criminal Grup 1. Presumiblement, els operadors de CoffeMokko podrien haver manllevat eines i programari dels seus predecessors per robar targetes. Tanmateix, és més probable que el grup criminal darrere de l'ús de la família de sniffers CoffeMokko siguin les mateixes persones que van dur a terme els atacs del Grup 1. Després de la publicació del primer informe sobre les activitats del grup criminal, tots els seus noms de domini van ser bloquejat i les eines es van estudiar i descriure detalladament. El grup es va veure obligat a fer una pausa, perfeccionar les seves eines internes i reescriure el codi sniffer per continuar els seus atacs i no ser detectat.

Infraestructura

Nom del domini Data de descobriment/aparició
link-js.link 17.05.2017
info-js.link 17.05.2017
track-js.link 17.05.2017
map-js.link 17.05.2017
smart-js.link 17.05.2017
adorebeauty.org 03.09.2017
seguretat-pagament.su 03.09.2017
braincdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
oakandfort.org 10.09.2017
citywlnery.org 15.09.2017
dobell.su 04.10.2017
childrensplayclothing.org 31.10.2017
jewsondirect.com 05.11.2017
shop-rnib.org 15.11.2017
closetlondon.org 16.11.2017
misshaus.org 28.11.2017
bateria-force.org 01.12.2017
kik-vape.org 01.12.2017
greatfurnituretradingco.org 02.12.2017
etradesupply.org 04.12.2017
replacemyremote.org 04.12.2017
tot-sobre-sneakers.org 05.12.2017
mage-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamoodbighat.net 08.12.2017
walletgear.org 10.12.2017
dahlie.org 12.12.2017
davidsfootwear.org 20.12.2017
blackriverimmaging.org 23.12.2017
exrpesso.org 02.01.2018
parcs.su 09.01.2018
pmtonline.su 12.01.2018
otocap.org 15.01.2018
christohperward.org 27.01.2018
coffetea.org 31.01.2018
energycoffe.org 31.01.2018
energytea.org 31.01.2018
teacoffe.net 31.01.2018
adaptivecss.org 01.03.2018
coffemokko.com 01.03.2018
londontea.net 01.03.2018
ukcoffe.com 01.03.2018
labbe.biz 20.03.2018
batterynart.com 03.04.2018
btosports.net 09.04.2018
chicksaddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
authorizecdn.com 28.05.2018
slickmin.com 28.05.2018
bannerbuzz.info 03.06.2018
kandypens.net 08.06.2018
mylrendyphone.com 15.06.2018
freshchat.info 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
mechat.info 02.07.2018
zoplm.com 02.07.2018
zapaljs.com 02.09.2018
foodandcot.com 15.09.2018
freshdepor.com 15.09.2018
swappastore.com 15.09.2018
verywellfitnesse.com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

Font: www.habr.com

Afegeix comentari