2020-hidden-file-finder-simple-tool-system-files-banner-unsplash-David-Clode

Jeder halbwegs fortgeschrittene Windows-Nutzer stolpert früher oder später über versteckte Dateien. Das heißt, dass der Windows Explorer (und auch andere Dateibrowser) diese in seiner Standardeinstellung nicht anzeigt. Dies lässt sich in den Einstellungen anpassen, das macht man aber nur, wenn man sich auskennt.
Für das Verstecken gibt es unterschiedlichste Gründe. Programmhersteller verstecken Konfigurationsdateien oder Logs, damit Nutzer diese nicht einfach einsehen können. Windows versteckt haufenweise Systemdateien. Und manche Unruhestifter verstecken ihre Adware, Schnüffel-Skripte oder Installer.

So oder so, mit Hidden File Finder geht ihr schnell und effizient auf die Suche nach versteckten Dateien. Das Programm ist klein, schnell installiert und ebenso schnell am Werk. Dank Multithreading durchsuch das Tool super schnell euren gesamten PC (alle Partitionen) oder gezielt ein Verzeichnis. Auf meinem PC war die Suche mit 150.000 Dateien pro 10 Sekunden erstaunlich schnell, auf meinem Laptop immerhin fast 100.000 Dateien:

Die Einstellungen des Programms sind leider etwas spärlich und unflexibel, sie decken aber die wichtigsten Wünsche grob ab. Ich empfehle hier die Einstellung zu deaktivieren, die versteckte Ordner komplett ignoriert – das ist vermutlich eher kontraproduktiv. Alles andere ist in den meisten Fällen sicherlich gut so.

Ich habe mich in der Vergangenheit viel zu oft dabei entdeckt, nach der Installation von Windows 10 in den Systemeinstellungen händisch bestimmte Stellschrauben im Sinne des Datenschutzes zu drehen. Recht unnötig, wenn man bedenkt, wieviele Tools das 1.) kostenlos, 2.) besser und 3.) schneller können. Dazu gehört auch O&O ShutUp10, das ich seither benutze, um ein frisches Windows 10 etwas anzuleinen.
Schon vor der Nutzung zeigen sich zwei Vorteile: Das Tool ist nur 1MB groß und muss nicht installiert werden, super portable und einfach.

2020-ooshutup10-windows-privacy-tuneup-tool-main

Der Sinn der Software ist ebenso einfach wie wichtig: Unnötige Funktionen abschalten, Datensammel- und sendeverhalten einschränken, Cloud-Features kontrollieren, Sichern und Wiederherstellen bestimmter Einstellungspresets, alles im Sinne des Datenschutzes und der Privatsphäre.
Dafür gibt es sehr sehr viele An-Aus-Einstellungsmöglichkeiten in den folgenden Kategorien: Aktivitätsverlauf und Zwischenablage, Cortana (Persönliche Assistentin), Microsoft Edge (Webbrowser), Nutzerverhalten, Ortungsdienste, Privatsphäre, Privatsphäre bei Apps, Sicherheit, Sonstiges, Sperrbildschirm, Synchronisation von Windows-Einstellungen, Windows Defender und Microsoft SpyNet, Windows Explorer und Windows Update zur Verfügung.

Die Anzahl der Optionen ist so zahlreich, dass glücklicherweise jede Einstellung in eine von drei Empfehlungskategorien eingestuft ist. Es gibt im Aktionen-Menü die Möglichkeit, nur Einstellungen einer gewünschten Empfehlungsstufe anzuwenden.
Vor der ersten Änderung ist die Erstellung eines Widerherstellungspunktes empfehlenswert.
Fertig gesetzte Einstellungen können in einer Konfigurationsdatei gespeichert und auf anderen Geräten schnell angewandt werden.

Was soll ich sagen? Einfach aber äußerst effektiv! 🙂

windows-accessability-hack-utilman-clint-teaser-patterson-dYEuFB8KQJk-unsplash

In den letzten Jahren ist im Betriebssystem von Microsoft echt viel passiert. Und trotzdem gibt es immernoch einen Uralt-„Hack“, den ich schon unter Windows 7 genutzt habe. Er ist so simpel wie damals, lässt sich genauso leicht ausführen und ermöglicht es, vom Login-Bildschirm aus beliebige Kommandozeilenbefehle mit System-Rechten auszuführen. Damit könnt ihr Passwörter bestehender Nutzer zurücksetzen, neue Nutzer erstellen, Dienste registrieren, quasi Kontrolle über das System erlangen. Schauen wir zuerst einmal, wie es funktioniert und später, wir ihr euch dagegen absichern könnt.

„Erleichterte Bedienung“ beim Übernehmen des Systems

Die Schwachstelle, die hier ausgenutzt wird, ist die Erleichterte Bedienung im Anmeldebildschirm von Windows. Seit Windows 7 gibt es dieses kleine Symbol hier, welches beim Klick eine Toolsammlung startet. So harmlos sie auch wirkt … und jetzt kommt’s … sie wird mit vollen Systemrechten gestartet! Nicht eingeschränkte Nutzerrechte, nicht Adminrechte, Systemrechte! Das ist natürlich super-kritisch bzw. in manchen Fällen super-praktisch und bis heute ausnutzbar.

Der Trick ist einfach: Windows startet beim Klick auf das Icon von „Erleichterte Bedienung“ das Programm
[C:/]Windows/System32/Utilman.exe mit Systemrechten. Wenn wir nun diese ausführbare Datei mit einer in Utilman.exe umbenannten Kopie von cmd.exe überschreiben, ist der Trick schon fertig vorbereitet!
Nun lässt sich Utilman.exe allerdings nicht ersetzen, während Windows läuft, daher müssen wir in eine Pre-Boot-Umgebung und das dort erledigen. Das geht nun via Windows Installationsmedium oder anderen beliebige Boot-Systeme.

Physischer Zugriff + 1 Boot-Medium + 1 Befehl = unbegrenzte Möglichkeiten

