OverTheWire – Root The Krypton !

Longtemps sans poster d’articles .. Mais c’est parce que j’en prépare un gros ca ! En attendant ce fameux article qui portera sur les Buffers Overflows, je me détend un peu…
Faisons du wargame ! Explorons les possibilités de Linux. Pour cet article je m’attaque à la résolution des challenges Krypton du site OverTheWire !

 

Level 0 : Difficile de faire plus simple

Une simple chaîne encodée en Base64. Il suffit de la passer dans n’importe quel décodeur et on a le flag : KRYPTONISGREAT
Tricks : SublimeText dispose d’un plugin permettant l’encodage/décodage en base64 !

Level 0 -> 1 : Rot13

Voyons un peu ce que nous dit l’énoncé :

The password for level 2 is in the file ‘krypton2’. It is ‘encrypted’ using a simple rotation

  Simple rotation ? Like Rot13 ? 😀
Il existe une multitude de site pour faire du Rot13, mais quoi de mieux que de scripter son propre tools!
# Easy Rot Script
# Rotate strings - ShoxX - Copyleft www.shoxx-website.com

import string

chaine='YRIRY GJB CNFFJBEQ EBGGRA'

def make_rot_n(n):
 lc = string.uppercase #change to lowercase or uppercase depending of your string
 trans = string.maketrans(lc, lc[n:] + lc[:n])
 return lambda s: string.translate(s, trans)


for x in xrange(1,27):
 rot= make_rot_n(x)
 print(str(x)+"  "+rot(chaine))

Ce petit script va nous sortir toutes les rotations de la chaîne, incluant donc le rot13.
Ce qui nous donne donc comme flag : 13  LEVEL TWO PASSWORD ROTTEN

Level 1->2 : Classique

Encore une fois, tout c’est joué dans l’énoncé :

This level contains an old form of cipher called a ‘Caesar Cipher’.
Et encore une fois on va utiliser le script précédant pour cela ! En effet le Chiffrement de César est une forme de rotation. Ce qui nous donne comme flag : CAESARISEASY

Level 2 ->3 : Frequency

En général, lorsque l’on me parle de cryptographie pour débutant je pense souvent à une des meilleures armes qui soient : l’analyse de fréquence. Un principe qui reste important même au 21ème siècle
Et ce challenge ne va pas me faire mentir !
En effet car ici c’est le Hint qui va nous mettre sur cette piste.
Ainsi on lance le petit tools pour l’analyse de fréquences ( dispo ici ), cependant on constate que tout ne marche pas, il suffit donc de relire le texte et de faire coïncider avec des mots réels ( anglais ).Une fois que le nouvel alphabet est sortit on utilise un petit tricks Linux pour replacer des caractères :

cat krypton4 | tr '[A-Z]' '[BOIHPKNQVTWGURXZAJEYSLDFPU]'

Et voila un nouveau flag : WELL DONE THE LEVEL FOUR PASSWORD IS BRUTE

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *