Signer rapidement quelques programmes

Avec les outils de Visual Studio (ou du SDK) :

signtool sign /v ^
/d "mimikatz 1.0 (alpha)" /du "http://blog.gentilkiwi.com/mimikatz" ^
/sha1 ab9e92b943ed47d915bc26939e24a58303acaa7e ^
/t http://timestamp.globalsign.com/scripts/timstamp.dll ^
c:\security\mimikatz\Win32\*.exe c:\security\mimikatz\Win32\*.dll ^
c:\security\mimikatz\x64\*.exe c:\security\mimikatz\x64\*.dll

Cela donne une belle signature :
sign_kiwi
Plus d’informations : http://msdn.microsoft.com/library/aa387764.aspx

Avec les outils Java :

jarsigner -verbose ^
-storetype Windows-MY -providername SunMSCAPI ^
-tsa http://timestamp.globalsign.com/scripts/timstamp.dll ^
kdc.jar "Benjamin Delpy"

Plus d’informations : http://download.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html

Quelques services d’horodatages :

  • http://timestamp.globalsign.com/scripts/timstamp.dll
  • http://timestamp.verisign.com/scripts/timstamp.dll (ne fonctionne pas en Java…)
  • http://timestamp.comodoca.com/authenticode (ne fonctionne pas en Java…)

Visiblement Verisign et Comodo préfèrent se passer de la RFC 3161 (http://www.ietf.org/rfc/rfc3161.txt) qui indique que les communications sur HTTP doivent se faire en DER avec les mimetypes appropriés (application/timestamp-query et application/timestamp-reply)… ou pire, ils filtrent l’user-agent de l’appelant !
Notons aussi le non respect des normes de signtool qui encode en PEM et travaille en application/octect-stream….

Pour plus de souplesse, passez par GlobalSign ;) (http://www.globalsign.com/)


Un petit rappel sur la signature croisée pour les objets noyau de Windows : http://msdn.microsoft.com/windows/hardware/gg487315

Ce qui peut se résumer à :

signtool sign /v ^
/d "mimikatz driver 0.01 :-)" /du "http://blog.gentilkiwi.com/mimikatz" ^
/sha1 ab9e92b943ed47d915bc26939e24a58303acaa7e ^
/ac c:\security\mimikatz\tools\MSCV-GlobalSign.cer ^
/t http://timestamp.globalsign.com/scripts/timstamp.dll ^
c:\security\mimikatz\Win32\*.sys c:\security\mimikatz\driver\objfre_wnet_x86\i386\*.sys ^
c:\security\mimikatz\x64\*.sys c:\security\mimikatz\driver\objfre_wnet_amd64\amd64\*.sys