► Hacking mit Python https://amzn.to/3pxVnmh (*)
► Mein Python-Buch https://amzn.to/3ARMbw8 (*)
► Ethical Hacking mit ChatGPT https://amzn.to/3Qf9mID (*)
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Bei den Amazon-Links (https.//amzn.to/???????) handelt es sich um Affiliate-Links. Wenn du etwas über diesen Link kaufst, bekomme ich eine kleine Provision. Der Preis ändert sich nicht, wenn du über diesen Link einkaufst. Vielen Dank für deine Unterstützung.
Inhalt 📚
0.0.0.0 ist normalerweise eine nicht routbare IPv4-Adresse, die als "unbestimmte" oder "beliebige" Adresse verwendet wird. Wenn ein Server auf die Adresse 0.0.0.0 bindet, bedeutet das, dass er auf allen verfügbaren Netzwerkinterfaces lauscht und auf eingehende Verbindungen von allen IP-Adressen auf dem Host wartet. „Binden“ bedeutet im Allgemeinen, dass der Server sich auf eine bestimmte Netzwerkadresse (IP-Adresse) und einen Port "festlegt". D. h., der Server sagt dem Betriebssystem, auf welcher IP-Adresse und auf welchem Port er auf eingehende Netzwerkverbindungen warten soll. Das wird z. B. genutzt, um in Python einen Server zu programmieren. Wenn du bspw. mit dem Befehl „python -m http.server“ ein bereits vorgefertigtes Script zur schnellen Bereitstellung eines Server startest, dann wird dir die Meldung „Serving HTTP on 0.0.0.0 port 8000“ angezeigt. Python bindet also nicht auf die Localhost-Adresse 127.0.0.1, sondern auf die „unbestimmte“ Adresse 0.0.0.0. Das ist auch notwendig, denn wenn du den Server selbst über einen socket programmierst und als Adresse 127.0.0.1 einträgst, wird dir bei dem Verbindungsversuch über einen Python-Client die Meldung „Connection refused“ angezeigt, weil wir uns nicht nur lokal auf dem Rechner befinden, auf dem der Server läuft. 0.0.0.0 wird oft in Serverkonfigurationen verwendet, wenn der Server auf allen Netzwerkinterfaces des Hosts (einschließlich IPv4 und IPv6) verfügbar sein soll. Außerdem kann es dabei helfen, den Server von Clients auf verschiedenen Netzwerkadressen erreichbar zu machen.
#ITSecurityNews #Sicherheitslücke #ZeroDay
00:00 | Was ist 0.0.0.0?
02:02 | Sind Pentests nicht effektiv genug?
03:03 | Der 0.0.0.0 Day Exploit
04:07 | Die Lücke wird bereits genutzt!
04:52 | Gegenmaßnahmen
Quellen:
Avi Lumelsky, “0.0.0.0 Day: Exploiting Localhost APIs From the Browser” (07.08.2024), https://www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser [Stand: 10.08.2024].
https://youtu.be/1z03QIQ3kvg?si=Rnwa3VdkDWpQ7G8w
SOCIAL MEDIA
💡 Website: https://www.florian-dalwigk.de
📱 TikTok: https://www.tiktok.com/@florian.dalwigk
🤳 Instagram: https://www.instagram.com/florian.dalwigk
🐦 Twitter: https://twitter.com/florian_dalwigk
📧 E-Mail: mailto:[email protected]
0.0.0.0 ist normalerweise eine nicht
rotbare IPv4 Adresse die als unbestimmte
oder beliebige Adresse verwendet wird
wenn ein Server auf der Adresse
0.0.0.0 beindet bedeutet das dass er auf
allen verfügbaren Netwerk Interfaces
lauscht und auf eingehende Verbindungen
von allen IP-Adressen auf dem Host
wartet binden bedeutet im allgemein dass
der Server sich auf eine bestimmte
Netzwerkadresse also IP-Adresse und
einen Port festlegt das heißt der Server
sagt dem Betriebssystem auf welche
IP-Adresse und auf welchen Port er auf
eingehende Netzwerkverbindungen warten
soll das wird z.B genutzt um in Python 1
Server zu programmieren wenn Du
beispielsweise mit dem Befehl Python -m
http.server ein bereits vorgefertigtes
Script zur schnellen Bereitstellung
eines Servers startest dann wird die
Meldung serving HTTP
on0.0.0.0 Port 8000 angezeigt Python
beidet also nicht auf die localhost
Adresse
127.0.0.1 sondern auf die unbestimmte
Adresse
0.0.0.0 das ist auch notwendig denn wenn
du den Server selbst über einen Socket
programmierst und als Adresse
127.0.0.1 einträgst wird dir bei dem
Verbindungsversuch über einen Python
Client die Meldung Connection refused
angezeigt weil wir uns nicht nur lokal
auf dem Rechner befinden auf dem der
Server läuft nur
0.0.0.0 wird oft in Serverkonfiguration
verwendet wenn der Server auf allen
Netzwerkinterfaces des Hosts
einchließlich IPv4 und IPv6 verfügbar
sein soll wenn du näheres zu
0.0.0.0 und anderen speziellen
IP-Adressen wie den localhost
127.0.0.1 erfahren möchtest dann
empfehle ich dir mein Video dazu dass
ich dir unten in der Videobeschreibung
verlinkt habe doch was hat das jetzt mit
einem Exploit zu tun nun es würde
kürzlich eine Sicherheitslücke in Chrome
Safari und Firefox entdeckt die
verdeutlich dass man sich im cyberraum
niemals wirklich sicher fühlen kann auch
bei Systemen die schon mehrere Jahre
lang sicher im Einsatz sind denn diese
Lücke besteht bereits seit 18 Jahren und
ist erst jetzt aufgedeckt worden die
Enthüllung dieser Schwachstelle wirft
mal wieder Fragen zur Effektivität
traditioneller Sicherheitsmaßnahmen und
pentests auf traditionelle pentests
können spezifische Schwachstellen wie
diese möglicherweise übersehen dass sie
eine realitätsnahe Simulation echter
bekannter Angriffe bieten und auf den
persönlichen Erfahrungen der Tester
beruhen jedoch bieten sie immer nur eine
Momentaufnahme und keine kontinuierliche
Überwachung des Systems zudem dienen sie
in der Regel nicht dem Auffinden neuer
bislang unbekannter Schwachstellen
sondern der Überprüfung eines Systems
auf bekannte Sicherheitslücken mit dem
Ziel einen Basisschutz zu implementieren
nun aber zurück zum 0.0. . day diese
ermöglich es schädlichen Webseiten die
Sicherheitsvorkehrungen in beliebten
Webbrowsern wie Google Chrome Mozilla
Firefox und Apple Safari zu umgehen
betroffen sind vor allem die
Betriebssysteme Linux und MacOS der
zero..0.0 day ermöglicht es Webseiten
die Sicherheitsmechanismen von Browsern
zu umgehen und mit Diensten zu
interagieren die im Lokal Netzwerk einer
Organisation laufen dadurch können
Angreifer von außerhalb
Zugriff erhalten und sogar Code auf
lokalen Diensten ausführen die
Problematik entsteht durch die
unterschiedlichen Realisierungen von
Sicherheitsmechanismen in verschiedenen
Browsern und einem Mangel an
Standardisierung in der browserindustrie
infolg dessen kann die an sich harmlos
erscheinende IP-Adresse
0.0.0.0 zu einem mächtigen Werkzeug für
Angreifer werden um lokale Dienste
auszunutzen diese Dienste können
Entwicklungsplattformen Betriebssysteme
oder sogar intern Netzwerke umfassen
obwohl die Lücke bereits erstmals 2008
gemeldet wurde ist sie immer noch
präsent das Forschungsteam von Oligo
Security hat festgestellt dass
Cyberkriminelle diese Sicherheitslücke
bereits aktiv ausgenutzt haben und
ausnutzen als Reaktion darauf haben die
Entwickler be der Betroffenen Browser
begonnen Gegenmaßnahmen einzuleiten und
planen Updates um die Zugriffe auf die
0.0.0.0 Adresse zu blockieren wird
meiner Ansicht nach aber auch höchste
Zeit wenn man bedenkt wie lange diese
Sicherheitslücke bereits besteht diese
Grafik zeigt noch einmal die Zunahme der
öffentlichen Webseiten die mit der
Adresse
0.0.0.0 kommunizieren können was noch
einmal das Bedrohungspotenzial des
0.0.0.0 day Exploits verdeutlicht doch
was kann man bis zum Ausrollen der
Updates tun das Forschungsteam von Oligo
Security empfiehlt die Verwendung von
PNA headn PNA Header also private
Network Access Header sind Bestandteil
von http Fragen die dazu dienen den
Zugriff von Webinhalten auf private
Netzwerke zu regulieren es handelt sich
um einen Sicherheitsmechanismus der
verhindert dass Webseiten unautorisierte
Anfragen an interne Netzwerkadressen
senden ein PNA Header wird verwendet um
explizit zu bestätigen dass der Zugriff
auf bestimmte interne Ressourcen gemäß
den festgelegten Sicherheitsrichtlinien
erlaubt ist das trägt dazu bei das
Risiko von Netzwerkangriffen durch
crossside request for tre K C RF oder
anderen Arten von netzwerkanomalien zu
minimieren ind dem sichergestellt wird
dass nur autorisierte Anfragen Zugang zu
sensiblen Netzwerkressourcen erhalten
zudem sollten die Host headader
überprüft werden der hosteader ist ein
wesentlicher Bestandteil von http
Anfragen der angibt auf welche Domain
oder IP-Adresse eine Anfrage gerichtet
ist Angreifer könnten versuchen durch
Manipulation des Host headaders
Webanwendungen dazu zu bringen mit
internen oder un erwarteten Hosts zu
kommunizieren was zu Sicherheitsrisiken
führen kann durch die Überprüfung des
Host headaders können Server feststellen
ob eine Anfrage legitim ist oder
möglicherweise Teil eines
netzwerkangriffs auch die Verwendung von
csrf Tokens wird empfohlen crossside
request for tre Tokens das sind diese
csrf Tokens sind ein
Sicherheitsmechanismus der dazu dient
die Authentizität von Anfragen innerhalb
einer Webanwendung zu überprüfen und zu
gewährleisten dass sie von dem
erwarteten Benutzer und nicht von einem
Angreifer stammen ein CSF toen ist ein
einzigartiger zufälliger und schwer
vorhersagbarer Wert der vom Server
erzeugt und in die Formulare einer
Webseite eingebettet wird bei jeder
formularübermittlung wird der Token vom
kleent zurück an den Server gesendet wo
er mit einem im Session Cookie
gespeicherten Wert verglichen wird
stimmen die Token überein wird die
Anfrage als legitim betrachtet das hilft
dabei unautorisierte Aktionen zu
verhindern der ein Angreifer durchführen
könnte in dem er einen Benutzer dazu
verleitet unbewusst eine schädliche
Anfrage an die Webanwendung zu senden
solltest du weitere Fragen haben kannst
du sie gerne unten in den Kommentaren
posten vielen Dank fürs zusehen und bis
zum nächsten Video