URL은 다음과 같다.

http://suninatas.com/challenge/web19/web19.asp

 

Game 19

0100111001010110010000110101010001000110010001000101 0110001000000100101101000110001000000100101001001100 0100010101011010010001010101001001001011010100100100 1010001000000101001001000101010101010010000001001011 01000110010101010101001001010000001000000101

suninatas.com


해결책

접속하면 일련의 이진수가 보인다. 8자리씩 잘라서 읽는 문제일 듯싶다. 

코드를 열심히 짜고 있었는데, 이거 번역해주는 사이트가 있더라

http://www.unit-conversion.info/texttools/convert-text-to-binary/

 

Convert text to binary - Converters

About Convert text to binary tool Convert text into binary. Computers store all characters as numbers stored as binary data. Binary code uses the digits of 0 and 1 (binary numbers) to represent computer instructions or text. Each instruction or symbol gets

www.unit-conversion.info

"NVCTFDV KF JLEZERKRJ REU KFURP ZJ R XFFU URP REU RLKYBVP ZJ GCRZUTKWZJMVIPYRIU"

라는 글이 나왔다. 대충보면 ROTATION암호인데, 돌려보면 될 거 같다. 

### 19.py

if __name__=="__main__" :
    raw = "NVCTFDV KF JLEZERKRJ REU KFURP ZJ R XFFU URP REU RLKYBVP ZJ GCRZUTKWZJMVIPYRIU"

    con = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    for i in range(26) :
        tra = con[i:]+con[:i]
        print(raw.translate(raw.maketrans(con,tra)))

출력은 다음과 같다.

NVCTFDV KF JLEZERKRJ REU KFURP ZJ R XFFU URP REU RLKYBVP ZJ GCRZUTKWZJMVIPYRIU
OWDUGEW LG KMFAFSLSK SFV LGVSQ AK S YGGV VSQ SFV SMLZCWQ AK HDSAVULXAKNWJQZSJV
PXEVHFX MH LNGBGTMTL TGW MHWTR BL T ZHHW WTR TGW TNMADXR BL IETBWVMYBLOXKRATKW
QYFWIGY NI MOHCHUNUM UHX NIXUS CM U AIIX XUS UHX UONBEYS CM JFUCXWNZCMPYLSBULX
RZGXJHZ OJ NPIDIVOVN VIY OJYVT DN V BJJY YVT VIY VPOCFZT DN KGVDYXOADNQZMTCVMY
SAHYKIA PK OQJEJWPWO WJZ PKZWU EO W CKKZ ZWU WJZ WQPDGAU EO LHWEZYPBEORANUDWNZ
TBIZLJB QL PRKFKXQXP XKA QLAXV FP X DLLA AXV XKA XRQEHBV FP MIXFAZQCFPSBOVEXOA
UCJAMKC RM QSLGLYRYQ YLB RMBYW GQ Y EMMB BYW YLB YSRFICW GQ NJYGBARDGQTCPWFYPB
VDKBNLD SN RTMHMZSZR ZMC SNCZX HR Z FNNC CZX ZMC ZTSGJDX HR OKZHCBSEHRUDQXGZQC

WELCOME TO SUNINATAS AND TODAY IS A GOOD DAY AND AUTHKEY IS P○○○○○○○○○○○○○○○○○

XFMDPNF UP TVOJOBUBT BOE UPEBZ JT B HPPE EBZ BOE BVUILFZ JT QMBJEDUGJTWFSZIBSE
YGNEQOG VQ UWPKPCVCU CPF VQFCA KU C IQQF FCA CPF CWVJMGA KU RNCKFEVHKUXGTAJCTF
ZHOFRPH WR VXQLQDWDV DQG WRGDB LV D JRRG GDB DQG DXWKNHB LV SODLGFWILVYHUBKDUG
AIPGSQI XS WYRMREXEW ERH XSHEC MW E KSSH HEC ERH EYXLOIC MW TPEMHGXJMWZIVCLEVH
BJQHTRJ YT XZSNSFYFX FSI YTIFD NX F LTTI IFD FSI FZYMPJD NX UQFNIHYKNXAJWDMFWI
CKRIUSK ZU YATOTGZGY GTJ ZUJGE OY G MUUJ JGE GTJ GAZNQKE OY VRGOJIZLOYBKXENGXJ
DLSJVTL AV ZBUPUHAHZ HUK AVKHF PZ H NVVK KHF HUK HBAORLF PZ WSHPKJAMPZCLYFOHYK
EMTKWUM BW ACVQVIBIA IVL BWLIG QA I OWWL LIG IVL ICBPSMG QA XTIQLKBNQADMZGPIZL
FNULXVN CX BDWRWJCJB JWM CXMJH RB J PXXM MJH JWM JDCQTNH RB YUJRMLCORBENAHQJAM
GOVMYWO DY CEXSXKDKC KXN DYNKI SC K QYYN NKI KXN KEDRUOI SC ZVKSNMDPSCFOBIRKBN
HPWNZXP EZ DFYTYLELD LYO EZOLJ TD L RZZO OLJ LYO LFESVPJ TD AWLTONEQTDGPCJSLCO
IQXOAYQ FA EGZUZMFME MZP FAPMK UE M SAAP PMK MZP MGFTWQK UE BXMUPOFRUEHQDKTMDP
JRYPBZR GB FHAVANGNF NAQ GBQNL VF N TBBQ QNL NAQ NHGUXRL VF CYNVQPGSVFIRELUNEQ
KSZQCAS HC GIBWBOHOG OBR HCROM WG O UCCR ROM OBR OIHVYSM WG DZOWRQHTWGJSFMVOFR
LTARDBT ID HJCXCPIPH PCS IDSPN XH P VDDS SPN PCS PJIWZTN XH EAPXSRIUXHKTGNWPGS
MUBSECU JE IKDYDQJQI QDT JETQO YI Q WEET TQO QDT QKJXAUO YI FBQYTSJVYILUHOXQHT
>>> 

 

중간에 보인다. 

 

URL은 다음과 같다.

http://suninatas.com/challenge/web18/web18.asp

 

Game 18

86 71 57 107 89 88 107 103 97 88 77 103 89 83 66 110 98 50 57 107 73 71 82 104 101 83 52 103 86 71 104 108 73 69 70 49 100 71 104 76 90 88 107 103 97 88 77 103 86 109 86 121 101 86 90 108 99 110 108 85 98 50 53 110 86 71 57 117 90 48 100 49 99 109 107 104

suninatas.com


해결책

접속하면 What is it이라는 문제 아래, 숫자들이 즐비해 있다.

으흠 숫자의 범위를 보니, ASCII안쪽의 범위라는 걸 알 수 있다. 해독 코드를 짜자 숫자들이 길어서 18.txt에 저장했다.

### 18.py

if __name__ == "__main__" :
    with open("18.txt","r") as f:
        dat = f.read().strip().split(" ")

    ans = ""
    for d in dat :
        ans += chr(int(d))

    print(ans)

결과는 다음과 같다.

VG9kYXkgaXMgYSBnb29kIGRheS4gVGhlIEF1dGhLZXkgaXMgVmVyeVZlcnlUb25nVG9uZ0d1cmkh

이건 문자의 범위를 봐서 base64 encoding되어있다고 본다.

### 18_2.py

import base64

if __name__ == "__main__" :
    with open("18.txt","r") as f:
        dat = f.read().strip().split(" ")

    ans = ""
    for d in dat :
        ans += chr(int(d))

    print(base64.b64decode(ans.encode()))

출력은 다음과 같다.

b'Today is a good day. The AuthKey is V○○○○○○○○○○○○○○○○○○○○○!'

 

URL은 다음과 같다.

http://suninatas.com/challenge/web17/web17.asp

 

Game 17

Ummm... QR Code is broken! Fix it!

suninatas.com


해결책

웹페이지에 들어가면 얼룩진 QR CODE를 얻을 수 있다.

다행히도! 정말 다행히도. 얼룩진 부분은 QR CODE에서 변하지 않는 부분이다. offset정렬을 위한 ▣이모양 3개 이기 때문에 그림을 복구하는 건 어렵지 않다. 최고의 복구 툴인 [GuRIMPAN]을 활용해서 복구하자

QR CODE 인식을 인식을 위한 홈페이지는 아래를 활용했다.

https://webqr.com/

 

Web QR

 

webqr.com

URL은 다음과 같다.

http://suninatas.com/challenge/web16/web16.asp

 

Game 16

Can you find the password for a member of SuNiNaTaS.com?

suninatas.com


해결책

역시 다운로드 페이지이다.

'SuNiNaTaS.com의 멤버 비밀번호를 찾을 수 있나요?"

라는 의미이다. Download버튼을 누르면 패킷 덤프를 다운로드할 수 있다. 네트워크를 분석하는 도구는 많고, 자신의 Protocol Analyzer를 만들어 쓰시는 분들도 계시겠지만, 가장 대중적인 WireShark로 문제를 해결해 보도록 하자

https://www.wireshark.org/download.html

 

Wireshark · Download

Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ AppResponse 11 • Full stack analysis – from packets to pages • Ric

www.wireshark.org

일단 어떤 프로토콜이 사용되었는지 확인하는것은 좋은 습관이다. statistic의 protocol hirealchy를 확인하자.

전체적으로 Hypertext Transfer Protocol(HTTP)가 사용되었다. 

검색창에 http 혹은 tcp.port == 80을 입력 후 스트림을 확인해보면 6번째 스트림에서 로그인 시도를 하는 POST 요청을 볼 수 있다. 4가지의 요청이 있는데, 3개는 응답이 로그인 실패로 나온다.(alert 등을 보고 알 수 있다.)

성공한 PW의 응답은 위와 같다.

해당 로그인 정보로 suninatas.com에 로그인하면, KEY를 얻을 수 있다.

 

URL은 다음과 같다.

http://suninatas.com/challenge/web15/web15.asp

 

Game 15

Do you like music? Hint : AuthKey is in this file.

suninatas.com


해결책

다운로드 페이지를 확인할 수 있다.

Play The Music버튼은 링크가 걸려있다. 

  • http://suninatas.com/challenge/web15/diary.mp3

들어가면 diary.mp3라는 노래를 발견할 수 있다.

diary.mp3
5.91MB

음성 안쪽에 Key를 숨기는 방법은 정말 다양한 방법이 있지만, 이번에는 꽤나 단순하게 숨겨져 있다.

 

위는 diary.mp3의 메타태그이다. 음악파일인 만큼, 여러 음악과 관련된 속성이 있는데, 이를 통해서 알 수 있었다.

URL은 다음과 같다.

http://suninatas.com/challenge/web14/web14.asp

 

Game 14

Do you know password of suninatas?

suninatas.com


해결책

들어가면 하나의 파일을 다운로드할 수 있는 페이지를 확인할 수 있다.

다운로드하면 evidence.tar라는 압축파일을 얻을 수 있다. 안쪽에는 shadow와 passwd가 있다.

* 모르는 분은 검색을 하고 오도록 하장.

패스워드를 복구하기 위한 툴은 역시 John the ripper이다. 

https://www.openwall.com/john/

 

John the Ripper password cracker

John the Ripper password cracker John the Ripper is an Open Source password security auditing and password recovery tool available for many operating systems. John the Ripper jumbo supports hundreds of hash and cipher types, including for: user passwords o

www.openwall.com

  • john passwd

명령어가 단순하다. shadow를 크랙 해보면 그리 길지 않은 길이로 suninatas의 패스워드를 구할 수 있다.

 

+ Recent posts