Dans le cadre du CTF « open to all »  : http://ctf2.opentoall.net/

Dans la catégorie MISC pour  200 points :

La seule indication en notre possession pour ce challenge est une IP ainsi qu’un numéro de port :

 104.131.107.153 : 12121

Une connexion avec un simple Telnet nous renvoie le message suivant :

Hey dude, can you help me with my math homework? I have a few addition problems to do…
You have 10.000000 seconds to solve this problem: 714 + -479

Read More →

Pièces jointes

Mobius-Strip[1]

Après épluchage des quelques 60 propositions qui nous sont parvenues, voici le script vainqueur du while not challenge (proposé par perdu):

file = open('/dev/random')
file.read()

Les slides de la présentation des résultats (présentation des différentes idées reçues): ici

L’intégralité des propositions reçues: ici

Merci à tous pour votre participation !

Pièces jointes

Hier, quelqu’un m’a dit: « C’est étrange, mon programme python ne termine pas alors qu’il n’y a pas de while« . Bon, le fait est qu’il y avait un while ET qu’il a tout de même fini par terminer. Mais ça m’a amené à me demander s’il était possible de faire un programme sans while qui boucle infiniment en python. J’ai cherché un peu, et j’ai fini par trouver une solution, mais je pense qu’on peut trouver plus élégant. Je propose le challenge suivant :

Sujet: Ecrire, en python, un programme qui boucle infiniment SANS utiliser l’instruction while.

Dead Line: Jeudi 29/01/15 à 17h
/!\ LE CHALLENGE EST PROLONGÉ JUSQU’À VENDREDI 30/01/15 à 18h

Soumissions: à francky.dg@gmail.com

Prix: Un superbe poster de grehack 2013 !

Note: Un programme qui tourne une minute et qui crash une MemoryError par exemple ne sera pas accepté.

Les soumissions répondant à la consigne seront départagées selon leur élégance et leur originalité.
J’ajoute qu’une solution n’utilisant pas l’instruction for (par ailleurs autorisée) serait très fortement valorisée.

NOMBRE DE SOUMISSIONS: 67 (màj 30/01/15 18:00)
NOMBRE DE PARTICIPANTS DISCTINCTS: 38 (màj 30/01/15 18:00)

CLOTÛRE DES SOUMISSIONS

Les résultats ainsi que les diverses propositions reçues seront publiées dans le courant de la semaine prochaine.

Un autre challenge du Hack.lu, « Cryptochief » de la catégorie reverse.

Challenge

Lucky,
everybody knows you can shoot faster than your shadow, but can you also reverse and break this crypto before your shadow finds out the secret? To give you some kind of challenge, I encrypted the file with the 256 bit fullbit encryption by cryptochief (original), good luck with cracking that! I’ll give you one hint, though; the md5 sum of the decrypted file is 2aa0ce19d626a687517255f68e4e7640. Download

Dans l’archive, nous avons deux fichiers : un PE nommé « cryptochief.exe » qui permet de chiffrer et déchiffrer des fichiers et le flag chiffré contenu dans le fichier « secret.krypto« . Il va falloir déchiffrer ce fichier !

cryptochief

Reverse

Il n’y a que deux fonctions détectées, des sections qui commencent par « UPX » et le code qui commence par « pushad » : UPX !

Read More →

Genèse de l’idée:

J’étais en train d’écrire un programme python qui demande une série d’inputs à l’utilisateur. Quand celui-ci en a marre, il fait CTRL+C. Ça ressemblait à ça:

Une trace d’exécution donne donc ça:

Word to test: aba
aba is rejected.
Word to test: abab
abab is accepted.
Word to test: abbbbbbb
abbbbbbb is accepted.
Word to test: abbbabababababba
abbbabababababba is rejected.
Word to test: abababababbababab
abababababbababab is accepted.
Word to test: ^CTraceback (most recent call last):
File "./poc.py", line 18, in <module>
ab.interactive_query()
File "/Users/degoerdf/workdir/automata/automata.py", line 98, in interactive_query
word = raw_input("Word to test: ")
KeyboardInterrupt

Et puis je me suis dit qu’il serait amusant de rattraper l’exception KeyboardInterrupt, et de relancer interactive_query à chaque fois. Comme ça, plus moyen de s’en sortir avec CTRL+C.

Read More →

Voici la correction du CTF de rentrée 2014.

1ère étape

Le code inséré dans l’image est du code binaire. Il faut le transformer en assembleur pour pouvoir l’exploiter. Pour cela, on va utiliser un désassembleur. J’ai utilisé OnlineDisassembleur, qui a l’avantage d’être un site Internet donc disponible depuis n’importe quelle plateforme. Voici son URL : http://www.onlinedisassembler.com/

On récupère alors le code assembleur généré et on le stocke dans un fichier .asm

Read More →

Pièces jointes