Hacking&Security Workshop

ตอนนี้ MaYaSeVeN ได้ย้าย Blog ไปที่ http://blog.mayaseven.com


Thursday, September 29, 2011

CSAW CTF 2011 Crypto 1-10 Write-up




เฉลยหมวด Crypto ในงานแข่ง CSAW CTF 2011 ที่ผมมีโอกาสได้ร่วมแข่งด้วย เป็นการแข่ง CTF ครั้งแรกของผม :) ตอนแรกนึกว่างานแบบนี้จะเปิดให้แข่งแบบยาวๆ เลยคิดว่าหลังสอบจะมาทำต่อ แต่ดูไปดูกลายเป็นวันที่ผมสมัครไปแข่งนั้นเป็นวันสุดท้ายซะแล้ว ><"  โดยงานนี้ก็แข่ง Security&Hacking skills หลายๆด้านในรอบนี้มี 7 หมวดได้แก่
1.Exploitation
2.Web
3.Network
4.Crypto
5.Forensics
6.Reversing
7.Recon
เฉลยหมวดอื่นๆสามารถดูได้ที่ https://csawctf.poly.edu/writeups.php

Crypto 1-10

Crypto1 - 100 Points
Cipher text: 87 101 108 99 111 109 101 32 116 111 32 116 104 101 32 50 48 49 49 32 78 89 85 32 80 111 108 121 32 67 83 65 87 32 67 84 70 32 101 118 101 110 116 46 32 87 101 32 104 97 118 101 32 112 108 97 110 110 101 100 32 109 97 110 121 32 99 104 97 108 108 101 110 103 101 115 32 102 111 114 32 121 111 117 32 97 110 100 32 119 101 32 104 111 112 101 32 121 111 117 32 104 97 118 101 32 102 117 110 32 115 111 108 118 105 110 103 32 116 104 101 109 32 97 108 108 46 32 84 104 101 32 107 101 121 32 102 111 114 32 116 104 105 115 32 99 104 97 108 108 101 110 103 101 32 105 115 32 99 114 121 112 116 111 103 114 97 112 104 121 46

Ans : Dec ASCII  >>>> them all. The key for this challenge is cryptography.

Crypto2 - 100 Points
Cipher text: 54:68:69:73:20:69:73:20:74:68:65:20:66:69:72:73:74:20:6d:65:73:73:61:67:65:20:62:65:69:6e:67:20:73:65:6e:74:20:74:6f:20:79:6f:75:20:62:79:20:74:68:65:20:6c:65:61:64:65:72:73:68:69:70:20:6f:66:20:74:68:65:20:55:6e:64:65:72:67:72:6f:75:6e:64:20:55:70:72:69:73:69:6e:67:2e:20:49:66:20:79:6f:75:20:68:61:76:65:20:64:65:63:6f:64:65:64:20:74:68:69:73:20:6d:65:73:73:61:67:65:20:63:6f:72:72:65:63:74:6c:79:20:79:6f:75:20:77:69:6c:6c:20:6e:6f:77:20:6b:6e:6f:77:20:6f:75:72:20:6e:65:78:74:20:6d:65:65:74:69:6e:67:20:77:69:6c:6c:20:62:65:20:68:65:6c:64:20:6f:6e:20:57:65:64:6e:65:73:64:61:79:20:40:20:37:70:6d:2e:20:57:65:20:77:69:6c:6c:20:61:6c:73:6f:20:72:65:71:75:69:72:65:20:61:20:6b:65:79:20:74:6f:20:62:65:20:6c:65:74:20:69:6e:74:6f:20:74:68:65:20:6d:65:65:74:69:6e:67:73:3b:20:74:68:69:73:20:77:65:65:6b:1f:73:20:6b:65:79:20:77:69:6c:6c:20:62:65:20:6f:76:65:72:74:68:72:6f:77:2e

Ans :  Hex ASCII >>>> This is the first message being sent to you by the leadership of the Underground Uprising. If you have decoded this message correctly you will now know our next meeting will be held on Wednesday @ 7pm. We will also require a key to be let into the meetings; this week?s key will be overthrow.

Crypto3 - 100 Points
Cipher text: 0100110001100001011100110111010000100000011101110110010101100101011010110111001100100000011011010110010101100101011101000110100101101110011001110010000001110111011000010111001100100000011000010010000001100111011100100110010101100001011101000010000001110011011101010110001101100011011001010111001101110011001011100010000001010111011001010010000001110011011001010110010101101101001000000111010001101111001000000110001001100101001000000110011101100101011011100110010101110010011000010111010001101001011011100110011100100000011000010010000001101100011011110111010000100000011011110110011000100000011000100111010101111010011110100010000001100001011000100110111101110101011101000010000001110100011010000110010100100000011011010110111101110110011001010110110101100101011011100111010000101110001000000101010001101000011001010010000001101011011001010111100100100000011001100110111101110010001000000110111001100101011110000111010000100000011101110110010101100101011010110111001100100000011011010110010101100101011101000110100101101110011001110010000001101001011100110010000001110010011001010111001101101001011100110111010001100001011011100110001101100101001011100010000001001001011001100010000001110100011010000110010101110010011001010010000001101001011100110010000001100001011011100111100101101111011011100110010100100000011001010110110001110011011001010010000001111001011011110111010100100000011010110110111001101111011101110010000001101111011001100010000001110100011010000110000101110100001000000110110101100001011110010010000001100010011001010010000001101001011011100111010001100101011100100110010101110011011101000110010101100100001000000110100101101110001000000110101001101111011010010110111001101001011011100110011100100000011000100111001001101001011011100110011100100000011101000110100001100101011011010010000001110100011011110010000001110100011010000110010100100000011011010110010101100101011101000110100101101110011001110010000001110100011010000110100101110011001000000111011101100101011001010110101100101110001000000100100101110100001000000111011101101001011011000110110000100000011000100110010100100000011010000110010101101100011001000010000001110011011000010110110101100101001000000111010001101001011011010110010100101100001000000111001101100001011011010110010100100000011100000110110001100001011000110110010100101110

Ans :  Bin ASCII >>>> Last weeks meeting was a great success. We seem to be generating a lot of buzz about the movement. The key for next weeks meeting is resistance. If there is anyone else you know of that may be interested in joining bring them to the meeting this week. It will be held same time, same place.

Crypto4 - 100 Points
Cipher text: VGhhdCBtZWV0aW5nIHdhcyBhIGxpdHRsZSBjcmF6eS4gV2UgaGF2ZSBubyBpZGVhIHdoZXJlIHRob3NlIGd1eXMgaW4gdGhlIGJsYWNrIHN1aXRzIGNhbWUgZnJvbSwgYnV0IHdlIGFyZSBsb29raW5nIGludG8gaXQuIFVzZSB0aGUga2V5IGluZmlsdHJhdGlvbiBmb3IgbmV4dCB3ZWVrknMgbWVldGluZy4gU3RheSB3aXRoIHRoZSBjYXVzZSBhbmQgd2Ugd2lsbCBzdWNjZWVkLg==

Ans : Base64 >>>>That meeting was a little crazy. We have no idea where those guys in the black suits came from, but we are looking into it. Use the key infiltration for next week�s meeting. Stay with the cause and we will succeed.

Crypto5 - 200 Points
Cipher text: JR UNIR QVFPBIRERQ GUNG BHE YNFG GUERR GENAFZVFFVBAF JR'ER RNFVYL QRPVCURERQ. JR UNIR GNXRA PNER BS GUR CNEGL ERFCBAFVOYR SBE GURVE RAPBQVAT NAQ NER ABJ HFVAT N ARJ ZRGUBQ. HFR GUR VASBEZNGVBA CEBIVQRQ NG YNFG JRRX.F ZRRGVAT GB QRPVCURE NYY ARJ ZRFFNTRF. NAQ ERZRZORE, GUVF JRRX.F XRL VF BOSHFPNGRQ.

Ans : Caesar Cipher >>>> we have discovered that our last three transmissions we're easily deciphered. we have taken care of the party responsible for their encoding and are now using a new method. use the information provided at last week.s meeting to decipher all new messages. and remember, this week.s key is obfuscated.

Crypto6 - 200 Points
Cipher text: PYB DRO XOHD WOODSXQ LO CEBO DY ECO UOI WKXUSXN. DROBO RKFO LOOX CYWO QBOKD SNOKC PVISXQ KBYEXN YEB WOODSXQC KC YP VKDO. DRO KEDRYBSDI GSVV QY YFOB CYWO YP DROW DY COO SP DROI PSD SXDY YEB KQOXNK.

Ans : Caesar Cipher >>>> for the next meeting be sure to use key mankind. there have been some great ideas flying around our meetings as of late. the authority will go over some of them to see if they fit into our agenda.


Crypto7 - 200 Points
Cipher text: VAOZM HPXC YZGDWZMVODJI OCZ VPOCJMDOT CVN YZXDYZY OCVO OCZMZ DN JIZ DYZV RCDXC RZ RDGG OVFZ PK VN KVMO JA JPM XVPNZ. OJ CZVM HJMZ VWJPO DO, WZ NPMZ OJ VOOZIY OCZ IZSO HZZODIB, PNZ OCZ FZT BZIZMVODJI OJ BZO DI. OCZMZ DN HPXC KGVIIDIB IZZYZY OJ WZ YJIZ, WPO DA RZ XVI ZSZXPOZ OCZ KGVI RZ RDGG WZ AMZZY.

Ans : Caesar Cipher >>>> after much deliberation the authority has decided that there is one idea which we will take up as part of our cause. to hear more about it, be sure to attend the next meeting, use the key generation to get in. there is much planning needed to be done, but if we can execute the plan we will be freed.

Crypto8 - 300 Points
Cipher text: EKEMQ XI LEWI CIESQIH ULEU BVS USEQTPMTTMBQT ESI FIMQK PBQMUBSIH. ET E SITVCU XI ESI GLEQKMQK ULI IQGSDAUMBQ PIULBH EKEMQ. ULI QIX OID JBS QIYU PIIUMQK XMCC FI ABCDKBQ. MU MT MPAISEUMWI ULEU DBV ECC EUUIQH ECC PIIUMQKT JSBP LISI BQ MQ.

Crypto9 - 300 Points
Cipher text: XI VQHISTUEQH ULEU ULMT XMCC FI QB IETD UETO UB IYIGVUI EQH ULEU XI ESI ETOMQK E CBU JSBP ECC BJ DBV. WI HB QBU JEVCU EQD PIPFIST JBS CIEWMQK, XI ESI FIUUIS BJJ XMULBVU ULBTI XIEO CMQOT. ULI ACEQQMQK TUEKI MT QBX BWIS. ULI OID JBS BVS JMQEC PIIUMQK MT JEXOIT. SIEHD DBVSTICWIT. ULI UMPI LET GBPI JBS VT UB FI JSIIH.


Crypto10 - 300 Points
Cipher text: LQBN XBEE IG HWV EDNL LVDCNSBNNBHC. ZHW'MG DEE VGKGBMGO ZHWV DNNBPCSGCLN. BA ZHW DVG DIEG LH KHSTEGLG ZHWV LDNR VGTEZ IDKR LH WN WNBCP LQG RGZXHVO AVHS LQBN GCKVZTLBHC DEPHVBLQS DN ZHWV RGZ. JWNL VGSGSIGV LQDL LQBN BN DEE AHV LQG PVGDLGV PHHO.


Ans : สำหรับข้อ 8,9,10 ผมใช้วิธี Classic ที่ Turing ใช้ Break Enigma (อันนั้นซับซ้อนกว่าแต่แนวคิดคล้ายกัน)ก็คือการใช้หลักสถิติในการใช้ คำซ้ำ และความถี่ในการใช้ตัวอักษรซ้ำ ในตอนแรกผมคิดว่าจะเขียนโปรแกรมขึ้นมา Decrypt แต่แลดูมันจะใช้เวลานานเกินไปก็เลยหาโปรแกรมที่ทำงานในลักษณะคล้ายกันนี้ก็ได้ Tools Open Source มาตัวหนึ่งชื่อ Substitution Cipher Toolkit ซึ่งก็ลดงานลงได้เยอะเหลือเพียงแค่เขียน Script ดูดหนังสือมาทำ Statistics

#Script python ที่ใช้โหลดหนังสือมา 500 เล่ม
#!/usr/bin/env python
import urllib2
for i in range(1,501):
file = urllib2.urlopen("http://www.gutenberg.org/cache/epub/%s/pg%s.txt" % (i,i))
output = open("book",'wb')
output.write(file.read())
output.close()
print i

หลังจากโหลดหนังสือมาก็เอามาทำ Statistics และลองใช้โปรแกรม Crack ข้อ Crypto 8 ได้ผลคือ adain ce habe searney that o.r tranlmillionl are peind monitoreyg al a rel.st ce are Phandind the enPrfution methoy adaing the nec vef wor ne
t meetind ciss pe uosfdong it il imueratibe that fo. ass atteny ass meetindl wrom here on ing- 

จะเห็นว่า Tools นี้สามารถแกะได้เต็มแล้วบางคำและบางตัวอักษรก็อยู่ตรงตำแหน่งที่ถูกต้องแล้วแต่ยังไม่ครบทั้งคำ จากนั้นก็เอามาทำด้วยมือต่อ แต่ข้อหลังจากนั้นไม่ได้ใช้ Tools ตัวนี้แล้วมันช้าแล้วก็ยังได้ผลไม่เป็นที่น่าพอใจ ข้อที่เหลือก็เลยทำด้วยมือแทน

อัตราตัวอักษรที่ใช้ซ้ำบ่อยในภาษาอังกฤษ
Vigenère cipher เป็น Polyalphabetic substitution แบบหนึ่ง


Crypto 10 Decrypt ด้วยมือได้ this will be our last transmission. you've all received your assignments. if you are able to complete your task reply back to us using the keyword from this encryption algorithm as your key. just remember that this is all for the greater good.


Written by MaYaSeVeN 

Reference :
0.)https://csawctf.poly.edu/writeups.php
1.)http://www.poly.edu/csaw2011/
2.)http://illuminations.nctm.org/LessonDetail.aspx?id=L618
3.)http://en.wikipedia.org/wiki/Frequency_analysis