Firefox – Windows 10 – Keeper und der Bruch

The Hacker News berichtet über einen Fall, der an den FireFox & Mr.Robot Skandal von gestern erinnert, aber mit wesentlich schlimmeren Folgen für die Benutzer.

Microsoft installiert heimlich unsichere Software auf Windows 10

Wie Tavis von Google Security in seinem Blog berichtet, installiert Microsoft heimlich einen Passwordmanager namens „Keeper“ auf Windows 10 Installationen. Soweit wäre das noch kein großer Skandal, aber dummerweise .. naja.. was sollen wir sagen… der Passwortmanager hatte da wohl ein bekanntes Sicherheitsloch, mit dem Webseiten alle Passwörter aus Keeper absaugen könnten, falls Keeper aktiv ist.

Nevertheless, this is a complete compromise of Keeper security, allowing any website to steal any password. Here is a working demo that steals your twitter password…

Prekär an der Sache, genau diese Software ist in 2016 schon mal Ziel von Tavis Analysen geworden und ist damals genau mit einem ähnlichen Fehler aufgefallen. Den ganzen Beitrag könnt Ihr unten in den Quellen finden.

Jetzt könnten die Linuxtrolle unter uns natürlich sagen, mit Opensource wäre das nicht passiert, aber leider stimmt das ja nicht, wie der FireFox Vorfall ( s.o. ) ja bedauerlicherweise bewiesen hat. Mal davon abgesehen, daß der Windowsfall mit einem Sicherheitsloch einhergeht und Mozilla einfach nur die Integrität von sich und FireFox zunichte gemacht hat.

Mozilla juckt es nicht, wieso sollte es Mircosoft jucken?

Es ist Mozilla nicht mal einen Eintrag in deren Blog oder Twitterchannel wert, daß Sie heimlich Software in die  US-Firefoxe gepumpt haben (und erwischt wurden), wieso sollte es dann Microsoft kümmern, daß sie einen Passwortmanager mit Sicherheitslücke heimlich auf den PC geschoben haben ( und erwischt wurden ) ? Beide „Hersteller“ haben was gemeinsam: Sie sind dick, fett und reagieren träge auf Userfeedback.

Microsoft hat traditionell wenig übrig für Ihre Privatkundenwünsche, weil deren Kunden primär Geschäftskunden sind und deren Sorgen Vorrang haben. Kann man noch verstehen. Mozilla dagegen, ist nicht mal eine Firma, sondern nur eine Stiftung. Die sind auf Spenden und Deals mit anderen angewiesen um weiter zu machen.

Warum sie das Geld dann mit sowas verbrennen : „Mozilla is Funding Art About Online Privacy and Security“ oder „Mozilla awards research grants to fund top research projects“ entzieht sich mir völlig. Die sollen sich auf Ihren Browser und Mailclienten konzentrieren, aber da wir nichts dafür bezahlen, haben wir Enduser keine Mittel, das zu unterbinden. Genau wie bei Microsoft Windows auch, bleibt uns nur der Wechsel zu einem anderen Produkt.

Die Freiheit zu entscheiden bleibt

In beiden Fällen haben wir nur noch die Freiheit zu sagen, daß wir etwas anderes einsetzen wollen. Die Linuxuser haben Microsoft die rote Karte schon gezeigt, wird Zeit, daß wir Mozilla auch zeigen, was wir davon halten. Das dies ganz schnell gehen kann, zeigt dieser Befehl 😉

sudo dnf install seamonkey icecat  surf arora midori

SeaMonkey fällt schon mal raus, wir wollen ja von Mozilla unabhängig werden. Allerdings, ist das Teil schnell! Schneller als FireFox, allerdings gibt es kein NoScript, was spätestens zum Ausschluss geführt hätte.

gnuIceCat möchte als FireFoxclone lustigerweise die Bookmarks und Einstellungen von Chrome importieren … HÄ ?!?!?! Aber, es kommt gleich mit was lustigem als Option an:

The GNU IceCat web browser protects your freedom and your privacy!
Block execution of non-free JavaScript (experimental)
Block privacy trackers
Disable JavaScript

Ich wage einen vorsichtigen Test … NoScript … vorhanden \o/ Schon mal gut. Leider failed LibreJS bereits auf Seite 1 meines Testlaufs, es mag meine Seite nicht und möchte mir aber auch keine Möglichkeit geben, es vom Gegenteil zu überzeugen. Also *Failed*.. Davon ab, kommt ein halbes Dutzend Addons mit, die LibreJS kompatibel mit Webseiten machen. Das kann nicht gut sein 😀 Also LibreJS weg, NoScript rein.  Ok, nach einigem Hin und Her, lief das dann endlich. Der Add-On Manager  hat zwar ein derbes Layoutproblem, aber ansonsten gehts eigentlich.

