Sécurité

La vérité sur le malvertising ?

Splunk SURGE a récemment publié un livre blanc, un blog et une vidéo qui décrivent les vitesses de chiffrement de 10 familles de ransomwares différentes. Au début de notre recherche, lors de la phase de revue de la littérature, nous avons découvert qu’un autre groupe avait mené une étude similaire sur les vitesses de chiffrement des ransomwares. Et qui était ce groupe, me demandez-vous ? Tenez-vous bien : c’était justement l’une des équipes qui produisent ces ransomwares. LockBit a publié les résultats sur son site web (et nous ne mettrons pas de lien ici car c’est un site .onion peu recommandable), dans le but de convaincre des affiliés potentiels de rejoindre l’équipe de LockBit, car ils étaient les plus rapides et donc les meilleurs. Une chose était claire : une fois notre étude terminée, il faudrait tester les conclusions de LockBit.

Lisez la suite pour tout savoir !

Dites-m’en plus sur le rapport LockBit

LockBit a publié son rapport en février 2021. Le groupe a testé les vitesses de chiffrement de 36 variantes de ransomwares différentes, dont deux des leurs : LockBit 1.0 et LockBit 2.0. LockBit 1.0 était déjà considéré comme l’un des rançongiciels les plus rapides, sinon le plus rapide. Dans ces conditions, pourquoi créer LockBit 2.0 ? Et cette nouvelle version est-elle réellement plus rapide ?

Fig. 1. Capture d’écran de la comparaison par LockBit des vitesses de chiffrement des ransomwares.

 

Les résultats montrent que LockBit 2.0 était en effet plus rapide que LockBit 1.0, et que les deux étaient loin devant les autres variantes de ransomware. Selon ces données, LockBit 2.0 était deux fois plus rapide que la variante non-LockBit la plus proche, Cuba. LockBit a inclus les échantillons de ransomware sur son site web avec cet appel à l’action : « Si vous avez des doutes concernant ce tableau, vous pouvez facilement vérifier les informations fournies en téléchargeant les échantillons qui ont été utilisés pour les tests. »

Nous avons voulu tester Lockbit 3.0 (mentionné dans ce blog), mais malgré des heures de recherche sur Google, de supplications sur Twitter et d’envoi de messages à des groupes Keybase et Slack secrets… nous n’avons pas pu en trouver un seul échantillon !

Avions-nous des doutes sur la rapidité de LockBit ? Non. Avions-nous des doutes sur leurs conclusions générales ? Oui. Nos recherches initiales ont révélé que la vitesse de chiffrement de Babuk était beaucoup plus proche de celle de LockBit que ce que LockBit avait rapporté. Après ce constat, nous savions qu’un plan de test complet était indispensable pour débusquer les autres erreurs.

Les tests de LockBit

Le tableau de LockBit était la seule référence dont nous disposions pour reproduire cette expérience. LockBit fournit les détails suivants :

  • Nom du rançongiciel
  • Date de l’échantillon
  • Vitesse de chiffrement en Mo/s
  • Temps de chiffrement de 100 Go
  • Temps de chiffrement de 10 To
  • Auto-propagation ?
  • Taille de l’échantillon
  • Nombre total de fichiers chiffrés

S’il y a un aspect sur lequel nous aurions voulu avoir davantage d’informations, c’est le jeu de données que LockBit a utilisé pour l’expérience de chiffrement. Cela nous aiderait à mieux comprendre certaines de leurs découvertes, comme le temps nécessaire pour chiffrer 100 Go et 10 To. Ont-ils utilisé des types et des tailles de fichiers variés, ou ont-ils utilisé des milliers de copies du même fichier pour tester le chiffrement ?

LockBit a fourni les spécifications du système d’exploitation, du processeur et de la mémoire qu’ils ont utilisés dans leurs tests. Pour le disque dur, ils mentionnent un SSD, mais rien sur les IOPS ou le débit des disques sous-jacents. Ce blog donne un aperçu de haut niveau de l’impact que peuvent avoir les IOPS et le débit sur les performances des applications. Nous avons constaté dans nos recherches initiales que la vitesse du disque est tout aussi importante que la vitesse du processeur et le nombre de processeurs en ce qui concerne les performances de chiffrement globales.

Synthèse des résultats des tests de LockBit :

  • 1re place : LockBit 2.0
  • 2e place : LockBit 1.0
  • 3e place : Cuba
  • Dernière place : Avos

Nos Essais

Pour ces tests, nous avons utilisé la même approche que dans notre projet de recherche précédent. Nous avons créé un environnement identique pour chaque variante testée. Une version modifiée de Splunk Attack Range a été utilisée pour créer les systèmes dans Amazon Web Services (AWS). Le système « victime » présentait les spécifications suivantes :

  • Windows Server 2016
  • Type d’instance AWS EC2 : c5.2xlarge
  • Nombre et type de processeurs : 8 x Intel Xeon 3,4 GHz
  • RAM : 16 Go
  • Disque : GP3 (débit de 16 000 IOPS ou 1 000 Mo/s)
  • 98 561 fichiers de test répartis dans 100 répertoires (différents types et tailles de fichiers)

Ce sont les spécifications les plus proches que nous avons pu trouver dans AWS pour répliquer les tests de LockBit. La vitesse du disque était la plus élevée disponible, mais elle était la même pour toutes les variantes. Et comme mentionné précédemment, nous avons utilisé notre ensemble de données « victime », contenant de nombreux types et tailles de fichiers, afin de répliquer au mieux un système de fichiers réel.

Nous avons testé chaque variante individuellement pour éviter toute contamination par d’autres variantes susceptibles de se propager latéralement au cours de l’expérience. Chaque variante a été lancée manuellement, car certaines ne fonctionnent pas bien lorsqu’elles sont lancées via PowerShell (oui Babuk, je parle de toi). Nous avons effectué une observation manuelle via RDP pour confirmer l’aboutissement de chaque test.

Dans notre laboratoire, nous avons également configuré un serveur Windows 2019 agissant en tant que contrôleur de domaine. Il n’avait pas de disques partagés, mais aucune règle de pare-feu sur le système ou AWS n’empêchait l’accès entre celui-ci et le système « victime » initial.

Et le gagnant est...

Avant les révélations, sachez simplement que nos résultats étaient proches de ceux de LockBit, mais pas identiques. Et je pense que vous pouvez avoir davantage confiance en nous qu’en une équipe de pirates à la fois juge et partie dans ses tests.

Cela dit, LockBit encore une fois remporté la première place lors de nos tests. Mais pas LockBit 2.0 ! LockBit 1.0 était en fait plus rapide que son homologue plus récent. Pas de beaucoup, mais tout de même.

Temps de chiffrement total :

  • LockBit 1.0 : 2 minutes 20 secondes
  • LockBit 2.0 : 2 minutes 30 secondes

Cependant, LockBit 2.0 est beaucoup plus efficace que 1.0 : il utilise deux fois moins de threads CPU et accède au disque 27 fois de moins. Il semble donc que LockBit ait apporté un certain nombre d’améliorations entre ces deux versions, mais pas dans le domaine de la vitesse globale.

Mais LockBit 2.0 est quand même arrivé juste derrière 1.0, non ? Tout faux. Une autre variante a fait reculer LockBit 2.0 d’une place !

  • PwndLocker : 2 minutes et 28 secondes

Petit résumé de nos résultats :

  • 1re place : LockBit 1.0
  • 2e place : PwndLocker
  • 3e place : LockBit 2.0
  • Dernière place : Avos

PwndLocker, LockBit 1.0 et LockBit 2.0 exécutent des méthodes de chiffrement partiel similaires, ce qui permet d’accélérer le chiffrement.

LockBit 2.0 ne chiffre que les 4 premiers Ko d’un fichier et laisse le reste intact. C’est encore suffisant pour rendre la plupart des fichiers inutilisables après le chiffrement.

Fig. 2. Capture d’écran d’un exemple de fichier .txt chiffré par LockBit 2.0 (les 4 premiers Ko, en rouge, ont été chiffrés et le début du reste, en vert, n’a pas été modifié).

PwndLocker ne touche pas aux 128 premiers octets, chiffre seulement les 64 Ko suivants et laisse le reste intact.

Fig. 3. Capture d’écran d’un exemple de fichier .txt crypté par PwndLocker (128 octets non chiffrés en vert, chiffrement des 64 Ko suivants en rouge).

Et notre variante la plus rapide, LockBit 1.0, chiffre 256 Ko de chaque fichier très rapidement en utilisant un nombre élevé de threads CPU ainsi qu’un grand nombre d’accès au disque.

Les variantes les plus rapides ont tendance à utiliser des méthodes de chiffrement partiel, davantage de threads CPU ou une combinaison des deux.

