수요일, 21 10 2020, 00:00 UTC — 월요일, 26 10 2020, 00:00 UTC
The 2020 Syskron Security CTF event is a free online cyber security competition for everyone. This year's CTF event features an original background story! You act as a cyber security professional, working for a Czech manufacturing company. |
[Trivia]
- Vulnerable RTOS
- Security Framework
- Deadly Malware
- Check Digit
[Monday]
- Security Headers
- Redacted news
[Tuesday]
- Bash history
- Change
- Leak audit
[Wednesday]
- Screenshot
[Thursday]
- Security Advisory
[Trivia]
- 주어진 문제를 그대로 구글에 검색해보았다.
- Flag : syskronCTF{URGENT/11}
- 문제를 그대로 구글에 검색하여 이미지를 살펴보니 아래와 같은 약칭이 나왔다.
- Flag : syskronCTF{ID-PR-DE-RS-RC}
- 문제를 그대로 검색하면 첫번째에 바로 멀웨어 이름이 나온다.
- Flag : syskronCTF{Triton}
- IMEI numbers, credit card numbers, UIC wagon numbers를 check digit와 관련지어 검색해 보면 flag가 나온다.
- Flag : syskronCTF{ISO/IEC-7812}
[Monday]
- 문제에서 주어진 사이트에 접속하여 개발자 도구에서 네트워크를 보면 빈 페이지가 나온다.
- 사이트에 아무 버튼을 클릭해보면 여러가지가 실행되는 걸 볼 수 있다.
- 그 중 Name에서 해당 사이트 URL을 눌러보면 Headers에서 flag를 볼 수 있다.
- Flag : syskronCTF{y0u-f0und-a-header-flag}
- 주어진 png파일을 열어보면 중간에 비어 있는 부분이 있다.
- Stegsolve로 확인해보면 바로 flag가 나온다.
- Flag : syskronCTF{d0-Y0u-UNdEr5TaND-C2eCh?}
[Tuesday]
- strings 명령어로 파일을 확인해 보면 중간중간 base 64 인코딩되어 있는 문자열을 볼 수 있다.
- 하나씩 디코딩 해보았다.
- flag 형태가 보인다.
- 중간에 xYTjBNR3hsTFdGc2JDMUVZWFJoSVNGOQ== base64 인코딩된 형태가 있지만 디코딩해보면 알 수 없는 문자열이 나온다.
- 문자열을 여기저기 합쳐서 디코딩을 해보았다.
- flag 형태가 나오긴 전 문자열과 디코딩이 되지 않은 문자열을 합쳐보니 아까보다 좀 더 긴 문자열이 나왔다.
- 나온 문자열을 한 번 더 디코딩해 보았다.
- Flag : syskronCTF{tHey-st0le-all-Data!!}
주어진 jpg 파일만 보고는 알 수 있는 게 없어 HxD로 살펴보았다.
Exif가 나오길래 exiftool로 확인해보았다.
- Copyright를 보면 코드가 적혀있는 걸 볼 수있다.
- 줄바꿈 없이 적힌 코드여서 java script 디코딩을 해보았다.
Online PHP Javascript Script Decoder | Quttera
malwaredecoder.com
- 실행해보려고 했지만 오류가 너무 많다...........;;
- exiftool에서 본 코드를 웹에서 바로 실행시켜보았다.
JSFiddle - Code Playground
jsfiddle.net
- Flag : syskron{l00k5l1k30bfu5c473dj5}
- db파일이 주어져서 sqlite3로 열어보았다.
- 테이블은 총 2개이다.
- How many employee records are in the file? 376
- Are there any employees that use the same password? man6geiVoo
- 두번재 질문까지는 sql문으로 해결이 가능하다.
bcrypt - Wikipedia
bcrypt is a password-hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher and presented at USENIX in 1999.[1] Besides incorporating a salt to protect against rainbow table attacks, bcrypt is an adaptive function: over
en.wikipedia.org
- bcrypt는 문자열 길이가 정해져있다. 60자 정도 되는 것 같다.
- How many records are protected with bcrypt? 21
- Flag : syskronCTF{376_man6geiVoo_21}
[Wednesday]
- 스크린 샷에 유용한 무언가가 있다고 한다.
- 처음에 주어진 이미지만 뚫어져라 보았는데 아무것도 나오지 않았다.
- 이미지 파일이니까 Stegsolve로 확인해보았다.
- Green plane 0에서 스크린샷에 없던 화면이 나왔다.
- 하단에는 "This is more interesting." 이라고 적혀있고 가운데에 흰색 픽셀이 있다.
- 이걸 바이너리로 표현한 다음 문자열로 바꾸면 flag가 나올 것 같다.
from PIL import Image
f=Image.open("D:/CTF/Syskron Security CTF 2020/Wednesday/Screenshot/solved1.bmp")
for i in range(f.size[0]):
for j in range(f.size[1]):
pixel=f.getpixel((i,j))
if pixel == (255,255,255):
print(i,j,pixel)
- 먼저 흰색 구간을 찾아보았다. 너비는 800, 높이는 207까지 나온다.
- 처음에 흰색을 0으로 두고 했다가 이상한 문자열이 나와 한참 헤멨는데 결론적으로 흰색은 1, 검은색이 0이다.
from PIL import Image
img=Image.open("D:/CTF/Syskron Security CTF 2020/Wednesday/Screenshot/solved1.bmp")
result=""
for x in range(img.size[0]):
byte = ""
for y in range(208):
pixel=img.getpixel((800,y))
if pixel== (255, 255, 255):
byte+='1'
else:
byte+='0'
print(byte)
for i in range(0,len(byte),8):
result+=chr(int(byte[i:i+8],2))
print(result)
- Flag : syskronCTF{s3cr3T_m3sS4g3}
[Thursday]
- Exiftool로 확인해보았다.
- Creator에 헥스값이 적혀있다.
- here you go 라면서 문자열을 주었다.
- um........... base64 디코딩이 되지 않는다............ 메타데이터......?
- 다시 pdf파일을 한 줄씩 읽어보았다.
- pdf를 보면 Blowfish가 적혀있다.
- Blowfish는 대칭키 암호화 알고리즘 중 하나라고 한다.
- 2페이지에 hex값처럼 생긴 문자열이 8개가 있다.
- cyberchiper사이트에서 blowfish 디코딩을 해보았다.
CyberChef
gchq.github.io
- 대칭 알고리즘을 디코딩을 하려면 key와 IV가 필요하다.
- key와 iv는 8bytes씩 이라고 한다.
- 아까 hex값을 디코딩해서 나온 "2ZdkKTtprGddHh33"가 16bytes이니까 반씩 나누어 key와 iv에 넣어보았다.
- Input에는 아까 나온 8개의 hex값 중 첫번째 것을 넣어 보았다.
- 오.... flag 앞부분이 나왔다.
- 2ZdkKTtprGddHh33는 base64가 아니라 utf-8이다.
- 8개의 문자열을 모두 input에 넣고, Mode를 OFB로 바꾸었다.
- blowfish와 OFB mode에 대해서는 다시 알아봐야겠다....
- Flag : syskronCTF{you-Just-anaLyzed-your-1st-advisorY}.
'#CTF 2020' 카테고리의 다른 글
Sunshine CTF 2020 (0) | 2020.11.11 |
---|---|
CyberYoddha CTF 2020 Write up (0) | 2020.11.02 |
Hacktober CTF 2020 writeup (0) | 2020.10.18 |
제 2회 TeamH4c CTF Write up (0) | 2020.10.11 |
CCE 2020 예선 #Crypto - [중]easy rsa (0) | 2020.09.29 |