HackCTF Write Up 19

HackCTF Forensics 잔상 Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제 파일을 다운로드하고 압축을 풀면 compare라는 이름을 가진 폴더가 하나 있습니다. compare는 비교하다라는 뜻을 가진 단어입니다. 어셈블리어에서의 CMP명령어가 compare의 약자입니다. 어쨌든 문제 폴더에 들어가 보겠습니다. 사진 파일 두 개가 있는데 차이가 없어 보입니다. 하지만 문제 폴더 이름부터가 compare였으니 HxD로 열어서 비교해보겠습니다. 물론 hex값 하나하나씩 눈으로 비교하는 것은 아니고, 위쪽에 있는 분석-데이터 비교-비교를 이용해서 쉽게 비교할 수 있습니다. 그렇게 hex값을 문자로 변..

HackCTF Misc 달라란 침공 Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제에 적힌 주소로 접속해보겠습니다. 달라란을 차지하는 것이 목표인 문제입니다. 1을 입력해보겠습니다. 이런 식으로 문제가 나오고 답을 맞히면 다음 문제가 나옵니다. 달라란 은행을 차지하기 위해서는 덧셈과 뺄셈 문제를 20문제 풀어야 합니다. 이제 보랏빛 요새를 공략해보겠습니다. 보랏빛 요새는 곱셈과 나눗셈 문제를 30문제 풀어야 합니다. 그렇게 문제를 풀고 있었는데 보랏빛 요새를 점거하는데 문제가 생겼습니다. ? 이건... 억울하군요. 그렇지만 달라란 침공을 포기할 수는 없습니다. 오늘, 우리는 되찾으리라. 우리의 달라란과..

HackCTF Misc QRCODE Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 일단 문제 파일을 다운로드해보겠습니다. QR코드가 하나 있습니다. 바로 QR코드 스캐너로 확인해보겠습니다. 그랬더니 QR코드를 인식할 수 없다고 합니다. QR코드를 검색해서 보니 꼭짓점에 있는 작은 사각형이 꽉 채워져있어야 한다는 사실을 알게 되었습니다. 사진을 수정하고 다시 인식시켜보니... 플래그가 나옵니다. 답:HackCTF{1t_w4s_4_g00d_1de4_t0_1nv3r5e}

HackCTF Misc Who am I? Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제를 읽어보니 누군가 x86 Instruction 회사에서 eip를 터트렸다고 합니다. 일단 eip는 명령이 실행되는 주소를 가리키는 레지스터의 한 종류입니다. eip를 터트린다는 것은 어셈블리어로 pop eip라고 생각됩니다. pop eip는 함수의 에필로그에서 사용됩니다. 함수의 에필로그는 스택 프레임이 사라지는 것이고 leave와 ret으로 구성되어 있습니다. leave mov esp, ebp pop ebp ret pop eip jmp eip 해석은 귀찮으므로 하지 않겠습니다. ret이 eip를 터트리는 것을 확인할 ..

HackCTF Misc BF Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제를 확인해보면 알 수 없는 특수문자들이 있습니다. 이때 저는 무언가가 떠올랐습니다. 그것은 심심해서 보던 난해한 프로그래밍 언어 중 하나인 "Brainfuck"이었습니다. 이름이 이름인지라 "BF"라고 줄여서 부르기도 합니다. 뭐 어쨌든 이 특수기호들이 BF라는 프로그래밍 언어라는 사실을 알았으니 실행시켜보자고요. 바로 플래그를 얻을 수 있습니다. 답:HackCTF{1'm_th1nk1n6_4b0ut_th3_vuln3r4b1l1ty_4n4ly515_pr0j3ct}

HackCTF Misc Baseball Price Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 들어가면 주소가 하나 있습니다. 터미널 프로그램으로 접속해줍니다. 간단한 문제가 나옵니다. 암산으로도 쉽게 풀 수 있지만 굳이 방정식을 세워서 풀어보겠습니다. x+y=1.10 y+1=x y+1+y=1.10 2y=0.1 y=0.05 x+0.05=1.10 x=1.05 야구배트는 1.05$, 야구볼은 0.05$가 됩니다. 값을 입력해주면 됩니다. 답:HackCTF{말랑말랑_두뇌교실}

HackCTF Forensics Terrorist Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제 파일을 다운로드하고 압축을 풀면 JPG파일이 있습니다. 열어주면 열리지 않습니다. HxD로 분석해보겠습니다. 헤더 부분이 딱 봐도 JPG의 헤더와는 다릅니다. 검색해보니 오디오 파일인 M4A 확장자의 헤더라는 사실을 알게 되었습니다. 확장자를 바꾸고 다시 열어보겠습니다. 들어보니 알아들을 수 없는 이상한 소리가 들립니다. 여러 가지 방법으로 분석해보다가 역재생을 하니 정상적으로 들립니다. "미션을 수행하는 요원들에게 알립니다. 다음 테러 목표 지점은 서울 남산타워입니다."라고 합니다. 답:HackCTF{서울남산타워}

HackCTF Forensics Magic PNG Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제 파일을 다운로드하고 압축을 풀면 PNG 파일이 하나 있습니다. 열어도 파일이 깨졌는지 열리지 않습니다. 이제 HxD로 파일을 분석해보겠습니다. HxD로 파일의 시그니처를 확인해보면 정상적인 PNG 파일의 헤더인 "89 50 4E 47 0D 0A 1A 0A"과 다른 것을 알 수 있습니다. 이 부분을 수정하고 저장한 뒤 다시 열어보겠습니다. 파일이 열리긴 하지만 여전히 깨져서 나오는 것을 확인할 수 있습니다. 일단 이 문제를 풀기 위해서는 PNG파일의 구조에 대해서 알아야 합니다. PNG의 파일 구조는 크게 파일의 기본적인..

HackCTF Forensics 나는 해귀다 Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제를 확인해보니 .ZIP파일을 하나 줍니다. 압축을 풀고 열어보겠습니다. hex값을 뒤집어 놓았다고 합니다. 사진이 정상적으로 보이는 것을 보니 아마도 숨겨진 사진이 있는데 그 사진의 hex값을 뒤집어 놓은 것 같습니다. 어쨌든 HxD로 열어보겠습니다. 보이는 것처럼 PNG의 헤더가 정상적으로 있는 것을 확인할 수 있습니다. 이제 PNG 파일의 헤더를 검색해서 숨겨진 파일이 있는지 확인해보겠습니다. 처음에 있는 PNG헤더만 검색이 되고 있을 것으로 추정되는 숨겨진 파일의 헤더는 찾아지지 않습니다. 숨겨진 파일의 형식이 PN..

HackCTF Forensics 세상에서 잊혀진 날 찾아줘! Write Up

https://ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz .PDF파일을 하나 줍니다. 일단 열어봅시다. "Exploit"이라고 적힌 사진이 하나 나옵니다. 이 사진을 없애야 플래그를 얻을 수 있는 것 같습니다. HxD로 열어서 PNG파일의 헤더인 89 50 4E를 검색해보았습니다. 찾을 수 없다고 하는 것을 보니 이 사진은 PNG파일이 아닌 것 같습니다. 이번에는 JPG파일의 헤더인 FF D8을 검색했더니 무언가가 찾아졌습니다. Exif라는 문자열이 보이는 것을 보니 이것이 JPG파일의 헤더가 맞는 것 같습니다. 이제 JPG의 푸터를 검색해보겠습니다. 이제 FF D8부터 FF D9..