openssl x509 -inform der -in cert.der -out pubkey.pem
L'option :
- -inform : permet de stipuler le type de fichier donné en input
- -in : permet de donné le fichier en input
- -out : permet de donnée le nom du fichier de sortie
Il faut ensuite extraire le modulo de la clé publique :
openssl x509 -in pubkey.pem -text -modulus -noout
L'option :
- -text : permet d'afficher la sortie
- -modulus : permet d'afficher le modulo
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 1000 (0x3e8)
Signature Algorithm: sha1WithRSAEncryption
[...]
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:86:98:65:48:c0:2b:2d:6b:04:61:a7:4a:09:a5:
[...]
Exponent: 65537 (0x10001)
Signature Algorithm: sha1WithRSAEncryption
31:17:4a:f4:96:40:0e:8d:56:f7:3f:46:1d:cf:0b:9d:25:5f:
[...]
Modulus=86986548C02B2D6B0461A74A09A5EE4EFA07882D5C610BDB14D1BA3044EFFD5570E4C509D116ACA992A342CF52ED0463DB6D4648A3013BA8219C3A72B1998796253DD11ECC536087E6E5BD207C1387AF9DF6BF875AB319556DCC0BAD6A90F017459760EE7D274FE6046E7599385F7607D29ED235477695E3365FC6B9F5270183E9C4C2C118AA676C1D9CBE06864507E4310D85B8CACFF9F5A3EED487B71D2D75B00943D7EDA9AAF5B2BB69271625DE2469D6A7C4F50C4EEAC54B1605793CC0F7FE9167452FF5FEF3647C9EEC8866730732C05DCA4C56F393CA2E61E7D76442822B9DA56D96F67BBA9F6095F761D0F2A3DE62EA8C6FC7AC2FA7B727684947F7640711B700F40A1799D0265EEFE94952B50E5E10B15BEC14CC1664714C6C1FF1C16454F4A912EC19760D80C4759FF3130DA43B13E7967D5CEA526402CF2B566653C0CD5D7D0995357661C0308CBD11AAEB832CA9093DC3981D1FB6B62FD98A883E8D4C1548521C3E2F0BEF76C7220D8093C2BDB1AE017F2E48D0DEFE42CE5713955AE294BEC2B5DA9B81CF9BB1D8CA5E5DCC9BF930EDB7A3F6D2D350D2AA478E01070DBC151D6F9F6DBA473EC001432DE4E2CED4611955F294B3D48631DD51EB7C50A97F5165731D597129D3335F4C994234D89095335C705F075A1BA08A0F5CF383D65CD424524A48A415CE2CA5A34B4287E4EFACB243E68B9C90A3679BEF2757
Il faut passer le modulo de l'hexa au décimal : [[http://www.mobilefish.com/services/big_number/big_number.php | ICI]]
On regarde si le modulo est connu sur factor-db :
http://factordb.com/index.php?query=549100898763808112064590568096509639806005267015788479836998648112330729762142760306265813195181231930171220686827142359040315653020182064933039077953579528749272321744478656324986362155106653831095037724728643255316641716947998245610175805278242802144980117927688674393383290354985820646326870614197414534217177211618710501438340081867982883181358830449072661742417246835970022211465130756382481343160426921258769780282358703413114522476037306476452786236456339806564839822630841425055758411765631749632457527073092742671445828538125416154242015006557099276782924659662805070769995499831691512789480191593818008294274869515824359702140052678892212293539574359134092465336347101950176544334845468112561615253963771393076343090247719105323352711194948081670662350809687853687199699436636944300210595489981211181100443706510898137733979941302306471697516217631493070094434891637922047009630278889176140288479340611479190580909389486067761958499091506601085734094801729179308537628951345012578144960250844126260353636619225347430788141190654302935255862518781845236444151680147886477815759103864509989480675169631226254252762579781553994364555800120817100328166428687776427164098803076677481602221304265962340500651339469391627432175447
Le modulo est entièrement factorisé sur le site , ces composantes sont disponibles.
On a donc :
e=65537
p = 2758599203
q= 199050626189790903113151725251371951406311367304411013359159100762029303668345459282823483508119186508070350039475140948570888009866572148405365532164833126992414461936781273087675274788769905198546175946505790118332257676994622928414648644875376193656132263418075334807302665038501361680530751104620475935886499714767992159620130246904875540624651891646715835632182355428589610236128648209568297096024509697960196858754170641081387466229916585122877955908862176165344465889280850859817985096316883025515924332365977538735425288433292357532172467247159245727072344354499113900733623716569924461327947462469348798798400461045817375922057805611166274339541877392159201774893120311667898551312256530117094221191204981071357303328506659872809131929265966688409379037586014938643190675726674943253875287765020503118408406103824607730713529079962656130622218633922911733000466212212532871890933508287965723844399784165195088175666883742686183165151553009638524764735387233844317375317153437534933611361683136151569588355535831475925641431859231311079029505004457816932257031352498323214304125608733640306746900473758755832661915903475867854937735150255829715879232213599597863424779218670961633567259935246911742292942052832671549
n= 549100898763808112064590568096509639806005267015788479836998648112330729762142760306265813195181231930171220686827142359040315653020182064933039077953579528749272321744478656324986362155106653831095037724728643255316641716947998245610175805278242802144980117927688674393383290354985820646326870614197414534217177211618710501438340081867982883181358830449072661742417246835970022211465130756382481343160426921258769780282358703413114522476037306476452786236456339806564839822630841425055758411765631749632457527073092742671445828538125416154242015006557099276782924659662805070769995499831691512789480191593818008294274869515824359702140052678892212293539574359134092465336347101950176544334845468112561615253963771393076343090247719105323352711194948081670662350809687853687199699436636944300210595489981211181100443706510898137733979941302306471697516217631493070094434891637922047009630278889176140288479340611479190580909389486067761958499091506601085734094801729179308537628951345012578144960250844126260353636619225347430788141190654302935255862518781845236444151680147886477815759103864509989480675169631226254252762579781553994364555800120817100328166428687776427164098803076677481602221304265962340500651339469391627432175447
Ici on remarque clairement le problème d'implémentation , p ne fait que 10 digits.
** Étape 3 : Reconstruire la clé privé**
On reconstruit la clé privé avec [[https://github.com/ius/rsatool|rsatool]]
python rsatool.py -n -p -q -e -v PEM -o privkey.pem
** Étape 4 : Déchiffrer la capture**
Pour ce faire il faut aller dans "Edition" => Préférences => Protocols => SSL
{{ :cryptographie:ssl_pref.png?nolink |}}
On ajoute une nouvelle clé dans "RSA Keys Lists".
On remplit les champs comme ceci :
ip adresse : 192.168.1.27
port : 443
Protocol : http
et on met notre fichier keypriv.pem
{{ :cryptographie:rsa_key.png?nolink |}}
Une fois que c'est fait on obtient :
{{ :cryptographie:rsa_key_2.png?nolink |}}
On fait "Appliquer" et la capture se déchiffre :
On obtient notre capture http en clair :
{{ :cryptographie:decrypt.png?nolink |}}
**3.Comment se protéger**
Il faut respecter les normes de sécurité et ne pas implémenter des algorithmes dépréciés comme le DES ou le 3DES.