Effizientes Portscanning mit Porteinschränkungen

Effizientes Portscanning mit Porteinschränkungen

Marc Ruef
by Marc Ruef
time to read: 8 minutes

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.

About the Author

Marc Ruef

Marc Ruef has been working in information security since the late 1990s. He is well-known for his many publications and books. The last one called The Art of Penetration Testing is discussing security testing in detail. He is a lecturer at several faculties, like ETH, HWZ, HSLU and IKF. (ORCID 0000-0002-1328-6357)

Links

You want more than a simple security test with Nessus und Nmap?

Our experts will get in contact with you!

×
Specific Criticism of CVSS4

Specific Criticism of CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentication

Voice Authentication

Marc Ruef

Bug Bounty

Bug Bounty

Marc Ruef

You want more?

Further articles available here

You need support in such a project?

Our experts will get in contact with you!

You want more?

Further articles available here