[ISITDTU 2018] Drill Write-up
이런 파일이 주어진다. 헥스값을 텍스트로 그대로 옮긴것같다. 다시 헥스값으로해서 넣어주자
1 2 3 4 5 6 7 8 9 | f = open("drill","r") drill = f.read() f.close() print(drill) f = open("drill_hex","w") f.write(drill.decode("hex")) f.close() | cs |
이렇게하면 된다. 조금 더 간단하게 하는 방법으로 $ xxd -r -p drill > drill_hex 를 커맨드로 실행해도 된다.
file로 보면 뭔가 나올 줄 알았는데... 그냥 data라고 합니다.
binwalk로 탐색해보니, zip파일의 끝이 발견되었습니다.
살펴보니 Zip파일의 헤더부분이 빠져있어, 추가해주었습니다. ("\x50\x4B\x03\x04")
압축을 풀려하니 패스워드를 대라길래; John The Ripper을 이용해서 풀어줫습니다.
첫번째 암호는 "brandon1"입니다.
그랬더니 499.zip이 나왔습니다...
예상으로는 499~0까지 zip이 있을거같아, 파이썬으로 자동화시켜 John The Ripper로 풀었더니
237.zip부터는 오류가 뜨면서 풀리지않습니다.
그래서 지금까지 나온 패스워드를 구글에 검색하여 Passwordlist를 얻을 수 잇었고, 이를 이용해서 풀었습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import os import string from subprocess import Popen, PIPE path = "/home/sherlock/workstation/crytoTool/JohnTheRipper/run/" password_list="" def john(zip): global password_list cmd = "/home/sherlock/workstation/crytoTool/JohnTheRipper/run/zip2john " cmd += zip cmd += " > zip.hash" os.system(cmd) cmd = "/home/sherlock/workstation/crytoTool/JohnTheRipper/run/john -w:passwordlist_ph4.txt zip.hash" popen = Popen(cmd, shell=True, stdout=PIPE) output, error = popen.communicate() password = (output.split("\n")[1]).split("(")[0].strip() password_list += ", "+password cmd = "rm /home/sherlock/workstation/crytoTool/JohnTheRipper/run/john.pot" os.system(cmd) return password cmd = "unzip -P " password = "brandon1" for i in range(237,0,-1): zip = str(i)+".zip" password = john(zip) os.system(cmd+password+" "+zip) #exit(1) print(password_list) | cs |
찾아보니 rockyou wordlist라고 패스워드 리스트가 따로 있더군여...
파일용량이 무려 130MB나 합니다.... 다운
아무튼 그렇게해서 마지막 0.zip의 압축을 풀면 아래와 같은 것들을 얻을 수 잇습니다.
key.png는 스테가노그래피로 key가 숨겨져있을 거 같습니다.
확실히! Stegsolve 를 이용해서 Red비트만 추출해보니 모스부호와 비슷한 것이 나왔습니다.
모스부호를 해독하면 "keyisonlyforluckyhunters"가 나오고, 이를 통해 zip압축을 풀고 flag를 얻을 수 잇습니다.
참고:
zsteg를 사용하면 더 간단합니다.
이건 다른 예시~
'Write-up > Misc (+ Forensic, Stegano)' 카테고리의 다른 글
[RITSEC2018] RIP writeup (0) | 2018.11.19 |
---|---|
[ISITDTU 2018] Play With ... Write-up (0) | 2018.07.30 |
[MeePwnCTF 2018] White Snow, Black Shadow (0) | 2018.07.16 |
RCTF 2018 Number Game, Bulls and Cows Solver (0) | 2018.05.21 |
난해한 프로그래밍 언어 (0) | 2017.08.01 |