Bitcoin-Spam über URl Shortener und JavaScript

Auf dieser Seite zeige ich, wie Spammer mit URL-Verkürzern und Google Analytics ihre Aussendung überprüfen. Für einen Spamfilter sind dies aber keine guten Kriterien, denn auch gute Seiten nutzen Google Analytics. Es ist eher eine kleine Einführung, wie Sie mit Fiddler so einen Vorgang analysieren können.

Achtung: Fiddler schützt sie nicht davor, dass sie Skripte von Malware-Seiten ausführen, die vielleicht eine Lücke ihres Browsers nutzen.

Der Auslöser

Es begannt alles mit einer Mail, bei der der "Displayname" des Absenders in der Welt der Exchange-Spezialisten sehr wohl bekannt ist:

Schon auf den ersten Blick ist natürlich zu sehen, dass Ed vermutlich keine Mail mit der Absenderdomain "national.kharkov.ua" senden wird und ein leerer Betreff fällt auch auf. Die URL wurde durch NoSpamProxy umgeschrieben. Das ist ein gängiges Verfahren, wenn Spamfilter die Mail als solches nicht gleich ablehnen aber vielleicht später beim Lesen der Mail durch den Anwender die URL noch mal prüfen wollen. Der Anfang des Headers zeigt folgendes:

  • IPhone als Absender ?
    Angeblich wurde die Mail mit einem IPhone 6s Plus unter IOS 11.6  (15f79) gesendet. Würde ich eher unwahrscheinlich ansehen aber vielleicht ist der Sender ein Opfer der Anfang 2020 entdeckten Lücke in IOS Mail?
  • "Richtige Reply-Adresse"
    Wenn Sie auf diese Mail antworten, dann geht die Mail tatsächlich an die richtige Adresse von Ed.
  • Gültige DKIM-Signatur.
    Der Versand wurde durch den Mailserver der Domain national.kharkov.ua sogar per DKIM signiert. Das scheint ein Hotel in Kharkov zu sein. Eventuell ein ungesichertes WLAN/LAN, aus dem der interne Mailserver als "offenes Relay" beliebige Nachrichten annimmt?. Ich habe das Hotel zumindest mal informiert.
  • Einliefernde IP 201.6.17.240 in Brasilien
    Im Header erscheint die 201.6.17.240 als einlieferndes System. Entweder nutzt das Hotel intern öffentliche Adressen, die ihnen nicht gehören oder die Reverse-DNS-Auflösug von 201.6.17.240 auf "c90611f0.virtua.com.br" wäre falsch. Ein Traceroute zeigt aber klar nach Südamerika

Die Mail an sich liefert also gar keinen Anhaltspunkt auf eine Werbung, Spamm o.ä. DKIM ist OK und auch der SPF-Record funktioniert. Malware-Anlagen gibt es nicht und im Body gibt es auch nichts zu analysieren. Entsprechend sind die Werte quasi alle neutral

Received: from 193.23.53.77 by cloudmx.netatwork.de via connector NSP
 Cloud-Connector (Tls12, Aes256, Sha384, DiffieHellmanEllipticKey384); Fri,
 05 Jun 2020 17:03:51 GMT
X-NoSpamProxy-Tests: Realtime Blocklist filter: 0; CYREN IP reputation: 0;
 CYREN spam protection: 0; Word filter: 0; Spam URI Realtime Blocklist
 filter: 0; Reputation: 0; CSA Whitelist: Pass; Validate and/or decrypt mail:
 Pass; Malware scanner: Pass; URL Safeguard: Pass; Content filtering: Pass;
 Project Heimdall: Pass; 
X-NoSpamProxy-TrustedMail: no
X-NoSpamProxy-Scl: 0.00
X-NetatworkMailGateway-Sender: blok@national.kharkov.ua
X-NoSpamProxy-Rule: All other inbound mails
X-NoSpamProxy-Gateway: 193.23.53.77:37778
X-NoSpamProxy-ID: cba0f616-06a9-461c-8c39-7429038db8af
X-NoSpamProxy-ModifiedContent: true
X-enQsig-EncryptionAlgorithm: None
X-enQsig-SignatureAlgorithm: None
X-enQsig-SignatureStatus: None

Offenes Relay?

In dem Header erscheint auch die einliefernde IP-Adresse 193.23.53.77. Da wollte ich doch mal schauen, ob das System vielleicht ein einfaches offenes Relay ist. Per Telnet geht das recht schnell

Der Postfix hat zumindest den einfachen Test bestanden.

v.ht als Hop

Also habe ich geschaut, welche "reale URL" sich hinter der umgeschriebenen NoSpamProxy-Adresse verbirgt.

Die Domain "v.ht" ist aber auch wieder nur ein "URL-Abkürzer, der eine lange URL als kurze Adresse ausliefert. Allerdings macht v.ht nicht nur das, sondern bindet auch schön unterschiedliche Google-Dienste ein, wie man an dem Referer gut sieht.

Über den Host www.google-analytics.com meldet der Browser den "Pageview" samt einiger Daten wie Bildschirmauslösung, Browsersprache und natürlich weiter Felder.

Bislang kannte ich "v.ht" noch nicht und es gibt natürlich wieder kein Impressum und gerade mal ein Kontakt-Formular. Die Fußleiste enthält noch eine URL auf cutt.us, deren Inhalt mir aber auch keinen weiteren Erkenntnisgewinn liefert.

Ziel-URL

Natürlich folgt ein Browser der 302-Umleitung und greift auf die Adresse zu. Die Antwort ist diesmal aber kein 302 sondern ein 200OK mit einer HTML-Seite, die aber einen Refresh=0 enthält.

Und hier wird die reale URL das erste mal sichtbar. Das macht den Eindruck einer wieder mal gehackten Wordpress-Seite. Es könnte aber auch die Seite selbst sein. Zum Theme "Busify" konnte ich zumindest keine Hinweise auf bekannte Lücken finden.

JavaScript Obfuscation

Die von der schädlichen URL abgerufene Seite ist einfach zu lesen. Sie enthält einen wenig sinnvollen Text über kochen, der durch ein Stylesheet eh verborgen wird. Daher ist das JavaScript relevant, welches eher schlecht als recht versteckt ist.

Die grüne Bedingungen ist natürlich richtig und den Parameter hinter dem Befehl "setTimeout" können Sie sogar im Kopf zusammenstellen.

"docu"+"ment"+".lo"+"ca"+"ti"+"on="+"""+"/"+"/"+"www.z"+"lhq8."+"com/wp-content/"+"themes/busif"+"y/page_"+"privacy/orderi"+"ng.php/ewnc/xdc/?9pm9e9gr9dg0"+"""

Hier soll also nach 475 Sekunden, also fast 8 Minuten erst die entsprechende Url aufgerufen werden. Wartet der Bösewicht drauf, dass der Benutzer seinen Browser mit einem "leeren Fenster" für 475 Sekunden stehen lässt oder ist das eine absichtliche Verzögerung, um die Sandbox von Spamfiltern auszutricksen?

MIcrosoft Defender Browser Protection

Auf meinem Test-Testgerät war hier aber nun Schluss, denn der Edge-Browser hat die URL natürlich geprüft.

Die Antwort "Phishing" liefert dann umgehend den roten Warnschirm in Chrome (mit AddOn) als auch im Edge-Browser:

Hier sollten Sie dann auf jeden Fall nicht weiter gehen.

Wieder mal Bitcoin

Mich hat natürlich dennoch interessiert, was sich hier der URL verbirgt, die nach 475 Sekunden aufgerufen worden wäre. Per "Invoke-Webrequest" kann ich den Inhalt recht gefahrlos in eine PowerShell-Variable laden und betrachten. Schon die Text-Ansicht hat gezeigt, dass es hier nicht um Malware oder um normalen Spam geht. die üblichen Sätze sind.

Ein Nutzer würde einfach nur eine Ersteinzahlung auf der Plattform vornehmen,
üblicherweise mindestens 250€, und der automatisierte Handels-Algorithmus würde seine Arbeit
aufnehmen. Durch Anwendung einer Kombination aus Daten und maschinellem Lernen würde der Algorithmus
die perfekte Zeit kennen, um Bitcoin günstig zu kaufen und teuer zu verkaufen und so den Gewinn des
Nutzers maximieren.

