Was verhindert, dass Datenpakete direkt an private IP-Adressen gesendet werden (für Hacker / Viren / Malware)?

642
Jay5671

Ich bin neu im Networking und habe viele Grundlagen im Griff, aber ich verstehe nicht, dass das Internet keinen direkten Kontakt mit Ihren Geräten in Ihrem lokalen Netzwerk herstellen kann.

Ich weiß, dass Router und NATs zulassen, dass alle Ihre Geräte dieselbe IP für Ihr Netzwerk haben, und dass sie die Anforderungen an das Web und zurück an den Client weiterleiten, der sie angefordert hat. Meine Frage ist jedoch:

Angenommen, ich wollte jemanden Computer hacken und kannte seine IP-Adresse (Heimnetzwerk). Könnte ich nicht einfach Daten an diese IP-Adresse mit verschlüsselten Daten übertragen, um an einige der häufigsten privaten Adressen (z. B. 192.168.1.1-80) zu gelangen und tatsächlich Daten an ein "privates" Gerät zu senden?

IPs nehmen normalerweise Daten direkt zu und von den Geräten, von denen eine Anforderung stammt. Wenn ich also eine Router-IP kenne und die private IP-Adresse richtig erraten habe, was hindert mich dann daran, in dieses Gerät zu hacken?

Ich gehe davon aus, dass es eine weitere Möglichkeit gibt, Daten an den richtigen Client im Router / NAT weiterzuleiten, der nicht nur IP ist, aber ich bin nicht sicher, wie das gemacht wird.

Oder ist es einfach so, dass Sie auf diese Weise unvorhergesehene Daten senden KÖNNEN, aber es würde keinen Vorteil bringen, wenn die gesamte Software sowieso nichts mit den Daten tut (keine Anfrage gesendet).

Alle Informationen, die ich finde, sprechen in der Regel nur darüber, wie private IPs die Verwendung allgemein weniger öffentlicher IPs zulassen und niemals wirklich erwähnen, was den Zugang zu Ihren privaten IP-Clients zur Außenwelt behindert.

Kann mir das jemand erklären?

1
Wenn ein Router-NAT ein Paket enthält, speichert es (sourceIP: sourcePort, destinationIP: destinationPort) in der Sitzungstabelle. Wenn die Antwort erhalten wurde, wird sie gemäß den gespeicherten Informationen übertragen. Wenn keine Datensätze in der Sitzungstabelle gefunden werden, löscht der Router das Paket als versehentlich empfangen. Es wird also nicht in ein privates Netzwerk übertragen. Akina vor 5 Jahren 0

4 Antworten auf die Frage

0
LawrenceC

Ich verstehe nicht, dass das Internet keinen direkten Kontakt mit Ihren Geräten in Ihrem lokalen Netzwerk herstellen kann.

IPs nehmen normalerweise Daten direkt zu und von den Geräten, die eine Anfrage gestellt haben

Denken Sie daran, dass das ursprüngliche Design des Internets so ist, dass die Dinge funktionieren sollen - das Internet soll "End-to-End" sein und IP-Adressen sollen buchstäblich global sein - wie auch immer Eine bestimmte IP-Adresse ist in der Welt, ich kann mit ihr reden und sie kann mit mir sprechen.

Das Problem ist, dass uns die IPv4-Adressen ausgehen, daher mussten Schemata wie NAT verwendet werden.

NAT war nicht die Art und Weise, wie die Dinge funktionieren sollten, und obwohl es als Nebeneffekt Sicherheitsvorteile bietet, bricht es das End-to-End-Prinzip des Internets und regt Dienste an, die nichts anderes tun, als Zwischenhändler zu handeln - gut für die Sicherheit / Miete Sammlung, schlecht für die Freiheit / arme Menschen.

Ich weiß, dass Router und NATs dafür sorgen, dass alle Ihre Geräte dieselbe IP für Ihr Netzwerk haben

Es erscheint nur so außerhalb Ihres Netzwerks.

Hinter Ihrem Netzwerk verfügt jedes System über eine eindeutige IP-Adresse aus einem der privaten IP-Bereiche.

NAT bewältigt diese Illusion an Ihrem Router, so dass Systeme hinter Ihrem Router andere IP-Adressen erreichen können und IP-Systeme mit Systemen hinter Ihrem Router kommunizieren können, wenn die Ports ordnungsgemäß weitergeleitet werden.