Nun müsst ihr nur an dem PC sitzen und braucht ein Boot-Medium der Windows Version – Boot-DVD oder USB-Stick. Bootet in die Windows Installation und startet dort die Kommandozeile mit Shift+F10.
Sucht euch nun in der CMD den Buchstaben eurer Systempartition, der wird womöglich nicht derselbe sein wie im Windows Normalzustand.
Nutzt beispielsweise die Befehle „echo list volume | diskpart“ oder „wmic logicaldisk get deviceid, volumename“ für eine Auflistung aller Partitionen, dann solltet ihr den Namen eurer Systempartition wiederfinden.

Anschließend geht ihr in das Verzeichnis /Windows/System32 eurer Systempartition und macht es wie in den folgenden Screenshots:
Verschiebt euch (nur als Backup) die originale Utilman.exe irgendwo hin und kopiert anschließend die cmd.exe mit dem neuen Namen Utilman.exe in dasselbe Verzeichnis. Nun ist eure Utilman.exe unter dem Schafspelz der Verborgenheit eigentlich eine cmd.exe.

Das war’s! … außer Windows Defender geht dazwischen

Nun gibt es noch eine kleine weitere Hürde, abhängig von eurem Betriebssystem und dessen Version. Denn fertig seid ihr jetzt erst mit Windows 7 und Windows 10 älter als Version 1809 (verfügbar seit spätestens März 2019). In Version 1809 hat Microsoft den Windows Defender verbessert und erkennt seitdem dieses Hintertürchen. In Windows würde euch der Defender nach dem Login (wenn ihr der Besitzer wärt) folgende Info bringen:

Nun lassen wir uns dadurch aber nicht die Suppe versalzen und setzen also in allen neueren Versionen noch einen Schritt drauf: Wir deaktivieren einfach Windows Defender und dann funktioniert der Hack wieder.

Win10 Version 1809+: Windows Defender deaktivieren

Es gibt zwei Wege, das zu bewerkstelligen: Entweder drei Befehle abtippen oder via regedit GUI händisch erledigen.

Zeig mal die Codezeilen

:: 1) Diese Befehle einfach in eurer schon offenen CMD ausführen
:: 2) Achtet beim folgenden Befehl auf den richtigen Buchstaben eurer Systempartition!
reg load HKLM\tmp C:\windows\system32\config\SOFTWARE
reg add "HKLM\tmp\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f
reg unload HKLM\tmp
via

Alternativ: Händisch: Startet über die sowieso schon offene CMD regedit. Klick HKEY_USERS an, Datei -> Struktur laden… -> /Windows/System32/config/SOFTWARE laden -> darin Policies/Microsoft/Windows Defender suchen -> DWORD 32 „DisableAntiSpyware“ mit Wert 1 erstellen

Erleichterter Vollzugriff

Erledigt! Schließt das Setup, startet die Kiste neu und klickt im Login auf das „Erleichterte Bedienung“ Icon. Nun sollte sich eine CMD öffnen und eröffnet euch breite Möglichkeiten. Sollten sich die originalen „Erleichterte Bedienung“ Tools öffnen, ist beim Ersetzen der Utilman.exe etwas schiefgelaufen. Sollte gar nichts passieren, handelt es sich womöglich um ein Windows 10 neuer als Version 1809 und der Defender ist nicht erfolgreich deaktiviert und blockt die CMD-Ausführung. Ansonsten, wenn alles geklappt hat, sieht ihr dieses Resultat:

Nun könnt ihr mit net user [existierender Nutzer] [neues Passwort] das Passwort zurücksetzen oder mit folgenden Befehlen einen neuen administrativen Nutzer erstellen:

net user [Nutzername] [Passwort]
net localgroup "Administrators" [Nutzername] /add

Disclaimer

Ein paar Anmerkungen hinten dran: Die Anleitung dient natürlich einzig eurer Fortbildung und Information – verschafft euch damit nicht unerlaubten oder ungewollten Zugriff auf fremde Systeme. Ich spreche außerdem „fälschlicherweise“ die ganze Zeit von „Hacks“ – hierbei handelt es sich aber nicht unbedingt um einen Hack, aus zwei Gründen:
1) Diese Manipulation ist Microsoft schon seit jeher bekannt und wird aber aus Gründen hingenommen und nicht stärker verhindert. Googlt für mehr Infos.
2) Physischer Zugriff auf den Zielrechner zu haben ist quasi Schummeln 😉

Law #2: If a bad guy can alter the operating system on your computer, it’s not your computer anymore.
Law #3: If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore.

10 Immutable Laws of Security

Das Jahr 2019 hat ja „gut“ angefangen: Anfang Januar ein großer Leak im Bereich Politik und öffentliche Personen sowie Ende Januar ein weiterer Leak mit 2,7 Milliarden Zeilen an Daten. Obwohl Letzterer wohl „nur“ rund 770 Millionen valide Datensätze enthielt, war es einer der größten Accountdaten-Leaks der letzten Jahre. 2018 war bereits mit Leaks und den großen CPU-Lücken Meltdown und Spectre recht kritisch.
Das zeigt doch, dass es selten wichtiger war als heutzutage, seine digitalen Accounts und Netzwerke sowie Technik und Geräte zu schützen. Aus diesem Grund habe ich mal ein paar Tipps und Links zusammengetragen, die zu mehr Sicherheit verhelfen, wenn ordentlich umgesetzt:

  1. Prüft auf den bekanntesten Internetseiten, ob eure Daten bereits von Leaks/Hacks betroffen sind. Schaut mal in meinen Leak-Check-Artikel, den habe ich auch nochmal aktualisiert. Die wichtigsten Anlaufstellen bleiben der Identity Leak Checker meines aktuellen Arbeitgebers 😉 (HPI) und HaveIBeenPwned.com (ins Deutsche übersetzte Infos dieser Seite gibt es auf dieser Seite).
  2. Setzt sichere und lange Passwörter und am besten unterschiedliche Passwörter für jeden eurer Logins/Seiten/Dienste! Dazu gehören Passwörter mit mehr als 12, besser mehr als 14 Zeichen aus allen Zeichengruppen (Groß- und Kleinbuchstaben, Sonderzeichen, Zahlen).
    Somit wäre ein öffentliches Passwort nur riskant für diese 1 Seite, das Passwort wäre nicht weiterzuverwenden. Ich verwende schon ewig unterschiedliche Passwörter mit mehr als 16 Zeichen für jeden meiner Logins. Da sich das auf Dauer und bei der Anzahl (ich habe über 300 Zugangsdaten…) niemand merken kann, empfehle ich hier einen Passwortmanager. Ich selber nutze KeePass, da dieser kostenlos und gut erweiterbar ist, aber es gibt etliche Alternativen, die nur ein paar Euro kosten. Zusätzlich können im Passwortmanager auch wichtige und kritische Infos, beispielsweise Kreditkarteninformationen, hinterlegt werden. Das Masterpasswort für den Safe sollte bezüglich Länge und Komplexität euer Meisterwerk werden 😉 Die meisten Programme bieten auch an, den Safe mit mehreren Sicherheitsfeatures zu schützen. Neben dem Masterpasswort kann somit ein Key File oder USB Dongle erforderlich sein, um den Safe zu öffnen. Prüft hier mal, was eure Software kann und erfordert im besten Fall mindestens zwei Zugangsmethoden.
  3. Aktiviert alle möglichen Sicherheitsfeatures eurer Accounts: Je nach Anbieter werden euch meistens verschiedenste Features zur Verfügung gestellt, welche den Zugang zum Account im Normalfall oder im Notfall (Passwort vergessen, E-Mail-Adresse nicht mehr verfügbar) gewährleisten sollen. Aktiviert diese Features und füllt sie mit euren Daten.
    1. 2-Faktor-Authentifizierung ist sowieso ein Muss für alle wirklich wichtigen Dienste, alles was mit Geld und großen Mengen eurer persönlichen Informationen zu tun hat.
    2. E-Mail-Benachrichtigungen aktivieren bei bestimmten Events, beispielsweise wenn Geld abgehoben, das Passwort geändert wird oder fehlerhafte Logins erfolgten.
    3. Konto-/Passwort-Wiederherstellungsfunktionen aktivieren; hier müssen meist weitere Infos wie Handynummern bereitgestellt werden oder Sicherheitsfragen festlegen, um im Notfall alternativen Zugriff zu bekommen. Vorsicht bei den Sicherheitsfragen: Die Antworten darauf solltet nur ihr selbst wissen und nicht irgendwo im Netz über euch herausfindbar sein.
  4. Wenn ihr Google und dessen Dienste so intensiv nutzt wie ich, empfehle ich vor allem hier alle Sicherheits- und Datenschutzeinstellungen durchzugehen. Ihr könnt hier wirklich sehr viel anpassen. Lest dazu meinen Artikel, dort liste ich alle Informationen kurz und knapp auf.
  5. Schützt alle Geräte und Hardware ebenso gut wie die digitalen Accounts: Gute PINs und Passwörter, Backups (vielleicht in einer sicheren deutschen Cloud?), Geräteverschlüsselung, zusätzlich Fingerabdruck/Gesichtserkennung, Anti-Diebstahl-Schutz eurer Smartphones sowie allgemein gute Sicherheitseinstellungen, Sicherheit und Backups einzelner Apps prüfen. Ein paar Android Basics noch, die können irgendwann mal helfen.
  6. Als Webseitenbetreiber habt ihr zudem zusätzliche Verantwortung mit euren Seiten und solltet auch dort die Sicherheit eurer Besucher gewährleisten und optimieren. Dazu gehört ein gut abgesichertes Backend/Logins, Optimierungen ausgehender Mails, optimierte HTTP-Header, regelmäßige Backups, verschlüsselte Passwörter in der DB, unterschiedliche Passwörter für Backend/DB/FTP/SSH oder Zugriff nur per SSH Key statt Passwort.
  7. Schützt eure Betriebssysteme und Software und haltet diese auf dem neuesten Stand. Die aktuellste Version von OS, Software und App schützt euch bestmöglich gegen aktuell bekannte Schwachstellen dieser. Zieht euch die Updates im besten Falle immer von den offiziellsten Quellen – Software von der Webseite der Software/des Betreibers, Apps aus dem offiziellen App-Store. Vermeidet Software-Downloader oder Portale wie CHIP, Netzwelt oder freeware.de – dort wird gerne ungewollter Kram untergejubelt. Installiert zusätzlich Sicherheitssoftware gegen Viren und ggf. gegen Werbung, wenn ihr euch unsicher fühlt oder bestmöglich vorsorgen wollt.
  8. Spam und Phishing ist zwar ein alter Hut aber noch immer nicht ausgestorben. Ganz im Gegenteil erhalten wir mittlerweile zwar wenig aber dafür teilweise recht gute unerwünschte E-Mails. Achtet also auch heute immernoch sehr kritisch und mit der nötigen Vorsicht bei Mails auf ihre Echtheit. In meinem vorherigen Artikel habe ich über die Standard-Tipps bei der Erkennung von Spam und Schadmails geschrieben. Wer sich bei dem Thema noch unsicher fühlt, sollte mal reinlesen.
  9. Nutzt Verschlüsselung wo immer möglich. Verschlüsselte Messenger wie Threema oder Signal (und an sich auch Whatsapp) übermitteln die Kommunikations mit Ende-zu-Ende-Verschlüsselung. Mails lassen sich beispielsweise mit PGP verschlüsseln und manche Anbieter wie ProtonMail haben das direkt schon unsichtbar integriert. Verschlüsselte Daten-Safes beispielsweise mit VeraCrypt sind sichere Ablageorte für kritische Dokumente und Daten. Sichere Cloudanbieter mit Verschlüsselungs-/Passwortfeature sind ebenfalls praktisch.
  10. Auch der physische Schutz der Hardware selbst darf nicht vernachlässigt werden. Letztlich ist ein Ausfall der Hardware im schlimmsten Falle auch mit Datenverlust verbunden, was zumindest emotional fast schon ein größerer Schaden sein kann als die Arten von digitalem Datendiebstahl der oberen Punkte. Sorgt deswegen für eine fachgerechte Installation aller Hardware in eurem Computer, schließt das Gehäuse ab wenn dieses in öffentlich zugänglichen Bereichen steht (zusätzlich ist dann ein BIOS-seitiges IDS sinnvoll), schützt schützenswerte Komponenten beispielsweise mit einem Schutzlack von RS Components und reinigt das ganze System regelmäßig beispielsweise durch Aussaugen, trocken Auswischen und Reinigen der Lüfter.

