
Chasseur d'IoC en lecture seule pour la post-exploitation de N-able N-central (CVE-2026-18556/CVE-2026-18577) sur endpoints Windows
Boîte à outils de chasse défensive en lecture seule pour les artefacts de post-exploitation associés aux vulnérabilités de contournement d'authentification de N-able N-central CVE-2026-18556 et CVE-2026-18577. Le scanner de point de terminaison PowerShell signale les indicateurs publiés par N-able et Huntress ; il ne remédie jamais et ne modifie jamais l'hôte.
| Avis du fournisseur | N-able — N-central Security Update (August 4, 2026) |
| Modèle de détection | N-able developer recipe — CVE-2026-18577 detection |
| Recherche indépendante | Huntress — Critical N-able N-central Vulnerability and Active Exploitation |
| Build non affecté | N-central 2026.3.1.7 |
| Plateforme | Windows PowerShell 5.1+ (élevé) |
Plusieurs IP d'attaquants publiées sont des nœuds de sortie de VPN commerciaux (NordVPN / Mullvad). Une correspondance d'IP seule ne constitue pas une preuve de compromission — corrélez avec le moment de la session Take Control, l'identité du spectateur, l'historique des tickets et les artefacts de persistance du point de terminaison.
Exécutez une session PowerShell élevée sur un point de terminaison Windows géré :
Set-ExecutionPolicy -Scope Process Bypass
.\scripts\Hunt-NcentralCompromise.ps1
Fenêtre d'analyse plus courte et export CSV :
.\scripts\Hunt-NcentralCompromise.ps1 -RecentDays 7 -CsvPath .\findings.csv
Push depuis un RMM (iocs.json doit se trouver à côté du répertoire scripts, ou passer
-IocFile) :
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\Hunt-NcentralCompromise.ps1 -OutputPath C:\Windows\Temp\ncentral-scan.json
Des droits administratifs sont requis pour une couverture complète. Sans eux, le scanner
se termine avec le code 2 ; passez -AllowNonElevated pour accepter une couverture réduite à la place.
| Vérification | Description |
|---|---|
| Services Cloudflared | Nom de service exact Cloudflared, lignes de commande invoquant cloudflared.exe, et services de type tunnel lancés depuis des profils utilisateur, ProgramData ou Temp |
| Processus Cloudflared | Processus en cours dont l'image/ligne de commande ressemble à Cloudflare Tunnel |
| svchost dans Documents | Documents\svchost.exe sous les profils utilisateur locaux (pivot publié par N-able) |
| Journaux Take Control | Journaux récents BASupSrvc_*.log* / BASupTSHelper_*.log* sous C:\ProgramData\GetSupportService_N-Central\Logs\ (récursif), analysés intégralement en flux — y compris les journaux archivés .gz — pour les IP/domaines IOC |
| Événements applicatifs | ID d'événement 4102, 8192 et 8193, y compris les triades rapprochées et les messages mentionnant MSP Support / les IP publiées |
-IocFile PATH alternate IoC JSON (default ..\iocs.json)
-RecentDays N lookback for logs/events (default from IoCs)
-EventCorrelationWindowMinutes N triad clustering window (default 15)
-MaxLogScanBytes N per-log content-scan cap (default 64 MB)
-SkipServices / -SkipLogs / -SkipEvents / -SkipDocuments
-AllowNonElevated continue with reduced coverage when not admin
-OutputPath PATH JSON report path
-CsvPath PATH optional CSV export
-PassThru emit finding objects to the pipeline
Install-Module Pester -MinimumVersion 5.5.0 -Scope CurrentUser -Force -SkipPublisherCheck
.\tests\Invoke-Tests.ps1
La suite est en lecture seule, ne nécessite aucune élévation de privilèges et s'exécute entièrement sur des fixtures synthétiques sous TestDrive:.
Les résultats sont des valeurs [PSCustomObject] avec Severity, ArtifactType, Details, Timestamp, Target, ComputerName et Evidence. Un rapport JSON horodaté est écrit par défaut.
| Code de sortie | Signification |
|---|---|
0 | Aucun résultat Critique ou Élevé |
1 | Un ou plusieurs résultats Critiques ou Élevés |
2 | Erreur fatale du scanner (IoCs manquants ou malformés, privilèges non élevés, échec inattendu) |
Signification d'un résultat positif : des preuves cohérentes avec des techniques publiées ont été observées et doivent être investiguées. L'utilisation légitime de MSP Take Control et les installations autorisées de cloudflared peuvent se chevaucher — traitez les éléments Moyen/Info comme du contexte, sauf s'ils sont corrélés avec l'infrastructure IOC ou des sessions inexpliquées.
iocs.json machine-readable indicators
scripts/Hunt-NcentralCompromise.ps1 Windows endpoint hunter
tests/Hunt-NcentralCompromise.Tests.ps1 Pester 5 suite
tests/Invoke-Tests.ps1 test runner
docs/ncentral-compromise-iocs.md human-readable IoC notes
docs/script-reference.md CLI / schema / exit codes
MIT — voir LICENSE.