Ich könnte nicht einfach Daten an diese IP-Adresse mit verschlüsselten Daten übertragen, um an einige der häufigsten privaten Adressen (z. B. 192.168.1.1-80) zu gelangen und tatsächlich Daten an ein "privates" Gerät zu senden

Nee.

192.168.1.80 ist im Internet nicht vorhanden. Sie existiert nur hinter NAT-Routern. Sie haben zuerst einen NAT-Router hinter sich. Die einzige Möglichkeit, dies zu tun, besteht darin, zuerst mit der öffentlichen IP-Adresse des NAT-Routers zu sprechen.

In der Tat - wenn sich diese IP 192.168.1.80 und Ihre eigene IP im selben Subnetz befinden, wird der Verkehr nicht einmal Ihr Netzwerk verlassen - Ihr System versucht, 192.168.1.80 von der lokalen Netzwerkkarte zu erreichen und es erreicht nicht einmal Ihren Router.

Wenn ich also eine Router-IP kenne und die private IP-Adresse richtig erraten habe, was hindert mich daran, in dieses Gerät zu hacken?

NAT-Router überwachen und verfolgen eingehende Verbindungen.

Wenn eine neue TCP-Verbindung versucht, eine Verbindung zu einem weitergeleiteten Port herzustellen, werden die Daten erst dann an das System hinter dem Router weitergeleitet.

UDP ist verbindungslos. Wenn ein NAT-Router seine Aufgabe ordnungsgemäß ausführt, wird er UDP-Verkehr, den er seit einiger Zeit nicht mehr gesehen hat, an ein dahinter liegendes System weiterleiten. NAT-Router können aufgrund ihrer verbindungslosen Natur mit UDP ausgetrickst werden. Dies ist jedoch nur möglich, wenn Sie das System dahinter dazu bringen können, etwas an diesen Port zu senden und den NAT-Router davon zu überzeugen, dass möglicherweise eingehender Datenverkehr zurückkommt. Es gibt ein paar Protokolle, die von so etwas abhängen, wie zum Beispiel STUN.

0
Attie

Die meisten NAT-Router werden auch als Firewall und nicht nur als Router konfiguriert.

Betrachten Sie folgendes Netzwerk:

Beispiel Netzwerk


Ohne NAT müssen die Geräte direkt kommunizieren:

  • 192.168.1.2 will mit reden 192.168.0.2
    • Die Standardroute ist 192.168.1.1(Router A).
    • Router A weiß, dass 192.168.0.0/24erreichbar ist über 198.51.100.2 (Router B)
    • Router B ist direkt mit 192.168.0.0/24dem Paket verbunden und liefert es
  • 192.168.0.2 möchte antworten 192.168.1.2
    • Die Standardroute lautet 192.168.0.1(Router B).
    • Router B weiß, dass er 192.168.1.0/24über erreichbar ist198.51.100.1
    • Router A ist direkt mit 192.168.1.0/24dem Paket verbunden und liefert es

Mit NAT auf Router A, aber nicht mit Router B ändern sich die Dinge geringfügig:

  • 192.168.1.2 will mit reden 192.168.0.2
    • Die Standardroute ist 192.168.1.1(Router A).
    • Router A ist für " IP-Masquerading " konfiguriert. Schreiben Sie daher die Quelladresse als 192.51.100.1externe Schnittstelle.
    • Router A weiß, dass 192.168.0.0/24erreichbar ist über 198.51.100.2(Router B)
    • Router B ist direkt mit 192.168.0.0/24dem Paket verbunden und liefert es
  • 192.168.0.1 möchte antworten 198.51.100.1
    • Die Standardroute lautet 192.168.0.1(Router B).
    • Router B ist direkt mit 198.51.100.0/24dem Paket verbunden und liefert es
    • Router A überprüft die Übersetzungstabelle und schreibt das Ziel als neu 192.168.1.1
    • Router A ist direkt mit 192.168.1.0/24dem Paket verbunden und liefert es

Zu diesem Zeitpunkt steht einem Host nichts im 192.51.100.1Wege, um als Router verwendet zu werden, und bittet ihn, ein Paket an 192.168.1.2... Nothing weiterzuleiten . Die Antworten werden wahrscheinlich maskiert, so dass die Kommunikation ein wenig " herausfordernd " sein kann, aber Kommunikation ist Kommunikation.

