Wäre es bei zwei öffentlichen IP-Adressen und dem Wissen, dass sich beide im selben / 27-Netzwerk befinden, möglich, von einem entfernten Standort (dh einem anderen Land) aus zu bestimmen, ob sie zu einem oder zwei Servern gehören?
Wäre es bei zwei öffentlichen IP-Adressen und dem Wissen, dass sich beide im selben / 27-Netzwerk befinden, möglich, von einem entfernten Standort (dh einem anderen Land) aus zu bestimmen, ob sie zu einem oder zwei Servern gehören?
Antworten:
Nein, das ist im Allgemeinen nicht der Fall.
Einige Ergänzungen, um unsere Gäste von SO glücklich zu machen:
Neugierig auf "warum". Bedenken in Bezug auf Dual-Homed-Computer sind in der Regel als Kopfschmerzen eines unbekannten Systemadministrators zu bezeichnen. Details sollen vom OSI-Modell ausgeblendet werden.
Linux-zentrierte Antwort voraus.
Es gibt einige Möglichkeiten, Fingerabdrücke zu generieren und eine pädagogische Vermutung anzustellen.
nmap -o und nmap mit einem anständigen Port-Scan. Server binden nicht immer an beide Netzwerkkarten. Aber oft tun sie es.
MAC-Adressen. Wenn Sie die MAC-Adressen auf irgendeine Weise ermitteln konnten, verwenden die Hersteller für integrierte Hardware gerne aufeinanderfolgende Adressen. Es ist wahrscheinlicher, dass zwei nahezu identische MAC-Adressen dasselbe Motherboard sind. Dies gilt natürlich nicht für Nachrüstkarten.
Schöne Grüße. Telnet, FTP, SMTP und dergleichen bieten identifizierende Informationen. Stellen Sie fest, ob diese Dienste ausgeführt werden, und bieten Sie ausreichend unterschiedliche Informationen an. Banner sind heute wahrscheinlich selten, aber immer noch einen Versuch wert.
Testen Sie das NIC-unabhängige Verhalten. Versuchen Sie beispielsweise, Hosts zu stolpern, indem Sie ein Dutzend Mal eine falsche Authentifizierung für ssh bereitstellen. Wenn Hosts verweigern ausgelöst wird, sollten Sie feststellen, dass der Socket beim nächsten Versuch sofort geschlossen wird. Überprüfen Sie, ob dies auch für die andere IP-Adresse zutrifft.
A / 27 netto ist ... was, 29 Hosts? Ich würde sagen, die Chancen, eine Dual-Home-Maschine mit hohem Vertrauen zu identifizieren, sind sehr gering, vielleicht 5%. Bei so wenigen Gastgebern ist es jedoch möglich, dass Sie eine fundierte Vermutung anstellen können.
Lustige Frage für ein Interview. Ich kann es tatsächlich stehlen.
Theoretisch kann in den meisten Fällen ein aussagekräftiges Konfidenzniveau angegeben werden. Es gibt jedoch ein paar Einschränkungen, die es in der Praxis viel schwieriger machen.
Ich werde andere Antworten überlappen, und ich habe wahrscheinlich etwas verpasst, aber dies ist zumindest eine detaillierte Begründung, warum diese bestimmten Teile wichtig sind oder nicht.
Vergessen Sie jedoch zunächst die Gedanken an MAC-Adressen. Sofern Sie keinen direkten Zugriff auf das Netzwerksegment haben, können Sie diese nicht sehen.
Vertrauen Sie auch keinen Port-Scans. Es ist trivial, Firewall-Ports nur für bestimmte IP-Adressen zu konfigurieren, Software nur für bestimmte IP-Adressen empfangsbereit zu machen oder ein IDS / IPS-System zu verwenden, das die Filterung anwendet, wenn ein Scan erkannt wird. All dies wird Ihre Tests durcheinander bringen.
Ok, die Art und Weise, wie Sie das beurteilen können, ist einfach: Die Wahrscheinlichkeit, dass zwei Kästchen genau identisch sind, ist gering, sofern sie nicht auf andere Weise zusammenhängen. Was Sie also tatsächlich tun, ist zu beweisen, dass es sich um verschiedene Boxen handelt, und nicht, dass sie gleich sind.
Klingeln. Sie müssen beide gleichzeitig testen und viele Tests durchführen. Es stellt sich heraus, dass es in Netzwerkzeiten zwar zu Jitter kommt, es sich jedoch um ein ziemlich hochwertiges Pseudozufallsrauschen handelt. Wenn Sie jedoch in einem kurzen Zeitrahmen genügend Samples haben, wird das Rauschen so weit gemittelt, dass Sie einen genauen Vergleich erhalten.
Jeder Layer-2-Hop in einem Netzwerk erhöht die Latenz geringfügig. Unterschiedliche Überlastungsgrade führen zu unterschiedlichen Latenzwerten. Wenn die beiden IP-Adressen eine signifikant unterschiedliche gleichzeitige Latenz aufweisen, können Sie davon ausgehen, dass es sich wahrscheinlich nicht um dieselbe Box handelt.
Vorsichtsmaßnahme 1: Ein einzelner Server mit zwei Uplinks (nicht verbunden) und einer anderen IP auf jedem Uplink kann ein ausreichendes Uplink-Ungleichgewicht aufweisen, um dies auszuschalten.
Port-Scan. Zielports können sich in einem von drei Zuständen befinden: Abhören, Geschlossen, Gefiltert. Was sie sind, ist nicht wirklich nützlich, wie oben erwähnt, aber es gibt immer noch nützliche Informationen zu haben.
Bei Boxen mit Ports, die auf mehreren IP-Adressen geöffnet sind, wird höchstwahrscheinlich auf allen IP-Adressen dieselbe Software ausgeführt. Es ist beispielsweise möglich, Nginx auf einer IP-Adresse und Apache auf einer anderen auszuführen, aber die meisten Leute kümmern sich nicht darum. Fingerabdruck der Dienste, die ausgeführt werden, um nach Ähnlichkeiten zu suchen. Suchen Sie nach der Software und der Version, für die die Werbung erfolgt, welche Optionen unterstützt werden, welcher Hostname (falls vorhanden) angekündigt wird, ob das Verhalten der Software irgendwelche Macken aufweist.
Webdienste sind dafür am wenigsten nützlich, viel nützlicher sind Dinge wie SMTP (aufgrund der Sendmail-Unterstützung schwer zu mischen und abzugleichen, es gehen viele Informationen verloren), SNMP (eine Informationsgoldmine), SSH (wer führt mehrere SSH-Daemons aus? ) und HTTPS (wenn Sie Pech haben und dieselbe Software verwenden, können Sie nach Unterschieden in der SSL-Konfiguration suchen. Eine identische, aber ungewöhnliche Konfiguration ist ein guter Indikator). NTP war früher ein guter Test, wird aber jetzt aufgrund der starken Verwendung als DoS-Verstärker hart gesperrt. SNTP ist für eine rauchende Waffe nicht genau genug.
Schicht 3 Fingerabdruck. Die wichtigste Möglichkeit, ein Betriebssystem per Fernzugriff mit Fingerabdrücken zu versehen, besteht darin, die TCP / IP-Implementierung zu vereinfachen. Die genauen Details sind viel zu lang, um darauf eingehen zu können, aber im Wesentlichen geben die Paketmetadaten viele Informationen preis, ebenso wie ein geschlossener oder gefilterter Port auf eine Verbindung reagiert und wie sich ein Host verhält, wenn er fehlerhafte Pakete empfängt. Diese Eigenschaften sind zwar keine Garantie dafür, dass sie ausgeführt werden, sie sind jedoch bei jeder an einen bestimmten TCP / IP-Stack gebundenen IP garantiert nahezu identisch. Signifikant unterschiedliche Systeme sollten signifikant unterschiedliche Eigenschaften haben.
Einschränkung 2: Zwei Boxen, auf denen genau dasselbe Betriebssystem und dieselben Hersteller-Patches ausgeführt werden, sehen wahrscheinlich gleich aus. Unter Windows sind zwei Kopien derselben Windows-Version, auf denen automatische Updates ausgeführt werden, nicht zu unterscheiden, es sei denn, auf ihnen werden unterschiedliche Firewalls ausgeführt. Unter Linux hängen die Unterschiede wahrscheinlich hauptsächlich damit zusammen, welche Kernel-Version und -Optionen ausgeliefert werden. Dieser Test kann nur mit hoher Wahrscheinlichkeit angeben, dass zwei IPs nicht auf demselben Betriebssystem ausgeführt werden.
Attacken wiederholen. Führen Sie bei geöffneter Liste der Ports auf beiden IP-Adressen identische Aktionen für jede IP-Adresse aus und suchen Sie nach Unstimmigkeiten im Verhalten. Dinge wie Zeitüberschreitungen, Fehlermeldungen, Wiederholungslimits usw. Manche Software ist schwieriger oder seltener so konfiguriert, dass sie sich je nach IP unterscheidet. Wenn Sie wissen, dass eine IP-Adresse E-Mails für eine bestimmte Domain akzeptiert, prüfen Sie, ob die andere IP-Adresse auch E-Mails für diese Domain akzeptiert.
Vorsichtsmaßnahme 3: Dies sind Daten mit geringerer Qualität als der Service-Fingerprinting-Teil von Test 2, da diese Informationen auf verschiedenen IP-Adressen leichter unterschiedlich konfiguriert werden können und alle Arten von Interaktionen hinter den Kulissen möglich sind. Die hohe Wahrscheinlichkeit falscher Ergebnisse gibt wenig Vertrauen in diese Ergebnisse.
Wie ich bereits sagte, ist die zugrunde liegende Theorie, dass verschiedene Hosts wahrscheinlich unterschiedliche Konfigurationen haben und dass Informationen verloren gehen.
Was dies nicht erklärt, ist, dass es viel schwieriger zu sagen ist, ob derselbe Standort, der auf zwei IPs ausgeführt wird, derselbe Server ist oder zwei Server, die für Redundanz konfiguriert sind. Außerdem werden Systemadministratoren, die das Konfigurationsmanagement ausführen, nicht berücksichtigt, um ihre Systeme sehr ähnlich zu halten. Es werden auch keine Hosts berücksichtigt, die mehrere Dienste, die auf verschiedenen Hosts ausgeführt werden, auf eine einzige IP-Adresse DNATen.
Virtualisierungstechnologie wirft einige ungerade Schlüssel in den Arbeiten. Containerisierte Systeme wie Docker teilen genügend Stapel, um die einzelnen Container ähnlicher aussehen zu lassen, als sie tatsächlich sind. Virtuelle Netzwerkkarten, die mit einer physischen Netzwerkkarte verbunden sind, sollten nicht von physisch getrennter Hardware zu unterscheiden sein, was jedoch nicht der Fall ist, da es sich bei der Brücke um Software handelt und die Pakete daher den Host-IP-Stack passieren müssen.
Es gibt viele Möglichkeiten, Leute zu verwirren, die versuchen, die Wiederholbarkeit zu testen. Das Beste, auf das Sie hoffen können, ist ein Muster mit einem geringen Zweifel.
Die Moral für Leute, die Server betreiben, ist, dass Sie Ihre Server so konfigurieren, dass möglichst wenig Informationen verloren gehen:
Bannerinformationen so weit wie möglich ablehnen. Je weniger ein Angriff über Ihre Konfiguration weiß, desto besser für Sie.
Lassen Sie die Software nur Verbindungen auf der IP akzeptieren, auf der sie bereitgestellt werden soll, und nur dann, wenn dies erforderlich ist. Wenn es nicht von außen zugänglich sein muss, stellen Sie sicher, dass es nur an localhost gebunden ist. Die Reduzierung der Angriffsfläche ist immer gut.
Wenn Sie unbedingt etwas hören müssen und die Korrelation zwischen zwei IPs vermeiden möchten, versuchen Sie, ungewöhnliche Optionen auf ein Minimum zu beschränken. Sie möchten, dass es sich einfügt.
Führen Sie eine Firewall mit einer Standardrichtlinie zum Löschen aus. Ich denke, ein IDS-Setup, das auf Angreifer mit zufälligen Antworten reagiert, hat möglicherweise einen Wert. Durch Rauschen wird es für einen Angreifer schwieriger, seinen Ergebnissen zu vertrauen, aber Sie werden dadurch hervorgehoben.
Zufällige Verzögerungsmodule sind wertlos, um Timing-Angriffe zu verhindern. Nicht wirklich. Wählen Sie eine Zufallszahl und würfeln Sie ein paarmal. Notieren Sie sich das Ergebnis und die zu Beginn gewählte Zahl. Am Ende haben Sie einen Bereich mit einem festen Versatz. Wenn die Zufallszahl ersetzt wird, verschiebt sich der Bereich. Wenn der Bereich geändert wird, bleibt der Versatz gleich und es ist nur eine Frage des Wiederholens des Abtastvorgangs, um eine neue Basislinie zu erhalten.
IP-Stack-Normalisierer gibt es zwar, sie waren jedoch ein vernachlässigter Teil der Sicherheitsforschung, als ich das letzte Mal nachgesehen habe. Es wäre wahrscheinlich ein schöner Markt, in den ein Sicherheitsanbieter investieren könnte.