it-swarm-eu.dev

Wie nutzen Hacker offene Ports als Vektor für einen Angriff?

Es ist weit verbreitet und daher gängige Praxis, offene Ports auf Computern zu schließen, die mit dem Internet verbunden sind.

Wenn beispielsweise ein typisches Programm Port xyz als Kommunikationskanal verwendet und in diesem Programm eine Sicherheitsanfälligkeit vorliegt, die über diesen Port ausgenutzt werden könnte, warum ist derselbe Angriff beispielsweise über Port 80 nicht erfolgreich?

Da unser Pseudoprogramm Port 888 TCP verwendet und eine Sicherheitsanfälligkeit aufweist, die ausgenutzt werden könnte, warum kann diese Sicherheitsanfälligkeit nicht über Port 80 ausgenutzt werden TCP (das ist HTTP und ist fast geöffnet) irgendeine Maschine)?

Lauscht Port 80 auf dem Webserver nur einem EINZIGARTIGEN Typ von TCP Paketen? Akzeptiert er nur eine bestimmte Art von Paket?

Warum kann ein Hacker nicht versuchen, ein TCP -Paket mit einer schädlichen Zeichenfolge zu erstellen, es in das HTTP-Paket zu kapseln und damit den Webserver anzugreifen?

16
Franko

Dienste überwachen Ports. Webserver (ein Dienst) hören Port 80 ab, aber das ist nur ein Standard, keine harte Regel. Sie können jeden Dienst so konfigurieren, dass er jeden Port überwacht. Es geht nicht um "spezielle Pakete", sondern um "Wählen der richtigen Portnummer", um den gewünschten Dienst zu erhalten.

Wenn Ihr Pseudoprogramm eine Sicherheitslücke aufweist, kann es angegriffen werden an dem Port, dem es zugewiesen ist. Sie können ein Programm nicht an Ports angreifen, die es nicht abhört. Wenn Sie versuchen, es an einem anderen Port anzugreifen (wie in Ihrem Beispiel an Port 80), wird Ihr Programm nicht erreicht.

Ihre letzte Frage ist also etwas seltsam: "Warum kann ein Hacker nicht versuchen, ein TCP - Paket mit einer schädlichen Zeichenfolge zu erstellen, es in das HTTP-Paket zu kapseln und daher den Webserver anzugreifen?" ? "Das IS was Hacker tun. Aber sie zielen auf den Port des Dienstes, den sie treffen möchten. Aber vielleicht können Sie diese Frage basierend auf den von mir bereitgestellten Informationen verfeinern.

Warum also Ports schließen? Weil Sie die Anzahl potenziell anfälliger Dienste reduzieren möchten, die Sie dem Internet zur Verfügung stellen.

11
schroeder

"Blockieren von Ports" ist nur eine ungefähre Methode, um anzugeben, was wir wirklich tun möchten, nämlich den Zugriff auf einige Dienste zu blockieren.

Bei einem frisch installierten Betriebssystem werden häufig einige Dinge automatisch ausgeführt, darunter Dienste mit einem Netzwerkteil. Jede vom Netzwerk ausnutzbare Sicherheitsanfälligkeit in einem solchen Dienst ist eine potenzielle Zugangstür für einen Angreifer. Es ist jedoch selten relevant, dass alle diese Dienste über das gesamte Internet für jedermann zugänglich sind. Zum Beispiel ist es für einen Computer, der ein Webserver sein soll, normal, dass jeder auf der Erde versucht, auf den spezifischen "Web" -Dienst zuzugreifen (das ist seine Funktionalität), und es ist üblich, dass der SSH-Dienst auch geöffnet ist ( damit der Serveradministrator den Server verwalten kann); Es nützt jedoch nichts, dass Filesharing-Dienste für diesen Server ebenfalls weit offen sind.

Das Blockieren des Zugriffs auf einen bestimmten Port kann über die Firewall erfolgen und wird als zeiteffizienter angesehen als der Versuch, das Betriebssystem davon zu überzeugen, einen bestimmten Dienst nicht auszuführen und ihn anlässlich einer Software nicht neu zu starten oder neue Dienste zu erfinden aktualisieren. Daher ist es üblich, alle Ports außer diejenigen zu blockieren, von denen bekannt ist, dass sie Diensten entsprechen, auf die weltweit zugegriffen werden sollte (z. B. 80 und 22 für Web bzw. SSH).

5
Tom Leek