Avos termine bon dernier dans le test de LockBit comme dans le nôtre. Cependant, en dehors de ce classement, peu de résultats coïncident entre les deux séries de tests. Nous avons ajouté un tableau détaillé de nos résultats de test indiquant les statistiques de chiffrement à la fin de ce blog.

Voici le tableau comparant nos résultats de test à ceux de LockBit.

Variante

Classement au test Splunk

Classement au test LockBit

LockBit 1.0

1

2

PwndLocker

2

15

LockBit 2.0

3

1

Conti

4

19

Babuk 2.0

5

5

SunCrypt

6

17

Sodinokibi

7

6

REvil-A

8

18

Ryuk

9

20

REvil-B

10

33

RansomEXX

11

10

DarkSide-A

12

23

DarkSide-B

13

22

Ragnar

14

7

DarkSide-C

15

31

Cuba

16

3

BlackMatter

17

4

BlackKingdom

18

33

Phoenix

19

29

Ranzy

20

14

MAKOP

21

9

DearCry

22

25

Avaddon

23

12

Pysa

24

11

Hades

25

30

Sekhmet

26

16

MountLocker

27

26

Thanos

28

13

Zeppelin

29

21

MedusaLocker

30

28

Nefilim

31

24

Nemty

32

27

Babuk 1.0

33

32

Avos

34

34

Notre principale hypothèse concernant les divergences entre les résultats est l’utilisation de différents types et tailles de fichiers. Si nous savions quel ensemble de données LockBit a utilisé, nous aurions plus d’informations sur les résultats de leurs tests.

Les enseignements

Après cette expérience, voici quelques points clés et recommandations :

  • Partez du principe qu’une fois qu’une équipe de pirates a atteint le stade où elle peut chiffrer vos systèmes, il est trop tard.
  • LockBit est très rapide, mais ce n’est pas la seule variante de ransomware capable d’atteindre des vitesses extrêmement élevées. D’autres variantes utilisent également des techniques de chiffrement partiel pour accélérer leurs opérations.
  • Protégez votre organisation avant l’exécution du rançongiciel. Assurez les fondamentaux (correctifs, sauvegardes hors ligne) et mettez en place des dispositifs qui devraient aujourd’hui être considérés comme de la cyberhygiène de base : authentification multifacteurs, segmentation du réseau, journalisation centralisée.

Conclusion

Il était intéressant d’utiliser dans nos tests les mêmes échantillons que LockBit. Si le classement des échantillons les plus rapides et les plus lents était étroitement aligné entre les tests, entre ces extrêmes, les résultats étaient très différents. Cependant, le temps total nécessaire au chiffrement de notre système de fichiers de test était encore assez court, même dans les tests les plus lents, ce qui nous incite à réitérer notre recommandation de regarder en amont de l’explosion lorsque vous hiérarchisez vos défenses réseau.

Bonne chasse !

Annexe

Statistiques de chiffrement de nos tests :

Variante

Total des chiffrements

Durée en minutes

Chiffrements par minute

LockBit 1.0

98552

2,33

42297

PwndLocker

98388

2,47

39833

LockBit 2.0

98548

2,5

39419

Conti

98560

3,6

27378

Babuk 2.0

98560

4,63

21287

SunCrypt

95805

4,8

19959

Sodinokibi

98553

5,27

18701

REvil-A

98553

5,32

18525

Ryuk

98384

5,93

16591

REvil-B

98553

9,87

9985

RansomEXX

88192

9,95

8864

DarkSide-A

98553

12,47

7903

DarkSide-B

98553

15,48

6366

Ragnar

98560

16,97

5808

DarkSide-C

98446

23,25

4234

Cuba

98560

23,45

4203

BlackMatter

98553

26,63

3701

BlackKingdom

98560

28,73

3431

Phoenix

98552

29,05

3392

Ranzy

98660

30,3

3256

MAKOP

98560

30,97

3182

DearCry

94537

32,6

2900

Avaddon

98660

37,48

2632

Pysa

97080

39,6

2452

Hades

98552

42

2346

Sekhmet

98560

47,88

2058

MountLocker

98559

49,53

1990

Thanos

93808

53,88

1741

Zeppelin

98046

53,92

1818

MedusaLocker

98560

58,68

1680

Nefilim

98560

60,97

1617

Nemty

98046

99,03

990,1

Babuk 1.0

98560

108,3

910,06

Avos

69360

132,2

524,66

Valeurs de hash SHA256 des fichiers des échantillons testés :

Variante

SHA256

Avaddon

05af0cf40590aef24b28fa04c6b4998b7ab3b7f26e60c507adb84f3d837778f2

