Network Service Discovery erkennen: Portscans im Netz aufspüren

Kurzfassung: Nach dem Erstzugang will der Angreifer wissen, was im Netz erreichbar ist - welche Hosts leben und welche Dienste offen sind. Dazu scannt er Ports, mit einem mitgebrachten Werkzeug oder den Bordmitteln von PowerShell. Für den Verteidiger wird das Scannen an wenigen Mustern sichtbar - ein bekanntes Scan-Werkzeug, ein TcpClient-Scan per PowerShell oder ein offensives Scan-Cmdlet. Drei sigma-cli-validierte Sigma-Regeln, dazu Härtung und der Test im Lab. Serie "Angriff erkennen".

Wer in ein fremdes Netz eingedrungen ist, sieht zunächst wenig. Bevor es weitergeht, verschafft sich der Angreifer einen Überblick: Welche Systeme sind erreichbar, welche Ports offen, welche Dienste laufen dahinter? Diese Netz- und Dienst-Erkundung ist die Grundlage für die nächsten Schritte - seitliche Bewegung, Rechteausweitung oder der Griff nach Daten. Anders als die Erkundung des lokalen Hosts oder des Verzeichnisses richtet sich dieser Weg nach außen ins Netz und erzeugt dabei ein typisches Muster: viele Verbindungsversuche in kurzer Zeit. Dieser Beitrag nimmt die Erkennung in den Blick und bleibt auf der Verteidigerseite.

Einordnung in ATT&CK: Network Service Discovery (T1046). MITRE führt die Technik in der Taktik Discovery; in dieser Serie steht sie entsprechend in der Spalte Discovery. Sie beschreibt das aktive Absuchen des Netzes nach erreichbaren Diensten und grenzt sich von der Erkundung des lokalen Systems und des Verzeichnisses ab, die ohne Netzwerk-Scan auskommen.

Was der Angreifer tut

Die Netz- und Dienst-Erkundung läuft - auf der Ebene des Prinzips, nicht als Anleitung - in wenigen Mustern ab:

  • Reichweite bestimmen. Zuerst wird geklärt, welche Hosts und Netzbereiche vom kompromittierten System aus erreichbar sind.
  • Ports scannen. Mit einem Werkzeug wie nmap oder masscan werden ganze Portbereiche über viele Ziele abgefragt, um offene Dienste zu finden.
  • Ohne Werkzeug scannen. Fehlt ein eigenes Werkzeug, genügt PowerShell: Test-NetConnection oder ein TcpClient prüfen in einer Schleife Port für Port.
  • Dienste einordnen. Aus den offenen Ports schließt der Angreifer auf Dienste und wählt sein nächstes Ziel - etwa einen Dateiserver oder einen Verwaltungsdienst.

Für die Erkennung ist entscheidend: Das Scannen läuft über wenige benannte Werkzeuge und Befehle und erzeugt viele Verbindungsversuche. Genau daran setzen die Regeln an.

Welche Logquellen die Technik zeigt

  • Prozess-Telemetrie zuerst. Event 4688 und Sysmon Event 1 zeigen das Scan-Werkzeug oder den PowerShell-Aufruf samt vollständiger Befehlszeile. Die wichtigste Quelle auf dem Endpunkt.
  • Netzwerk-Telemetrie. Ein Scan erzeugt viele kurze Verbindungen von einem Host zu vielen Zielen oder Ports; Netzwerk-Monitoring und Firewall-Logs zeigen dieses Fächermuster besonders deutlich.
  • Verbindungs-Ereignisse. Sysmon Event 3 (Network Connection) verknüpft die Verbindungen mit dem auslösenden Prozess und macht den Scanner sichtbar.
  • Werkzeug-Kontext. PowerShell ist ein mitgeliefertes Werkzeug; Grundlagen zum Missbrauch solcher Bordmittel unter Living off the Land.

Das Muster im Log

