CTF/HackCTF 10

[Forensic] Let'S get it ! Boo*4

HackCTF의 마지막 문제입니다. 문제에 적혀 있듯이 LSB관련된 문제임을 바로 알았습니다. LSB에 대해서 간략하게 설명 하겠습니다. LSB는 Least Significant Bit의 약자로써 하나의 데이터 형에서 가장 낮은 위치의 Bit를 의미합니다. 반대로 하나의 데이터 형에서 가장 높은 위치의 Bit는 MSB라고 합니다. 그림을 통해서 쉽게 알아 보겠습니다. 일단 LSB의 위치는 가장 값이 작은 비트인 2^0에 위치하고 있는 것을 알 수 있습니다. 이 LSB의 값을 이용하여 해당 데이터 형에 들어있는 실제 숫자가 짝수인지 홀수인지 손쉽게 알아낼 수 있습니다. LSB는 프로그래밍 시 주로 난수발생 함수, 해시 함수, 검사합(Checksum) 함수 등에서 많이 쓰이고 있습니다. 왜냐하면 LSB는 값..

CTF/HackCTF 2022.03.30

[Forensic] 잔상

문제를 보겠습니다. zip파일을 다운 받고 압축을 풀면 2장의 사진이 나옵니다. 이렇게 보면 똑같이 생겼습니다..하지만 문제에 나와 있듯이 잔상...잔상...compare...을 생각해보니 두 사진을 비교를 해야 하는것을 알아냈고, hxd에디터에 compare기능을 한번 활용 해봤습니다. 경로는 다음과 같습니다. 경로 : [Analysis] - [Data comparison] - [compare] 기능을 써보니 먼가 값이 0x48, 0x61 ... 등등 아스키 값으로 Hack이란 글자를 볼 수 있었고, 다음과 같은 파이썬 코드를 짰었는데, 플래그 값이 정상적으로 출력 했습니다.

CTF/HackCTF 2022.03.30

[Forensic] Terrorist

문제를 보겠습니다. 7z파일을 다운받아서 7-zip으로 압축을 풀었습니다. 풀게되면 jpg파일이 하나 나오는데, hxd에디터로 열어보니 확장자랑 hex 값이랑 너무 달라서 칼리에서 file로 어떤 유형인지 확인해봤습니다. 명령어 실행 후, M4A 오디오 파일임을 알았습니다. M4A 오디오 파일이란? MPEG-4 오디오 파일입니다. 애플 iTunes Store에서 노래를 다운로드하면 m4a파일로 다운이 되며, 뒤에 ALAC/AAC-LC는 파일의 크기를 줄이기 위한 인코딩 방식입니다. ALAC(Apple Lossless Audio Codec), AAC(Advanced Audio Coding) 문제로 넘어가서 확장자를 m4a로 바꾸고 실행시키면 소리가 나오는데, 소리가 뒤집어 져 있는 상태로 플레이가 되어 있..

CTF/HackCTF 2022.03.30

[Forensic] Magic PNG

문제를 보겠습니다. zip파일을 다운받고, 압축을 풀면 png파일이 하나 주어집니다. 열어보면 깨진 png파일임을 알 수 있었습니다. hxd에디터로 열어보니 헤더 시그니처가 손상되어 있음을 알 수 있었고, 정상적인 헤더 시그니처로 수정 했습니다. 수정하여 사진을 다시 열어보니 열리기는 하는데 사진이 많이 잘려있습니다. 흠...이렇게 되면 나머지 부분도 수정을 해줘야해서 png구조를 따라 가봤습니다. 1. IHDR : PNG 파일 가장 앞에 위치. 1개 존재 2. IDAT : 실제로 이미지 데이터. 데이터를 적절한 사이즈로 나누어 전송. N개 존재 3. IEND : 이미지의 맨 뒤에 위치. 1개 존재 모두 검색을 해보니 IDAT에서 1개만 소문자로 idat인것이 확인 되었습니다. 그래서 IDAT으로 변환시..

