반응형
목요일, 19 11월 2020, 17:00 UTC — 토요일, 21 11월 2020, 19:00 UTC
[Crypto]
-Call
-Hidden
-Upside Down!!
-Not Only Images!!!
-Stages
-Not that easy!!
[Forensic]
-Malicious
-So easy
-Stealthy
-FIXTION
[Misc]
-Common
-Too Secret
[Crypto]
- 처음에 Hex값이 적혀있길래 ascii로 변환을 해보았지만 변환이 되지 않았다.
- "00110000910000FF2E547419646687CFA0F41CA4032993D321D5B8414D9BD348D1397C1293CE63C458753AB3915028B44901"
- 문제 제목이 call이여서 구글에 call에 관한 ctf문제를 찾아보던 중 SMS PDU decoder라는 사이트를 발견했다.
- Flag : JISCTF{SMS_ENCODING_FUNNY_!!!}
[Crypto]
- zip파일 안에는 위와 같은 이미지파일 한개가 들어있다.
- png파일이여서 zsteg로 확인해보니 flag가 나왔다.
- Flag : JISCTF{G00D_J0B_Y0U_EXTR4KT_N3!!!}
[Crypto]
- 아핀 암호 사이트에서 복호화를 해보니 바로 플래그가 나왔다.
- Flag : JISCTF{upside_down_english_characters_cryptography}
[Crypto]
- zip파일 안에는 wav음원파일이 들어있다.
- 음원을 들어보니 신호를 보내는 음이 들린다. 모스부호인 것 같아 디코딩을 해보았지만
- NOT-THE-FLAG-: ) 라고 나온다...............;;;;
- 스펙트로그램으로 바꾸어보니 위와 다른 모스부호가 있다.
- 하지만 간격이 일정하지 않아 플래그가 나오지 않는다.................ㅠㅠ
- 약간 바코드 형태인 것 같기도 하고...
[Crypto]
5sdk'6:+"*5sdk'5sdn)5sdn)5sdk'5sdk'5sdk(5sdn(5s[h(5sdn(6:!q)5sdn)5s[h(5s[h(6:!n'5sdk'6:!q)5sdk'5sdk'5sdn)5s[h(5s[h(5s[e&5sdk'6:*t(5s[h(5s[e&5sdk(6:!q(5sdn(5sdn(5sdn(5s[h'5sdk'5s[h(5s[h(6:!n'5s[h(5s[h'5sdk(5s[h'5sdk(5s[h(5sdn)5sdn)5s[h(5sdk(5sdk'6:!q)5sdk(5sdn)5s[h(5s[e&5s[h(5s[h(5sdk'6:+"*5s[h(5s[h'5sdk(5s[e'5sdn(6:!q)5sdk(5sdk(5s[h(5s[e&5sdk'6:!q(5sdn)5s[h(5sdk'6:+")5s[h(5s[e'5sdk'5sdn(5sdn)5s[e'5sdk(5s[h'5sdk'5sdn)5sdk(5sdk(5s[h(6:!n'5sdk(5s[e&5s[h(5s[h'5sdk(5sdn(5sdk'5s[e'5sdk(5s[e&5sdk'5sdk'5s[h(5sdk(5sdn)5sdn)5sdk(6:!n(5sdn(6:!q(5sdn(6:!n'5sdn)5s[h'5sdk(5s[h'5sdk'6:!n'5sdk'6:!q(5sdk'6:*t(5sdk(5s[e&5sdk'5s[h(5sdn(5sdn)5s[h(5sdn)5sdk'6:+"*5sdk(5s[e'5s[h(6:*t)5s[h(6:*t).
- crypto.dat파일을 HxD에서 열어보니 위와 같은 알 수 없는 문자열들이 있다.
- 비슷한 문자열을 ASCII85 복호화를 할 때 본 적이 있다.
- 디코딩을 해보니 A,B로만 이루어진 문자열이 나왔다.
- 바이너리로 바꾸어 디코딩하면 될 것 같다.
- A=0, B=1
0100111101000111011101000100010101100011011010110111001100111000010010110100010001110011001100000100110000110000010110100110011001100010010000110011100000110010010100100101001101110111001101010100101101010111001100000011001101001111001100100101000101101011010101010011000001001010011100110100111000110001010001100111000101010010010001110101010100111000010100000011001001010110010000010101000001000100001101010111011101011001011010100110100001110010010100100100100001001010010011000101000001000011011001110011011101001111010100010011110100111101
- Binary를 Ascii로 변환해보면 OGtEcks8KDs0L0ZfbC82RSw5KW03O2QkU0JsN1FqRGU8P2VAPD5wYjhrRHJLPCg7OQ==
- 문자열이 나온다.
- Base64 디코딩을 해보니 문제와 비슷한 형태의 문자열이 나왔다.
- 다시 Ascii85 디코딩을 해보았다.
- Flag : JISCTF{Multiple_Enoding_of_data_JISCTF}
[Crypto]
- T,F로 이루어진 문자열이다.
- 바이너리로 바꾸기 위해 메모장에서 T=0, F=1로 치환하였다.
010000110100001100011001001111010001000101111101110111010100110100010001011111011101110101001101111000010111110111011101010011011110000101111101110111010100110100010001011111011101110101001101111000010101110111011101010011010001000101111101110111010100110111100001011111011101110101001101111000010111110111010101010011011110000101011101110111010100110100010001010111011101010101001101000100010101110111011101010011010001000101111101110111010100110111100001011111011101010101001101000100010111110111011101010011010001000101111101110101010100110111100001011111011101110101001101101011110100111100010001010111011101110101001101000100010101110111011101010011011110000101011101110111010100110100010001010111011101110101001101000100010101110111010101010011011110000101111101110111010100110100010001010111011101110101001101111000010101110111011101010011011110000101111101110101010100110111100001011111011101110101001101111000010101110111011101010011010001000101111101110101010100110100010001011111011101010101001101111000010111110111010101010011011110000101111101110111010100110100010001010111011101010101001101000100010101110111011101010011010001000101111101110101010100110100010001011111011101110101001101101011110100111111100001011111011101110101001101000100010111110111011101010011011110000101111101110111010100110111100001011111011101110101001101111000010101110111010101010011010001000101111101110111010100110111100001010111011101010101001101000100010111110111011101010011010001000101011101110111010100110100010001010111011101110101001101000100010111110111011101010011010001000101011101110101010100110100010001010111011101110101001101111000010101110111011101010011010001000101011101110111010100110100010001011111011101110101001101000100010111110111011101010011010001000101011101110111010100110100010001011111011101110101001101.
- ascii로 변환할 수 없는 바이너리이다.. 0,1을 바꾸어 해봐도 안된다.
- 주어진 문자열을 거꾸로 바꾸어보았다.
f=open("D:/CTF/JISCTF2020/Crypto/9_Not that easy!!/my data.txt")
data=f.read()
print(' '.join(reversed(data)))
- F=0, T=1
010011010100010001000001011101110100110101000100010001010111011101001101010001000100000101110111010011010100010001000001011101110100110101000100010001010111011101001101010001000100010101111000010011010100010001000101011101110100110101010100010001010111011101001101010001000100000101110111010011010100010001000101011101110100110101000100010001010111011101001101010001000100000101110111010011010101010001000101011110000100110101000100010000010111011101001101010101000100010101111000010011010100010001000001011110000100110101000100010000010111100001001101010001000100000101110111010011010100010001000001011110000000110100001010010011010100010001000001011101110100110101010100010000010111011101001101010001000100010101110111010011010101010001000101011101110100110101000100010000010111100001001101010101000100000101111000010011010101010001000001011101110100110101010100010000010111011101001101010001000100010101111000010011010100010001000001011110000100110101010100010000010111100001001101010001000100010101111000010011010100010001000101011101110100110101000100010000010111100001001101010101000100010101110111010011010100010001000101011101110100110101000100010001010111100001001101010001000100010101110111010011010100010001000101011101110000110100001010010011010100010001000001011110000100110101010100010000010111011101001101010001000100000101110111010011010101010001000001011110000100110101000100010000010111011101001101010001000100010101110111010011010101010001000101011101110100110101000100010001010111100001001101010101000100000101111000010011010100010001000001011110000100110101000100010000010111011101001101010001000100010101111000010011010100010001000001011101110100110101000100010000010111100001001101010001000100000101111000010011010100010001000001011101110100110101000100010000010111011101000011011001110011110100111101
- base64 인코딩된 문자열이 나왔다.
- 디코딩을 해보니 또 바이너리가 나왔다.
000010000000010011010110000010010000111000111001001000001000100010110001101100100011001101011010001110010011010010001100000101000010110011101001000011000001001000000
- 여기서 쫌 오래 걸렸다.
- 바이너리가 아스키로 변환이 안된다.
- 갯수를 세어보니 5비트씩 끊어진다.
- 구글에 5 binary cipher라고 검색해보니 Bacon's cipher가 나왔다.
- Flag : JISCTF{BACONCIPHERISNOTGOODTOENCRYPTDATA}
[Forensic]
- HxD에서 주어진 docx파일 확장자를 zip으로 바꾸어 보니 image.png파일이 있다.
- 바코드 스캔하는 문제인 것 같다.
- Flag : JISCTF{B4RC0D3_1M4G3_2019}
[Forensic]
- 주어진 pcapng파일을 pcap으로 변경한 뒤 networkminer에서 열어보면 플래그를 발견 할 수 있다.
- editcap -F libpcap -T ether easy.pcapng easy.pcap
- Flag : JISCTF{V3RY_34SY_PC4P_F1L3}
[Forensic]
- Stealth라고 검색해보니 Stealth mode가 나온다.
- Stealth mode가 활성화되면 ICMP (ping)와 같은 예기치 않은 요청은 무시된다고 한다.
- pcapng파일을 보면 ICMP ping을 전송할 걸 볼 수 있다.
- ping [대상 ip]로 스캔이 가능하여 TTL 값을 알 수 있다.
- Linux = 64 Windows = 128 Cisco = 256
- 해당 OS - 홉수=TTL값이 된다.
- icmp.type==8 packet이 상대편 호스트로 전달되고, 상대편 호스트는 icmp.type== 0 packet을 송신측으로 재전송한다.
- icmp.type==8 packet의 ttl값이 좀 이상해서 이것만 모아서 보았다.
- 하나씩 내려가면서 하단의 Hex값을 확인하면 플래그를 알 수 있다.
- Flag : JISCTF{M4LW4R3_3XF1LT3R4T10N_US1NG_1CMP_TTL}
[Forensic]
- 주어진 zip파일안에는 png파일 파일이 들어있었다.
- HxD에서 확인해 보니 pk시그니처가 있어 zip으로 바꾸어주었다.
- zip파일에는 암호가 걸려 있었고, 그 안에 수많은 png파일이 존재했다.
- exiftool에서 pw경로를 알아냈고, pw는 MySup3rS3kr3tPwd2019이다.
- 압축을 풀면 수많은 png가 전부 qrcode이다...
- 겉보기에는 같은 qrcode이지만 Hex값은 다르다.
- 이 다음 어떻게 해야하는지 모르겠다.........;;ㅠ
[Misc]
- files.zip파일 안에는 txt파일이 두개가 있다.
- 겉보기에는 크기와 안에 내용이 같아보인다.
- 파일안의 문자열을 비교하여 다른점을 찾아내면 될 것 같다.
f1=open('D:/CTF/JISCTF2020/Misc/1_Common/files/file2.txt','r')
data1=f1.read()
f2=open('D:/CTF/JISCTF2020/Misc/1_Common/files/file3.txt','r')
data2=f2.read()
result = []
for i, j in zip(data1, data2):
if i != j:
print(j,end='')
result.append(j)
print('\n',result[::-1])
- Flag : JISCTF{s0m3_c0mm0n_dt4_b3t33n_tw0_f1l3s_jisctf_2019}
[Misc]
- 주어진 파일은 mp3파일이다.
- 들어보면 숫자를 말하고 있는데 약 3분정도 된다.
더보기
76835211776105651167683651167683481037610548117768365117736748116761054810376108571028849561177367521167367521177610552117736752103761085710288495611773675210376834811676836511676834811676105651177367531028849571027610565116736748116768348117736748116768365117768352117736753102761085611776105651178812153102761055275.
- 위의 사이트에서 음성을 텍스트로 변환해준다.
- 주어진 숫자는 10진수이다.
- ascii로 변환하면
- LS4uLiAtLSAtLS0gLi0uLSAuIC0tLi0gLl9fX18uIC4tIC4uLi4uIC4gLl9fX18uIC4gLS0tLSAtLS0tLiAuIC5fX19fLiAtIC0tLS0uIC0tLSAuLS4uIC5fLl8uLiAuXy5fLi4K
- base64로 디코딩하면
- -... -- --- .-.- . --.- .____. .- ..... . .____. . ---- ----. . .____. - ----. --- .-.. ._._.. ._._..
- 모스부호가 나왔지만 - _ 모양이 두개가 존재한다. - _를 바꾸어도 값은 변함이 없다.
- . - 를 서로 바꾸어 보았다.
- .--- .. ... -.-. - ..-. -....- -. ----- - -....- - .... ....- - -....- . ....- ... -.-- -.-.-- -.-.--
- Flag : JISCTF{JISCTF-N0T-TH4T-E4SY!!}
반응형
'#CTF 2020' 카테고리의 다른 글
Shakti CTF 2020 write up (0) | 2020.12.05 |
---|---|
JISCTF 2020 write up SQUARE_qrcode (0) | 2020.11.23 |
Sunshine CTF 2020 (0) | 2020.11.11 |
CyberYoddha CTF 2020 Write up (0) | 2020.11.02 |
Syskron Security CTF 2020 Write up (0) | 2020.10.26 |