Ich denke das reicht erstmal als Grundlage, da geht sicher noch einiges mehr. Schickt mir gerne weitere Hinweise und Punkte, die ich hier dann noch ergänzen werde. Bis dahin: Stay safe! 🙂

anti-spam-basics-fuer-versender-spf-dkim-dmarc-samuel-zeller-367977-unsplash

Spam Allgemein

Spam-Mails gehören leider immnoch zum Alltag. Die meisten Anbieter sind mittlerweile sehr gut in der Erkennung und filtern bis zu 99% davon raus. Das heißt aber, dass die restlichen 1% der unerwünschten Mails so gut „gemacht/getarnt“ sind, dass sie durch automatische Anti-Spam-Filter nicht erkannt wurden. Ihr müsst nun also schlau und informiert genug sein, um diese letzten ungewünschten E-Mails erfolgreich zu erkennen und zu vernichten.
Den Begriff „Spam(-Mails)“ verwende ich in diesem Artikel mal als Oberbegriff für alle Formen unerwünschter Mails, auch wenn Spam inhalt nicht ganz korrekt ist. Der Begriff ist den meisten Menschen aber negativ Genug im Bewusstsein, sodass es sich einfacher liest als „Malicious Mails“.
Je nach Sinn und Zweck der Mail, soll diese den Nutzer ausspähen oder Werbung verbreiten (Spam), Nutzerdaten durch gefälschte Seiten und Formulare abfangen (Phishing), den Rechner infizieren oder anderen Schaden anrichten (Malware Mails). Somit sind sie neben dem zeitlichen Aufwand der Prüfung aber vor allem eine Gefahr für PC und User, wenn sie nicht erkannt und beseitigt werden. Bestenfalls markiert ihr alle gefundenen Mails als Spam, das bieten die meisten Web-Mailer an und es verbessert die Algorithmen und Erkennungsraten.

Wie erkennt man Spam Mails?

Bei Billionen Spam Mails gibt es natürlich kein eindeutiges Kennzeichen, jedoch mittlerweile ziemlich klare Strategien zur Erkennung von schädlichen Mails. Viele Sicherheitsmaßnahmen werden bereits angewendet bevor die Mail zum Nutzer gelangt. Wenn dann aber doch eine Mail im Postfach eintrudelt, ist der Nutzer gefragt. Also, hier die Basics zum Erkennen von Spam.

Logisches Denken (immer eine gute Methode)

Generell sollte erst einmal abgewägt werden, ob diese Mail überhaupt eine Daseinsberechtigung im Postfach hat. Die Deutsche Bank warnt mich vor unzureichender Sicherheit meines Kontos obwohl ich gar kein Konto bei dieser Bank habe? Da könnte wohl was faul sein 😉
Wurde also mit der E-Mail Adresse, bei der die Mail einging, tatsächlich der angesprochene Service benutzt? Nein, dann entweder direkt entsorgen oder mit umso mehr Argwohn die folgende Punkte unter die Lupe nehmen.

Der Absender und die E-Mail Adresse

Mit ein klein wenig IT- und Programmiererfahrung ist es ein Leichtes, E-Mail Absender, Absenderadresse und andere Informationen der E-Mail an sich zu fälschen. Ich habe das vor einem Jahrzehnt in meinem Fake-Mail Artikel schonmal in seiner einfachsten Grundlage erläutert. Also selbst wenn der Absender „Amazon“ <info@amazon.de>, „Steve Jobs“ <jobs@apple.com> oder „Hannes Schurig“ <schurigh@gmail.com> ist, sollte die Mail bei Verdacht auf Spam genauestens untersucht werden. Ein Großteil der Spammer gibt sich hier keine bis wenig Mühe, seriös zu wirken. Hier ein paar Beispiele von schlechten bis halbwegs guten Versuchen:
„Sparkasse-deutschland“ <daveanna@megalink.net>
„Google Incorporation“ <noreply@googleincuk.com>
„Sparkass“ <Informationen@sparkasse.de>
„Sparkasse“ <noreply@sparkasse.de
Die letzten 2 Adressen wären grundsätzlich legitime E-Mail-Adressen der Sparkasse, wobei die dritte mit einem Großbuchstaben ungewöhnlich formatiert wäre. Der Spammer geht hier zusätzlich das Risiko ein, dass eure Antworten auf diese Mail (auch wenn die wenigstens auf sowas mit einer Antwort-Mail reagieren) nicht bei ihm landen sondern bei dem echten Besitzer der gefälschten Adresse – z.B. informationen@sparkasse.de, falls es diese Adresse geben sollte. Dem Spammer ist das aber vermutlich egal, er möchte euch eh nur zum Öffnen eines Links oder eines Anhangs verleiten und keine Antworten bekommen. 

Der Betreff und Text

In den besseren E-Mails werden dem Nutzer im Text einige Informationen präsentiert, die sich schlüssig anhören können: Konto gesperrt, neue Sicherheitsfeatures für das Konto können aktiviert werden, unbekannte oder fehlerhafte Zahlungen oder Abbuchungen müssen bestätigt werden, ungewöhnliche Kontobewegungen oder Nutzeraktivitäten, irgendwie sowas. Erster Hinweis auf unerwünschte Mails ist natürlich schlechtes oder zumindest leicht fehlerbehaftetes Deutsch. Warum auch immer die Spammer sich bis heute keine Mühe geben, eine einzige Spamvorlage in lupenreinem Deutsch zu verfassen, weiß ich nicht. Aber gut für uns.
Dies sind meistens auch E-Mail-Texte, die nach Massenmails aussehen, also beispielsweise mit „Sehr geehrte/r Frau/Herr“, „Liebe User“ oder einer anderen unpersönlichen Anrede beginnen.
Auch in groß angelegten seriösen Rundmails steht heutzutage fast immer euer Nutzername/Name drin, das können die Firmen mittlerweile schon.

Das Design

