ctf 10

[Dreamhack] BMP Recovery Write-up

1. BMP Recovery2. Explanation디지털 포렌식을 공부하며 처음하였던 것이 각 파일 구조를 기반으로 바이너리 데이터를 분석하는 것이었기에 이 문제를 보고 자신있게 시작했던 기억이 난다. 아무튼 우선 chal.py를 열어서 코드를 분석한다. flag.bmp 파일을 열어서 data에 해당 파일의 바이너리 데이터를 저장하고1) data[:0x1C] = b'\x00' * 0x1C첫 번째 바이트부터 0x1C까지즉, 0~28바이트까지 '00'으로 저장(1C이므로 길이는 28바이트)2) data[0x22:0x36] = b'\x00' * 0x140x22번째 바이트 부터 0x36번째 바이트까지 0x14길이의 데이터를 '00'으로 저장34번째 바이트부터 54번째 바이트까지 20바이트를 '00'으로 저장이..

[Dreamhack] sleepingshark Write-up

1. sleepingshark2022 Fall GoN Open Qual2. Explanationdump.pcap 파일을 Wireshark로 열어보면 아래와 같이 나타난다.  HTTP 통신이 많기에 server로의 요청 내역들만 모아본다. 위와 같이 Statistics > HTTP > Requests에서 확인할 수 있다.  URL의 Query string을 보았을 때 SELECT와 FROM 등 SQL 문법으로 보이는 문자열들을 확인할 수 있으며 SQL Injection 공격을 시도 중인 것으로 유추할 수 있다. 따라서, 명확히 판단하기 위하여 http 패킷을 분석 해본다. 위 사진과 같이 http로 필터링을 한 후에 무작위의 19번 패킷의 Info를 URL Decode한다. SELECT IF(ASCII(S..

[Dreamhack] lolololologfile Write-up

1. lolololologfile2022 Christmas CTF 2. Explanation문제 설명을 확인해보면 flag가 담긴 PDF 파일을 삭제하였다고 한다. FTK Imager로 분석해보았을 때 휴지통 아티팩트에도 남겨진 데이터가 없는 것으로 보아 휴지통에서도 완전히 삭제된 파일이라 유추할 수 있다. 따라서 비할당된 영역(unallocated space)을 통하여 PDF 파일 복구를 시도한다. 완전히 삭제된 파일은 경우에 따라 복구할 수 있다. NTFS 뿐만이 아니라 FAT 등의 파일 시스템은 실제 클러스터에 저장된 내용을 삭제하는 것이 아니라 파일에 할당된 클러스터를 사용 가능한 상태로 바꾸어 클러스터들이 다른 파일에 할당될 수 있게 한다. 따라서, 이미 덮어 써진 파일은 복구가 불가능하지만 그..

[Dreamhack] Windows Search Write-up

1. Windows Search2022 Christmas CTF2. ExplanationWindows.edbWindows.edb는 "Window + s"를 입력하여 나오는 검색 기능과 관련된 아티팩트이며 검색한 데이터들을 Indexing한다.마이크로소프트 윈도우 운영체제에서 검색 기능에 의하여 생성되는 데이터베이스 파일검색 기능에서 검색한 모든 종류의 파일들에 대한 값들을 저장한 데이터베이스경로는 다음과 같으며 Live system에서 .db 파일로 저장될 수 있다.윈도우 10, 11 : C:\ProgramData\Microsoft\Search\Data\Applications\Windows\윈도우 7, 8 : C:\ProgramData\Microsoft\Search\Data\Windows\ 해당 파일(W..

[Dreamhack] Grand Theft Auto Write-up

1. Grand Theft Auto2. Explanation  문제를 직관적으로 보았을 때 몇 가지를 유추해 볼 수 있다. can0 뒤에 오는 7E0과 7E8은 후에 오는 데이터를 보내는 주체로 해석할 수 있으며 뒤에 오는 16진수 데이터가 8자리 즉, 8바이트 이므로 [8]은 뒤의 데이터의 크기임을 유추해볼 수 있다. 또한, F1 90이 공통적으로 7E0과 7E8의 시작 부분(앞 부분)에 위치 해 있으므로 직접적인 데이터라기 보다는 CAN 프로트콜의 구조적 의미를 지니고 있음을 유추할 수 있다.  물론 앞서 서술된 내용은 정확한 정보가 아닌 그저 직관적인 유추에 불과하다.can0는 CAN(Controller Area Network)의 인터페이스 ID이다. 예전에 CAN bus injection 내용을 ..

[Dreamhack] Snowing! Write-up

1. Snowing! 2. Explanation 문제 파일을 다운로드 한 후에 처음 압축을 헤제하면 'Snow.jpeg'와 'flag.txt' 파일을 확인할 수 있다. 'Snow.jpeg' 파일의 jpeg extension에 따른 구조에 맞게 바이너리 데이터를 분석해 보았을 때 특별히 이상한 점은 없었다. 그러나 'flag.txt' 를 HxD editor로 열어보았을 때 위와 같이 텍스쳐 파일로 열었을 때와 다르게 공백 부분에 데이터들이 존재한다. 문제 설명에서의 "하얀공간"과 공백 부분에 숨겨진 데이터들을 보아 공백 문자 내에 데이터를 숨기는 Whitespace Steganography 기술이 사용되었음을 유추해 볼 수 있다. Whitespace Steganography는 공백 문자의 빈도나 배열을 전..

[DEBUG] upgradepng1.png Write-up

1. upgradepng1.png 2. Explanation 파일을 실행시켜보았을 때 정상적인 이미지 데이터가 출력되지 않기에 파일을 복구하기 위하여 010 editor를 이용하여 파일의 HEX 데이터를 분석해본다. 파일의 구조를 분석해 보았을 때, PNG format에 해당하는 header signature인 '89 50 4E 47 0D 0A 1A 0A' 값이 있으며 IHDR, IDAT, IEND, PLTE Chunk 등이 있으나 fcTL, acTL, fDAT, tRNS Chunk들도 존재하기에 이 파일은 APNG(Animated PNG) 파일임을 유추해 볼 수 있다. 따라서 이 파일은 APNG format임을 가정하고 파일을 복구한다. APNG format에서 파일의 데이터로 "DELETE THIS ..

[DEBUG] ExpertPNG Write-up

1. ExpertPNG 2. Explanation 우선 PNG extension을 가진 파일을 실행시켰을 때, 별다른 이상 없이 이미지 데이터가 출력되기에 HEX editor로 파일을 열어본다. 다음과 같이 PNG format의 header signature "89 50 4E 47 0D 0A 1A 0A"와 footer signature "49 45 4E 44 AE 42 60 82" 두 값 모두 제대로 존재한다. 처음 파일을 실행시켰을 때 나오는 이미지 데이터에 해당하는 Offset 'A7EA5'의 footer signature 까지의 HEX 데이터를 분석해 본 결과 PNG 구조, 각각의 필수 Chunk 유무(IHDR Chunk, IDAT Chunk, IEND Chunk)와 Chunk 형식, 특히 IHDR..

[Sooboon] Sob_PNG_Lv1.5 Write-Up

1. Sob_PNG_Lv1.5 2. Explanation 처음 폴더를 열면 여러 text 파일과 PNG 파일이 들어있다. 우선 PNG extension을 가진 'Anonymous.png' 파일과 'Black Hat.png' 두 파일 모두 HEX editor를 이용하여 PNG format과 각각의 Chunk 구조를 분석해보았을 때 특별한 이상은 없었다. 그러나 두 파일 모두 낮은 압축률을 가지고 있기에 Bit Plane 방식으로 숨겨진 데이터가 있음을 유추해 볼 수 있었고, Openstego tool을 이용하여 각각의 PNG 파일에서 데이터를 추출 해보면 위와 같이 'Anonymous.png' 파일 안에는 'PassWord.txt' 파일과 'Blaack Hat.png' 파일 안에는 'Digital Fore..

[Sooboon] l'm s0o0o0o0o00o00o0o higH!!! Write-up

Name l'm s0o0o0o0o00o00o0o higH!!!.png Format(extension) PNG Image Data PNG 파일 분석하여 플래그 찾기 파일을 열었을 때 정상적으로 이미지 데이터가 출력되며 HEX editor을 통하여 분석 결과 PNG 구조, 각각의 필수 Chunk 유무(IHDR Chunk, IDAT Chunk, IEND Chunk)와 Chunk 형식, 특히 IHDR Chunk의 width과 height, bit depth, color type, filter type, interlace type에 해당하는 16진수 값들과 이에 따른 CRC(Cyclic Redundancy Check) 값 역시 확인해 보았을 때 특별한 이상은 없었으므로 이미지 데이터 자체에는 문제가 없다. 그러나..