Effizientes Portscanning mit Porteinschränkungen

Effizientes Portscanning mit Porteinschränkungen

Marc Ruef
von Marc Ruef
Lesezeit: 8 Minuten

Sicherheitsüberprüfungen vernetzter Computersysteme hat oftmals als Grundlage das Identifizieren und Analysieren der angebotenen Dienste. Um Dienste erkennen zu können, wird die klassische Technik des Portscanning verwendet. Dabei wird eine Software eingesetzt, die sich versucht automatisiert auf die möglichen Zielports zu verbinden. Kommt eine solche Verbindung zustande bzw. wird sie nicht abgewiesen, dann wird von einem offenen Port und damit einem angebotenen Dienst ausgegangen.

Bei einem vollumfänglichen Scan für die beiden Transportprotokolle TCP und UDP werden jeweils 2^8=65’536 mögliche Ports überprüft. Der Zeitaufwand für eine solche Analyse ist – vor allem bei verbindungslosem UDP – dementsprechend zeitintensiv. Um die Wirtschaftlichkeit entsprechender Analysen aufrecht erhalten zu können, wird sich oftmals auf das Prüfen der wichtigsten Ports geeinigt und damit unpopuläre Portbelegungen ausgelassen.

Was nun ein populärer Port ist, darüber lässt sich streiten. Allgemein gesehen ist eine Portbelegung dann populär, wenn sie statistisch signifikant vertreten ist. Beispielsweise finden sich im Internet eine Vielzahl an Rechnern, die einen Webserver auf dem Standardport tcp/80 anbieten. Dies ist voraussichtlich ein populärer Port im Internet.

Das bekannte Scanning- und Auswertungsutility Nmap bietet seit 2006 den Parameter --top-ports <n> an, um lediglich die n populärsten Ports zu prüfen:

Scans the highest-ratio ports found in nmap-services file. must be 1 or greater.

Dabei wird auf eine flache Datenbank der Portstatistiken, sie wird in der Datei nmap-services bereitgestellt, zurückgegriffen. In einer separaten Spalte wird die Auftretenswahrscheinlichkeit eines Ports in Prozent angegeben. Der populärste Port ist beispielsweise tcp/80 (http) mit einer Auftretenswahrscheinlichkeit von 0.484143%. Die nachfolgende Grafik zeigt die Abstufung der Auftretenswahrscheinlichkeit der 25 populärsten Ports (aus nmap-5.59BETA1.tar.bz2).

Die populärsten Ports laut Nmap

Nach wie vor stellt sich nun die Frage, wieviele der populärsten Ports bei einem Scan miteinbezogen werden sollen. Wird auf eine explizite Angabe mit --top-ports verzichtet, dann pflegt Nmap einfach die 1.000 populärsten Ports zu prüfen. Betrachtet man diese Werte etwas genauer, dann erkennt man das Gefälle mit der Abnahme der weniger populären Ports. Dadurch kann man nun eine Zusammenfassung der jeweils wichtigsten Ports zu den Gruppen Top3, Top7, Top16, Top24, Top29 und Top36 zusammenfassen. Dies sind also jene Abstufungen, die statistisch am ehesten Sinn machen.

Dienst Proto Port Auftreten Top3 Top7 Top16 Top24 Top29
http tcp 80 0.484143% 1        
ipp udp 631 0.450281% 2        
snmp udp 161 0.433467% 3        
netbios-ns udp 137 0.365163%   4      
ntp udp 123 0.330879%   5      
netbios-dgm udp 138 0.297830%   6      
ms-sql-m udp 1434 0.293184%   7      
microsoft-ds udp 445 0.253118%     8    
msrpc udp 135 0.244452%     9    
dhcps udp 67 0.228010%     10    
telnet tcp 23 0.221265%     11    
domain udp 53 0.213496%     12    
https tcp 443 0.208669%     13    
ftp tcp 21 0.197667%     14    
netbios-ssn udp 139 0.193726%     15    
ssh tcp 22 0.182286%     16    
isakmp udp 500 0.163742%       17  
dhcpc udp 68 0.140118%       18  
route udp 520 0.139376%       19  
upnp udp 1900 0.136543%       20  
smtp tcp 25 0.131314%       21  
nat-t-ike udp 4500 0.124467%       22  
syslog udp 514 0.119804%       23  
unknown udp 49152 0.116002%       24  
snmptrap udp 162 0.103346%         25

Bei reinen UDP-Scans, diese werden vorzugsweise sowieso eher in LANs angewendet werden, pflegen wir --top-ports 100 zu verwenden. Dadurch können wir auch populäre interne Dienste (z.B. Kerberos = Pos 88, Tacacs = Pos 86) sowie die Simple UDP Services (z.B. Echo = Pos 61, Discard = Pos 82) ausmachen. Bei TCP-Scans, die eine sehr hohe Performance benötigen, arbeiten wir in der Regel mit --top-ports 300, um auch hier teilweise eingesetzte Dienste erkennen zu können.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Hochschulen, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie wollen mehr als einen simplen Security Test mit Nessus und Nmap?

Unsere Spezialisten kontaktieren Sie gern!

×
Cyber Threat Intelligence

Cyber Threat Intelligence

Marc Ruef

3D Printing

3D Printing

Marc Ruef

Contact Tracing App DP3T

Contact Tracing App DP3T

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv