[INFOS] Authenticode ou quid de l'intégrité par M$

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

[INFOS] Authenticode ou quid de l'intégrité par M$

Messagepar mr.tux » 26 Mai 2006, 21:13

Authenticode ou comment Microsoft implente une vérification d'intégrité dans beacoups de binaires.

Tout le monde connais les differents checksum introduit pas certains packers ou par les programmeurs eux-mêmes dans leurs codes.

Il existe un autre type de test d'intégritée plus formel introduit pas Microsoft, il s'agit de l'Authenticode qui est simplement une signature numérique intégrée aux fichiers executables (EXE's,DLL's,OCX's).

Si vous vous demandez a quoi ressemble ce genre de signature il vous suffit d'ouvrir le dossier %SYSTEMROOT%\system32\ et d'aller chercher le fichier "LegitCheckControl.DLL", ce fichier servant au WGA (Windows Genuine Advantage) est signé comme la plupars des binaires 'sensible' et récents délivrer pas Microsoft.

Faite un click droit dessus, et observez l'onglet "Signatures numériques" regarder le signataire, puis clickez sur "Détails".

Dans détails on peut voir qu'il s'agt d'un certificat RSA intégré au fichier, l'empreinte numérique du fichier est hachée suivant le modéle SHA1.

Si vous voulez signé vos propres binaires, recherchez sous Google le paquetage "codesigningx86", il vous faudra générer un certificat puis l'intégrer a l'executable (Authenticode).

Vous allez me dire j'usque la tout va bien, on s'en carre que MS signe ses binaires.

Je suis d'accord, mais la ou ca se corse c'est quand M$ décide d'intégrer au binaire un algorithme de vérification du dit certificat.

J'ai pu observez cela sur les nouveaux produits de chez M$, par exemple Internet Explorer 7 Beta 2 contient une vérification de votre clé (WGA) avant d'autoriser l'installation, quand on patche en RAM sous Olly par exemple, on peut outre-passer cette vérification (normal le binaire reste intact), mais si on entreprend figé cette modif en hard (sur le dur) le binaire refuse de fonctionner de maniere totalement silencieuse (pas de notification), cette vérification d'intégrité ne se limite pas a la section code, mais a tout le binaire.

J'ai donc entrepris de comprendre le fonctionnement de la routine en charge de vérifié l'Authenticode, comme je ne connaissez pas les API utilisé j'ai fait un tour par le table d'import, R-A-S, pas d'API chelou en vue.

Aprés quelques recherches et pas mal d'API Spy, j'ai découvert les API principales mises en oeuvre pour la vérification des certificats, il s'agit de par ordre d'appel :
Code: Tout sélectionner
WINTRUST.DLL : WinVerifyTrust // En charge de vérifier que la signature n'est pas brisée (par un hard patch par ex)

CRYPT32.DLL : WTHelperGetProvSignerFromChain // En charge de récuprer le signataire et le contre-signataire s'il existe.

CRYPT32.DLL : WTHelperProvDataFromStateData // En charge de vérifier la contre-signature d'un certificat.

CRYPT32.DLL : CertVerifyCertificateChainPolicy // Et enfin cette API vérifie l'ensemble de la chaine de certification (emeteur, signataire,contre-signataire).

De la bouche meme de microsoft : This function has no associated import library. You must use the LoadLibrary and GetProcAddress functions to dynamically link to Wintrust.dll or Crypt32.dll.
N'esperez donc pas les voir apparaitres dans l'IT.

Un kit de sources et d'exmples permettant ce genre d'implentation dans vos codes s'appelle "CAPICOM" et est disponible chez Microsoft.

Bref si vous patchez un programme signé numériquement et qu'il refuse de se lancer par la suite ou n'a pas le même comportement dans un débugger qu'une fois modifié, posez un bp sur l'API WINTRUST.DLL:WinVerifyTrust car c'est elle qui est appelé en premier, vérifiez les paramettres d'appel passer a l'api afin de connaitre le fichier a vérifié (les prototypes des fonctions sont dispo chez M$), puis sortez du call et empechez / forcez le saut.

Voila je voulais simplement vous faire partager ma découverte, sur ce j'éspere que je vous ai pas trop saouler ;)
mr.tux
Crackeur confirmé
Crackeur confirmé
 
Messages: 171
Inscription: 04 Mai 2006, 18:26
Localisation: On the copper

Messagepar jp1789sel » 27 Mai 2006, 06:22

Bonjour,

non seulement ce n'est pas saoulant mais c'est fort interessant

Merci mr.tux pour cette info
Avatar de l’utilisateur
jp1789sel
Initié
Initié
 
Messages: 83
Inscription: 27 Juin 2005, 09:14
Localisation: en normandie

Messagepar griggione » 27 Mai 2006, 08:43

Bonjour mr.tux

Et hop,en .txt et dans la besace :wink:
64 ans et.....bébéWeb :oops:
Avatar de l’utilisateur
griggione
Semi-Dieu du cracking
Semi-Dieu du cracking
 