Die Erweiterung auf " das Internet " könnte meine Aussage " Es gibt nichts zu stoppen ... " etwas ändern . Ich habe kein unterstützendes Material, aber ich wäre sehr überrascht, wenn Internet-Router tatsächlich für die Weiterleitung von Datenverkehr an eine private Netzwerkadresse konfiguriert wären. Stattdessen werden sie wahrscheinlich nur solche Pakete ablegen. Das Ergebnis ist, dass der Versuch im Internet wahrscheinlich nicht funktioniert, selbst wenn der Router schlecht konfiguriert wurde.

Darüber hinaus gibt es aufgrund der Funktionsweise des Routings (z. B. wenn sich ein Host nicht im lokalen Netzwerk befindet, die MAC-Adresse den Router, die IP-Adresse den letzten Host), keine Möglichkeit zur Verwendung der 192.51.100.1als Router, es sei denn entweder A) Sie sind mit ihm verbunden ist; oder B) Bestehende Routen bringen Ihren Verkehr in seine Richtung.


Um zu verhindern, dass andere Hosts einfach 198.51.100.1als einfacher Router verwendet werden, sind Firewall-Regeln erforderlich.

Ein Ansatz besteht darin, eingehende Pakete an der externen Schnittstelle von Router A ( 198.51.100.1) abzulehnen (oder zu löschen ), die nicht explizit auf ihre Adresse gerichtet sind.

Dadurch wird auch das von Linux implementierte Modell mit schwachen Hosts aufgelöst (z. B.: Router B kann über die externe Schnittstelle mit Router A kommunizieren, wobei die der internen Schnittstelle zugewiesene Adresse verwendet wird).

0
Mokubai

Nur weil Sie wissen, dass die öffentliche IP-Adresse des Routers sowie eine interne Adresse die interne Adresse nicht automatisch öffentlich adressierbar macht.

Mit IP können Sie eine Verbindung zu einer öffentlichen Adresse herstellen. Dies bedeutet nicht automatisch, dass sich hinter dieser öffentlichen Adresse Adressen befinden, oder dass keine Möglichkeit zur Weiterleitung von Daten zur Verfügung steht, selbst wenn eine vorhanden war.

Die Adresse lautet "Gehe zu dieser Maschine und diesem Port", nicht "Gehe zu dieser Maschine und diesem Port und einmal dort weiter zu einer anderen Maschine und einem anderen Port, und von dort diese andere Adresse und diesen Port"

Betrachten Sie es als jemanden, der Ihnen einen Brief schickt. Die Post kümmert sich nicht darum, wer an der Adresse ist, sondern nur, dass sie die Post in den richtigen Schlitz legen. Wenn der Posten durch den Schlitz ist, muss jemand an der Adresse den Brief betrachten und herausfinden, an wen der Brief gelangen soll.

Dasselbe geschieht in einem Netzwerk, aber NAT lässt "Jim" nicht als permanente interne Adresse zu. Die Zuordnungen von intern nach extern treten auf, wenn ein internes Netzwerk innerhalb des Netzwerks eine Verbindung zum Internet herstellt. Zu diesem Zeitpunkt wird effektiv ein Postfach "jimTmp12345 @ PublicIP" erstellt, das verwendet wird, bis die Verbindung geschlossen wird. Dann ist die Adresse ungültig und alles, was an sie adressiert ist, wird in der lokalen Deponie abgelegt.

0
TOOGAM

[NAT] leitet die Anforderungen an das Web und zurück an den Client weiter, der sie angefordert hat

Richtig, aber als Klarstellung, wie das funktioniert: NAT bewirkt, dass Ihre privaten IP-Adressen wie eine öffentliche IP-Adresse aussehen, normalerweise, bevor der Datenverkehr Ihr Netzwerk verlässt. Daher leitet das Internet den Datenverkehr nicht zurück an Ihre private IP-Adresse. Das Internet gibt den Datenverkehr an die öffentliche IP-Adresse zurück, an der Sie gesehen werden.

Nummer 1 der Ausgabe:

