/// WriteUp ASIS CTF FINALS 2013 — Crypto 116 — Circular Crypto

Visit link
10 Сен / 2013
Author: d1ment Tags: , , Comments: 0

Bookmark and Share

Description:
Find the flag. file


image
В этой задачей, мы должны были расшифровать несколько зашифрованных текстов, показанных на картинке. Извлечение четырех кругов (по часовой стрелке) от руки было очень долго.

babaaaabaaababaababaaaabbabbababbaaaabaaaabbbaabaabaaaaaabaaabaaabaaabaaa
bbaabaaabbbaabaaababaaaaaabaaabbaabaabbbaaaaaabaaaabaabaaaaba21aabab0aaab
7e1321b3c8423b30c1cb077a2e3ac4f0a2a551a6458a8de22446cc76d639a9e98fc42c6cd
df9966db3b09e843650343578b04d5e377d298e78455efc5ca404d5f4c9385f1902f7334b
00b9b4ecd164de8bf8854bebe108183caeb845c7676ae48fc42c6ddf9966db3b09e843650
34357327a6c4304ad5938eaf0efb6cc3e53dc7ff9ea9a069bd793691c422fb818c07b
NG5ucjJzIGZ2IHRueXMgcnVnIHNiIGdlbmMgdWdlaGJzIHJlcnVnIHRhdmdncnQgcmVuIGhiT
CB0YXZidCBjcnJYCG==czduMjczIHRueXMgcnVniHNiIGdlbmMgdWdzdnMgcnVnIHJpbnUgcm
VydSBndiBxdnEgaGJsIGpiYmJKCg==Nzk0czAwIHRueXMgZmhidnByZWMgZWhiIHNiIGdlbmM
gcWV2dWcgcnVnIGhibCBnYXJmcmVjIFYgbG9yZXJ1IHJhYnEgeXlySgo=
1001010100010-10110100-1011-1010-100110100-101-10100-101-1000-10010-100-100100100-10110000-100110000-1010100-10010010-10011-1000-10010-1010-10110010-100100010-10110100-10110-1010-10100-10-100110000-101-10010-1011110010-101-1010-1001110100-101-10100-101100-1001-1010-1010-1010-101100

Второй зашифрованный текст состоял из хешей MD5:

7e1321b3c8423b30c1cb077a2e3ac4f0 MD5: Here
a2a551a6458a8de22446cc76d639a9e9 MD5: is
8fc42c6ddf9966db3b09e84365034357 MD5: the
8b04d5e3775d298e78455efc5ca404d5 MD5: first
f4c9385f1902f7334b00b9b4ecd164de MD5: part
8bf8854bebe108183caeb845c7676ae4 MD5: of
8fc42c6ddf9966db3b09e84365034357 MD5: the
327a6c4304ad5938eaf0efb6cc3e53dc MD5: flag
7ff9ea9a069bd793691c422fb818c07b [ ??? ]

В этом CTF, флаги заданий начинались с «ASIS_». Зная это, мы могли бы грубой силой найти последний хэш:

import md5
for a in «abcdef0123456789»:
for b in «abcdef0123456789»:
if «7ff9ea9a069bd793691c422fb818c07b» == md5.md5(‘ASIS_’ + a + b).hexdigest():
print ‘ASIS_’ + a + b

Первая часть флага: ASIS_a9
Следующий текст декодируем base64:

4nnr2s fv tnys rug sb genc ugehbs rerug tavggrt ren hbL tavbt crrX
s7n273 tnys rugˆsb genc ugsvs rug rinu reru gv qvq hbl jbbbJ
794s00 tnys fhbvprec ehb sb genc qevug rug hbl garfrec V loreru rabq yyrJ

после пропустив через цезаря получим:

Keep going You are getting there fourth part of the flag is f2eaa4
Wooow you did it here have the fifth part of^the flag 372a7f
Well done hereby I present you the third part of our precious flag 00f497

Расшифровав три части, вот что получилось:

1. ASIS_a9
2. ??
3. 00f497
4. f2eaa4
5. 372a7f
6. c21f0d

Для решения этой задачи, хэш флага был 6307c5441ebac07051e3b90d53c3106230dd9aa128601dcd5f63efcf824ce1ba. Быстрый грубой силы в Python показал нам недостающие символы:


FLAG: ASIS_a9ec93f900f497f2eaa4372a7fc21f0d




/// There are no comments yet, but you can be the first

/// Leave a Reply

*

code


Sandbox © 2013