Als nächstes ist das Design entscheidend. Mails von größeren Unternehmen sehen stimmig aus: Logo, Hintergrundfarbe, Umrahmung des Textes, einheitliche Schriftart und guter Textstil, die meisten Unternehmen geben sich hier viel Mühe. Umso besser fallen schlechte Spam Mails ohne jegliche Formatierung oder mit nur 1 Logo lieblos reingeklatscht auf.

Der Link/URL

Spam Mails, die im Endeffekt Daten klauen oder Schaden anrichten sollen, sind in erster Linie an einer der zwei folgenden Punkten zu erkennen: Entweder haben sie einen Anhang oder einen Link in der Mail.
Selbstverständlich öffnet ihr erstmal keine Links und Anhänge, wenn die Mail und der Inhalt nicht vollständig seriös erscheinen.
Links vor dem Aufruf ansehen und Anhänge vorher von einem Antivirenprogramm checken lassen. Es gibt natürlich noch weitere Formen, beispielsweise mit Text den Nutzer dazu zu bringen, eine Überweisung zu tätigen oder andere Handlungen einzufordern. Aber ich denke das ist klar soweit, dass niemand einfach so Geld irgendwohin überweist, um damit einen Gewinn/Jackpot in Anspruch zu nehmen oder die Lieferung eines wertvollen Gegenstandes zu bezahlen.

Am häufigsten wird versucht, mittels eines Links den Nutzer auf eine gefälschte oder sonstwie vorbereitete Seite zu ziehen. Auf dieser Seite sollen die Nutzer dann private Informationen eingeben, beispielsweise Kontodaten – hier handelt es sich dann um klassisches Phishing. Also der Link, der in solchen Spam Mails immer enthalten ist, sollte besonders aufmerksam angeschaut werden. Der Link wird meistens angezeigt, wenn man mit der Maus über den Linktext fährt. Wenn das nicht geht, lassen sich die Links oftmals per Rechtsklick-Menü kopieren und zumindest in einem Texteditor vorbetrachten. Aber bitte nicht Linksklicken.
Bei 90% der Spam Mails sind vor allem die Links/URLs verräterisch, hier ein paar typisch schlechte Beispiele:
(ACHTUNG! LINKS NICHT ÖFFNEN)
http://juwenalia.poznan.pl/amazon/0?m=meinemail@gmail.com
http://raevin.org/admin/other/sparks/0
http://www.teprometoanarquia.com/wp-admin/includes/sparkassed/0
http://stcde.pt/libraries/phputf8/utils/sparkassed/0
http://rutaverde.cl/language/spakolp/0

Manchmal sieht man hier aber schon bessere Versuche:
(ACHTUNG! LINKS NICHT ÖFFNEN)
http://sparkase.de/kundencenter/kontowiederherstellung/
http://berliner-sparkasse.de.tf/kundencenter/kontowiederherstellung/
http://e.bay.de/kontowiederherstellung/
Es geht also darum in der Top Level Domain zwar auf den ersten Blick eine seriöse URL stehen zu haben, welche jedoch entweder durch kleine Buchstabenverdreher, zusätzliche oder fehlende Buchstaben verfälscht wurde oder weitere Top-Level-Domainendung besitzt. Diese Domains können sich Spammer normal registrieren und somit die Chance auf Klicks erhöhen.
Besucht der Nutzer nun eine solche Seite, ist es meistens schon aber nicht unbedingt erkennbar, ob es sich hier um eine gefälschte oder echte Seite des Anbieters handelt. Sollte das Design ungewöhnlich sein, die Seite nicht zum eigentlichen Anbieter passen, der Text in der falschen Sprache sein, reagiert mit Vorsicht.
Die Seite selbst kann aber auch komplett seriös aussehen; beispielweise ist es vergleichsweise leicht, das komplette Webseitendesign von Amazon oder einer beliebigen anderen Internetseite zu kopieren und ein Eingabeformular damit nachzubauen. Auch die URL in der Adresszeile des Browsers kann Aufschluss geben. Diese wäre zwar auch mit 1 Codezeile Javascript fälschbar, diese Technik wird aber selten von Phishern benutzt.

Demo / Test

Hier mal ein perfektes Beispiel für ein gut gewolltes aber nicht ausreichend gut umgesetztes Phishing-Beispiel:

Folgende Merkmale entlarven diese Mail als Spam/Phishing:

  1. Der Betreff ist für einen kritischen Inhalt wie „ungewöhnliche Kontobewegungen“ viel zu generisch, das würde Amazon so nie machen. Eine Konto-ID mit falscher Groß- und Kleinschreibung machen den Betreff nicht glaubwürdiger.
  2. Der Absender ist mit „info@amazon.de“ nicht schlecht gefälscht, aber ein „Name“, der anstatt der Mail primär angezeigt wird, fehlt und ist normalerweise aber immer vorhanden. Amazon verwendet beispielsweise „Amazon.de <versandbestaetigung@amazon.de>“.
  3. Man hat sich an ein Amazon-Design versucht, aber es wirkt noch etwas unfertig. Es fehlt Spacing über dem Logo und ein paar mehr Informationen, die Amazon auch im Jahre 2014 schon in den Mail Footer gepackt hat – Links, Impressum, Hinweise für den Kunden usw.
  4. Die allgemeine Anrede „Lieber User“ ist ein Killer bei dem
    „ungewöhnliche Kontobewegungen“ Inhalt. Hier müsste selbstverständlich euer Name stehen.
  5. Der Text ist von der Satzstruktur nicht optimal und es fehlen mehrere Kommata.
  6. Zu guter Letzt der Link: Hier wurde probiert, mit einem Linktext nicht direkt den auffällig unseriösen Link zu verschleiern, aber per Mouseover wird dieser natürlich trotzdem gezeigt.

Fazit

Mit diesen Tricks solltet ihr Spam und andere unerwünschte Mails mit einer sehr hohen Chance erkennen und aussortieren können. Damit sorgen wir gemeinschaftliche dafür, die Statistik der Spammer noch unwirtschaftlicher zu machen. Denn laut diesem FAZ Artikel (etwas älter aber vermutlich immernoch wahr), müssen Spammer ca. 12 Millionen Pharma Werbemails verschicken, um einen einzigen Nutzer zum Kauf eines solchen Produktes zu bewegeben. Die Rate muss noch mehr versaut werden! 🙂

