반응형

XOR 28

[Tenable CTF] One Byte at a Time - 포너블 / XOR

간단한 포너블 문제 풀이수가 401 이나 되는걸 보니 아주 쉬웠나보다. 별다른 설명없이 원격으로 접속할 수 있는 주소만 주어진다. nc 를 이용해 원격접속을 해보면 [flag]> 라는 프롬포터가 나오면서 사용자의 입력을 받는다. 그럼 사용자의 입력값이 플래그와 어느정도 일치하는지 검증한 후, 입력한 부분까지 일치한다면 플래그의 그 다음글자를 어떤 IPv4 주소의 랜덤한 부분과 XOR 한 결과를 알려준다. 일단 플래그 포맷이 flag{} 라는것을 알고 있기 때문에 맨 먼저 f 부터 입력해봤다. 여러번 반복해서 입력해본 결과 f 를 입력했을때 결과로 나오는 값은 0x1b, 0x6e, 0x7c 세 가지였다. 이 세 값이 f 다음글자인 l 과 XOR을 했을때 나오는 값은 0x77 0x02 0x10 세 가지이다...

CTF/포너블 2023.03.18

[CTFlearn] XOR Is Friend Not Food - 암호학

CTFlearn의 일흔 아홉번째 문제 암호학 카테고리의 Hard 난이도 문제인데 풀어보니 Hard는 아닌것 같다. 문제의 목표는 주어진 암호문인 \t\x1b\x11\x00\x16\x0b\x1d\x19\x17\x0b\x05\x1d(\x05\x005\x1b\x1f\t,\r\x00\x18\x1c\x0e 를 해독하는 것이다. 문제 제목에서 XOR 을 언급했으니 당연히 XOR 을 사용해야 할 듯 하다. 플래그가 ctflearn{ 으로 시작한다는 아주 중요한 힌트도 주어진다. CyberChef(https://gchq.github.io/CyberChe) 에서 우선 주어진 암호문을 From Hex 로 바꿔보았다. Output 을 보면 뭔가 결과가 제대로 나오지 않는 느낌인데 이건 중간중간에 인코딩된 문자열이 포함되어있..

워게임/CTFlearn 2023.03.10

[CTFlearn] MountainMan - 포렌식 / HxD / XOR

CTFlearn 의 일흔 네번째 문제 이번엔 Medium 난이도의 포렌식 문제이다. 문제 설명이 없었다면 어려울뻔 했는데 문제 설명때문에 아주 쉽게 풀 수 있다. 문제 설명을 보면 0xffd9 마커가 두개 있는것에 속지 말고, XOR 이 친구가 되줄거라고 알려준다. 이건 거의 뭐 풀이법을 다 알려준거나 마찬가지다. 우선 문제에서 주어지는 MountainMan.jpg 파일은 이렇게 생겼다. 해당 파일을 먼저 HxD 로 열어보았다. 맨앞이 FF D8 FF E0 로 시작하는걸 볼 수 있는데 FF D8 FF E0 로 시작하는것은 JPG 파일의 특징이다. 마찬가지로 JPG 파일은 FF D9 로 끝이 난다. 저 뒤에 더이상 데이터가 있으면 안되지만 문제 설명에서 언급했던 대로 FF D9 뒤에 약간의 데이터가 더 있..

워게임/CTFlearn 2023.02.27

[CTFlearn] ALEXCTF CR2: Many time secrets - 암호학 / XOR

CTFlearn 의 예순 다섯번째 문제 이번엔 Medium 난이도의 암호학 문제이다. 간만에 조금 생각해볼만한 문제가 나왔다. ALEXCTF 라는 대회에서 나왔던 기출문제를 그대로 가져왔나 보다. 문제 설명을 읽어보면 Fady 라는 사람이 one time pad 를 구현했는데 one time pad 에 대해서 정확하게 이해하지 못한 상태에서 만들었다고 한다. 플래그는 ALEXCTF{ 로 시작한다는 힌트도 같이 주어져 있다. 0529242a631234122d2b36697f13272c207f2021283a6b0c7908 2f28202a302029142c653f3c7f2a2636273e3f2d653e25217908 322921780c3a235b3c2c3f207f372e21733a3a2b37263b313012 ..

워게임/CTFlearn 2023.02.06

[CTFlearn] Help Bity - MISC / XOR

CTFlearn의 예순 네번째 문제 이번에는 MISC 카테고리의 Medium 난이도 문제이다. 난이도 자체는 Easy 인데 다른 의미로 어렵다.. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 읽어보면 Bity 가 가지고 있던 플래그를 Noty 가 망가트려버렸다고 한다. 이것을 복원하는걸 도와야 하는데, 기억나는 부분은 플래그의 맨 앞 4자리가 CTFL 로 시작한다는 것이라고 한다. BUGMdsozc0osx^0r^`vdr1ld| 위의 문자열이 문제에서 주어진 망가진 플래그이다. 문제는 허무할 정도로 쉽게 풀린다. CyberChef(https://gchq.github.io/CyberChef) 에서 XOR Brute Force 를 해보면 플래그가 바로 ..

워게임/CTFlearn 2023.02.03

[Cyber Security Rumble] Hashfun - 암호학 / XOR / Python

Hash 인듯 Hash 아닌 문제 조금 헷갈렸는데 어렵지 않게 풀 수 있었다. 문제를 보면 FLAG 를 되돌릴 수 있는 방법은 없을거 같다면서 파일을 하나 제공한다. from secret import FLAG def hashfun(msg): digest = [] for i in range(len(msg) - 4): digest.append(ord(msg[i]) ^ ord(msg[i + 4])) return digest print(hashfun(FLAG)) # [10, 30, 31, 62, 27, 9, 4, 0, 1, 1, 4, 4, 7, 13, 8, 12, 21, 28, 12, 6, 60] 주어진 파일의 내용은 파이썬 코드이다. secret 에서 FLAG 라는 값을 가져와서 hashfun(FLAG) 의 ..

CTF/암호학 2022.12.21

[2020CCE] Webpacket - 포렌식 / Wireshark / XOR

2020년에 진행되었던 국정원 주최 사이버공격방어대회 묵혀놨던 Write Up을 이제야 포스팅 해 본다. 이번에 풀이할 문제는 Webpacket 문제이다. 문제에서 주어지는 파일은 packet.pcapng 파일이다. pcapng 파일은 패킷 캡처 파일로 Wireshark 라는 도구를 이용해 열어볼 수 있다. 파일을 열어보면 이런 화면이 나온다. 패킷이 약 95,000개로 좀 많아서 어디부터 봐야하나 고민하다가 일단 File - Export Objects - HTTP 로 웹 접속흔적을 살펴보기로 했다. 들어가보니 여러 흔적들이 나오는데, 그중 유일하게 Hostname이 IP 주소로 되어있고, 포트도 80이나 443이 아닌 4423 이라는 이상한 포트를 사용하는 호스트를 발견했다. login.js 파일을 가..

CTF/포렌식 2022.10.30

[2020CCE] Simple Packet - 포렌식 / Wireshark / XOR

2020년에 진행된 국정원 주최 사이버공격방어대회 오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다. 당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다. Simple Packet 문제에서는 세 가지 파일이 주어진다. client.py / server.py / simple_packet.pcapng 파일이다. #!python3 from socket import * import sys def do_xor(data): key = b"\x10\x07\x19" return bytearray([data[i] ^ key[i%3] for i in range(len(data))]) if len(sys.argv) != 2: print('[-] usage : {}..

CTF/포렌식 2022.10.26

[SHELLCTF] Secret Document - MISC / XOR / HxD

간단한 난이도의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 해킹이라고 보긴 좀 뭐하고 해킹할때 쓰일수도 있는 잡다한 기술을 쓸수있는지 물어보는 문제이다. 문제 설명에 써있는 말이 이 문제를 풀 수 있는 열쇠이다. shell is the key if you did'nt get it xorry 파란색으로 표시한 부분이 잘 기억해야할 부분이다. shell 이라는 단어가 Key이고, xor 을 해아한다는 것을 직관적으로 알 수 있다. 문제에서 주어지는 파일은 Secret-Document.dat 파일이다. Secret-Document.dat 파일을 열어보면 특정 파일시그니처로는 보이지 않는 이상한 값들이 들어있는것을 확인할 수 있다. 아까 문제 설명에서..

CTF/MISC 2022.10.03

[SharkyCTF] SIMPLE - 리버싱 / 어셈블리어 / IDA

문제 제목처럼 간단한 어셈블리 리버싱 문제 문제의 목표는 프로그램이 1 을 리턴하도록 하는 적절한 입력값을 찾는 것이다. BITS 64 SECTION .rodata some_array db 10,2,30,15,3,7,4,2,1,24,5,11,24,4,14,13,5,6,19,20,23,9,10,2,30,15,3,7,4,2,1,24 the_second_array db 0x57,0x40,0xa3,0x78,0x7d,0x67,0x55,0x40,0x1e,0xae,0x5b,0x11,0x5d,0x40,0xaa,0x17,0x58,0x4f,0x7e,0x4d,0x4e,0x42,0x5d,0x51,0x57,0x5f,0x5f,0x12,0x1d,0x5a,0x4f,0xbf len_second_array equ $ - the_seco..

CTF/리버싱 2022.08.27
반응형