by:

Verschlüsselte Webseiten sind in der heutigen Zeit ein wichtiges Element um sensible Daten bei z.b. Bankgeschäften im Internet zu schützen.
Leider kosten diese Zertifierungen viel Geld obwohl die Aussage des Browsers:
"Blabla.com verwendet ein ungültiges Sicherheitszertifikat"
wenig bzw. nix über die tatsächliche Sicherheit der Verbindung aussagt.

Oft sind Zertifikate die vom Browser als ungültig bezeichnet werden trotzdem sicherer als andere Zertifikate, die als gültig gekennzeichnet werden.


Sicherheits-Ausnahmeregelung von Firefox

Mein Vorschlag wäre das Verfahren in zwei Teile zu gliedern.

1. Verschlüsselte Webseiten
Jeder soll die Möglichkeit haben, seinen Besuchern eine sichere Verbindung zur Verfügung zu stellen, ohne das man dafür zahlen muss und der Browser das Zertifikat als invalid kennzeichnet.

2. Verschlüsselte und verifizierte Webseiten

Es soll auch weiterhin die Möglichkeit geben Webseiten gegen Geld zu verifizieren.
Somit kann sich der Besucher sicher sein, dass die Firma real existiert und es sich nicht
um Betrüger handelt.

Ausserdem könnte ich mir eine Art Ampelsystem vorstellen, dass Aussagen über die Schlüsselstärke zur Verfügung stellt.

Leider wird das in naher Zukunft kaum möglich sein, derzeit sind SSL Zertifikate ein gutes Geschäft, dafür
spricht auch, dass die Browser den Zugang extrem erschwert haben.
Früher war es möglich mit exakt einem Mausklick eine "nicht vertrauenswürdige Webseite" zu besuchen, heute ist es ein ewiges und nerviges rumgeklicke bis man irgendwann gnädigerweise doch auf die Webseite kommt.
Bleibt zu hoffen, dass sich hier was ändern wird, da das jetzige Verfahren weder für
den Endbenutzer noch für den Betreiber wirklich zielführend ist.

Andreas


http://de.wikipedia.org/wiki/Zertifizierungsstelle
http://www.openca.org


Kommentare

by:

Einen SSH Reverse Tunnel benötigt man z.B. wenn man von seinem privaten PC auf
seinen Arbeitsrechner zugreifen will, ohne jahrelangem Warten auf ein Port Forwarding
und den lästigen Weg über die Administrationsabteilung.

Folgenden Befehl müssen wir für unseren Tunnel am Arbeitsrechner ausführen:

ssh -l user -nNT -R 1337:192.168.0.123:22 78.42.111.52

-l user ist der username mit dem wir uns zuhause anmelden

-R 1337 ist der Port den wir zuhause aufmachen und mit dem wir uns verbinden werden

192.168.0.123 ist die ip des Arbeitsplatzrechners und 22 der Port

78.42.111.52 ist der Rechner zuhause auf dem ebenfalls ssh läuft

Nachdem wir nun die Tunnelverbindung geöffnet haben, können wir uns zuhause
mit dem Befehl ssh localhost -p 1337 zu unserem Arbeitsplatzrechner verbinden.

Zu bedenken gibt's dabei, dass man quasi ein Loch in der Firmenfirewall schafft,
was, wenn auch sehr unwahrscheinlich, von anderen ausgenutzt werden kann.

Ein zweites Problem sind manche Router die die Verbindungen nach einiger Zeit unterbrechen,
hier kann AutoSSH Abhilfe verschaffen.

Ich hoffe euch hat meine kurze Erklärung gefallen.

Andreas


http://www.openssh.com/
http://www.harding.motd.ca/autossh/


Kommentare

by:

Das Thema scheint sich langsam zu einem Dauerbrenner zu entwickeln... Da habe ich wohl bei vielen einen Nerv getroffen. Nachdem ich heute auf der IT-SecX an der FH St. Pölten einen Vortrag zum Thema "Man-In-The-Middle- Attacken und DNS Spoofing" gehalten habe, gibt's hier nochmal für alle, die vielleicht keine Zeit hatten, das Paper zum Nachlesen.

Viel Spass und wie immer freue ich mich natürlich über Kommentare, Fragen und Anregungen...

Einleitung

Sicherheit im IT Bereich ist immer noch ein vernachlässigtes Thema, bei Privatanwendern sowieso, aber auch bei Unternehmen werden die Gefahren oft unterschätzt. Das gängige Motto hier scheint „Mir wird schon nichts passieren“ zu sein. Und dann wundern sich die Leute wie sie Opfer eines Angriffs werden konnten...


„Not to know is bad – not to wish to know is worse!“

Immer wieder werde ich mit Vorwürfen konfrontiert, allein aufgrund der Kenntnis solcher Angriffstechniken ein „böser Hacker“ zu sein, oder mit der Veröffentlichung solcher Methoden den Kriminellen nur das Werkzeug in die Hand zu geben und alles nur noch schlimmer zu machen.

Dazu möchte ich hier kurz Stellung nehmen.

Security by obscurity“ ist in der IT einer der schlechtesten Ansätze, die es gibt.

Unwissen ist extrem gefährlich. Unwissen sorgt letztendlich nur dafür, dass diejenigen, die solche Angriffe durchführen ein leichtes Spiel haben und mit keinerlei Gegenwehr rechnen müssen.

Nur wenn ich weiß was die Bedrohung ist und wie sie funktioniert kann ich wirksame Gegenmaßnahmen einleiten. Durch Wissen um die Bedrohung und Kenntnis der Methoden bin ich erst in der Lage mich entsprechend zu schützen.

Das ist der Grund, warum ich denke, dass man solche Themen nicht geheimhalten soll und darf.


Hinweis

Bevor ich jetzt zu den Techniken und konkreten Beispielen einer Man-In-The-Middle- Attacke übergehe noch ein kleiner Hinweis.

Für alle „neugierigen Spielkinder“ an dieser Stelle der Hinweis, dass es schon aus rechtlicher Sicht ratsam ist, die vorgestellten Techniken in einer Testumgebung auszuprobieren.

Ein Angriff im Life- Betrieb kann zu unerwünschten und unbeabsichtigten Nebenwirkungen führen. Fragen Sie dazu Ihren Admin oder einen IT-Sicherheitsexperten Ihres Vertrauens.


Was ist eine Man-In-The-Middle- Attacke?

Einfach gesagt, versteht man unter einer Man-In-The-Middle- Attacke, dass der Datentransfer zwischen zwei Kommunikationspartnern (transparent) über einen dritten – den Angreifer – läuft. Transparent meint hier, dass weder der Absender noch der Empfänger davon etwas merken. Die Kommunikationspartner sind also nicht direkt miteinander verbunden, sondern über einen unbemerkten Dritten, der ähnlich wie ein Gateway, die Anfragen weiterleitet.

Der Angreifer ist damit in der Lage unbemerkt jegliche Kommunikation mitzulesen und zu manipulieren.

Solch ein Angriff ist sowohl für den Sender als auch für den Empfänger extrem schwer zu erkennen. Sie sehen ihre gewohnten und erwarteten Inhalte, schließlich sind sie ja, wenn auch über einen Umweg, mit dem richtigen Adressaten verbunden.


Der Angriff im Detail

Ziel einer Man-In-The-Middle- Attacke ist, wie gesagt, sich unbemerkt in die Kommunikation einzuschalten um diese mitzulesen oder zu manipulieren.

Der Angreifer spielt dabei dem Sender vor der Empfänger zu sein und dem Empfänger der Sender zu sein.

Der Ablauf sieht immer in etwa gleich aus:

Das Opfer (nennen wir sie Heidi) sendet eine Anfrage an den Empfänger (etwa an Peter) die vom Man-In-The-Middle abgefangen wird. Der Angreifer kann die Anfrage von Heidi in Ruhe lesen und modifizieren. Als zweiten Schritt baut der Angreifer eine Verbindung mit dem eigentlichen Empfänger, Peter, auf und leitet die Anfrage an ihn weiter. Auf die Antwort von Peter hat der Man-In-The-Middle natürlich auf die selbe Art ebenfalls Zugriff.

Der schwierigste Teil des Angriffs ist dabei die Verbindung auf den eigenen Rechner umzuleiten. Hilfreich dabei sind Methoden wie ARP Spoofing und DNS Manipulation.

Es gibt verschiedene Techniken sich in der Art in die Verbindung zwischen zwei Rechnern einzuklinken. Die Durchführung ist dabei abhängig von verschiedenen Faktoren, wie z.B. den Netzwerken, der Verbindung, Verschlüsselung etc... Der Man-In-The-Middle kann auf verschiedenen Ebenen seinen Angriff ansetzen, direkt am Rechner des Opfers oder aber auf Netzwerkebene etc.

Grunsätzlich unterscheidet man zwei Arten von Angriffen: den physikalischen (mittels Kabelverbindung) und den logischen Zugriff.


Ausgewählte Beispielszenarios

Der Postbote, öffentliche WLAN Hotspots und andere Kriminelle

Zur Veranschaulichung des Themas ein Beispiel aus der „analogen Welt“:

Der Postbote ist der Man-In-The-Middle zwischen Sender und Empfänger. Er kann die Post des Empfängers lesen, seine eigenen Grüße auf der Postkarte von Tante Erna hinterlassen. Der Postbote hat physikalischen Zugang zur Kommunikation und kann sie auf diesem Weg manipulieren.

Bei Computerangriffen handelt es sich in der Regel nicht um einen physikalischen sondern um einen logischen Zugang zur Kommunikationsverbindung.


WLAN Hotspots oder Noch einfacher geht’s nicht

Eine klassische Variante wäre der Angriff über einen öffentlichen WLAN Hotspot. WLANs allgemein und öffentliche Hotspots im speziellen sind sehr beliebte Angriffspunkte. Bei kostenlosen Hotspots am Flughafen etc. ist es recht einfach. Der Angreifer spielt allen Usern im WLAN Netzwerk vor, der Router zu sein. Das heißt alle Anfragen gehen zuerst an den Angreifer, der sie bequem mitlesen etc. kann und leitet sie an den tatsächlichen Adressaten weiter. Gibt sich der Angreifer als Gateway aus kann er die Verbindungen auch ganz leicht manipulieren. Er kann also Verbindungen verweigern, abbrechen, etc...

Mittels DNS Spoofing ist es dem Angreifer möglich, einer Domain andere IP Adressen zuzuordnen. So kann beispielsweise das Opfer, dass eigentlich auf google.com zugreifen wollte auf eine beliebige andere Seite leiten.


Intranet, Firmennetzwerke und Spass mit Studenten

In diesem Beispiel hat der Chef Zugriff auf den Router, der das Intranet mit dem Internet verbindet. Er leitet alle Anfragen, die nach draußen gehen auf einen transparenten Proxy um. Jede Verbindung wird also mitgeloggt. Der Chef sieht genau von wo, wann auf welche Seiten zugegriffen wird. Die Opfer (in dem Fall die Mitarbeiter) können ganz normal surfen und bekommen davon in der Regel nichts mit.

Sollte der „böse Chef“ wenig begeistert von „YouPorn“ surfenden Mitarbeitern sein, ist es für ihn natürlich ein leichtes diese Anfragen zu unterbinden.

Es können auch unbemerkt Bilder, Wörter oder ganze Texte ausgetauscht und manipuliert werden.

Diese Möglichkeit hat natürlich nicht nur ein Firmenchef, das kann auch UPC z.B. und sie machen das auch, aber das ist eine andere Geschichte....

Dazu gab es ein interessantes Experiment an der Hochschule für Gestaltung in Stuttgart. Hier haben Studenten im Rahmen ihrer Diplomarbeit den gesamten Internettraffic ihrer Uni manipuliert. So wurde z.B. der Name des Politikers Al Gore mit Al Bundy ausgetauscht. Die Reaktion der Benutzer war überraschend, oder auch nicht, denn bis auf einen Fall hat niemand die Manipulationen bemerkt, auch wenn sie noch so offensichtlich waren. http://www.fitug.de/debate/0012/msg00249.html

Abschließend bleibt zu vermerken, dass keine Verbindung als „sicher“ anzusehen ist. Potentiell kann jede Verbindung mitgelesen und manipuliert werden. Daher ist prinzipiell immer davon auszugehen, dass jemand den Quatsch mitliest den man so von sich gibt.


Google Phishing oder Wo bitte geht’s nach Fidji?