Zum Witz des Tages : Surf ! Ein simpler Webbrowser… nur leider ohne jegliche Funktion, wenn man ihn so startet. Wenn in der Konsole „surf https://webseite…“ eingibt, dann startet die Webseite sogar. Die Layoutengine ist sagen wir mal „simple“ und nicht in der Lage eine Youtube Videoseite auch nur ansatzweise zu zeigen. *failed*

Der nächste Kandidat Midori macht das schon besser, aber da es Javascript nur ganz oder gar nicht gibt, auch *failed*. Nur um den Test abzurunden, erlaube ich doch mal Javascript. Es ist schnell. Schneller als FireFox. Youtube funktioniert auch (halbwegs jedenfalls), allerdings fehlen alle DevTools die man zum Entwickeln von Webseiten brauchen könnte. Die Statusleisten Funktion ist bestenfalls ein „ausreichend“, benutzbar geht anders. Vielleicht wird ja nochmal was draus.

Arora ist unser letzter Kandidat. Dieser Browser basiert wohl auf QT und Chrome, was man am Webinspector erkennen kann. Da er in die Jahre gekommen ist, ist er natürlich kein echter Kandidat. Modernes CSS ist eher nicht vorhanden, die Lade- und Renderzeiten sind mit lahm noch gut bewertet und die JS-Engine geht gelegentlich Kaffee trinken, statt zu arbeiten. Den kann man also auch vergessen.

Fazit

Es ist gar nicht so leicht vom FireFox weg zu kommen, ohne gleich wieder in eine neue Abhängigkeit, z.b. Google Chrome oder SeaMonkey zu gelangen. Dazu kommen halt inhaltliche Schwächen der anderen Alternativen.

Den IceCat muß man hier wohl als Testsieger nennen. Basiert zwar auf Mozillacode, aber ist eben nicht (ganz) Mozilla.

Quelle: https://thehackernews.com/2017/12/windows-10-password-manager.html
Quelle: https://bugs.chromium.org/p/project-zero/issues/
Quelle: https://drewdevault.com/2017/12/16/Firefox-is-on-a-slippery-slope.html

Update: 22.12. Tavis seinen Namen zurückgegeben.

 

Amazon Phishingmails im Umlauf

Phisingmail für AmazondiensteZugegeben, diese Phishingmail ist eine der besten, die mir je unter gekommen ist. Bis auf zwei Fehler bei der Rechtschreibung „einkäufe“ statt „Einkäufe“ und am Satzanfang schreibt man alles groß Ihr Nasen, war der Text fehlerfrei. Schade für Euch Jungs, aber dafür gibt es keinen Preis. Viel Glück beim nächsten mal.

Der Link

Die URL in dem Link der Email geht dann natürlich auch nicht zu Amazon, sondern zu htttp://bit.ly/suchenkontoid***** ( damit da keiner draufdrückt, nicht als Link und unvollständig ). Nach drei Umleitungen von URL Shortdiensten, landet man dann bei dem Monster hier :

htttp://www.amazon.de.kontouberprufen.sicherheitsdaten.suchenkontoid.ml/safe/confirm/identity/

Die eigentliche Domain ist „suchenkontoid.ml“ , aber der Witz ist, daß eine von den Zwischenumleitungen tatsächlich bei Amazon gehostet ist 😀

$ curl -i http://bit.do/dV8gY
HTTP/1.1 301 Moved Permanently
Date: Mon, 11 Dec 2017 11:23:41 GMT
Server: Apache/2.2.34 (Amazon)

Natürlich haben wir die Registry gebeten, die Domain vom Netz zu nehmen. Aber da muß jemand schneller gewesen sein, denn die routet jetzt zu SEDO, als wenn den Müll jemand kaufen würde 😀

Location: http://sedoparking.com/www.amazon.de.kontouberprufen.sicherheitsdaten.suchenkontoid.ml

Die Emailheaderanalyse

Natürlich als erstes der Absender : <sicherheit@amаzоn.dе>  ja! Genau ! Ins Schwarze .. Was ist das ??? 😀

Und natürlich taucht auch nirgends das Wort amazon auf, wie man das von einer Email, die von Amazon über Amazon gemailt wird, erwarten würde 😀 Die spammende Domain habe ich mal markiert :

Return-path: <www-data@valigaher.ga>
Delivery-date: Mon, 11 Dec 2017 05:58:40 +0100
Received: from mout-xforward.web.de ([82.165.159.45])
	by XXXXXXXXXXXXXXXXXXXXXXXXX with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128)
	(Exim 4.87)
	(envelope-from <www-data@valigaher.ga>)
	id 1eOGAm-0007Bt-7m
	for XXXXXXXXXXXXX; Mon, 11 Dec 2017 05:58:40 +0100
Received: from [212.227.17.8] ([212.227.17.8]) by mx-ha.web.de (mxweb112
 [212.227.17.8]) with ESMTPS (Nemesis) id 1M9Gnd-1eRH6j47wF-006MDM for
 <XXXXXXXXXXX> ; Mon, 11 Dec 2017 05:58:35 +0100
Received: from valigaher.ga ([212.24.99.45]) by mx-ha.web.de (mxweb112
 [212.227.17.8]) with ESMTPS (Nemesis) id 1MP0X0-1eh1TK3wlg-00PO6Z for
 <XXXXXXXXXXXXXXX>; Mon, 11 Dec 2017 05:58:34 +0100
Received: from valigaher.ga (localhost.localdomain [127.0.0.1])
	by valigaher.ga (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id vBB4wY2P031333
	for <XXXXX>; Mon, 11 Dec 2017 06:58:34 +0200
Received: (from www-data@localhost)
	by valigaher.ga (8.14.4/8.14.4/Submit) id vBB4wYUn031331;
	Mon, 11 Dec 2017 06:58:34 +0200
Date: Mon, 11 Dec 2017 06:58:34 +0200
Message-Id: <201712110458.vBB4wYUn031331@valigaher.ga>
To: XXXXXXXXXXXX
X-PHP-Originating-Script: 0:ind.php
From: =?UTF-8?B?QW3Nj2HNj3rNj2/Nj24uzY9kzY9l?= <sicherheit@amаzоn.dе>
MIME-Version: 1.0;

Nicht mal jwhois weiß, was .GA für eine TLD sein könnte 😀 Nicht mal die whois.ga funktioniert richtig, behauptet aber es gäbe nur 911 Domains für .ga .. Woran das wohl liegt 😀

Exim – Wie man TLS erzwingt II

Im letzten Beitrag Exim – Wie man TLS erzwingt war das Blockieren von ausgehenden Verbindungen ohne TLS Thema. Heute befassen wir uns mit dem Gegenteil : Wie verhindern wir, daß wir eine Email bekommen, die unsicher übertragen wurde?

Exim ’s Access Control Lists

Exim als Mailserver erlaubt es uns, in jede Phase der Übertragung von Emails per SMTP einzugreifen und Emails aufgrund von Mustern und Bedingungen abzulehnen. Die ACL genannten Bedingungsketten sind universell einsetzbar, hier ein Beispiel:

acl_check_helo:

drop condition = ${if eq{$sender_helo_name}{ylmf-pc} {1}}
     message = Your a naugthy boy

accept

Die Helo-ACL prüft ob, sich der anfragende Mailserver mit einem bestimmten Namenskürzel meldet, hier „ylmf-pc„. Das ist so ziemlich todsicher ein Bot aus einem asiatischen Netzwerk. Zur Erklärung :

drop ist das Ziel der Aktion, wenn die condition greift. Hier der Vergleich (if eq) von dem was der „Client“ gesendet hat und dem ylmf-pc Text. Übersetzt heißt das : if ( „sender_helo_name“  == „ylmf-pc“ )  { log.message = „Your a naugthy boy“; message.drop(); }

So sieht das dann im SMTP aus :

220 irgendeinserver.de ESMTP Exim 4.89 Sun, 03 Dec 2017 14:33:48 +0100
HELO ylmf-pc
550 Your a naugthy boy

Ansonsten akzeptiere ( accept ) die Email. Natürlich könnte man hier auch schon DNS IP Blacklisten eintragen, oder andere Abfragen, die keinen Empfänger / Sender benötigen. Die meisten ACls werden aber genau bei der Sender- und Empfängerprüfung eingesetzt. Genau das werden wir in der ACL acl_check_rcpt tun.

Zum Glück sind die nötigen Anweisungen extrem übersichtlich :

acl_check_rcpt:
 ...
 deny condition = ${if eq{$tls_cipher}{}{1}{0}}
      message   = Sender did not use TLS secured connection.

Meint:

If ( tls_cipher ==  „“ ) { log.message = „Sender did not use TLS secured connection. „; message.deny() }

Das war es schon. Damit kommen nur noch Emails weiter, die über eine TLS gesicherte Verbindung gesendet werden. Ob das Spam ist oder nicht, muß man natürlich trotzdem prüfen, wenn die Mail erst einmal übertragen wurde.

Analyse

Da erst einmal nur der Empfänger in der SMTP Phase genannt wurde, ist der Inhalt der Email noch aus dem sendenen Server, denn der wird erst mit dem DATA Block übertragen. In die HELO ACL kann man das nicht einbauen, da SMTP verlangt, daß ein netter Server erstmal HELO  oder EHLO sagt, bevor er weiter macht.

Die übliche SMTP-Befehlsreihenfolge dürfte daher :

HELO
STARTTLS
MAIL FROM:
RCPT TO:
DATA

sein. Man kann es natürlich auch bereits in der mail_from ACL machen, ob das einen großen Unterschied machen wird, ist fraglich.