Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SilkETW — Wrapper C# pour ETW qui sérialise les données d'événements du noyau et du mode utilisateur en JSON pour la chasse aux menaces, l'analyse de logiciels malveillants et la réponse aux incidents, avec intégration Yara et envoi vers Elasticsearch. | Kitploit
Outils/GitHubGitHub/mandiant/silketw
Outils DéfensifsCriminalistique MémoireAnalyse ForensiqueAnalyse de MalwareCriminalistique NumériqueRenseignement sur les MenacesDétection d'IntrusionApprentissage et ÉducationRéponse aux IncidentsDétection d'AnomaliesAnalyse de JournauxArchived
85213920il y a 3 ansVérifié par Kitploit
GitHubmandiant/silketw

SilkETW

Wrapper C# pour ETW qui sérialise les données d'événements du noyau et du mode utilisateur en JSON pour la chasse aux menaces, l'analyse de logiciels malveillants et la réponse aux incidents, avec intégration Yara et envoi vers Elasticsearch.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SilkETW & SilkService

SilkETW & SilkService sont des wrappers C# flexibles pour ETW, conçus pour abstraire les complexités d'ETW et offrir une interface simple pour effectuer des recherches et de l'introspection. Bien que les deux projets aient des applications défensives (et offensives) évidentes, ils doivent avant tout être considérés comme des outils de recherche.

Pour une consommation facile, les données de sortie sont sérialisées en JSON. Les données JSON peuvent être écrites dans un fichier et analysées localement avec PowerShell, stockées dans le journal des événements Windows ou envoyées vers une infrastructure tierce comme Elasticsearch.

Pour plus d'informations sur l'avenir de SilkETW & SilkService, consultez la section Roadmap.

Médias

Pour plus de contexte sur SilkETW et SilkService, veuillez consulter les ressources suivantes.

  • SilkETW : Parce que la télémétrie gratuite est … gratuite ! - ici
  • SilkETW & SilkService BlackHat Arsenal 2019 - ici
  • Threat Hunting avec les événements ETW et HELK — Partie 1 : Installation de SilkETW (par @Cyb3rWard0g) - ici
  • Threat Hunting avec les événements ETW et HELK — Partie 2 : Envoi d'événements ETW vers HELK (par @Cyb3rWard0g) - ici
  • Événements de tous les fournisseurs ETW basés sur manifest et mof sur les versions de Windows 10 (par @jdu2600) - ici
  • Chasse aux activités LDAP suspectes avec SilkETW et Yara - ici

Détails d'implémentation

Bibliothèques

SilkETW est construit sur .Net v4.5 et utilise un certain nombre de bibliothèques tierces, comme indiqué ci-dessous. Veuillez consulter LICENSE-3RD-PARTY pour plus de détails.

ModuleId                                 Version LicenseUrl                                                   
--------                                 ------- ----------                                                   
McMaster.Extensions.CommandLineUtils     2.3.2   https://licenses.nuget.org/Apache-2.0                        
Microsoft.Diagnostics.Tracing.TraceEvent 2.0.36  https://github.com/Microsoft/perfview/blob/master/LICENSE.TXT
Newtonsoft.Json                          12.0.1  https://licenses.nuget.org/MIT                               
System.ValueTuple                        4.4.0   https://github.com/dotnet/corefx/blob/master/LICENSE.TXT     
YaraSharp                                1.3.1   https://github.com/stellarbear/YaraSharp/blob/master/LICENSE

SilkETW

Options de ligne de commande

L'utilisation en ligne de commande est assez simple et les entrées utilisateur sont validées dans le prologue d'exécution. Voir l'image ci-dessous pour plus de détails.

Help

SilkService

Mise en garde

SilkService a été créé parce qu'un grand nombre de personnes voulaient exécuter SilkETW sans interface et collecter des données ETW pour plusieurs sources simultanément. Bien que cela présente un attrait évident, les points suivants doivent être gardés à l'esprit.

  • SilkETW & SilkService ont été créés par une armée d'ingénierie d'une seule personne, (@FuzzySec), ils ne sont pas soutenus par un département de développeurs et peuvent donc contenir des bugs. Si vous rencontrez des bugs ou voyez des moyens d'améliorer ces projets, vous êtes vivement encouragés à soumettre des tickets et/ou des pull requests.
  • La collecte ETW peut être intensive en ressources. Ne déployez pas SilkService sur un large éventail d'hôtes sans tests de performance approfondis. Assurez-vous que la configuration peut fonctionner de manière stable sur vos machines les moins puissantes.

Installation

Après avoir compilé ou téléchargé le package de version, vous pouvez installer le service en exécutant la commande suivante à partir d'une invite élevée.

sc create SillkService binPath= "C:\Path\To\SilkService.exe" start= demand

Configuration

SilkService ingère un fichier de configuration XML, "SilkServiceConfig.xml", qui doit être placé dans le même répertoire que le binaire du service. Un exemple de fichier de configuration est présenté ci-dessous.

<SilkServiceConfig>
	<!--
		This is a user collector
		-> Microsoft-Windows-DotNETRuntime
		-> GUID or string based name
	-->
	<ETWCollector>
		<Guid>45c82358-c52d-4892-8237-ba001d396fb4</Guid>
		<CollectorType>user</CollectorType>
		<ProviderName>e13c0d23-ccbc-4e12-931b-d9cc2eee27e4</ProviderName>
		<UserKeywords>0x2038</UserKeywords>
		<OutputType>url</OutputType>
		<Path>https://some.elk:9200/NetETW/_doc/</Path>
	</ETWCollector>
	<!--
		This is a user collector
	-->
	<ETWCollector>
		<Guid>6720babc-dedc-4906-86b9-d0bc0089ec50</Guid>
		<CollectorType>user</CollectorType>
		<ProviderName>Microsoft-Windows-DNS-Client</ProviderName>
		<OutputType>eventlog</OutputType>
		<YaraScan>C:\Some\Path\RuleFolder</YaraScan>
		<YaraOptions>Matches</YaraOptions>
	</ETWCollector>
	<!--
		This is a kernel collector
	-->
	<ETWCollector>
		<Guid>21ac2393-3bbb-4702-a01c-b593e21913dc</Guid>
		<CollectorType>kernel</CollectorType>
		<KernelKeywords>Process</KernelKeywords>
		<OutputType>file</OutputType>
		<Path>C:\Users\b33f\Desktop\kproc.json</Path>
	</ETWCollector>
</SilkServiceConfig>

Notez que chaque élément ETWCollector doit avoir un GUID aléatoire, utilisé à des fins de suivi interne et de journalisation. Vous pouvez générer des GUID dans PowerShell à l'aide de la commande suivante :

PS C:\> [guid]::NewGuid()

Guid
----
eee52b87-3f32-4651-b0c3-e7bb9af334aa

Audit

Au moment de l'exécution, SilkService crée un sous-dossier "Logs" pour enregistrer les informations d'exécution du service. C'est une ressource inestimable pour interroger l'état du service, vérifier la validation des paramètres du service et examiner les informations d'erreur. SilkService a tendance à s'arrêter proprement s'il rencontre tout type d'erreur, même si cette erreur n'exige pas strictement l'arrêt. Cette décision de conception a été prise délibérément car il n'est pas judicieux d'avoir des collecteurs en suspens ou une opérabilité partielle.

Consultez toujours le journal du service si le service s'arrête de lui-même !

Quelque chose s'est mal passé ?

Il est toujours possible que quelque chose se passe mal. Consultez le journal du service pour plus de détails. Bien que SilkService soit configuré pour se terminer et nettoyer les collecteurs ETW en cas d'erreur, il est possible qu'un collecteur obsolète reste enregistré après la fin du processus. Pour lister les collecteurs en cours d'exécution, vous pouvez utiliser la commande suivante.

logman -ets

Si des collecteurs obsolètes sont identifiés, ils peuvent être supprimés en exécutant les commandes suivantes à partir d'une invite élevée.

Get-EtwTraceProvider |Where-Object {$.SessionName -like "SilkService*"} |ForEach-Object {Stop-EtwTraceSession -Name $.SessionName}
Get-EtwTraceProvider |Where-Object {$_.SessionName -like "SilkService*"} |Remove-EtwTraceProvider

Format de sortie

Structure de sortie JSON

La sortie JSON, avant sérialisation, est formatée selon la structure C# suivante.

Télécharger l’outil