728x90

정보보안 공부/CTF(해킹) 24

[withCTF] 저는 당신의 생각을 알고 있습니다. + exif 정보

저는 당신의 생각을 알고 있습니다. 왜 제가 중요한 모든 데이터를 이미지에 저장합니까? 당신의 업무에 집중하셔야 합니다. 그냥 정보만 알려주시겠습니까? Hint :플래그는 이미지 어딘가에 분명히 eXist합니다. 디코딩 결과 ASCII 코드의 힌트 발견 now_youre_thinking_with_exif →exif가 뭘까 The flag you're looking for is in another property... → flag 는 다른 곳에 있다는게 무슨 말일까 exif 정보란? 디지털 카메라 등에서 사용되는 이미지 파일 메타데이터 포맷으로, 카메라가 촬영한 사진, 녹음파일에 시간 등의 각종 정보를 담기 위해 개발되었다. 즉, JPEG, TIFF 6.0과 RIFF, WAV 포맷에 이미지나 소리에 대한 ..

[withCTF] Wota + Zip 내부 구조, Base64 인코딩

Hint : Password : Nz3#s)2=1@./AS|\sas;192Sljd!*&^ 문제에서 제공된 파일을 압축해제 하려고 하니 이런 오류가 발생했다. 해당 오류가 발생하는 이유를 찾아보니 “잘못 구성된 시스템 파일로 인한 레지스트리 오류 및 손상”라고 한다. 파일 안에 다른 파일이 숨겨져 있거나 인코딩 과정에서 필요없는 부분을 삭제/변경 하면 될 것 같다는 생각이 들었다. PK 어쩌구면 zip 파일 왜 zip 헤더는 두 개인데 푸터는 하나지? zip 파일의 헤더는 두 개인데 푸터는 하나만 있다는게 마음에 걸린다. 따라서, 전체의 파일 디코딩에서 zip 파일의 푸터인 50 4B 05 06 만 추가해 새로운 zip 파일로 만들었더니 안에 들어있는 jpg 파일을 보기 위해서는 또 다른 암호가 필요하다...

[withCTF] Find Key(moon)

이미지 값을 조정해서 플래그를 찾는건 이제 안 나올 거 같아서 먼저 HxD로 파일을 열어 헤더와 푸터를 살펴보았다. PNG 파일이기에 89 50, 49 45 로 시작하고 끝나면 되는데 이상하게도 PNG 파일의 푸터 뒤에 추가로 값이 존재했다. 심지어 decoded text에 보이는 flag.txt 까지! 파일 시그니처를 검색해보니 ZIP 파일 안에 txt 파일이 압축되어 있는 것 같았다. 해당 offset 부분을 복사한 후 파일 확장자를 .zip으로 바꾸니 새로운 파일이 생성되었다. 압축 해제를 위한 암호는 moon 예상한 대로 txt 파일이 존재했고 그 안에 flag 값이 적혀있다. flag = sun{0kay_it_is_a_m00n}

[with CTF] 이 그림에는 뭔가 좀 수상한...

이미지 분석과 HxD에서 flag를 찾아보았지만 딱히 이상한 점이 없었다. 그럼 다음 할 일은 파일 시그니처를 분석하는 것! 이 파일의 확장자는 PNG이고 자주 나오는 파일 시그니처는 다음과 같다. (참고) 사진 하나에 PNG 뿐만 아니라 다른 시그니처 값이 존재하는지 확인해보면 JPEG의 헤더값이 존재함을 알 수 있었다. 파일 안에 들어있는 파일을 열람하는 방법은 JPEG 파일 헤더부터 JPEG 파일 푸터까지를 복사하여 생성하면 된다! HxD 툴에서 시작 offset과 끝 offset을 지정하는 기능을 이용해 새 파일을 생성 후 파일 확장자를 .jpeg로 바꾸면 flag 값이 적힌 사진을 확인할 수 있다. Flag = ABCTF{PNG_S0_COO1}

[withCTF] 계속 주시해라!

그림 파일임에도 포렌식 툴로 살펴보았을 때 아무 flag도 발견하지 못 했다. 파일의 시그니처 값으로 접근해보면, 이 파일은 jpg 파일이고 jpg 파일의 헤더는 FF D8, 푸터는 FF D9이다. HxD로 파일의 값을 살펴보니 파일의 헤더와 푸터 그 이후에 문자열 처럼 보이는 값이 존재하고 이것이 flag임을 알 수 있다. flag = 16bbee7466db38dad50701223d57ace8

[withCTF] 우리는 이 파일에 플래그를...

힌트를 보니 “우리는 이 파일에 플래그를 넣었지만 오는 길에 뭔가 엉망이 됐어요.” 에서 인코딩 과정중 망가졌거나 파일 속성이 잘못됐음을 짐작할 수 있었다. flag 파일을 다운받아 .png와 jpg 파일로 확장자를 변경해보았지만 flag값을 찾지 못했고 마지막으로 zip 으로 압축해 파일을 열어보니 flag값을 찾을 수 있었다. ABCTF{broken_zipper} 추가 풀이 HxD를 통해 초기 flag 파일의 헤더를 확인해보면 1F 8B 08 …gz라는 것을 알 수 있음 따라서 확장자를 zip으로 변경하고 해제하면 flag값 획득 가능

728x90