{"id":13876,"date":"2018-11-20T10:10:04","date_gmt":"2018-11-20T18:10:04","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2018\/11\/20\/news-7643\/"},"modified":"2018-11-20T10:10:04","modified_gmt":"2018-11-20T18:10:04","slug":"news-7643","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2018\/11\/20\/news-7643\/","title":{"rendered":"Web skimmers compete in Umbro Brasil hack"},"content":{"rendered":"<p><strong>Credit to Author: J\u00e9r\u00f4me Segura| Date: Tue, 20 Nov 2018 16:51:57 +0000<\/strong><\/p>\n<p>Umbro,\u00a0the popular sportswear brand has had their <a href=\"https:\/\/twitter.com\/UmbroBrasil\" target=\"_blank\" rel=\"noopener\">Umbro Brasil<\/a> website hacked and injected with not one but two web skimmers part of the Magecart group.<\/p>\n<p>Magecart has become a household name in recent months due to high profile attacks on various merchant websites. Criminals can seamlessly steal payment and contact information from visitors purchasing products or services online.<\/p>\n<p>Multiple threat actors are competing at different scales to get their share of the pie. As a result, there are many different web skimming scripts and groups that focus on particular types of merchants or geographical areas.<\/p>\n<p>Case in point, in this Umbro Brasil compromise, one of the two skimming scripts checks for the presence of other skimming code and if present will slightly alter the credit card number that was entered by the victim. Effectively, the first skimmer will receive wrong credit card numbers as a direct act of sabotage.<\/p>\n<h3>Two skimmers go head to head<\/h3>\n<p>The Umbro Brasil website (<a href=\"https:\/\/sitecheck.sucuri.net\/results\/umbro.com.br\" target=\"_blank\" rel=\"noopener\">umbro.com[.]br<\/a>) runs the Magento e-commerce platform.\u00a0The first skimmer is loaded via a fake BootStrap library domain <em>bootstrap-js[.]com<\/em>, recently <a href=\"https:\/\/krebsonsecurity.com\/2018\/11\/whos-in-your-online-shopping-cart\/\" target=\"_blank\" rel=\"noopener\">discussed by Brian Krebs<\/a>. Looking at its code, we see that it fits the profile of threat actors predominantly active in South America, according to a recent <a href=\"https:\/\/www.riskiq.com\/blog\/external-threat-management\/inside-magecart\/\" target=\"_blank\" rel=\"noopener\">report from\u00a0RiskIQ<\/a>.<\/p>\n<div id=\"attachment_26373\" style=\"width: 770px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro.png\" data-rel=\"lightbox-0\" title=\"\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26373\" data-permalink=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/attachment\/umbro\/\" data-orig-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro.png\" data-orig-size=\"760,858\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"umbro\" data-image-description=\"\" data-medium-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro-266x300.png\" data-large-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro-531x600.png\" class=\"wp-image-26373 size-full\" src=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro.png\" alt=\"\" width=\"760\" height=\"858\" srcset=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro.png 760w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro-266x300.png 266w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/umbro-531x600.png 531w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">1st skimmer with code exposed in plain sight (conditional with referer check)<\/p>\n<\/div>\n<p>This skimmer is not obfuscated and exfiltrates the data in a standard JSON output. However, another skimmer is also present on the same site, loaded from <em>g-statistic[.]com<\/em>. This time, it is heavily obfuscated as seen in the picture below:<\/p>\n<div id=\"attachment_26374\" style=\"width: 659px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer.png\" data-rel=\"lightbox-1\" title=\"\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26374\" data-permalink=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/attachment\/2nd_skimmer\/\" data-orig-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer.png\" data-orig-size=\"649,666\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"2nd_skimmer\" data-image-description=\"\" data-medium-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer-292x300.png\" data-large-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer-585x600.png\" class=\"wp-image-26374 size-full\" src=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer.png\" alt=\"\" width=\"649\" height=\"666\" srcset=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer.png 649w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer-292x300.png 292w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/2nd_skimmer-585x600.png 585w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">2nd skimmer, showing large obfuscation blurb<\/p>\n<\/div>\n<h3>No fairplay between Magecart groups<\/h3>\n<p>Another interesting aspect is how the second skimmer alters the credit card number from the first skimmer. Before the form data is being sent, it grabs the credit card number and replaces its last digit with a random number.<\/p>\n<p>The following code snippet shows how certain domain names trigger this mechanism. Here we recognize <em>bootstrap-js[.]com,<\/em> which is the first skimmer. Then, a random integer ranging from 0 to 9 is generated for later use. Finally, the credit card number is stripped of its last digit and the previously generated random number is used.<\/p>\n<div id=\"attachment_26384\" style=\"width: 879px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26384\" data-permalink=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/attachment\/_randomize_cc\/\" data-orig-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1.png\" data-orig-size=\"869,241\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"_randomize_CC\" data-image-description=\"\" data-medium-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1-300x83.png\" data-large-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1-600x166.png\" class=\"wp-image-26384 size-full\" src=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1.png\" alt=\"\" width=\"869\" height=\"241\" srcset=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1.png 869w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1-300x83.png 300w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/randomize_CC-1-600x166.png 600w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><\/p>\n<p class=\"wp-caption-text\">Code to conditionally swap the last digit of the credit card (decoding courtesy of Willem de Groot)<\/p>\n<\/div>\n<p>By tampering with the data, the second skimmer can send an invalid but\u00a0<em>almost<\/em> correct credit card number to the competing skimmer. Because only a small part of it was changed, it will most likely pass validation tests and go on sale on black markets. Buyers will eventually realize their purchased credit cards are not working and will not trust that seller again.<\/p>\n<p>The second skimmer, now being the only one to hold the valid credit card number, uses a special function to encode the data it exfiltrates. Looking at the POST request, we can only see what looks like gibberish sent to its exfiltration domain (<em>onlineclouds[.]cloud<\/em>):<\/p>\n<div id=\"attachment_26375\" style=\"width: 566px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble.png\" data-rel=\"lightbox-2\" title=\"\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"26375\" data-permalink=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/attachment\/garble\/\" data-orig-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble.png\" data-orig-size=\"556,203\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"garble\" data-image-description=\"\" data-medium-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble-300x110.png\" data-large-file=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble.png\" class=\"wp-image-26375 size-full\" src=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble.png\" alt=\"\" width=\"556\" height=\"203\" srcset=\"https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble.png 556w, https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/garble-300x110.png 300w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/a><\/p>\n<p class=\"wp-caption-text\">Encoded data sent back to exfiltration server<\/p>\n<\/div>\n<p>This situation where multiple infections reside on the same host is not unusual. Indeed, unless a vulnerability with a webserver is fixed, it can be prone to several compromises by different perpetrators. Sometimes they can coexist peacefully, sometimes they are directly competing for the same resources.<\/p>\n<h3>Coolest sport in town<\/h3>\n<p>While web skimming has been going on for years, it has now become a very common (re-)occurrence. Security researcher <a href=\"https:\/\/twitter.com\/gwillem\" target=\"_blank\" rel=\"noopener\">Willem de Groot<\/a> has aggregated data for <a href=\"https:\/\/gwillem.gitlab.io\/2018\/11\/12\/merchants-struggle-with-magecart-reinfections\/\" target=\"_blank\" rel=\"noopener\">40K websites<\/a> since counting in 2015. His study also shows that reinfection among e-commerce sites (20% reinfection rate) is a problem that needs addressing.<\/p>\n<p>Website owners that handle payment processing need to do due diligence in securing their platform by keeping their software and plugins up-to-date, as well as paying special attention to third-party scripts.<\/p>\n<p>Consumers also need to be aware of this threat when shopping online, even if the merchant is a well known and reputable brand. On top of closely monitoring their bank statements, they should consider ways in which they can limit the damage from malicious withdrawals.<\/p>\n<p>We have informed <a href=\"https:\/\/www.cert.br\/\" target=\"_blank\" rel=\"noopener\">CERT.br<\/a> of this compromise and even though the skimmers are still online, Malwarebytes users are covered by our web protection module.<\/p>\n<h3><em>Acknowledgments:<\/em><\/h3>\n<p>Thanks to <a href=\"https:\/\/twitter.com\/gwillem\" target=\"_blank\" rel=\"noopener\">Willem de Groot<\/a> for his assistance in this research.<\/p>\n<h3>IOCs<\/h3>\n<p>Skimmers<\/p>\n<pre>1st skimmer: bootstrap-js[.]com  2nd skimmer:\u00a0g-statistic[.]com<\/pre>\n<p>Exfiltration<\/p>\n<pre>1st skimmer's exfil domain:\u00a0bootstrap-js[.]com  2nd skimmer's exfil domain:\u00a0onlineclouds[.]cloud<\/pre>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/\">Web skimmers compete in Umbro Brasil hack<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\">Malwarebytes Labs<\/a>.<\/p>\n<p><a href=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/\" target=\"bwo\" >https:\/\/blog.malwarebytes.com\/feed\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong>Credit to Author: J\u00e9r\u00f4me Segura| Date: Tue, 20 Nov 2018 16:51:57 +0000<\/strong><\/p>\n<table cellpadding='10'>\n<tr>\n<td valign='top' align='center'><a href='https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/' title='Web skimmers compete in Umbro Brasil hack'><img src='https:\/\/blog.malwarebytes.com\/wp-content\/uploads\/2018\/11\/shutterstock_415654276.jpg' border='0'  width='300px'  \/><\/a><\/td>\n<\/tr>\n<tr>\n<td valign='top' align='left'>In this web skimming match between two Magecart groups, there can only be one winner.<\/p>\n<p>Categories: <\/p>\n<ul class=\"post-categories\">\n<li><a href=\"https:\/\/blog.malwarebytes.com\/category\/threat-analysis\/criminals\/\" rel=\"category tag\">Criminals<\/a><\/li>\n<li><a href=\"https:\/\/blog.malwarebytes.com\/category\/threat-analysis\/\" rel=\"category tag\">Threat analysis<\/a><\/li>\n<\/ul>\n<p>Tags: <a href=\"https:\/\/blog.malwarebytes.com\/tag\/brasil\/\" rel=\"tag\">brasil<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/credit-card\/\" rel=\"tag\">credit card<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/exfiltration\/\" rel=\"tag\">exfiltration<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/hack\/\" rel=\"tag\">hack<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/json\/\" rel=\"tag\">JSON<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/magecart\/\" rel=\"tag\">Magecart<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/riskiq\/\" rel=\"tag\">RiskIQ<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/skimming\/\" rel=\"tag\">skimming<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/umbro\/\" rel=\"tag\">umbro<\/a><a href=\"https:\/\/blog.malwarebytes.com\/tag\/web\/\" rel=\"tag\">web<\/a><\/p>\n<table width='100%'>\n<tr>\n<td align=right>\n<p><b>(<a href='https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/' title='Web skimmers compete in Umbro Brasil hack'>Read more&#8230;<\/a>)<\/b><\/p>\n<\/td>\n<\/tr>\n<\/table>\n<\/td>\n<\/tr>\n<\/table>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\/threat-analysis\/2018\/11\/web-skimmers-compete-umbro-brasil-hack\/\">Web skimmers compete in Umbro Brasil hack<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/blog.malwarebytes.com\">Malwarebytes Labs<\/a>.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10488,10378],"tags":[20213,14702,3108,20214,4980,20215,19622,12374,20216,10494,20217,16725],"class_list":["post-13876","post","type-post","status-publish","format-standard","hentry","category-malwarebytes","category-security","tag-brasil","tag-credit-card","tag-criminals","tag-exfiltration","tag-hack","tag-json","tag-magecart","tag-riskiq","tag-skimming","tag-threat-analysis","tag-umbro","tag-web"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/13876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=13876"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/13876\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=13876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=13876"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=13876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}