Nachdem ich in den zwei vorhergehenden Artikeln über HSTS, X-XSS-Protection und die Content-Security-Policy geschrieben habe, folgen nun die letzten kleineren HTTP Security Header. Dazu zählen unter anderem X-Content-Type-Options, X-Frame-Options, Feature-Policy und Referrer-Policy. Auf der Webseite von OWASP, dem Open Web Application Security Project, findet ihr auch eine gute Übersicht aller Header, Einstellungsmöglichkeiten und Best Practices. Wie in den letzten Artikeln beschreibe ich die Umsetzung der Header mit Apache via .htaccess-Datei.

X-Content-Type-Options

Der Header ist recht simpel, denn er hat nur 1 mögliche Option: „nosniff“. Mit dieser Eigenschaft verhindert der Header, dass der Browser einen übermittelten Content-Type MIME type ändert. Stattdessen muss der MIME-Type in jedem Fall befolgt werden, was MIME sniffing Attacken (auch „content sniffing“ genannt) verhindern kann. Bei diesem Angriffsszenario werden Dateien mit einem falschen MIME-Type an den Browser geschickt, welcher diese dann anders als vorgesehen interpretiert:

Header always set X-Content-Type-Options "nosniff"

X-Frame-Options

Die Angabe eines X-Frame-Options Header gibt vor, ob andere Seiten deine Seite einbinden können – als frame, iframe oder object. Verhindert werden dadurch vor allem Clickjacking Attacken. Damit steht dies im Gegensatz zur CSP, welche die Einbindung anderer Seiten in deine Seite behandelt. Drei Optionen stehen zur Auswahl: DENY, SAMEORIGIN und ALLOW-FROM [Domain].
Für WordPress ist es empfehlenswert, die Option SAMEORIGIN zu wählen, da es sonst Problemen geben wird, beispielsweise beim Update von Plugins.

Header always set X-Frame-Options "SAMEORIGIN"

Feature-Policy

Die Feature-Policy ermöglicht die Kontrolle vieler Browser-APIs und somit die Einschränkung der Angriffsquellen bei vielen Funktionen. Für jede Direktive (= API) können folgende Optionen gesetzt werden: * (alle Quellen erlaubt), self, none, [Domains]. Die Funktionalität ist also der CSP sehr ähnlich, aber mit Fokus auf Features. Auch wenn die Browserunterstützung noch recht mau ist, empfehle ich die Nutzung: Beschränkt die einzelnen APIs so, wie sie in eurer Seite benötigt werden und schafft damit etwas mehr Sicherheit. Eine report-Direktive ist wohl schon in Arbeit, aber noch nicht implementiert, ich hoffe das kommt bald noch.

Mehr Informationen zu den Direktiven auf dieser Google-Seite, der Github Seite (manche davon ausführlicher erklärt) und aktiv gezeigt auf dieser Demo-Seite. Das reicht als Hilfe für das Setup.

Ich aktiviere bei mir die Features autoplay, fullscreen und picture-in-picture für ’self‘, allesamt für embedded Videos brauchbar, der rest wird mit ’none‘ deaktiviert:

Header always set Feature-Policy "accelerometer 'none'; ambient-light-sensor 'none'; autoplay 'self'; camera 'none'; encrypted-media 'none'; fullscreen 'self'; geolocation 'self'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; midi 'none'; payment 'none'; picture-in-picture 'self'; speaker 'none'; usb 'none'; vr 'none'"

Ihr findet diese und weitere Einstellungen auch in den Webseiten-Einstellungen, die für jede Webseite angepasst werden können. Eure lokalen Settings stehen dabei noch vor den von der Seite vorgegebenen Featureeinstellungen:

mehr-website-sicherheit-mit-http-header-3-feature-policy-website-settings
Chrome’s Webseiten-Einstellungen für die Steuerung der Features

Referrer-Policy

Zuletzt noch die Referrer-Policy: Dieser Security Header steuert die Referrer-Information, die beim Aufruf eines Links auf eurer Seite mitgeschickt wird. Der Referrer ist dabei praktisch die Quelle der eingehenden Anfrage:

Grundsätzlich ist der Referrer eine nützliche Information, vor allem für Webseitenbetreiber und ihre Analysewerkzeuge wie Google Analytics. Sie erfahren, wie die Besucher auf die Webseite gekommen sind, von wo, eventuell mit welchen Suchbegriffen, und können ihre Seite mit diesen Informationen verbessern. Ich selber möchte hier also möglichst wenig restriktiv sein, aber dennoch die Sicherheit ein wenig erhöhen. Problematisch können Referrer-Informationen werden, wenn sie zu einer bösen oder unsicheren Seite weitergeleitet werden. Welche Möglichkeiten gibt es also?

Mögliche Optionen für die Referrer-Policy: no-referrer, no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url

Ich möchte jetzt hier nicht auf jeden Punkt eingehen, das wäre unnötig. Informiert euch gerne bei Mozilla (mitsamt Beispielen) oder in diesem Blog zu den Auswirkungen jeder Eigenschaft auf den Referrer.

Ich benutze aus oben genannten Gründen nur die Option ‚no-referrer-when-downgrade. Diese ist möglichst locker beim Aufruf beliebiger http://-Links und schickt den gesamten Referrer da mit. Ich habe in meinem Blog keine kritischen Informationen, die nicht weitergeschickt werden sollten. Allerdings wird die Weiterleitung meines Referrers auf unsichere http://-Seiten verhindert, das erhöht die Sicherheit ein wenig. Überdenkt eure Seite, eure Links und wie ihr mit dem Referrer selbst umgehen wollt.

Achtung WordPress-Nutzer: Ich glaube seit WordPress 4.7 werden target=“_blank“ Links automatisch mit der Eigenschaft rel=“noreferrer noopener“ erstellt. Das mag gute Hintergrundgedanken haben, wenngleich auch die Seite informiert, dass noopener den Angriff verhindert und noreferrer nur als compatibility backup benutzt wird.
Also unabhängig vom Referrer-Policy-Setting würden Links keinen Referrer mitsenden.
Es gibt mindestens 2 verschiedene Codes für die functions.php, mit der sich das deaktivieren lässt, beispielsweise siehe Link in diesem Absatz. Das Problem hierbei: Beide Codes funktionieren nicht mit dem neuen Gutenberg-Editor. Ich habe hier bisher keinen Weg gefunden, das automatische noreferrer zu entfernen und daher bleibt dieser Security Header bei mir mehr oder minder Placebo und für alle Fälle.

Fazit

Das waren nun also die wichtigsten sieben HTTP Security Header in drei Artikeln, das war doch eine ganze Menge neues Wissen. Ich hoffe, dass ihr etwas Hilfe finden und eure Webseitensicherheit ebenfalls verbessern konntet. Es gibt noch weitere Security Header, diese waren dann aber entweder kaum verbreitet, kaum unterstützt oder kritisch diskutiert und mir daher zu edge case für meine Artikel.

Im Großen und Ganzen bin ich zufrieden, auch wenn man sicher immer noch besser und sicherer sein kann, hier mein securityheaders.com Ergebnis:

mehr-website-sicherheit-mit-http-header-3-securityheader-summary-final
SecurityHeaders.com Ergebnis A nach den Header-Optimierungen

Über

Meinen Blog gibt es nun schon seit fast 10 Jahren, verrückte Sache. Und obwohl ich grob über 300 Tutorials und How-To’s geschrieben habe, ist es wie so oft: Der Schuster hat gerne mal die schlechtesten Leisten. Wartung und Pflege des eigenen Systems geraten bei viel Stress und wenig freier Zeit in den Hintergrund. So kommt es, dass mich die Firma Enginsight letztens kontaktiert hat. Der Inhalt war ein weniger positiv – man übergab mir einen Sicherheitsbericht meines Blogs. Dieser enthielt Bewertungen in mehreren Kategorien und leider nicht nur gute, dazu später mehr. Das war der Anlass, dass ich mich mit der Sicherheits-Suite von Enginsight und der Sicherheit meines Blogs detaillierter auseinandergesetzt habe.

Erster Eindruck

Die Suite von Enginsight möchte mit ihren Tools die Sicherheit und Verfügbarkeit von IT-Netzwerken erhöhen und den Aufwand der Wartung und Überwachung verringern. Das Netzwerk kann hier beliebig verschieden und groß sein – von 1 Webseite, einem PC oder Server bis hin zu einem aus mehreren Nodes und Netzwerkkomponenten bestehenden Netzwerk.

Dank des 14-tägigen Probeaccounts lässt sich die Suite auch direkt selbst ausprobieren. Nach dem Login lande ich auf einem sehr übersichtlichen Dashboard, in dem mir meine eingerichteten Assets (in diesem Moment natürlich noch keine) angezeigt werden. Über eine Menüleiste habe ich schnellen Zugriff auf die wichtigsten Funktionen: Umgebungen, Hosts, Endpunkte, Alarme, Einstellungen, Suche, mein Profil sowie einigen weiteren Kleinigkeiten.

webseiten-netzwerke-analysieren-kontrollieren-enginsight-suite-dashboard
Übersichtliches Enginsight Dashboard mit ersten angelegten Assets

Detaillierte Analysen

Ich habe hier direkt meinen Blog als einen Endpunkt angelegt. Endpunkte sind Webseiten oder Webapplikationen, für die verschiedene Funktionen zur Verfügung gestellt werden: Webseite (Verfügbarkeitstests aus EU/USA), SSL/TLS, Web Thread Intelligence, Portscan, HTTP-Headers und Redirects. Die Funktionen können flexibel hinzugefügt werden. Anschließend starten direkt die ausgewählten Untersuchungen auf das eingegebene Ziel und nur wenige Sekunden später erhalte ich eine ausführliche Analyse meiner Seite:

Schnell ist klar: Hier muss was gemacht werden! Ich gehe mal kurz die Features durch und was jeweils untersucht wird:

  • Webseite: Stündliche Verfügbarkeitstests von Servern aus Frankfurt (EU) oder East-Virginia (USA), Analyse der Verbindungszeiten (wieviel Millisekunden Lookup, Connect, Transfer usw.)
  • HTTP-Headers: Analyse der Antwort-Header-Eigenschaften und speziell der Security-Header. Dazu mehr im Kapitel weiter unten
  • SSL/TLS: Untersuchung des verwendeten SSL-Zertifikats, der unterstützten Protokolle und Chiffren sowie möglicher Sicherheitslücken bzgl. SSL
  • Redirects: Weiterleitungen der Domain
  • Web Threat Intelligence: Prüfung von Sicherheitslücken beim Server, benutzten Anwendungen, der Webseite, benutzter Frameworks und Errechnung eines Scores
  • Portscan: Offene Ports und deren Service, ggf. Informationen zu eingesetzter Software und Version hinter einem Port

Bei der dauerhaften Verwendung von externen Dienstleistern, vor allem wenn (personenbezogene) Daten der eigenen Plattform dort verarbeitet werden, müsst ihr darauf achten, das Verzeichnis von Verarbeitungstätigkeiten zu ergänzen. Ansonsten wäre das im worst-case ein Datenschutzverstoß.

Ein Bericht hat mir dabei besonders wenig gefallen: Die Bewertung F bei den HTTP-Header. Also habe ich hier mal einen detaillierteren Blick geworfen:

Crashkurs HTTP-Headers

HTTP-Header sind Anweisungen, die vom Server- oder Webseitenbetreiber konfiguriert werden, um die Sicherheit des Webangebots sowie der Besucher zu erhöhen
Die Anweisungen können, je nach Hosting Setup, recht einfach über die .htaccess (empfohlen beim Shared Webhosting) gesetzt werden.
Im folgenden nenne ich zwei beispielhafte Security-Header, es gibt jedoch noch mehr:

HTTP Strict Transport Security (HSTS)

HSTS gibt vor, dass und für welchen Zeitraum in der Zukunft alle Anfragen über HTTPS/SSL vom Client zum Server geschickt werden müssen. Anfragen über HTTP werden innerhalb dieses Zeitfensters dann komplett geblockt. Eine Beispielkonfiguration wäre:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

