Einführung
Neulich habe ich im Internet etwas Seltsames entdeckt. Ein Cluster von Hosts führte einen nicht erkannten Dienst aus - alle an Port 55555, alle in einem autonomen System und alle mit demselben kryptischen zweistelligen Dienstbanner.
![](https://censys.com/wp-content/uploads/2022/07/Screen-Shot-2022-07-06-at-11.58.57-AM.png)
Eine seltsame Kombination von Eigenschaften
Das ist ungewöhnlich - vor allem wegen dieser einzigartigen Bannernachricht - aber nicht überraschend. Das Internet ist ein großer und seltsamer Ort. Manchmal stößt man beim Stöbern auf Dinge, die nicht in Ordnung zu sein scheinen: eine Gruppe von Geräten, die plötzlich offline gehen, Kontrollfelder im Internet ohne Authentifizierung, Software, die vorgibt, eine bestimmte Version zu sein, obwohl sie eigentlich eine andere ist. Auf den ersten Blick ist es noch zu früh, um zu sagen, ob diese Phänomene harmlos sind oder Anlass zur Sorge geben. Deshalb ist es wichtig, dass Sie ein Tool haben, mit dem Sie schnell mehr Informationen sammeln können.
In diesem Beitrag zeige ich Ihnen, wie Sie genau das tun können, indem Sie Censys Search.
![](https://censys.com/wp-content/uploads/2022/07/censys-search.png)
Rekapitulation: Was macht Censys ?
Zur Auffrischung: Censys ist eine führende Plattform zur Erkennung von Internet-Assets. Censys bietet den weltweit umfassendsten Überblick über das öffentliche Internet, indem es kontinuierlich den gesamten öffentlichen IPv4-Adressraum über 3.592+ Ports aus mehreren globalen Perspektiven scannt. Mithilfe der automatischen Protokollerkennung werden die auf jedem Port laufenden Dienste wie HTTP, SSH usw. identifiziert. Sehen Sie sich diese ausführlichere Anleitung an, wie Censys das Internet scannt.
Censys Search ist ein großartiges Werkzeug für die Entdeckung von Internet-Artefakten. Es bietet eine intuitive Schnittstelle zu unseren Hosts- und Zertifikats-Datensätzen, die sich sowohl für das Browsen aus der Vogelperspektive als auch für die Suche nach der Nadel im Heuhaufen gut eignet. In diesem Artikel konzentrieren wir uns auf den Hosts-Datensatz.
Bewertung der "Seltsamkeit" einer Beobachtung
Ok, Sie haben also etwas Seltsames gefunden. Wie jeder gute Internetforscher brauchen Sie eine Art Plan, wie Sie bei Ihrer Untersuchung vorgehen können. Hier ist eine rudimentäre Liste von Fragen, die dazu führen könnten, zu verstehen, was dieses seltsame Ding sein könnte:
- Wie verbreitet ist diese Beobachtung? Wie viele Wirte weisen diese Merkmale auf?
- Über welche autonomen Systeme sind diese Hosts verteilt?
- In welchen geografischen Regionen befinden sich diese Hosts?
- Welche anderen Dienste laufen auf diesen Hosts?
- Gab es an einem bestimmten Tag eine Spitze in der Anzahl der aktiven Hosts, die diese Merkmale aufweisen?
Während die ersten vier dieser Fragen mit Censys Search beantwortet werden können, müssen wir für die fünfte Frage unser Toolset erweitern. Wir müssen auf Snapshots des Universal Internet Dataset in Google BigQuery zugreifen. Gehen wir diese Fragen in den folgenden Abschnitten der Reihe nach an.
Bewertung des Umfangs
Censys Search macht es einfach, den öffentlichen Fußabdruck eines Internet-Phänomens schnell zu bestimmen.
Jeder einzelne Host in Censys Search ist mit detaillierten Informationen über seine IPv4-Adresse, sein autonomes System, offene Ports, auf diesen Ports laufende Dienste und vieles mehr versehen. Diese Attribute sind auch durchsuchbare Einheiten. Wir könnten zum Beispiel nach allen erkannten Hosts in Irland suchen, auf denen SSH läuft. (Siehe Dokumentation aller durchsuchbaren Felder, die für jeden Host ausgefüllt werden).
Wenn wir mit einer Vielzahl von Daten konfrontiert werden, sollten wir uns auf die Attribute konzentrieren, die unseren beobachteten Host "seltsam" machen, damit wir unseren Fokus eingrenzen können. Hier sind einige, die sich als nützlich erweisen:
- service.port
- services.dienst_name
- dienstleistungen.banner
- autonomes_system.name
Um auf unsere erste Forschungsfrage zurückzukommen:
???? F1: Wie viele Hosts weisen diese Merkmale auf?
Wir können dieses Problem angehen, indem wir eine Censys Search Abfrage schreiben, die alle Hosts erfasst, die diesen Merkmalen entsprechen. Zusammen mit den übereinstimmenden Hosts gibt Search auch die Gesamtzahl der Ergebnisse, die Zeit, die für die Erfassung benötigt wurde, und eine Aufschlüsselung der Ergebnisse nach einigen grundlegenden Filtern zurück.
In meinem Fall wollte ich nach Hosts mit einer bestimmten Kombination aus autonomem System, Port, Service und Bannermeldung filtern. Meine Censys Search Abfrage sah etwa so aus:
autonomous_system.asn=ASNx
AND same_service(service.port=PORTx
AND services.service_name='UNKNOWN'
AND services.banner=’BANNERx’
AND services.truncated=`false`)
(Zeilenumbrüche zur besseren Übersichtlichkeit hinzugefügt)
Wenn Sie das praktische Feld services.truncated=false am Ende der Abfrage hinzufügen, werden alle Hosts ausgeschlossen, auf denen mehr als 100 Dienste laufen, was oft ein Hinweis auf Honeypots oder Pseudodienste sein kann. Um mehr über das Feld truncated zu erfahren, lesen Sie die Search FAQ.
Die Verwendung von ":" anstelle von "=" ist die Syntax für eine "unscharfe" Suche, die keine genaue Übereinstimmung erfordert. Dies eignet sich am besten für Fälle, in denen Sie nur ein Schlüsselwort oder ein Snippet als Grundlage haben. Weitere Informationen zum Schreiben von wohlgeformten Censys Search Abfragen finden Sie in der DokumentationSearch und in einigen Beispielen für Host-Abfragen.
Die Ausführung der obigen Abfrage dauerte 0,34 Sekunden und ergab 303.311 Ergebnisse:
![](https://censys.com/wp-content/uploads/2022/07/Screen-Shot-2022-07-06-at-12.12.37-PM.png)
Im Großen und Ganzen ist das keine riesige Anzahl von Hosts... aber es ist auch keine kleine Anzahl. Fahren wir mit unserer Liste von Fragen fort.
Charakterisierung eines IP-Raums
Nun, da wir eine leicht indizierbare Liste aller unserer "seltsamen" Hosts haben, können wir ihre anderen Eigenschaften mit der Berichtsfunktion der Schnittstelle Censys Search genauer untersuchen.
![](https://censys.com/wp-content/uploads/2022/07/Screen-Shot-2022-07-06-at-12.13.51-PM.png)
Berichte bieten eine einfache Möglichkeit, die Suchergebnisse aufzuschlüsseln und zu sehen, wie die Suchergebnisse in Bezug auf ein bestimmtes Attribut miteinander verglichen werden. Um darauf zuzugreifen, klicken Sie einfach auf die Registerkarte "Bericht" in der oberen rechten Ecke der Suchergebnisseite.
???? F2: Über welche autonomen Systeme sind diese Hosts verteilt?
Wir können leicht eine Aufschlüsselung unserer "seltsamen" Hosts nach autonomen Systemen erhalten, indem wir einen Bericht erstellen und das Attribut autonomous_system.name oder autonomous_system.asn als Aufschlüsselungsfeld angeben.
???? F3: In welchen geografischen Regionen befinden sich diese Hosts?
Wie oben, nur dass wir jetzt unser Aufgliederungsfeld auf eines der Attribute unter dem Ortsfeld setzen können, je nachdem, ob wir auf der Ebene von Städten, Ländern, Kontinenten usw. untersuchen wollen:
![](https://censys.com/wp-content/uploads/2022/07/Screen-Shot-2022-07-06-at-12.15.16-PM.png)
???? Q4: Welche anderen Dienste laufen auf diesen Hosts?
Jeder auf einem Host laufende Dienst wird durch das Attribut services.service_name erfasst. Generieren Sie einen Bericht mit diesem Attribut als Aufschlüsselungsfeld, um weitere Einblicke zu erhalten, und beachten Sie, dass auf einem Host mehrere Dienste laufen können. Halten Sie die Augen nach Diensten offen, die bekanntermaßen häufig von Bedrohungsakteuren ausgenutzt werden, wie z. B. SMB, RDP und FTP.
Hier ist unser Bericht:
![](https://censys.com/wp-content/uploads/2022/07/Screen-Shot-2022-07-06-at-12.16.49-PM.png)
Ganz oben sehen wir, dass satte 99 % unserer seltsamen Hosts einen Dienst mit der Bezeichnung "UNKNOWN" ausführen. Was hat das zu bedeuten?
Censys kann 105 Layer-7-Protokolle (auch bekannt als Dienste) erkennen. Diese automatischen Techniken zur Erkennung von Protokollen sind zwar ziemlich ausgeklügelt, aber manchmal sind sie nicht aussagekräftig - entweder weil der Dienst sich nicht an das Protokoll hält oder weil wir keinen protokollspezifischen Scanner dafür geschrieben haben. Wenn der Scanner nicht in der Lage ist, den auf einem bestimmten Port laufenden Dienst zu erkennen, wird er als UNBEKANNT eingestuft. Es könnte interessant sein, genauer zu untersuchen, was diese UNKNOWNs sein könnten, aber ihr Vorhandensein ist normalerweise kein Indikator für etwas Verdächtiges an sich.
Im Bericht ist HTTP der am zweithäufigsten vertretene Dienst. Das passt, denn HTTP macht die meisten Dienste aus, die wir in den Scandaten von Censyssehen.
Bei der Durchsicht der gesamten Liste sieht es so aus, als gäbe es eine Reihe von Hosts, auf denen FTP, SMB und RDP laufen. Das rechtfertigt ein wenig mehr Schnüffelei. Klicken Sie auf eine der Zellen im Bericht, um zu den Censys Suchergebnissen für diese Untergruppe von Hosts zu gelangen. Untersuchen Sie mehrere der Ergebnisse und schauen Sie sich die HTTP-Antwortkörper, Bannermeldungen, TLS-Zertifikate und Softwareversionen an, um zu sehen, ob etwas nicht stimmt. Gibt es irgendwelche verdächtigen JavaScript-Elemente? Abgelaufene oder selbstsignierte Zertifikation? Software, die mit bekannten CVEs verbunden ist? Dies ist keine erschöpfende Analyse, aber sie entspricht unserem Ziel, schnell ein Gefühl dafür zu bekommen, womit wir es zu tun haben.
Alles in allem habe ich hier nichts gefunden, was eklatant ist. Weiter mit der nächsten Frage!
Analyse der historischen Trends
Eine weitere wichtige Information ist die Visualisierung der Schwankungen in der Anzahl der aktiven Hosts, die diesen Merkmalen entsprechen, im Zeitverlauf. Ein signifikanter Anstieg oder Rückgang der Hosts an einem bestimmten Tag könnte auf eine Reihe von verdächtigen Ereignissen hinweisen, z. B. auf den potenziellen Beginn eines Bedrohungsvorfalls.
???? F5: Gab es an einem bestimmten Tag eine Spitze in der Anzahl der aktiven Hosts, die diese Merkmale aufweisen?
Um diese Frage zu beantworten, müssen wir über die Web-UI und API von Censys Search hinausgehen. Auf diesen Plattformen ausgeführte Suchen werden immer gegen Hosts im aktuellsten Snapshot des Universal Internet Dataset von Censysausgeführt. Um historische Daten zu erhalten, müssen wir unsere Abfrage über Snapshots von mehreren Tagen laufen lassen.
Wenn Sie auf einer beliebigen Hostseite der Schnittstelle Search zur Registerkarte "Historie" navigieren, wird Ihnen eine historische Chronologie der Ereignisse angezeigt, aber die Suche mit Hilfe der Historie wird derzeit nicht unterstützt. Historische Daten können durch die Ausführung von SQL-Abfragen über die BigQuery-Schnittstelle von Google abgerufen werden. Unternehmenskunden, die tägliche Snapshots in BigQuery herunterladen oder darauf zugreifen, können das Internet so durchsuchen, wie es von Censys zu einem historischen Zeitpunkt beobachtet wurde.
Die folgende SQL-Abfrage zählt alle eindeutigen IPv4-Adressen mit Diensten, die unseren Suchkriterien entsprechen, im Zeitraum zwischen zwei Daten, gruppiert nach Tagen. Die Funktion LAG() berechnet hier den Unterschied in der Anzahl der Hosts von einem Tag zum nächsten.
Die Kriterien unter der WHERE-Klausel in der SQL-Abfrage haben eine ähnliche Syntax wie unsere frühere Abfrage Censys Search .
WITH
active_hosts AS (
SELECT
DATE(snapshot_date) AS day,
APPROX_COUNT_DISTINCT(host_identifier.ipv4) AS ipcount
FROM
`censys-io.universal_internet_dataset.universal_internet_dataset`,
UNNEST(services) AS svc
WHERE
autonomous_system.asn=ASNx
AND svc.port=PORTx
AND svc.service_name = 'UNKNOWN'
AND SAFE_CONVERT_BYTES_TO_STRING(svc.unknown.banner)=’BANNERx’
AND svc.truncated=`false`
AND DATE(snapshot_date) BETWEEN '2022-05-01' AND '2022-06-14'
GROUP BY
day
ORDER BY
day
)
SELECT
day,
ipcount,
ipcount - LAG(ipcount) OVER (ORDER BY day ASC) AS delta
FROM
active_hosts
GROUP BY
day,
ipcount
ORDER BY
day
Es kann auch hilfreich sein, die Trends bei "seltsamen" Hosts Seite an Seite mit den Trends in einer größeren Teilmenge von Hosts zu vergleichen, z. B. im gesamten Land oder in der gesamten Branche. In meinem Fall wollte ich die Trends bei allen aktiven Hosts unter diesem bestimmten autonomen System analysieren. Um die Gruppe der Hosts, für die Sie historische Daten abrufen, zu erweitern, passen Sie die Filter unter der WHERE-Klausel in der obigen SQL-Abfrage an:
WHERE
autonomous_system.asn=ASNx
AND DATE(snapshot_date) BETWEEN '2022-05-01' AND '2022-06-14'
![](https://censys.com/wp-content/uploads/2022/07/Screen-Shot-2022-07-06-at-12.22.16-PM.png)
Diese Visualisierung ist für uns nicht sehr nützlich, solange wir nicht wissen, wie wir den Mustern, die wir sehen, eine Bedeutung beimessen können.
Bei der Betrachtung von Schwankungen bei Internet-Hosts gibt es ein paar Dinge, die uns aufhorchen lassen sollten. Jede Art von großer, plötzlicher Veränderung der Daten ist verdächtig - wie etwa eine große Spitze oder ein Tief an einem bestimmten Tag. Ersteres könnte auf eine böswillige Skalierung hindeuten, während letzteres auf Verbindungsprobleme wie einen Ausfall, geplante Wartungsarbeiten oder einen Sicherheitsvorfall hinweisen könnte. Achten Sie außerdem auf Muster in einer Trendlinie, die sich nicht in den anderen widerspiegeln. Diese Anomalien könnten ein Hinweis darauf sein, dass auf diesen Rechnern etwas Unerwünschtes geschieht.
Lassen Sie uns einige erste Beobachtungen zu unserem Diagramm machen:
- Die Trends bei unseren "seltsamen" Hosts stimmen ziemlich genau mit denen aller Hosts in diesem Autonomen System überein.
- Es gibt einen Buckel in den Daten gegen Anfang Mai, aber er ist relativ klein (~50K Anstieg) und allmählich, über mehr als eine Woche stattfindend.
- Es folgen zwei Tiefs, die aber beide recht gering sind und sich über mehrere Tage erstrecken.
- Beachten Sie den kontinuierlichen Anstieg beider Trendlinien von etwa Mitte Mai bis in den Juni hinein.
Fazit: Seltsam, aber nicht bösartig
Nach dieser kurzen Analyse schien es wahrscheinlicher, dass es sich bei den "seltsamen" Hosts nicht um etwas explizit Bösartiges handelt. Die Ähnlichkeit zwischen den beiden Trendlinien und die relativ langsame Geschwindigkeit der Veränderungen in unserer historischen Datenvisualisierung legen nahe, dass diese Hosts Teil der beabsichtigten Skalierung der Infrastruktur dieses Netzwerks sein könnten. Es besteht immer noch die Möglichkeit, dass es sich um etwas Bösartiges handelt - aber jetzt haben wir eine solide Hypothese, über die wir berichten können!
Denken Sie daran, dass das Internet ein GROSSER, seltsamer und sich ständig verändernder Ort ist. Mit nur wenigen Werkzeugen waren wir in der Lage, einen kleinen Teil dieses Cyberspace zu verstehen. Wenn man weiß, welche Fragen man stellen muss, können die Daten von Censys Search eine Brücke zu den Erkenntnissen schlagen, die diese Fragen beantworten. Jetzt haben wir ein wertvolles Sprungbrett für eine tiefere Erkundung dieses Phänomens.
Zusammenfassung
Censys Search ist sowohl für erfahrene Sicherheitsforscher als auch für Hobbyforscher ein unschätzbares Werkzeug zur Untersuchung von Fragen zum Internet. Sehen Sie sich die Search 2.0 Schnellstartanleitung für eine ausführlichere Beschreibung der Webschnittstelle Search .
Denken Sie daran: Wenn Sie etwas Seltsames sehen, folgen Sie der Spur. Man weiß nie, was man entdecken könnte. Viel Spaß beim Höhlenwandern!