Um die Macht ihrer Unternehmens-Plattform unter Beweis zu stellen, ließen die
Unternehmer Judith Williams live in der Show 250€ einzahlen.

Ich bin innerhalb von 3 Monaten von jemandem, der nur von Bitcoin gehört hat, zu einem
Bitcoin Multi-Millionär geworden.

Damit der "Anbieter" nicht noch für den Datenverkehr zu bezahlen hat, lädt er die Bilder der Webseite natürlich nicht von seiner eigenen Webseite, sondern bindet andere Seiten ein. im dem Fall ist es das ungesicherte Wordpress-Blog einer Salzmine en der Türkei? Mir tun die Damen und Herren aus der "Höhle der Löwen" ja leid, dass Sie immer hier zweckentfremdet werden.

Es sind noch einige weitere Links, die sich auf der Werbeseite finden. Hier nur ein Auszug:

<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/news-top.png" style="min-width:250px;margin-ri…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/asseenin.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/top-banner.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/janie.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/2.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/mid-image.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/code-step3.png" class="img-responsive"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/t1.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/t2.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/t3.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/t4.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/t5.jpg" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side1.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side2.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side3.png" class="img-responsive" height="151">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side4.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side5.png" class="img-responsive" height="151">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side6.png" class="img-responsive">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/side7.png" class="img-responsive" height="151">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/checkmark.png"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/codeside-step1.png" class="img-responsive rev"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/checkmark.png"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/codeside-step2.png" class="img-responsive rev"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/checkmark.png"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/codeside-step3.png" class="img-responsive rev"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/checkmark.png"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/code-step1.png" class="img-responsive rev">
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/checkmark.png"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/code-step2.png" class="img-responsive rev"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/checkmark.png"…
<img src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/code-step3.png" class="img-responsive rev"…
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/lewis.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/tanya.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/jenni.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/cash.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/katy.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/amanda.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/julie.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/sarah.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/kirs.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/celia.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/alanna.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/alice.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/mark.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/ashley.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/hick.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/brit.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/shel.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/jill.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/molly.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/jenna.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/laura.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/sara.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/silver.jpg" alt="">
<img class="media-object" src="//saltekomakine.com/wp-content/uploads/2019/09/html/de/images/got.jpg" alt="">

Anscheinend wurde die Wordpress-Seite schon im September 2019 gekapert oder für die Spam-Mail vorbereitet. Die Wordpress-Installation scheint aber schon etwas verwaist zu sein, denn es gibt weder Kontakt-Adresse noch Impressum. Eine Bildersuche führte aber zu einer ähnlichen Webseite (ekosalt.com), deren Admin ich informiert habe.

Natürlich gibt es auch noch Hyperlinks zu anderen Seiten, die wieder über URL-Verkürzer wie "smartredirect.pro" gehen und dann auf den gleichen Werbeseiten laden.

Eigentlich nichts, auf was ein halbwegs vernünftiger Mensch reinfallen sollte.

404

Anscheinend hat zumindest der Betreiber hinter zlhq8.com den Stecker gezogen, Während Chrome und Edge noch  die Warnung anzeigen hat Firefox wohl die Webseite noch gar nicht als "bad" klassifiziert und lässt den Zugriff zu. Hier zeigt dann aber der Anbieter nun einen 404.

Es könnte natürlich auch ein Trick des Spammers sein, da die URL durch Parameter ausreichend "personalisiert" ist. Wenn sie zu oft abgerufen wird, könnte er weitere Abrufe so einfach verhindern, damit die Seite nicht weiter analysiert wird.

Lehren

Die Masche, Personen zum Handel mit Bitcoins und anderen Währungen zu verleiten, muss sich immer lohnen, denn der Aufwand ist schon immens, den die Täter hier leisten um ihre Werbung an die Personen zu bringen. In diesem Beispiel kommen folgende Komponenten zusammen.

  • Ed und Frank
    Der Täter muss irgendwo die Daten erhalten/gekauft haben, anhand er eine Kommunikation zwischen Ed Crowley und Frank Carius vermuten kann um dann diese Absenderadresse verwenden zu verwenden. Einer meine Kommunikationspartner muss also eine Malware gehabt haben, aus der diese Relation ersichtlich ist. Das muss weder bei mir noch bei Ed gewesen sein. Es reicht z.B.: eine Person in der gleichen Mailingliste odr auch ein öffentliches Forum um eine Relation zu ermitteln.
  • Brasilien als Absender
    Ob das IPhone in Brasilien der Täter war oder er nur einen Bot dort missbraucht hat, um mit komplett gefälschten User-Agent zu agieren wird nicht zu ermitteln sein. Die IP-Adresse wird er aber kaum gefälscht haben. Vielleicht war es ja ein "Unsichereres" IPhone oder eine "kostenfreie App", die sich so refinanziert.
  • Geknackter Mail-Account in Ukraine
    Irgendwie muss er es dann geschafft haben, den Mailserver eines Hotels in Ukraine als Relay zu missbrauchen. Ich tippe auf gültige Zugangsdaten aus einem anderen Raubzug.
  • URL-Kürzer
    Der Abkürzungsdienst ist kostenfrei und keine besondere Herausforderung. Damit lässt sich aber die "schlechte" URL verbergen. URLs auf solchen Diensten zu blacklisten macht keinen Sinn da Angreifer quasi im Sekundentakt neue URLs generieren könnten.
  • zlhq8.com
    Die Rolle dieser Domain ist unklar. Sie könnte dem Spammer selbst gehören oder auch nur gekapert sein. Sie dürfte aber in der asiatischen Region verortetet sein. Allerdings liegen die Dateien im Verzeichnis eines Wordpress Theme, was wohl eher auch auf Missbrauch schließen lässt.
  • Images aus der Türkei
    Vielleicht liegt es an der Zielgruppe in Europa dass der Spammer eine gekaperte Wordpress-Seite in der Türkei für die Bilder ausgesucht hat.

So viel Professionalität würde ich schon als organisiertes Verbrechen einstufen. Anscheinend gibt es immer noch genug Idioten oder auch Geldkanäle, die nicht verfolgt werden können oder Staaten oder Regionen, die den Täten Unterschlupf und Schutz gewähren, solange Sie nur dort ihre Steuern und Abgaben aus den Betrügereien bezahlen.

Für die Antispam-Hersteller sind solche Verflechtungen eine weitere Herausforderung. Selbst so einfach Java-Skripte, die ihre Payload erst sehr verzögert abspielen, sind für Sandboxen nicht einfach zu erkennen. Sie müssten schon JavaScript interpretieren und dann prüfen ob die Aktion hinter "SetTimeout" gut oder schlecht ist. Link-Verkürzer können nicht pauschal als "schlecht" eingestuft werden und der Inhalt der Ziel-URL ist ja auch erst einmal unverdächtig.

In dem Beispiel wurde aber die Ziel-URL "zlhq8.com" aber von Windows Defender zurecht als "Phishing"-Seite klassifiziert. Das passierte aber erst beim Aufruf der Webseite im Browser. Die Mail selbst ist aber schon einige Stunden vorher bei mir angekommen. Zu dem Zeitpunkt war die URL vielleicht noch nicht klassifiziert.

Ich bin gespannt, wie sich diese Spammails weiter verbreiten, denn wenn in der Mail selbst kaum Content steht, und die URL über Weiterleitungen auf Seiten mit 200OK und verzögertem Meta-Redirect und JavaScript-Redirect landen, können Scanner die schlechte Seite nur schwer erkennen. Wer will schon eine Mail solange in einer Sandbox "überwachen". Das Treiber die Kosten der Sandbox und die Verzögerung der Mailzustellung in die Höhe.
Allerdings würde ich als Browser gerne solche JavaScript-Funktionen wie "SetTimeout" gerne abschalten und nur auf vertrauenswürdigen Seiten zulassen.

Weitere Links