CTF/HackCTF 2022.03.30

[Forensic] 나는 해귀다

문제를 보겠습니다. zip파일을 다운 받아서 압축을 풀면 png파일이 하나 있습니다. 실행을 시키면 다음과 같습니다. hex값을 뒤집어 놓았다..? 그래서 hxd에디터로 열어보니 정말로 뒤집어 져 있었습니다. 그래서 이 문제는 반전을 시킨 hex값을 원래대로 해주기만 하면 되는구나 싶어서 다음과 같이 반전을 해주는 코드를 짰습니다. 위 9번줄 까지는 파일을 반전하여 새로운 png파일로 만들어 주는 과정을 담았고, 후에 나온 png파일에 있는 사진도 반전이 되어 있던 상태이기 때문에 15 ~ 18번 줄까지 추가로 붙혀줬습니다. 저렇게 코드를 입력하시면 제대로된 플래그를 찾을 수 있습니다.

CTF/HackCTF 2022.03.29

[Forensic] 세상에서 잊혀진 날 찾아줘

문제를 보겠습니다. pdf파일을 다운 받아서 실행을 시켜 보면 다음과 같은 사진이 나옵니다. 사진만으로는 문제의 의도를 파악하기 힘들어 혹시나 또 카빙을 해야하나 싶어서 hxd에디터로 열어보니 별 문제가 없었습니다. 그래서 고민을 하던 찰나에 사진을 두리번 거리면서 커서를 왔다 갔다 했는데 먼가 수상한 것이 커서에 잡혔습니다. 해당 영역에서 커서가 화살표가 아니라 I 커서로 변하여 어떤 문자가 숨어져 있다고 생각하여 드래그를 하여 복사를 했더니 플래그 값을 찾을 수 있었습니다.

CTF/HackCTF 2022.03.29

[Forensic] Secret Document

문제를 한번 보겠습니다. 주어진 파일을 다운 받아서 열어 보겠습니다. txt파일 3개가 있는데 flag.txt, hint1.txt, hint2.txt가 있습니다. 그런데, 3개의 파일 중 flag.txt만이 *이 있는것을 알 수 있습니다. zip 파일에서 *은 암호가 걸려 있다는 뜻입니다. 근데 hint1과 2는 암호가 없으니까 한번 열어 보겠습니다. 해석을 하자면 패스워드가 존재한다고 생각하니?? 와 Brute-Force(무차별 대입 공격)은 하지말라는 것입니다. 결국엔 툴을 사용하지 않고 패스워드를 풀 수 있다는 것입니다. 자세한건 zip 구조 링크를 달아드릴테니 읽어보시길 바랍니다. 바로 설명을 하자면, zip구조에서는 암호가 걸려 있지 않아도 걸려있다고 할 수 있는 방식이 존재합니다. 그래서 위 ..

CTF/HackCTF 2022.03.29

[Forensic] So easy?

문제를 보겠습니다. 주어진 파일을 다운로드 받아서 열어보니까 qwer.jpg 파일을 볼 수 있었습니다. 추측을 해본 결과 qwer.jpg 파일을 가지고 플래그 값을 찾는 형식인 것 같습니다. 그림의 형태로 보아 오뚜기 인형같이 큰거안에 작은게 들어있는 형식인 것 같아서 혹시나 하는 마음에 jpg 파일을 hxd 에디터로 열어서 jpg 푸터 시그니처인 FF D9를 입력해봤습니다. 입력 결과 다음과 같이 나왔습니다. 그림을 보시면, 푸터 시그니처 뒤에 가짜 플래그와 그 뒤에 PK로 시작하는 ZIP 시그니처가 보여서 jpg안에 숨겨진 ZIP파일이 있음을 알 수 있었고, 카빙을 진행하여 zip 확장자로 만들어 주니까 플래그 값을 구할 수 있었습니다.

CTF/HackCTF 2022.03.29