Die meisten bisher üblichen Phishing Angriffe sind keine Man-In-The-Middle- Attacken. Sie sind noch einfacher gestrickt und verlassen sich ausschließlich auf das „Look and Feel“ Prinzip. Die Phisher leiten ihre Opfer direkt auf eine manipulierte Webseite auf ihrem eigenen Server. Sie spielen dem Opfer vor, der Adressat zu sein und interagieren direkt.

Die Zukunft des Phishing geht aber stark in Richtung Man-In-The-Middle- Attacke. Der Angreifer braucht keine lässtigen Emails verschicken, keine URL Manipulation und gefälschten Webseiten mehr, er fängt die Anfrage ab und leitet sie schließlich an den tatsächlichen Empfänger weiter.

Immer beliebter wird z.B. das google Phishing. Der Angreifer stellt nach außen ein Reisebüro dar, das über google vom Opfer gefunden wird. Das urlaubsbedürftige Opfer gibt seine Reisewünsche an den Angreifer, der sie an ein real existierendes Reisebüro weiterleitet. Das Opfer bekommt also reale Flugdaten etc. zurück. Nun geht das Opfer zur Buchung über und gibt dem Angreifer bereitwillig seine Kreditkartennummer und alles was man sonst noch so braucht.

Es wurden schon Fälle bekannt, in denen der Angreifer dem Opfer den ersehnten Urlaub nicht vorenthielt. Er leitete die Buchung an das tatsächliche Reisebüro weiter, die dem Opfer dann zwei Wochen später die Reiseunterlagen per Post zukommen ließen, inklusive einer zweiten Rechnung, denn mit dem, von der Kreditkarte abgebuchten, Geld liegt der Angreifer mittlerweile aus Fiji unter Palmen.

Auf diese Weise ist es möglich so gut wie alle Sicherheitsmechanismen, wie Passwörter, TAN, Challenge-Reponse verfahren etc., auszuhebeln. Das Opfer liefert sie schließlich ganz ohne Wissen „frei Haus“.


Theoretische Grundlagen

Was ist das Address Resolution Protocol?

Das ARP funktioniert ähnlich wie DNS, anstatt dem Domainnamen löst ARP aber die IP zu MAC Beziehung auf. ARP ist in der untersten Schicht der nicht physikalischen Gegend des OSI Models anzutreffen.


ARP Spoofing

Mit gefälschten ARP Paketen spiele ich den Rechnern im Netzwerk vor, das Gateway zu sein. Ich sende nun an alle Teilnehmer in dem Netzwerk die manipulierte ARP Nachricht. Damit fälsche ich die ARP Tabellen des Netzwerks und in der Folge senden die Teilnehmer ihre Anfragen an mich. Ich kann alle Verbindungen mitlesen und sie nach Lust und Laune manipulieren. Anschließend leite ich sie an den tatsächlichen Empfänger weiter. Eine abhörbare Verbindung ist zustande gekommen.

Das reine Abhören via Sniffing ist nur in ungeswitchten Netzwerken möglich, mittels ARP Spoofing ist das auch in geswitchten Netzwerken kein Problem.


Switch, Hub, Router

Ein Hub leitet die Antwort an alle Teilnehmer des Netzwerkes weiter. Ein Switch ist da schon etwas intelligenter, er merkt sich woher die Anfrage kam und sendet die Antwort nur an den Adressanten zurück.

Ein Router verbindet unterschiedliche Subnetze, dabei vergisst er die Macadresse.


Software- Beispiele

Fürs ARP Spoofing gibt es unter Linux ganz nette Software wie „Ettercap“ und „Dsniff“

Unter Windows wäre „Chain&Able“ eine Möglichkeit.


Folgen und unvorhergesehene Nebenwirkungen

Wie Eingangs schon kurz erwähnt, kann eine Man-In-The-Middle- Attacke unvorhergesehene Effekte haben und in den seltensten Fällen kann man am Beginn die volle Tragweite abschätzen. Was einem in jedem Fall klar sein muss ist, dass bei ARP Manipulation die DNS Einträge verändert und gespeichert werden. Sprich, wenn ich den Angriff beende und meinen Rechner abhänge, denken alle anderen im Netzwerk trotzdem ich bin das Gateway, was defacto bedeutet, dass das gesamte Netzwerk steht...


Prävention

Was ich an dieser Form des Angriffs besonders kritisch finde, ist, dass es offensichtlich von den Sicherheitsexperten nicht als kritisch wahrgenommen wird. Das erste Mal habe ich eine Man-In-The-Middle- Attacke vor 6-7 Jahren durchgeführt, möglich sind diese Angriffe schon viel länger. Das heißt, dass in der Zwischenzeit sich keiner die Mühe gemacht hat, diese Gefahrenquelle auszuschließen.

Im Gegenteil, es wurde nur noch schlimmer...

Das bringt mich nun zum letzten Punkt meines Vortrags – die Prävention.

Frei nach dem Motto „selbst ist der Mann (oder Frau)“ ist jeder herzlichst eingeladen gewisse vorbeugende Maßnahmen zu treffen.

  • Verschlüsselung des Netzwerkverkehrs bzw. Authentifizierung von Paketen, beispielsweise durch SSL oder ähnliches

  • Einsatz von Network Intrusion Detection / Intrusion Prevention Systemen

  • Überwachung des ARP-Caches (ARPWatch, XARP2)

  • Statisches Routing

Generell:

  • Keine Administrationsrechte auf Client PCs

  • Anwenderschulung / Benutzersensibilisierung / Sensibilisierung der Administratoren und IT-Verantwortlichen

  • Sichere / komplexe Kennwörter; obwohl dies bei Klartextübertragung der Kennwörter wenig nützt, „zwingt man die beteiligten Systeme jedoch zum verschlüsselten bzw. gehashten Kennwortaustausch, macht das allemal Sinn"




Kommentare

by:

Die Angriffsformen sind gefährlich und können erheblichen Schaden anrichten, um ihnen effizient begegnen zu können ist es notwendig ihre Funktionsweise zu verstehen.

Anmerkung:

Alle vorgestellten Techniken sind ausschließlich zu edukativen Zwecken gedacht! Die Anwendung dieser Angriffe in öffentlichen Netzwerken ist ILLEGAL.

Bedenkt auch, dass in manchen Ländern schon das reine Beschaffen der Software strafbar ist (siehe sogenannter Hackerparagraph § 202c).

Was ist eine Man in the Middle Attacke (MitM) ?

Eine MitM Attacke bedeutet, dass man seinem Opfer vortäuscht, das eigentliche Ziel zu sein.

In der Praxis sendet der Angreifer dem Opfer gefälschte ARP Pakete indem er vorgibt, der Gatewayrechner zu sein. Ab diesem Zeitpunkt werden alle Anfragen vom Opfer an den Angreifer gesendet, man spricht auch von ARP Spoofing. Der Angreifer kann jetzt die Pakete weiterleiten und manipulieren. Natürlich ist es nun möglich alle in Klartext gesendeten Passwörter ohne große Mühe mitzulesen, sowie gefälschte Antworten an das Opfer zu senden.

Typisches Angriffsszenario

Der Angreifer führt eine MitM Attacke durch und leitet mit Hilfe von DNS Spoofing das Opfer auf eine gefälschte Webseite weiter. Diese entspricht rein optisch zumeist der eigentlichen Zielseite des Opfers. Hier hat der Angreifer jedoch die Möglichkeit die gefälschte Webseite so zu manipulieren, dass Passwörter und andere Eingaben gespeichert werden. Das Opfer bleibt in dem Glauben, dass alles in Ordnung ist und lediglich der Service vorübergehend nicht verfügbar ist oder das Passwort nicht mehr gültig sei...

Der Angriff

Ich persönlich empfehle Ettercap (0.6.b), da es Plattform unabhängig ist und eine Reihe von nützlichen Plugins mitliefert.

Wir editieren für unser DNS Spoofing zuerst die etter.dns Datei, die nach der Default- Installation im Verzeichnis /usr/local/share/ettercap zu finden ist.

78.41.112.52 *

Bei diesem Eintrag werden alle DNS Anfragen mit der IP 78.41.112.52 beantwortet.

Es ist natürlich auch möglich einzelne Hostnamen einzutragen:

78.41.112.52 microsoft.com

Nun können wir Ettercap starten, das Gateway mit der Entertaste auswählen, die a- Taste aktiviert das ARP Spoofing und das Plugin können wir mit p auswählen und aktivieren.

Bitte beachte, dass du als Angreifer nicht von der DNS Attacke betroffen bist, suche dir daher zum Testen und Überprüfen des Angriffs einen anderen Client Rechner in deinem lokalen Netzwerk.

Prävention

Eine gut gemachte MitM Attacke ist für den Laien nicht erkennbar und selbst für Leute, die sich damit auskennen, oft nicht leicht zu bemerken. Prävention ist daher eine wichtige Maßnahme.

Eine einfache Form der Prävention ist beispielsweise seine Daten zu verschlüsseln, was man bei sensiblen Daten prinzipiell immer machen sollte.

Der Chaos Computer Club hat allerdings schon bewiesen, dass auch verschlüsselte Webseiten mit SSL nicht unbedingt sicher sind.

Eine andere effektive Form der Prävention wäre z.B. statisches Routing, was allerdings bei größeren Netzwerken viel Administrationsaufwand bedeutet.

Desweiteren gibt es sogenante IDS (Intrusion Detection System) Systeme wie Snort, die solche Attacken erkennnen und gegebenenfalls darauf reagieren können.

[UPDATE]

Nachdem die Nachfrage nach Prävention hoch ist, möchte ich hier noch näher darauf eingehen.

Unter Windows gibt es das Tool Xarp2, welches Manipulation des ARP Caches erkennt. Man kann eine kostenlose Testversion hier herunterladen:

http://www.chrismc.de/development/xarp/index.html

Ein kostenloses Tool unter Linux wäre Arpwatch, das ebenfalls die Übersetzung Hardware zu IP Adresse überwacht und gegebenfalls den Administrator informiert:

http://www-nrg.ee.lbl.gov/ Download

Ich habe auch von dem Lösungsansatz gehört, dass jeder User in einem eigenen VLAN ist.

Ein Warnhinweis in eigener Sache:

Ich habe solche Attacken mit Erfolg in vielen Netzwerken getestet, dabei war mir die gesamte Tragweite oft nicht klar. Zum Beispiel bin ich nach einer erfolgreichen MitM- Attacke auf über 400 Rechner drauf gekommen, dass im Nachbarzimmer atomarer Abfall gelagert wurde... Ich gehe zwar davon aus, dass dieser gesondert gesichert ist, dennoch waren mir am Beginn des Angriffes die eventuellen Folgen nicht bewusst.

Ich bitte daher nochmals solche Angriffe nur im lokalen Netzwerk zu testen und es auch dabei zu belassen.

Ich hoffe euch hat der Beitrag gefallen und ich würde mich sehr über Feedback freuen.

Wer noch mehr Erfahren möchte kann hier weiterlesen.

Liebe Grüße

Andreas

Quellen:

http://de.wikipedia.org/wiki/Man-In-The-Middle-Angriff

http://ettercap.sourceforge.net/

http://www.monkey.org/~dugsong/dsniff/

http://www.snort.org


Kommentare

by:

Hallo,

nachdem ich immer wieder SSH Bruteforce Attacken auf meinem Server festgestellt habe, möchte ich euch heute ein kleines aber nützliches Tool vorstellen, was diese unterbindet. Denyhosts ist besonders dann praktisch, wenn man den SSH Port nicht auf eine bestimmte IP beschränken kann oder will. Die Installation unter Debian ist äusserst einfach.

Ein "apt-get install denyhosts" reicht in der Regel aus und man hat keinen Ärger mehr mit den lästigen SSH Bruteforce Attacken. Bei 5 (default) fehlgeschlagenen Loginversuchen wird die IP automatisch auf die hosts.deny Liste gesetzt.

Eine andere Möglichkeit ist Port Knocking, was einer Challenge- Response Lösung nahe kommt. Man sendet ein Packet an einen oder mehrere vorkonfigurierte TCP/UDP Ports und erst dann ist der SSH Port 22 für eine bestimmte Zeit erreichbar.

Ich hoffe euch hat der Beitrag gefallen.

Andreas

[UPDATE]

Zur Zeit verwende ich fail2ban, da es auch andere Protokolle (ssh, ftp, pop..) beherrscht und bin damit recht zufrieden. Anders als denyhosts verwendet es iptables Regeln.

Quellen:

http://www.fail2ban.org/

http://denyhosts.sourceforge.net/

http://en.wikipedia.org/wiki/Port_knocking


Kommentare


Seiten: