Vivre hors de la version 1.0 des pilotes terrestres

May 09 2023
Tout d'abord, nous tenons à remercier tout le monde pour les retours et les commentaires ! Nous apprécions vraiment cela. Introduction Depuis sa création, le projet Living Off The Land Drivers (LOLDrivers) a connu une croissance et un succès considérables.

Tout d'abord, nous tenons à remercier tout le monde pour les retours et les commentaires ! Nous apprécions vraiment cela.

Introduction

Depuis sa création, le projet Living Off The Land Drivers (LOLDrivers) a connu une croissance et un succès considérables. Pour rappel, le projet vise à fournir un référentiel complet et bien entretenu de pilotes présentant des vulnérabilités connues ou des comportements malveillants. Avec la version 1.0, nous sommes ravis d'introduire plusieurs nouvelles fonctionnalités, un enrichissement des pilotes et des mises à jour qui le rendent encore plus précieux pour les analystes et les chercheurs. Dans cet article de blog, nous vous expliquerons ces améliorations et célébrerons certaines des étapes franchies par le projet. Si vous ne l'avez pas déjà fait, nous vous recommandons de lire le billet de blog original annonçant le projet pour plus de contexte sur son objectif et ses objectifs.

Jalons du projet

Notre première contribution est arrivée moins de 24 heures après l'annonce du projet, grâce aux efforts de Rastamouse . Depuis lors, le site Web LOLDrivers a vu 4,8 000 nouveaux utilisateurs , le LenovoDiagnosticsDriver .sys étant le pilote le plus visité. Au cours des 30 derniers jours seulement, 13 nouveaux pilotes ont été ajoutés au référentiel par les contributeurs. Nous sommes ravis de la réponse de la communauté et reconnaissants pour les contributions continues qui contribuent à rendre le projet encore meilleur.

Communauté

Avant de plonger dans la liste des éléments de sortie, nous aimerions souligner la réponse de la communauté. Cela inclut les tweets, publications, projets et autres cas où le projet LOLDrivers a été utilisé ou mentionné.

Un client LOLDrivers

LOLDrivers-client.exe -m [MODE] [OPTIONS]

Modes:
    online    Download the newest driver set (default)
    local     Use a local drivers.json file (requires '-f')
    internal  Use the built-in driver set (can be outdated)

Options:
    -d Directory to scan for drivers (default: Windows Default)
    -f File path to 'drivers.json' for mode 'local'
    -t Number of threads to spawn (default: 20)
    -v Print verbose messages (default: false)
    -h Shows this text

Thor et Loki

  • https://github.com/Neo23x0/signature-base/blob/master/iocs/hash-iocs.txt#L10827
  • https://github.com/Neo23x0/Loki/releases
  • https://github.com/0xjxd/KQL-Hunting/blob/main/MDE-LOLDRIVERS.kql
  • https://github.com/mgreen27/DetectRaptor/blob/master/vql/LolDrivers.yaml
  • https://github.com/rweijnen/Posh-Snippets/blob/master/ScanLolDrivers.ps1
  • https://github.com/fr0gger/Awesome_Malware_Techniques

Centre de tempête Internet SANS

  • https://isc.sans.edu/podcastdetail.html?id=8444
  • https://gist.github.com/schrodyn/45eab4f9229f116e2cfd2c427a84fdd6

1. Nouveaux enrichissements de pilotes

Dans cette version, nous avons ajouté une nouvelle section pour chaque pilote qui inclut toutes les métadonnées de pilote extrêmement précieuses utilisant notre nouvel extracteur de métadonnées . Par exemple, l'ajout de Authentihash fournit un moyen efficace d'identifier et de valider de manière unique les fichiers. Les autres champs de métadonnées incluent les hachages de fichiers (MD5, SHA1 et SHA256), la signature, la date, l'éditeur, la société, la description, le produit, la version du produit, la version du fichier, le type de machine, le nom du fichier d'origine, le nom interne, le droit d'auteur, les importations, les fonctions exportées et Chemin de l'APB. Ces enrichissements aident les analystes et les chercheurs à mieux comprendre et étudier les moteurs de notre référentiel.

Les fichiers JSON et CSV incluent désormais tous les nouveaux attributs. Si vous voulez la tête YAML brute ici YAML .

Nous avons également ajouté une liste de tous les Authentihashes collectés ici

Toutes les options

D'abord, vous remarquez maintenant que chaque pilote a toutes les métadonnées ajoutées

Lorsque vous faites défiler la page du pilote, vous verrez maintenant les importations, les exportations et toutes les informations de signature du pilote

Le YAML brut contient tous les attributs :

2. Driver Binaries sous le répertoire drivers/