Avos

01792043e07a0db52664c5878b253531b293754dc6fd6a8426899c1a66ddd61f

Babuk 1.0

8203c2f00ecd3ae960cb3247a7d7bfb35e55c38939607c85dbdb5c92f0495fa9

Babuk 2.0

c4282e9040cdc1df92b722568a8b4c42ce9f6533fed0bd34b7fdbae264947784

BlackKingdom

c4aa94c73a50b2deca0401f97e4202337e522be3df629b3ef91e706488b64908

BlackMatter

22d7d67c3af10b1a37f277ebabe2d1eb4fd25afbd6437d4377400e148bcc08d6

Conti

ebeca2df24a55c629cf0ce0d4b703ed632819d8ac101b1b930ec666760036124

Cuba

271ef3c1d022829f0b15f2471d05a28d4786abafd0a9e1e742bde3f6b36872ad

DarkSide-A

243dff06fc80a049f4fb37292f8b8def0fce29768f345c88ee10699e22b0ae60

DarkSide-B

4d9432e8a0ceb64c34b13d550251b8d9478ca784e50105dc0d729490fb861d1a

DarkSide-C

9cee5522a7ca2bfca7cd3d9daba23e9a30deb6205f56c12045839075f7627297

DearCry

2b9838da7edb0decd32b086e47a31e8f5733b5981ad8247a2f9508e232589bff

Hades

fe997a590a68d98f95ac0b6c994ba69c3b2ece9841277b7fecd9dfaa6f589a87

LockBit 1.0

95739e350d7f2aca2c609768ee72ad67fcf05efca5c7ad8df3027c82b9c454cf

LockBit 2.0

e1330fcb0a11f4a3f88ce551726cea82dfc0b4adc71fbfefcfc84f73c1ec8b7f

MAKOP

2b5a3934d3e81fee4654bb1a7288c81af158a6d48a666cf8e379b0492551188f

MedusaLocker

dde3c98b6a370fb8d1785f3134a76cb465cd663db20dffe011da57a4de37aa95

MountLocker

226a723ffb4a91d9950a8b266167c5b354ab0db1dc225578494917fe53867ef2

Nefilim

0bafde9b22d7147de8fdb852bcd529b1730acddc9eb71316b66c180106f777f5

Nemty

a2fe2942436546be34c1f83639f1624cae786ab2a57a29a75f27520792cbf3da

Phoenix

008ec79765325200361d9c93ac35edd430f8b17894ff843268caa5acd6224549

PwndLocker

4e6c191325b37da546e72f4a7334d820995d744bf7bb1a03605adb3ad30ce9ca

Pysa

af99b482eb0b3ff976fa719bf0079da15f62a6c203911655ed93e52ae05c4ac8

Ragnar

9bdd7f965d1c67396afb0a84c78b4d12118ff377db7efdca4a1340933120f376

RansomEXX

4cae449450c07b7aa74314173c7b00d409eabfe22b86859f3b3acedd66010458

Ranzy

c4f72b292750e9332b1f1b9761d5aefc07301bc15edf31adeaf2e608000ec1c9

REvil-A

12d8bfa1aeb557c146b98f069f3456cc8392863a2f4ad938722cd7ca1a773b39

REvil-B

d74f04f0b948d9586629e06e2a2a21bdf20d678e47058afb637414eb3701c1f6

Ryuk

7faeb64c50cd15d036ca259a047d6c62ed491fff3729433fefba0b02c059d5ed

WasSekhmet

b2945f293ee3f68a97cc493774ff1e8818f104fb92ef9dbeead05a32fc7006ff

Sodinokibi

06b323e0b626dc4f051596a39f52c46b35f88ea6f85a56de0fd76ec73c7f3851

SunCrypt

3090bff3d16b0b150444c3bfb196229ba0ab0b6b826fa306803de0192beddb80

Thanos

8a4a038a965ba42a0442d44abf25e4d21f5049d4a4a8aa9cb6691ec4282814a1

Zeppelin

b7f96fbb9844cac5c7f4ec966683f3564bbb9a2f453927e1c579dcb0154f5f83

Auteurs et contributeurs : comme toujours, la sécurité chez Splunk est une affaire de famille. Crédit aux auteurs et collaborateurs : Shannon Davis, Ryan Kovar


Photo principale/d’en-tête par Artem Beliaïkin de Pexels

*Cet article est une traduction de celui initialement publié sur le blog Splunk anglais.

 

Splunk
Posted by

Splunk