Anzupassen: max-age als Zeitangabe in Sekunden, wie lange der Zugriff in Zukunft für diesen gerade aufrufenden Client ausschließlich über SSL erfolgen muss. Der Wert 31536000 steht demnach für 1 Jahr. includeSubDomains erweitert dieses Verfahren auf alle Subdomains. Weitere Informationen und Details zu HSTS und die preload-Eigenschaft in meinem separaten Artikel zum Thema HSTS und XSS-Protection hier.

Content-Security-Policy (CSP)

Der Content-Security-Policy Header überprüft die Art und Herkunft von Daten und Anfragen während des Ladens und kann darauf reagieren. Damit wird verhindert, dass unerwünschte, fremde oder gefährliche Inhalte geladen und ausgeführt werden. Das ist für gewöhnlich das Ziel von XSS-Angriffen und Code-Injections, schädliche Inhalte in vertrauenswürdige Seiten einzubinden.

Die Kontrolle der Inhalte wird hierbei in unterschiedliche Kategorien (auch Direktiven genannt) aufgeteilt und jeweils können erlaubte Datenquellen definiert werden. Beispielsweise gibt die Direktive script-src an, von welchen Domains und Quellen Skripte in die geschützte Seite eingebunden werden dürfen. Ein CSP-Beispiel:

Header always set Content-Security-Policy: "default-src 'self'; img-src 'self' https://secure.gravatar.com https://wordpress.org data:; script-src 'self'; font-src 'self' fonts.gstatic.com; report-uri https://report-uri.de/report.php"

Diese CSP definiert erlaubte Datenquellen für die Direktiven default-src, img-src, script-srcfont-src und definiert einen Bericht-Endpunkt mit report-uri. Die Angabe ’self‘ erlaubt Daten von der eigenen Domain, in der die CSP benutzt wird. Zusätzlich wurden für Bilder die Domains von gravatar.com und wordpress.org sowie die Einbindung von data-uri Bildern als Ausnahmen definiert. Ebenso das Laden von Schriften vom Google Repository. Wenn ein Angreifer nun versucht, beispielsweise über einen Kommentar ein Skript von seiner Angreiferdomain einzubetten, würde die CSP dies blocken, da nur die eigene Domain Skripte einbinden darf.

Mehr zum Aufbau und Einrichtung des CSP Header in meinem Artikel zu diesem Thema hier.

Sicherheit von Hosts auch mit Künstlicher Intelligenz überwachen

Zurück zur Enginsight-Suite, denn hier gibt es noch viel mehr zu entdecken! Aus Gründen der Komplexität reiße ich die folgenden Features nur grob an.

Wie eingangs erwähnt, lassen sich auch Computer und Server in das System einfügen und durchleuchten. Dafür wird ein Client auf den Geräten eingerichtet und schon werden etliche Systemkomponenten untersucht: Auslastung von CPU, RAM, SWAP, integrierte Partitionen, Netzwerkschnittstellen, installierte Software und Updates sowie laufende Prozesse. Daran erkennt Enginsight dann mögliche Sicherheitsrisiken und gibt Handlungsempfehlungen.

Außerdem wacht eine auf Neuralen Netzwerken basierende Künstliche Intelligenz über die erfassten Daten. Auf Wunsch erkennt diese beispielsweise wenn personenbezogene Daten das Netzwerk verlassen oder bestimmte Metriken wie CPU oder RAM ihre Normalwerte verlassen. Basierend auf den gelernten Daten erkennt die KI Anomalien und alarmiert den Admin. Dieser kann den Vorfall dann einstufen und die KI lernt für zukünftig Entscheidung aus diesem Handeln. Somit wird die KI immer intelligenter und der Admin hat weniger Verwaltungsaufwand.

Im Peacemaker werden die Systemupdates aller angelegten Hosts in einer Übersicht angezeigt und können direkt verwaltet werden. So lassen sich beispielsweise unter Linux Updates direkt aus Enginsight heraus installieren.

Unter dem Menüpunkt Umgebung versteckt sich ein Visualisierungstool, mit dem die angelegten Assets miteinander in Verbindung gebracht werden können. Außerdem lassen sich hier auch Notizen oder ganze Dokumentationen für jedes Asset hinzufügen. So fehlt nie der Überblick bei komplexen Infrastrukturen.

Automatisierung über Alarme und Plugins

Zwei weitere Funktionen lassen sich gut kombinieren, um eine Automatisierung von Maßnahmen im Problemfall zu realisieren: 
Alarme können erstellt werden, um regelmäßige Überprüfungen durchzuführen und im Problemfall Maßnahmen zu ergreifen. Mögliche Überwachungen bei einem Endpunkt: Response Time, Tage bis Zertifikatsablauf, Webseite nicht erreichebar, Neue Sicherheitslücke, Datenschutzverstoß. Für Hosts gibt es noch mehr, hier nur ein paar: Temperatur, neue oder entfernte Programme, Verdächtiger Netzwerkverkehr. Natürlich lassen sich hier Benachrichtigungen einstellen, aber als besonderes Extra gibt es auch Plugins, die im Problemfall ausgeführt werden können.

Plugins sind im Skripte, die selbst geschrieben werden können. Zur Verfügung stehen die drei Sprachen: Bash, Powershell und Python. Plugins können per Cronjob regelmäßig ausgeführt oder eben von Alarmen getriggert werden. Dem Troubleshooting sind mit diesen drei Sprachen kaum Grenzen gesetzt. Beispielsweise könnten per SSH im Falle des Ausfalls bestimmter Webseiten die Netzwerksettings vom Server geändert oder repariert werden.

Fazit

Die Enginsight-Suite bietet eine große Palette an Sicherheits- und Überwachungsfeatures (nicht alle konnte ich in diesem Artikel vorstellen), mit denen sich einzelne Assets oder ganze Netzwerke analysieren und steuern lassen können. Dank KI-Metrik-Überwachung, Alarmen, Plugins und anderen kombinierbaren Lösungen ist hier eine großes Potential für Automatisierung, wenn alles richtig eingerichtet wird. Das Produkt ist immernoch stark in der Entwicklung und der Kontakt zum Enginsight-Team war äußerst angenehm – hier steckt viel Herzblut im Produkt.