Drei Signale tragen. Das erste ist der Start eines bekannten Portscanners wie nmap oder masscan - ein solches Werkzeug hat auf einem gewöhnlichen Arbeitsplatz nichts zu suchen. Das zweite ist ein Portscan mit PowerShell-Bordmitteln über Test-NetConnection oder einen TcpClient, vor allem in einer Schleife über viele Ziele. Das dritte ist der Aufruf eines offensiven Scan-Cmdlets wie Invoke-Portscan. Legitime Treffer stammen aus Administration, Monitoring und beauftragten Pentests. Auffällig wird es, wenn der Scan von einem Arbeitsplatz statt von einem Verwaltungssystem ausgeht, viele Ziele in kurzer Zeit abfragt oder ein offensives Modul nutzt. Der Blick auf Werkzeug, Herkunft und Umfang trennt den Alltag vom Angriff.

Drei Sigma-Regeln

Die Regeln sind mit sigma-cli geprüft und nehmen die drei Signale: das bekannte Scan-Werkzeug, den PowerShell-Portscan und das offensive Scan-Cmdlet. Alle drei werten die Prozess-Telemetrie aus; das Netzmuster kommt als Ergänzung dazu.

1. Bekanntes Portscan-Werkzeug gestartet (T1046). nmap, masscan, rustscan oder naabu als Prozess. Die Regel steht auf level: high.

Sigma
title: Bekanntes Portscan-Werkzeug gestartet
id: 2c7d1a05-6b84-4e93-9f12-3a6d5c8e7b40
status: experimental
description: |
  Erkennt den Start eines bekannten Portscanners - nmap, masscan, rustscan oder naabu. Nach dem
  Erstzugang kartiert der Angreifer das Netz und sucht erreichbare Dienste (Network Service Discovery).
  Ein solches Scan-Werkzeug auf einem Endgeraet ist im Normalbetrieb sehr ungewoehnlich.
references:
  - https://attack.mitre.org/techniques/T1046/
author: blue-team.net
tags:
  - attack.discovery
  - attack.t1046
logsource:
  product: windows
  category: process_creation
detection:
  sel_tool:
    Image|endswith:
      - '\nmap.exe'
      - '\masscan.exe'
      - '\rustscan.exe'
      - '\naabu.exe'
  condition: sel_tool
falsepositives:
  - Administratoren und IT-Dienstleister scannen das Netz bewusst - bekannte Hosts und Konten als Baseline ausnehmen
level: high

2. Portscan per PowerShell-Bordmitteln (T1046). PowerShell mit Test-NetConnection oder einem TcpClient. Die Regel steht auf level: medium, weil auch Diagnoseskripte so prüfen.

Sigma
title: Portscan per PowerShell-Bordmitteln
id: 5e2a9c14-8d47-4b63-a0f6-2d7c6b1e4a89
status: experimental
description: |
  Erkennt einen Portscan mit PowerShell-Bordmitteln - Test-NetConnection oder ein TcpClient aus dem
  .NET-Framework. Hat der Angreifer kein eigenes Scan-Werkzeug, prueft er erreichbare Dienste direkt per
  PowerShell (Network Service Discovery). Solche Aufrufe, vor allem in einer Schleife ueber viele Ziele
  oder Ports, sind auffaellig.
references:
  - https://attack.mitre.org/techniques/T1046/
author: blue-team.net
tags:
  - attack.discovery
  - attack.t1046
logsource:
  product: windows
  category: process_creation
detection:
  sel_ps:
    Image|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
  sel_scan:
    CommandLine|contains:
      - 'Test-NetConnection'
      - 'Net.Sockets.TcpClient'
      - '.ConnectAsync'
  condition: sel_ps and sel_scan
falsepositives:
  - Monitoring- und Diagnoseskripte pruefen Erreichbarkeit per Test-NetConnection - bekannte Skripte als Baseline ausnehmen
level: medium

3. Offensives Portscan-Cmdlet aufgerufen (T1046). Invoke-Portscan oder ein ähnliches Scan-Modul in der Befehlszeile. Ebenfalls level: high.

Sigma
title: Offensives Portscan-Cmdlet aufgerufen
id: 8d1f3c26-5a79-4b84-9e13-6d4c7b2e8a20
status: experimental
description: |
  Erkennt den Aufruf eines offensiven Scan-Cmdlets wie Invoke-Portscan aus PowerSploit oder eines
  aehnlichen Scan-Moduls. Angreifer nutzen solche Cmdlets, um aus einem kompromittierten System heraus
  das Netz nach erreichbaren Diensten abzusuchen (Network Service Discovery). Der Name des Cmdlets in der
  Befehlszeile ist ein starkes Signal.