Nous avons commencé à utiliser Git LFS pour stocker les pilotes dans le répertoire drivers/ . Chaque version comportera désormais un fichier drivers.zip contenant tous ces binaires. Cela permet aux analystes de télécharger et d'analyser facilement tous les pilotes du projet. Les binaires sont nommés selon le format <md5>.bin du fichier.

3. Changé en UUID au lieu des noms de pilotes

En travaillant avec le référentiel et en examinant la règle sigma basée sur les noms de pilotes, nous avons reconnu que des noms en double pouvaient se produire à mesure que le projet se développait au fil du temps. Nous avons décidé de modifier le schéma en adoptant des UUID et en attribuant des noms de pilotes comme balises. Cette mise à jour permet un ensemble infini de pilotes. De plus, si le nom du pilote d'origine est inconnu, nous utiliserons l'attribut de nom de fichier d'origine.

La principale différence est que les URL seront basées sur l'UUID —https://www.loldrivers.io/drivers/275c80c5-a67c-4536-b29e-4e481242cb01/

4. Ajouter des pilotes élastiques

Nasreddine a plongé en profondeur dans l'ensemble de pilotes Elastic yara et a pu produire une feuille de calcul totalisant plus de 740 pilotes au total. Nous avons utilisé une requête VTI pour rassembler toutes les métadonnées et produire une sortie csv, puis nous avons poursuivi en téléchargeant tous les pilotes et en les ajoutant au projet !

Script d'enrichissement VirusTotal :https://gist.github.com/nasbench/93b55c1fbe01d8341b7c9ed80a80ebbc

Tableur de données enrichi :https://docs.google.com/spreadsheets/d/1lTNqD2t9UbFOLQbNWeLVbN8XCK8Dd72XavEQrkvtZVY/edit?usp=sharing

Nasreddine a ensuite fourni un PR massif avec les binaires du pilote et un ensemble complet de nouveaux fichiers yaml.

  • https://github.com/magicsword-io/LOLDrivers/pull/63

Le site Web de LOLDrivers a été mis à jour pour inclure de nouvelles métadonnées et des liens vers les derniers binaires. La page de destination affiche désormais les hachages SHA256 des pilotes, ce qui simplifie encore la navigation et la recherche d'informations pour les utilisateurs.

6. Tâche CI de validation mise à jour avec une spécification YAML

Pour maintenir la cohérence et valider/signaler automatiquement tout problème de construction YAML, nous avons mis à jour le travail CI de validation avec une spécification jsonschema . Cette amélioration permet de rationaliser le processus lorsqu'un PR est créé par un membre de la communauté. Nous apprécions et accueillons toutes les contributions de la communauté !

7. Ajout de la tâche Release CI

Nous avons ajouté une tâche CI de version pour créer des versions de projet . Cela nous permet d'avoir des versions instantanées au fur et à mesure que nous améliorons le projet. Le travail CI crée également le fichier driver.zip et inclut des notes de version, ce qui permet de rester informé encore plus facilement de l'avancement du projet.

8. Nouveaux pilotes ajoutés via les contributions de la communauté

La communauté a activement contribué au projet, et nous aimerions souligner certains des nouveaux moteurs ajoutés :

- dcr.sys

- SSPORT.sys

- LgCoreTemp.sys

- bedaisy.sys

- RTCore64.sys (nouveaux hachages)

- hw.sys (nouveaux hachages)

- windbg.sys

- Ajouter un hachage à Sense5Ext.sys

- Ajouter KApcHelper_x64.sys

- Ajouter mJj0ge.sys

- Ajouter prokiller64.sys

- Ajouter fur.sys

- procexp152.sys

Merci à tous les contributeurs qui ont contribué à élargir la portée du projet LOLDrivers !

Conclusion

La version 1.0 du projet Living Off The Land Drivers apporte de nombreuses améliorations et mises à jour, ce qui en fait une ressource encore plus précieuse pour les analystes et les chercheurs. Nous sommes reconnaissants du soutien continu de la communauté.

Un grand merci à notre communauté et à nos mainteneurs !

Nous tenons à remercier du fond du cœur les membres de la communauté qui ont contribué au projet : goosvorbook , hRun , VoidSec , Wack0 , X90e , hfiref0x et BlureL . Votre dévouement et vos efforts ont joué un rôle déterminant dans la croissance et le succès de LOLDrivers. Nous voulons également reconnaître le travail inestimable des mainteneurs du projet : Nas, Mike et Jose. Leur engagement et leur travail acharné continuent de faire avancer le projet et en font une ressource essentielle pour la communauté de la sécurité.

Merci à tous pour vos contributions, et nous avons hâte de voir le projet continuer à grandir et à évoluer avec votre soutien !