Ich denke, wenn Sie die Funktionsweise von NAT im Detail verstehen, können Sie einige Ihrer Fragen beantworten. Die typischste Implementierung, die ich gesehen habe, ist NAPT ("Network Address Port" -basierte Übersetzung). Wenn Sie Daten von einer privaten Adresse senden, übernimmt der Router diese private Adresse und fügt diese Informationen einem Diagramm / einer Tabelle im Speicher des Routers hinzu. Der Router wählt auch eine TCP- oder UDP-Portnummer (wahrscheinlich eher zufällig ausgewählt) und verfolgt diese in derselben Tabelle / Tabelle. Der Router sendet dann die Informationen unter Verwendung der öffentlichen IP-Adresse an das Internet und identifiziert die "Quellport" -Nummer als die von ihm gewählte Nummer. (Sowohl TCP als auch UDP verwenden zwei Portnummern: eine "Quellennummer" und eine "Zielnummer".) Wenn das Ziel (z. B. ein Webserver, der auf TCP-Port 443 wartet, bemerkt, dass der an TCP-Port 443 gehende Datenverkehr von einem anderen TCP-Port (z. B. TCP-Port 53874) kommt, kann dieser Server antworten, indem er Datenverkehr an die öffentliche IP-Adresse des ursprünglichen Routers an diesem Port sendet TCP-Port (z. B. TCP-Port 53874). Der Router sucht dann in seiner Tabelle / Tabelle nach Informationen und weiß, an welche private IP-Adresse die Informationen gesendet werden sollen.

Wenn Sie nur zufällig eine private IP-Adresse auswählen, sollte der Router diese private IP-Adresse nicht in seiner Tabelle / Tabelle haben, damit dies nicht funktioniert.

Ich gehe davon aus, dass es eine weitere Möglichkeit gibt, Daten an den richtigen Client im Router / NAT weiterzuleiten, der nicht nur IP ist, aber ich bin nicht sicher, wie das gemacht wird.

Nein.

Ich meine, ja, das gibt es. Es gibt noch ein anderes Routing, das auftreten kann, und ich werde das schnell bestätigen. Es werden 802.1q "VLAN" -Tagging und andere Technologien verwendet, die für einige Daten- / Signalisierungswolken verwendet werden können und die Auswirkungen haben können, wie der Datenverkehr durch ein Netzwerk fließt. Diese zusätzlichen Routing-Methoden werden jedoch in der Regel aus Gründen der Geschwindigkeit, Sicherheit oder Kompatibilität eingesetzt (hauptsächlich bei Nicht-IP-Netzwerken, wie z. B. einigen älteren Netzwerken in einer Telefongesellschaft). Sie müssen nicht wirklich denken, dass diese fortschrittlichen professionellen Netzwerktechniken einen neuen und notwendigen Teil des Verständnisses der Funktionsweise von Routing einführen werden, da einfaches IP-Routing verwendet werden kann, um zu erklären, worum es geht.

Problem Nr. 2: Die internen Abwehrmechanismen des Routers

Lassen Sie uns einfach so tun, als würde der Router kein NAPT ausführen. Wir ignorieren also einfach die gesamte Tabelle / Diagramm, die öffentliche TCP / UDP-Portnummern mit privaten Adressen vergleicht. Lassen Sie uns einfach so tun, als ob Sie beim ISP des Kunden sitzen und das Paket böswillig über den Router an die privaten IP-Adressen des Kunden senden möchten.

Die meisten Router, die einige grundlegende Firewall-ähnliche Aktionen ausführen, werden feststellen, dass der eingehende Datenverkehr auf dem als "WAN" (Port für "Wide Area Network") bezeichneten Port ankommt. Um einen gewissen Schutz zu gewährleisten, werden die Router erkennen, dass der eingehende Datenverkehr an diesem Netzwerkport die öffentliche IP-Adresse des Routers verwenden sollte, und schon gar nicht die üblichen "privaten" IP-Adressbereiche.

Der Router verteidigt das Netzwerk, indem er das Paket verwirft.

Ausgabe 3: ISP's schützen uns besser

Der Standard für einen ISP besteht darin, keinen Verkehr zu oder von den privaten IP-Adressbereichen zuzulassen (dies sind die in IETF RFC 1918 Abschnitt 3 für IPv4 angegebenen Adressen oder Adressen, die mit "fd" für IPv6 beginnen).

Wenn Sie also versuchen, Datenverkehr von zu Hause über Ihren ISP und dann über den Rest des Internet-Backbones des ISP zu senden, dann über den ISP des Opfers, dann über den Router Ihres Opfers und schließlich zur "privaten IP". Adresse Ihrer Wahl, dann sollten Sie versagen. Dies liegt daran, dass ISPs normalerweise der Konvention folgen, den Verkehr zu blockieren, der die privaten IP-Adressen beinhaltet. (ISPs wären verrückt, dies nicht zu tun.)

In dem obigen Szenario wird der Schutz nicht vom ISP des Zielopfers bereitgestellt. Zugegeben, der ISP des Zielopfers wird wahrscheinlich so eingerichtet, dass er die Pakete fallen lässt, wodurch der Router des Zielopfers geschützt wird. Es ist jedoch auch wahrscheinlich, dass Ihr ISP die Pakete verwirft, sodass die Pakete nicht einmal den ISP des Zielopfers erreichen.

Ausgabe 4: Motivation des ISP

Warum würden ISPs verrückt sein, den Verkehr mit privaten IPs zuzulassen?

Beachten Sie, dass alle Organisationen die privaten IP-Adressen für ihre eigenen internen Netzwerke verwenden dürfen. Das schließt ISPs ein. Ihr ISP verwendet möglicherweise eine private Adressierung für einige lokale Geräte des ISP. Sie sollten nicht feststellen können, ob sie das tun oder nicht.

Die Art und Weise, wie der ISP Datenverkehr routet, besteht darin, dass er sich auf "Routing-Tabellen" stützt, die bestimmen, wohin der Verkehr als nächstes gehen soll. Diese "Routing-Tabellen" geben nicht an, welcher andere ISP Verkehr empfängt, der eine private Adresse als Ziel hat. Der ISP hat keinen Ort, an den der Datenverkehr gesendet werden kann, mit Ausnahme seiner internen Geräte. Da ein Großteil des Datenverkehrs mit privaten IP-Adressen böswillig oder anderweitig problematisch sein kann (möglicherweise mit Datenverkehr, die von einem falsch eingerichteten Gerät stammen), möchte der ISP diesen Datenverkehr nicht an seine eigenen internen Geräte senden ( und möglicherweise Probleme für den ISP verursachen). Daher möchte der ISP sofort Pakete blockieren, die an eine private Adresse gehen, bevor der Verkehr weiter durch das ISP-Netzwerk zugelassen wird.

Wenn ein ISP gegen diese Regeln verstößt, würde der ISP wahrscheinlich böswilligen Datenverkehr einladen, der wahrscheinlich keine Auswirkungen hätte (außer der Verwendung von Bandbreite). Wenn dies jedoch der Fall wäre, wäre dies für den ISP wahrscheinlich schlecht.

Ausgabe 5: Was würde wirklich passieren?

Ich habe bisher erklärt, warum das Internet den Verkehr blockiert. Aber schauen wir uns an, was wirklich passieren wird.

Wenn Sie auf Ihrem Computer sitzen und ein bösartiges Paket an eine private IP-Adresse senden möchten, was passiert dann?

Wenn der Datenverkehr bis zu Ihrem lokalen ISP gelangte, würde der lokale ISP den Verkehr sofort blockieren, wie bereits erläutert.

Es ist jedoch sehr wahrscheinlich, dass der Datenverkehr nicht bis zu Ihrem lokalen ISP geht. Stattdessen wird Ihr lokaler Router herausfinden, was mit diesem Datenverkehr zu tun ist.

Wenn Sie nicht dieselbe "private" IP-Adresse selbst verwenden, weiß Ihr Router wahrscheinlich nicht, was er mit dem Datenverkehr anfangen soll, und der Datenverkehr wird verworfen.

Andernfalls greifen Sie wahrscheinlich ein Gerät in dem Netzwerk an, in dem Sie sich gerade befinden, wenn Sie dieselbe "private IP" -Adresse selbst verwenden. Wenn Sie der Administrator dieses Netzwerks sind, greifen Sie Ihr eigenes Netzwerk an!

In jedem Fall ist es wahrscheinlich, dass Ihr Router (bei Verwendung üblicher Standardkonfigurationen) den Datenverkehr nicht über das Internet weiterleitet.

Rezension:

Bei all diesen Problemen geht es darum, warum das Internet Ihren Angriff auf eine private IP-Adresse nicht zulässt. Wenn Sie sich tatsächlich im selben lokalen Netzwerk wie Ihr Ziel befinden, müssen Sie möglicherweise nicht einmal einen Router durchlaufen, sodass keine dieser Abwehrmaßnahmen im Weg ist. Wenn Sie sich jedoch an einem anderen Ort im Internet befinden, behindern diese Abwehrmaßnahmen wahrscheinlich den Versuch eines solchen Angriffs.

Obwohl Sie mit (zumindest einigen Arten von) Routern, die Sie möglicherweise steuern können, bestimmte Standardregeln verletzen können, blockieren andere Organisationen wahrscheinlich auch private IP-Adressen, um Angriffe auf Remote-Systeme effektiv zu verhindern.