분류 전체보기 68

패킹(Packing)에 대하여

패킹(Packing)이란? 패킹(Packing)은 실행압축이라는 뜻을 가지고 있습니다. 실행압축이란 말 그대로 압축을 푸는 과정 없이 바로 실행시킬 수 있는 압축방법입니다. 실행압축은 일반적인 압축인 ZIP, 7Z와는 다릅니다. 일반적인 압축은 파일의 확장자가 바뀌고 압축을 풀어야만 안에 있는 것을 실행시킬 수 있습니다. 하지만 실행압축은 파일의 확장자가 바뀌지 않고, 압축을 푸는 과정 없이 압축된 상태로 실행시킬 수 있습니다. 그 이유는 패킹된 파일은 파일 내부에 패킹 해제 코드를 가지고 있기 때문입니다. 패킹된 파일을 실행하는 순간 패킹 해제 코드를 실행시켜 프로그램 스스로 패킹을 해제하고 프로그램이 실행됩니다. 이렇게 파일을 패킹시키는 프로그램을 패커(Packer)라고 하고, 패커 중에서도 안티 리..

카테고리 없음 2021.11.03

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{말랑말랑_두뇌교실}

CodeEngn Basic RCE L08 Write Up

문제:OEP를 구하시오 Ex) 00400000 https://ch.codeengn.com/ CodeEngn.com [코드엔진] 코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다. ch.codeengn.com 일단 문제를 실행시켜보겠습니다. 평범한 계산기 프로그램으로 보입니다. 더 많은 정보를 얻기 위해 PEiD로 열어보겠습니다. UPX로 패킹된 것을 알 수 있습니다. 패킹에 대한 내용은 여기를 참고해주세요. https://brainfreeee.tistory.com/33 패킹(Packing)에 대하여 패킹(Packing)이란? 패킹(Packing)은 실행압축이라는 뜻을 가지고 있습니다. 실..

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의 파일 구조는 크게 파일의 기본적인..