Comment sont chiffrés les mots de passe de la console BlackBerry Administration Server ?

Le saviez-vous ? La question de HSC

La réponse est "jaas is the way" :)

La console d'administration de BlackBerry enterprise server (BES) supporte deux méthodes d'authentifications:

  • Active Directory
  • BlackBerry Administration Server.

Les forums BlackBerry sont en première position des recherches concernant les mots clés "BAS authentication" sur Internet. C'est sur ces forums que nous découvrons une commande SQL magique qui permet de remettre à zéro le mot de passe de l'administrateur.

[...]
SET @DisplayName = 'System Administrator' -- Display name
SET @Authentication = 'BAS' -- BAS authentication
SET @EncryptedPassword = '2951a982f568f15567b7c6e0e50990b9' -- 'blackberry'
[...]
IF @Authentication LIKE 'BAS'
BEGIN
[...]
EXEC SetUpBASorADAuthentication @DisplayName, @AuthenticatorTypeId, \ @AuthenticatorInstanceId, @ExternalAuthenticatorId, @EncryptedPassword
END
[...]

D'après le code SQL, les mots de passe sont stockés dans la base de données MSSQL pour la méthode d'authentification "BlackBerry Administration Server".

C:\> osql -S WIN2K3\BLACKBERRY -E
1> use besmgmt
2> go
1> select LoginName+':'+LoginPassword from BASusers
2> go
--------------------------------------
admin:2951a982f568f15567b7c6e0e50990b9
(1 row affected)

Bien que la ressemblance avec une empreinte MD5 est forte, il est inutile de sortir les clusters de Cray ou les GPU dernier cri pour casser le mot de passe !

Voici les résultats de quelques tests :

  • AAAAA => 54d4951c20e0bf9b
  • AAAAAAAA => 1fdcae551b367eb7df8592078de921bc
  • AAAAAAAAAAAAAAAA => 1fdcae551b367eb71fdcae551b367eb7df8592078de921bc
  • AAAAAAAAAAAAAAAAAAAAAAAA => 1fdcae551b367eb71fdcae551b367eb71fdcae551b367eba\7df8592078de921bc

Ces résultats laissent supposer que nous avons affaire à un algorithme de chiffrement symétrique par blocs de 8 octets. Les préfixes similaires des chiffrés indiquent un symptôme imminent.

Finalement, après extraction du paquet de fichiers JAR de BES, on constate que les développeurs ont tout bonnement fait du Blowfish avec une clé statique : "jaas is the way".

La chaîne est codée en dur dans la classe com.rim.bes.bas.system.Encoder.

Il est temps de présenter "BlueBerry", le casseur de mot de passe BlackBerry:

  • http://www.hsc.fr/ressources/outils/blueberry/index.html.fr
  • http://www.hsc.fr/ressources/outils/blueberry/index.html.en

$ time java BlueBerry -p 2951a982f568f15567b7c6e0e50990b9 2972476d1cbbeef7c9bba78b0b7f2975

2951a982f568f15567b7c6e0e50990b9:blackberry
2972476d1cbbeef7c9bba78b0b7f2975:[p4S_F at c1le-!$#

real 0m0.739s
user 0m0.868s
sys 0m0.056s

Il faut finir par admettre que l'algorithme de chiffrement des mots de passe n'est pas très convainquant ...

Auteur : Nicolas Collignon, HSC

Les derniers produits des risques professionnels