Messages: 1506
Inscription: 03 Juin 2004, 09:11
Localisation: Piedigriggio

Messagepar baboon » 27 Mai 2006, 08:58

C'est simpa et pas saoulant ...
De la litterature comme je les aime aérée et interressante !!
:P
Merci
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3347
Inscription: 08 Juillet 2005, 17:49

Messagepar w0rp » 27 Mai 2006, 08:58

:D Merci pour l'info mr tux
w0rp...
Avatar de l’utilisateur
w0rp
 
Messages: 2
Inscription: 24 Mai 2006, 07:32

Messagepar BeatriX » 27 Mai 2006, 09:22

WinVerifyTrust... :) merci pour cette information.
Image
Avatar de l’utilisateur
BeatriX
Modérateur
Modérateur
 
Messages: 1302
Inscription: 13 Juin 2004, 15:07

Messagepar mr.tux » 27 Mai 2006, 19:49

Content que ca vous puisse vous servir :roll:
Ce qui attise leurs craintes c’est « Le nouveau monde » un flot de bits ininterrompu, incontrôlable, un flot de bit qui exprime idées, idéaux, et savoir de tous.
mr.tux
Crackeur confirmé
Crackeur confirmé
 
Messages: 171
Inscription: 04 Mai 2006, 18:26
Localisation: On the copper

Messagepar Anthrax » 29 Mai 2006, 23:32

Vachement interessant comme texte. Merci Mr.tux :)

Je vais faire comme BeatriX. WinVerifyTrust... hop! dans une petite case de ma petite cervelle :)
Anthrax
 

petite case..

Messagepar goldocrack » 31 Mai 2006, 14:10

Salut l'aigri,

Comme toi, facile de dire dans une case de la cervelle, le problème c'est qu'il n'y en a pas bcp de libres et qu'on reprend souvent les mêmes en écrasant les données !

On verra si quand on sera confronté au problème , la case n'aura pas été écrasée !

merci pour l'info

a+
goldo

Site XTX et le Forum XTX
Avatar de l’utilisateur
goldocrack
Monster Crackeur !!!
Monster Crackeur !!!
 
Messages: 384
Inscription: 12 Novembre 2005, 13:32
Localisation: On the Web

Messagepar _solo » 01 Juin 2006, 14:22

moi il va me falloir plus d'une case mais je viens de voir ca mise a jour de WGA achetitipi://www.vnunet.fr/actualite/se ... 0060530007
Avatar de l’utilisateur
_solo
Maître des ténèbres
Maître des ténèbres
 
Messages: 590
Inscription: 13 Février 2006, 11:28
Localisation: dans un cambrousse loin loin

Messagepar Silkut » 01 Juin 2006, 14:29

Oui, il y a régulièrement des updates de WGA, obsoletant du même coup tout les cracks dispo sur internet (i.e. dlls authentifiée sur reseau bittorrent)
Dernière édition par Silkut le 01 Juin 2006, 15:48, édité 2 fois.
Silkut
 

Messagepar _solo » 01 Juin 2006, 15:16

Silkut a écrit:Oui, il y a régulièrement des updates de WGA, obsoletant du même coup tout les cracks dispo sur internet
Ce que je comprends pas c'est que sa c'est toujours fait en silence et la PAAAAAAAAAAF! on le cris haut et fort :? :?: :refl1: une protection peut etre plus serieuse :?: :roll:
Avatar de l’utilisateur
_solo
Maître des ténèbres
Maître des ténèbres
 
Messages: 590
Inscription: 13 Février 2006, 11:28
Localisation: dans un cambrousse loin loin

Messagepar Silkut » 01 Juin 2006, 15:47

Je ne saisis pas ta réaction _solo, tu veux dire:
_D'habitude les updates se font pas remarquer ?
_D'habitude les cracks se font pas remarquer ?
Silkut
 

Messagepar _solo » 01 Juin 2006, 16:53

Silkut a écrit:Je ne saisis pas ta réaction _solo, tu veux dire:
_D'habitude les updates se font pas remarquer ?
je parle juste des mise a jour de WGA hein !!! qui n'arrive pas que par le web mais dans presque tout les produits maintenant :shock: par exemle il y a pas longtemps j'ai du faire une pseudo etude sur les anti-spyware et la paf wga veut mettre a jour des fichiers et comme j'utilisait une version d'eval d'XP impossible de faire quoi que ce soit ! et meme office 12 le recherche cette chose !!!
Avatar de l’utilisateur
_solo
Maître des ténèbres
Maître des ténèbres
 
Messages: 590
Inscription: 13 Février 2006, 11:28
Localisation: dans un cambrousse loin loin

Messagepar Silkut » 01 Juin 2006, 17:53

Oui ils foutent des vérifications un peu partout..SDKs, tools, windows update etc.. :x
Silkut
 

Suivante

Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités