Digital_forensic/CTF 16

[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 내용을 ..