references:
  - https://attack.mitre.org/techniques/T1046/
author: blue-team.net
tags:
  - attack.discovery
  - attack.t1046
logsource:
  product: windows
  category: process_creation
detection:
  sel_cmdlet:
    CommandLine|contains:
      - 'Invoke-Portscan'
      - 'Invoke-PortScan'
      - 'Invoke-ArpScan'
      - 'Port-Scan'
  condition: sel_cmdlet
falsepositives:
  - Legitime Pentests nutzen diese Module - geplante Tests nach Zeitfenster und Host als Baseline ausnehmen
level: high

Härtung: der Angriff, der ins Leere läuft

  • Netz segmentieren. Arbeitsplätze voneinander und von Servern trennen, sodass ein Scan nur wenige Ziele erreicht und früh auffällt. Die wirksamste Maßnahme gegen diesen Weg.
  • Host-Firewall schärfen. Eingehende Verbindungen zwischen Clients per Richtlinie blockieren; abgewiesene Verbindungen sind zugleich eine ergiebige Erkennungsquelle.
  • Scan-Werkzeuge einschränken. Mit AppLocker oder WDAC verhindern, dass bekannte Scanner auf Endgeräten überhaupt starten.
  • Gezielt überwachen. Scan-Werkzeuge, PowerShell-Portscans und offensive Scan-Cmdlets als feste Erkennungen führen und mit dem Netzmuster korrelieren.

Der Test

Die Erkennung lässt sich im Lab gefahrlos prüfen, auf einem isolierten System mit aktivem Sysmon - gegen eigene Testziele, nicht gegen fremde Netze:

  • Für Regel 1 ein bekanntes Scan-Werkzeug gegen ein Testziel laufen lassen und prüfen, dass Event 4688 das Werkzeug samt Befehlszeile zeigt.
  • Für Regel 2 mit PowerShell und Test-NetConnection einige Ports eines Testziels prüfen und den Treffer in der Prozess-Telemetrie kontrollieren.
  • Für Regel 3 ein offensives Scan-Cmdlet in einer Testumgebung aufrufen und prüfen, dass die Regel greift.
  • Breiter wird der Test mit den Fällen zu T1046 aus Atomic Red Team.

Fehlalarme und Tuning

  • Administration und Monitoring. Verwaltungs- und Überwachungssysteme prüfen Erreichbarkeit regelmäßig. Bekannte Verwaltungshosts, Konten und Skripte als Baseline ausnehmen, bevor die Regeln scharf geschaltet werden.
  • Beauftragte Pentests. Geplante Tests erzeugen echte Scans. Zeitfenster und Test-Hosts gezielt ausnehmen.
  • Herkunft ist entscheidend. Ein Scan von einem gewöhnlichen Arbeitsplatz wiegt weit schwerer als einer von einem bekannten Verwaltungssystem - danach priorisieren.
  • Kette schlägt Einzelzeile. Der Scan zusammen mit dem Netzmuster aus vielen kurzen Verbindungen ist weit aussagekräftiger als ein Treffer allein - die Korrelation schärft die Bewertung.

Fazit

Die Netz- und Dienst-Erkundung ist der Moment, in dem der Angreifer das Terrain kartiert: Er sucht erreichbare Hosts und offene Dienste, um sein nächstes Ziel zu wählen. Die verlässlichen Signale sind ein bekanntes Scan-Werkzeug, ein Portscan per PowerShell und ein offensives Scan-Cmdlet - flankiert vom Netzmuster aus vielen kurzen Verbindungen. Die wirksamste Härtung ist ein segmentiertes Netz mit scharfer Host-Firewall, in dem ein Scan früh ins Leere läuft und auffällt. Welche Werkzeuge der Angreifer dabei missbraucht, ordnet das Living off the Land ein. Weitere Techniken dieser Taktik führt das Lexikon nach Taktik unter Discovery.

NH

$ whoami

Norbert Hofmann

Cyber Defense Analyst im Security Operations Center eines Managed Security Service Providers. Red und Blue Teaming, Malware-Analyse, Incident Response und Security-Awareness-Trainings. Finalist bei „Deutschlands bester Hacker“ 2022, mehrere CVE-Einträge für WordPress-Plugins.