Ceci est une ancienne révision du document !
Table des matières
Numéro 1
Étant abonné à la revue MISC (Multi-System Internet Security Cookbook), je suis tombé sur une publicité amusante.
Désolé, l'image étant l'arrière du magasine, j'ai eu beaucoup de mal à prendre une photo impeccablement droite et le QRCode n'est pas lisible.
Cependant, il est le suivant :
Trouvez la solution du challenge QR Code NES pour nous contacter. étape1/4: 6XRhcGUgMi80OgotLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQpNSUlCSHpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVF3QU1JSUJCd0tCZ1FDTk9nOWdlL0lGbWd5NWk5N2hmZDdxCnFKaXZZNkdDWlhXSmlGUDhBSFVLQ2owV1kwSFhyczJJbnBqSTQxV0M0RmNGc0dNTkRmOWJkTFZIcUJMWng1RlIKTHFHSmZvQmh0WUYzajJpK1YzcDBuTzN3SU91ZXZlanhuSHZ5aFNoUGthSzhQcVRLdVdFcDdQWkFuQmIyVWVsaQpsdWVJUFhWeGFaN1pwcDNnQWxMMGZRS0JnSFkzM1hQZUh3WWFOWWlOVG9pR0cvUWhpMzhTZC9EOElHYTNkQmdtCk1ReTh6VndBNEJGOXJDc0ZYbThCQm1sb1hUTTdUUjhYTEUrdnlsaGhBTk9VK1MzeUx4aHVBTHEvUXQxZzZlUHEKclNlclBMbEV1U1FMOUgrWHVQb0ZJRk5NVEdyZmUzWm5ZZ2YvME9pVENCMG5ya0tBZXM2M25GSmplN3BSUDJMdgpNRll6Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQotLS0tLUJFR0lOIEVOQ1JZUFRFRCBNRVNTQUdFLS0tLS0KWDlIY1RSMWVhVGpIR0lxZUVYUWJDZ2ljKytGVisxNlhuUCt1T0UyMFhTdXVTQ0pBa3pibm1LSlQ1T2d2RXBGOEtVYnFlVVNpMk04bwoxVEs2bXNLWnY5SXJpbG0wd2YrSUcwYmlIeVBDUDBpaGdHL3p4d2NjUEdDVWczYjdhMzF4dExta2I5NkpEaTR4YUdCTjYzZHF6WTZpCkFTYVVQZnNqUnJsRXhzLzlNRFk9Ci0tLS0tRU5EIEVOQ1JZUFRFRCBNRVNTQUdFLS0tLS0=
Là, il s'agit d'un simple encodage en base 64 avec un encodage interne de type Windows-1252. Base64 Decode s'en occupe tout seul.
J'avoue que j'ai été franchement déçu par cette étape très simple mais c'était juste un simple avant goût pour la suite.
étape 2/4: -----BEGIN PUBLIC KEY----- MIIBHzANBgkqhkiG9w0BAQEFAAOCAQwAMIIBBwKBgQCNOg9ge/IFmgy5i97hfd7q qJivY6GCZXWJiFP8AHUKCj0WY0HXrs2InpjI41WC4FcFsGMNDf9bdLVHqBLZx5FR LqGJfoBhtYF3j2i+V3p0nO3wIOuevejxnHvyhShPkaK8PqTKuWEp7PZAnBb2Ueli lueIPXVxaZ7Zpp3gAlL0fQKBgHY33XPeHwYaNYiNToiGG/Qhi38Sd/D8IGa3dBgm MQy8zVwA4BF9rCsFXm8BBmloXTM7TR8XLE+vylhhANOU+S3yLxhuALq/Qt1g6ePq rSerPLlEuSQL9H+XuPoFIFNMTGrfe3ZnYgf/0OiTCB0nrkKAes63nFJje7pRP2Lv MFYz -----END PUBLIC KEY----- -----BEGIN ENCRYPTED MESSAGE----- X9HcTR1eaTjHGIqeEXQbCgic++FV+16XnP+uOE20XSuuSCJAkzbnmKJT5OgvEpF8KUbqeUSi2M8o 1TK6msKZv9Irilm0wf+IG0biHyPCP0ihgG/zxwccPGCUg3b7a31xtLmkb96JDi4xaGBN63dqzY6i ASaUPfsjRrlExs/9MDY= -----END ENCRYPTED MESSAGE-----
Et là, c'est direct dans ma face pour souligner ma médiocrité.
BEGIN PUBLIC KEY
est la définition d'une clé public selon l'algorithme X.509
.
J'ai vaguement pu m'amuser avec via la commande :
> ssh-keygen -i -m PKCS8 -f key.asc ssh-rsa AAAAB3NzaC1yc2EAAACAdjfdc94fBho1iI1OiIYb9CGLfxJ38PwgZrd0GCYxDLzNXADgEX2sKwVebwEGaWhdMztNHxcsT6/KWGEA05T5LfIvGG4Aur9C3WDp4+qtJ6s8uUS5JAv0f5e4+gUgU0xMat97dmdiB//Q6JMIHSeuQoB6zrecUmN7ulE/Yu8wVjMAAACBAI06D2B78gWaDLmL3uF93uqomK9joYJldYmIU/wAdQoKPRZjQdeuzYiemMjjVYLgVwWwYw0N/1t0tUeoEtnHkVEuoYl+gGG1gXePaL5XenSc7fAg65696PGce/KFKE+Rorw+pMq5YSns9kCcFvZR6WKW54g9dXFpntmmneACUvR9
Sinon, pour la suite, c'est circulez, il n'y a rien à voir.
Si vous voulez vous amusez avec, je ne pense pas avoir dévoilé grand chose dans l'énigme.
Un document qui peut-être pourrait aider : Source, Archive
Par contre, j'aime bien cette publicité qui est un moyen (même si pas nouveau) de solliciter les neurones de façon intéressante (et pas comme les Hackathon sur un thème qui certes permettent de trouver aussi de belles perles mais surtout de faire travailler 200 personnes gratuitement).
Numéro 2
Ils ont recommencé ça avec le magasine de Juin 2017.
La pub
Le scan
Cette fois l'image permet un scan avec un téléphone Android et l'appli (par exemple) Barcode Scanner.
T2JhYXIgcHVuYXByICEKdWdnYzovL292Zy55bC8xcWlZRkZFCnVnZ2M6Ly9vdmcueWwvMmFqZnI5bAp1Z2djOi8vb3ZnLnlsLzE4ZXBiQlI=
Le scan décodé
Le résultat est (merci base64decode, Archive) :
Obaar punapr ! uggc://ovg.yl/1qiYFFE uggc://ovg.yl/2ajfr9l uggc://ovg.yl/18epbBR
Le chiffre de César
On repère facilement en première ligne les http:
.
Entre le h
et le u
, il y a 13 lettres. C'est le chiffre de César qui permet un décalage en +13 ou -13 pour chiffrer / déchiffrer.
Là encore, il y a des sites internet qui le font très bien (nymphomath.ch, Archive).
Résultat :
Bonne chance ! http://bit.ly/1dvLSSR http://bit.ly/2nwse9y http://bit.ly/18rcoOE
Analyse des liens : 1) http://bit.ly/1dvLSSR ⇒ https://www.youtube.com/watch?v=kxopViU98Xo (Epic sax guy 10 hours). Je ne suis pas sûr de tenir les 10 heures ^^. 2) http://bit.ly/2nwse9y ⇒ http://pastebin.fr/49604 (C'est le lien qui nous intéresse) 3) http://bit.ly/18rcoOE ⇒ http://www.nyan.cat/ On s'amuse bien chez NES ;)
Le challenge
Voici le challenge NES n°2. Bonne chance à tous. https://www.nes.fr/challenge/CHALL_NES2 https://www.nes.fr/challenge/CHALL_NES2.sig https://www.nes.fr/challenge/CHALL_NES2.sha256.sum Miroirs pour l'archive du challenge NES N°2 http://jheberg.net/captcha/chall-nes2-2/ https://mega.nz/#!0Vo3xIwS L'adresse mail vous permettant de postuler chez NES se cache dans la solution du challenge Cordialement, NES Conseil https://www.nes.fr f298b804d367657136375671a46aefbebee65d652b5c2978bb50b1a89eb7ca79 CHALL_NES2 (SHA 256) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (MingW32) Comment: Gnu Privacy Tools Comment: Download at http://www.gnupt.de iQEcBAABAgAGBQJY0TVBAAoJEC8gM8yxa5hMRFIH/3hjFwugcxqlwvybHVuvh8x0 fXppnF7n6/TJkl/Q1V8G0xp6e0Kwdf9/aNx4JHN+teec67Ev4XkLUgqiS71mD2Vr rCyW1jSeiZ8ZWMemVWla6njBplZ1VQT/32e4uALdbw3667zW9YgS3UBSSQLZVisS D8IkSynVVmQXuQlZqNDzXvV3b7krc5LUJdbKUu3am5gtRnF5YfM6BjVtMZgjVe3u 3yj6HYCyalLEByU2FtpHg01eT5aUnLGSGA/Bwn9/wwbRE+OzUxvbOSxSVAfI5Fyj ZWPcfuTWApLdSu5eycPLIumQL/dodXD2FGiNpovl1AgWRq2SpnC0yHTQn/nuUas= =8b9k -----END PGP SIGNATURE----- -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.17 (MingW32) Comment: Gnu Privacy Tools Comment: Download at http://www.gnupt.de mQENBFjP9BABCAC86m5BhFGg4Yy1Jbt/56CPI8yJ7FYxx1uAVXtXiOYzuoJM81O9 exfc/Ep+5QYggy2i7dAN5GlgHA8M2Cgz1PiPpXZLoi1GfyOVJQGbs1coT5rSmXhQ j/xvBb8GpaegsDAl0EPa6hRpcrdFXJwwgJIeRS6nLGnoyK7aEsutf/Wfi0A5rHll H+ZtiI1NFs0x8iIaO9/Evrlb2RtxXj6e4x3LIQF1fbR5sXaZ6wF+LFO1l5nmfXZV JKflvDLR53/VrHYe7wwx5HqZZRyT4ttihcgcbp+NnN+c2ziDBZdZ451NWBE6HBJa jLDDk2Wk1QIV/LWXGvA45GxJv9UJa15bDomrABEBAAG0I1FSY2hhbGxlbmdlX25l czIgPGNoYWxsZW5nZUBuZXMuZnI+iQE4BBMBAgAiBQJYz/QQAhsDBgsJCAcDAgYV CAIJCgsEFgIDAQIeAQIXgAAKCRAvIDPMsWuYTOucB/9he1fmPtiOKQgfwBWfNYiy 3lkR/RUUpWHc8RIs4SCHzFNEyZZvW32Q4dfbnNER2yo1O5ORAmgIekBJ7dmuC71H A5+3DpJqJy7dpiEMHoEQiYAd1z3rjxCnfvNFDIZpEMyfVWGiR1+2Jd4hEx9qF1c6 w+Xhr5XzbkFvUK1wNty3Eauq1GgEq/REc5tLvLckP+Bptju7k2mojx8i/K162pKo xHRIr9g/SPdKz0SP/zxhhbIr9YOR5hqmoNrCkKSFjG+cwDKOyquVc6tBr0JfhG1C dqCKO4qtSwLb0xFQmG2Thi483cQBWfWkQBPz91d4tmfJYVlN0jMu2MFdMTXUoSP2 uQENBFjP9BABCAC7t73ofU3uY4x5ygAXVvylbvTRJZxD8SzSjgOkecs5/Z0gaSut vHu58E9en63LG7XeYVTJjT3odm36C336NPjexHmf+qRCApfjuFELbWMnvDyGfCr2 ULwyJugWjlNBmkFyiIaKUFhRMctIbDbVATVPq7V+tI3y0yyhuc+y8ym9FoJNOC/p xsmT8Wd5u2whrTgqN3gesXjEgt8ey3Lqrzt4I+KPe76pNlArb+mBCsBIa0fwt9a0 OxxgElj7OOd4CRZKvpjCtADpa+g8aZz2rO9I7MCOWKhbHfiIGWeD6P51TmzVqEXh QzH1TlFnotZWM2jUMgcxqY2GjjLPx35o29Z/ABEBAAGJAR8EGAECAAkFAljP9BAC GwwACgkQLyAzzLFrmEzomAf+Ih6SawVkgb5Y+WmauvcCg950tKpqraRiMVrmr0fm E+hzxYmLY8joYj1k/7UmtxVl2UeaiH8ztfp7RrQyUKcsZmDpzp4j6mikA0PQOVKk hIAe2QxhGusqLVqH3h2HUO9JXG7BvYEKOur7PGJlwDIe1TuAQlURdgFLBQHuHxIl fEa61GP4JmEJiH6HKe5E3znw2s2xxhELJSgJUMsavUK7u61Ab+Yx3lARi9UYw33W wRhzPyNSzG/x+j6upaG5W1nWaosYCGlblWZ9OGm8t1FGsTjnpAD2a/3xHJ8xvL6U +Qt0wk7HmnF+amYHgS/Udws5jhscj67ozt3etFRehm8fDw== =Q4EP -----END PGP PUBLIC KEY BLOCK-----
Les archives
Analyse récursive
Un sha256sum -c CHALL_NES2.sha256.sum
permet de vérifier que la signature est bonne.
CHALL_NES2: Réussi
Le fichier fournit est une archive.
file CHALL_NES2 CHALL_NES2: Zip archive data, at least v1.0 to extract unzip CHALL_NES2 extracting: CHALL_NES2
file CHALL_NES2 CHALL_NES2: XZ compressed data mv CHALL_NES2 CHALL_NES2.xz xz -d CHALL_NES2.xz
file CHALL_NES2 CHALL_NES2: Microsoft Cabinet archive data, 1131532 bytes, 1 file mv CHALL_NES2 CHALL_NES2.cab cabextract CHALL_NES2.cab Extracting cabinet: CHALL_NES2.cab extracting CHALL_NES2 All done, no errors.
file CHALL_NES2 CHALL_NES2: Zip archive data, at least v2.0 to extract unzip CHALL_NES2 Archive: CHALL_NES2 inflating: NES_CHALL2
file NES_CHALL2 NES_CHALL2: gzip compressed data, last modified: Mon Mar 20 15:48:19 2017, from Unix mv NES_CHALL2 NES_CHALL2.tar.gz tar -xvzf NES_CHALL2.tar.gz
file NES_CHALL2 data
Il faut ici utiliser une autre technique. (Source, Archive)
head -n 1 NES_CHALL2
Résultat :
BEA01NSR02TEA01C2� NES_CHALL220101122OSTA Compressed UnicodeOSTA Compressed Unicodek
En cherchant, je suis tombé sur la page UDF, Archive qui dit que cela Denotes the beginning of the extended descriptor section.
C'est donc une partition UDF
. Il suffit donc de la monter avec la commande (Source, Archive) :
sudo mount -t udf -o loop,ro,unhide,uid=$(id -u) NES_CHALL2 dossier
On obtient enfin les challenges à résoudre :
. ├── 01 │ ├── john.rules │ ├── readme.txt │ ├── sniff01.pcapng.gz │ └── wl_fr_nes.7z ├── 02 │ ├── readme.txt │ ├── sniff02.pcapng.gz │ ├── sniff02_readme.txt │ └── sniff03.pcapng.gz ├── 03 │ ├── crack_me.exe │ └── readme.txt └── 04 ├── arch04.7z ├── pub_key.asc └── readme.txt
Cas 1
Commençons par ouvrir sniff01.pcapng.gz
avec WireShark
.
On voit qu'il y a l'envoi d'une image au format PNG découpé en plusieurs trames TCP
. Pour récupérer l'image, il faut sélectionner la dernière ligne qui contient l'image PNG. Dans ce cas, il apparait un onglet Reassembled TCP
. Faire un clic droit sur la ligne Portable Network Protocol
et l'exporter dans un fichier.
En l'ouvrant avec Gimp, petits messages d'avertissement sur l'image.
On voit que l'image est composée de couleur en niveau de gris. Les 16 valeurs de gris sont : 69 88 73 70 32 69 83 84 32 84 79 78 32 65 77 73
soit en caractère ASCII : EXIF EST TON AMI
exiftool sniff01.png
ExifTool Version Number : 10.55 File Name : img.png Directory : . File Size : 3.9 kB File Modification Date/Time : 2017:06:22 22:58:29+02:00 File Access Date/Time : 2017:06:22 23:23:34+02:00 File Inode Change Date/Time : 2017:06:22 22:58:29+02:00 File Permissions : rw-r--r-- File Type : PNG File Type Extension : png MIME Type : image/png Image Width : 16 Image Height : 1 Bit Depth : 8 Color Type : RGB Compression : Deflate/Inflate Filter : Adaptive Interlace : Noninterlaced Exif Byte Order : Little-endian (Intel, II) Image Description : Belle image ! Make : CANON & NIKON Camera Model Name : T'es CANON alors NIKON Artist : NES Conseil Copyright : 2017 Date/Time Original : 1970:01:01 00:00:00 User Comment : épreuve de stégano GPS Version ID : 2.2.0.0 GPS Latitude Ref : North GPS Longitude Ref : West GPS Altitude Ref : Above Sea Level GPS Map Datum : WGS-84 Thumbnail Offset : 442 Thumbnail Length : 713 Copyright Notice : NES Conseil Keywords : {NES_challenge_token}:7114C77C4950447E9B17348B7C789F0D64142262 Source : https://www.nes.fr/ Pixels Per Unit X : 39 Pixels Per Unit Y : 39 Pixel Units : meters Profile Name : Photoshop ICC profile Profile CMM Type : Lino Profile Version : 2.1.0 Profile Class : Display Device Profile Color Space Data : RGB Profile Connection Space : XYZ Profile Date Time : 1998:02:09 06:49:00 Profile File Signature : acsp Primary Platform : Microsoft Corporation CMM Flags : Not Embedded, Independent Device Manufacturer : IEC Device Model : sRGB Device Attributes : Reflective, Glossy, Positive, Color Rendering Intent : Media-Relative Colorimetric Connection Space Illuminant : 0.9642 1 0.82491 Profile Creator : HP Profile ID : 0 Profile Copyright : Copyright (c) 1998 Hewlett-Packard Company Profile Description : sRGB IEC61966-2.1 Media White Point : 0.95045 1 1.08905 Media Black Point : 0 0 0 Red Matrix Column : 0.43607 0.22249 0.01392 Green Matrix Column : 0.38515 0.71687 0.09708 Blue Matrix Column : 0.14307 0.06061 0.7141 Device Mfg Desc : IEC http://www.iec.ch Device Model Desc : IEC 61966-2.1 Default RGB colour space - sRGB Viewing Cond Desc : Reference Viewing Condition in IEC61966-2.1 Viewing Cond Illuminant : 19.6445 20.3718 16.8089 Viewing Cond Surround : 3.92889 4.07439 3.36179 Viewing Cond Illuminant Type : D50 Luminance : 76.03647 80 87.12462 Measurement Observer : CIE 1931 Measurement Backing : 0 0 0 Measurement Geometry : Unknown Measurement Flare : 0.999% Measurement Illuminant : D65 Technology : Cathode Ray Tube Display Red Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract) Green Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract) Blue Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract) White Point X : 0.31269 White Point Y : 0.32899 Red X : 0.63999 Red Y : 0.33001 Green X : 0.3 Green Y : 0.6 Blue X : 0.15 Blue Y : 0.05999 GPS Altitude : 10 m Above Sea Level GPS Latitude : 39 deg 6' 37.30" N GPS Longitude : 76 deg 45' 56.10" W GPS Position : 39 deg 6' 37.30" N, 76 deg 45' 56.10" W Image Size : 16x1 Megapixels : 0.000016 Thumbnail Image : (Binary data 713 bytes, use -b option to extract)
Qu'est-ce qu'on y voit ?
Une blague potache
Image Description : Belle image ! Make : CANON & NIKON Camera Model Name : T'es CANON alors NIKON
L'autre de l'image et pourquoi
Artist : NES Conseil User Comment : épreuve de stégano
La clé à analyser
Copyright Notice : NES Conseil Keywords : {NES_challenge_token}:7114C77C4950447E9B17348B7C789F0D64142262 Source : https://www.nes.fr/
Des coordonnées GPS
GPS Altitude : 10 m Above Sea Level GPS Latitude : 39 deg 6' 37.30" N GPS Longitude : 76 deg 45' 56.10" W GPS Position : 39 deg 6' 37.30" N, 76 deg 45' 56.10" W
Google Maps. J'avoue ne pas avoir trouvé la référence.
La clé correspond à un hachage. Le mot de passe est dans l'archive wl_fr_nes.7z
avec une modification à appliquer conformément à la règle de JohnTheRipper
:
>12 <13 lcse3sE3sé3sè3
Ce qui signifie :
Un mot d'au moins 12 caractères et d'au maximum 13 caractères. l
signifie convert to lowercase
, c
: capitalize
, se3
: remplace les e par des 3, sE3sé3sè3
: remplace les E, é et è par des 3 (Source, Archive).
Copier la règle dans le fichier /etc/john/john.conf
.
Copier le hash (7114C77C4950447E9B17348B7C789F0D64142262
) dans le fichier hash
.
Et lancer la commande :
sudo bash -c "cat john.rules >> /etc/john/john.conf" /usr/sbin/john -w=wl_fr.txt --rules=NesSpecialRules_french hash Warning: detected hash type "raw-sha1", but the string is also recognized as "raw-sha1-linkedin" Use the "--format=raw-sha1-linkedin" option to force loading these as that type instead Warning: detected hash type "raw-sha1", but the string is also recognized as "raw-sha" Use the "--format=raw-sha" option to force loading these as that type instead Warning: detected hash type "raw-sha1", but the string is also recognized as "raw-sha1-ng" Use the "--format=raw-sha1-ng" option to force loading these as that type instead Warning: detected hash type "raw-sha1", but the string is also recognized as "raw-sha1-opencl" Use the "--format=raw-sha1-opencl" option to force loading these as that type instead Loaded 1 password hash (Raw SHA-1 [128/128 AVX intrinsics 4x]) Invalid rule in /etc/john/john.conf at line 1620: Unallowed command
Là, j'ai pas vraiment trouvé. En fait, c'est à cause du fait que > et < marchent avec ma version qu'avec un chiffre et pas un nombre. J'ai remplacé >12 <13
par >9
et j'ai utilisé le format raw-sha1-opencl
car j'ai une bonne carte graphique.
/usr/sbin/john -w=wl_fr.txt --format=raw-sha1-opencl --rules=NesSpecialRules_french hash OpenCL platform 0: NVIDIA CUDA, 1 device(s). Using device 0: GeForce GTX 660 Ti Local work size (LWS) 64, Global work size (GWS) 2097152 Loaded 1 password hash (Raw SHA-1 [OpenCL (inefficient, development use only)]) Cyb3rs3curit3 (?) guesses: 1 time: 0:00:00:01 DONE (Fri Jun 23 00:09:58 2017) c/s: 189721 trying: Abaissabl3 - Zymotiqu3s Use the "--show" option to display all of the cracked passwords reliably
Le mot de passe est donc Cyb3rs3curit3
.