#About


『2020년 10월 1일

날씨 : 맑음

국군의 날이다. 옛날부터 별로 큰 감흥을 느끼는 날은 아니다. 오늘도 매년 돌아오는 여느 국군의 날처럼 싱겁게 지나가는 듯 했다. 그런데 오늘 컴퓨터 선생님께서 내 주신 수행평가가 마음에 걸린다. 국군의 날을 맞아 특별히 제작된 숙제라고 하셨다. 과제의 내용은 '난중일기에 숨겨진 메세지를 찾아오라'는 것이었다. 문제를 푼 사람에게는 어마무시한 상품이 주어진다고 말씀도 덧붙이셨다. 어떻게 숙제를 해결해야할 지 막막하다. 일단 최근에 배운 데이터 은닉 기법을 복습한 후에, 차근차근 문제 파일을 분석해보아야겠다.

오늘의 일기 끝!』


컴퓨터 선생님께서 내주신 과제를 해결하고 Flag를 알아내시오! 




#Solution


[그림 1] - 문제 파일 확인


제공 받은 파일을 보면 diary.exe를 가진 실행파일임을 확인할 수 있고 추출을 하게되면 아래와 같이 파일이 추출된 것을 확인할 수 있다


[그림 2] - 문제 파일 확인 2


텍스트 파일 10개를 확인할 수 있었으며 각 파일을 열어 보았을 때 아래와 같은 일기를 확인할 수 있다


[그림 3] - 텍스트 파일 내용 확인


10개의 텍스트 모두 위와 같은 일기가 적혀있었고 년도와 텍스트 파일 속 컨텐츠를 통해 난중일기라는 것만 알 수 있었다


처음에 문제를 풀 때 가장 어렵게 느껴졌었고 문제를 풂에 있어 오랜 기간이 소요된 문제 였다. 문제를 풀 수 있었던 것은 


NTFS 파일 시스템을 공부하다 ADS라는 개념을 알게 되었고, 이를 통해 해결할 수 있었다. ADS는 Alternate Data Stream의 약자로 NTFS 구조에서의 


다중 데이터 스트림을 지원하며 이는 파일이 하나 이상의 데이터를 담을 수 있음을 의미한다. 따라서 이를 이용하여 원하는 데이터를 다른 파일 안에


 숨길 수 있으며  그 예로 Windows XP에서는 ADS를 이용한 정상파일의 데이터 스트림 뒤에 악성파일의 실행 스트림이 붙어, 정상 파일을 실행했을 경우 


악성파일의 데이터스트림까지 읽어오는게 가능했다 하지만 Windows 7이후로부터는 해당 기능은 존재하지만 XP와 같이 파일의 실행은 불가능하다


[그림 4] - 데이터 스트림 확인


dir /r 옵션을 통해 해당 폴더에 숨겨진 데이터 스트림을 확인할 수 있었으며, 아래의 AlternateStreamView를 통해 스트림 데이터를 추출할 수 있었다


http://www.nirsoft.net/utils/alternate_data_streams.html


[그림 5] - 데이터 스트림 확인 및 추출


[그림 6] - 추출 된 데이터 스트림 확인


zip 파일을 열어보려고 했지만 분할파일이며 ~~ 열 수 없다는 메시지가 떠서 HxD로 확인결과 zip파일의 헤더 시그니처인 50 4B 03 04가

 

아닌 다른 데이터 쓰여져 있음을 통해 조금의 멘붕을 겪은 뒤 다시 [그림 6]을 살펴 본 결과 z01, z02, ~ ... z.09의 번호가 매겨져 있는것을 확인했다


[그림 7] - ZIP 파일의 시그니처가 아님을 확인


번호를 확인한 뒤 HxD 상에 모두 드래그 앤 드롭으로 올렸더니 z01 파일에서 zip파일의 헤더 시그니처를 확인할 수 있었다


[그림 8] - ZIP 파일의 시그니처 확인


이를 통해 z01, z02, ... ~는 분할 된 데이터의 순서를 의미함을 짐작하고 차례대로 바이너리를 아래와 같이 붙여준 뒤 test.zip파일로 저장했다


[그림 9] - 데이터 스트림 결합


결합해 준 결과 test.zip파일에서 Yi.jpg 파일을 확인할 수 있었으며 안에 플래그가 적혀 있었다


[그림 10] - FLAG 값 확인


Answer = 나의 죽음을 적에게 알리지 마라



'Wargame' 카테고리의 다른 글

[Cresendo] Registry Problem 01  (0) 2017.11.14
[Cresendo] NTFS Log 1  (0) 2017.11.14
[Cresendo] MFT Problem 01  (0) 2017.11.13
[Cresendo] WER Problem 03  (0) 2017.11.13
[Cresendo] WER Problem 02  (0) 2017.11.13

#About


크레센도 그룹의 보안담당자 A씨는 최근 사내 기밀 문서 유출이 의심되는 용의자 D씨의 컴퓨터를 확보했다. 그러나 이미 해당 PC에서 기밀 문서는 삭제 된 것으로 보인다.


주어진 파일로부터 다음의 정보를 획득하시오:

1. 기밀 문서로 추정되는 삭제된 파일 이름

2. 해당 파일의 삭제 추정 시간


답 포맷 : [1번 정답]_[2번 정답]

Ex : Confidential.docx_2016-01-22 17:22:11




#Solution


[그림 1] - 문제 파일 확인


MFT는 Matser File Table을 의미하며 NTFS 파일시스템 상에서 메타데이터를 지니고 있으며 MFT 파일을 분석하면


NTFS 내에 존재하는 모든 파일 및 디렉터리의 파일 이름, 시간 정보, 크기등과 같은 메타정보를 얻을 수 있다


MFT 파일을 분석하기 위해 Python 기반 CLI 도구를 이용했으며 출처는 아래의 링크를 참고하자


https://github.com/dkovar/analyzeMFT


[그림 2] - MFT Parser


f 옵션을 통해 파일의 경로지정과 o 옵션을 통해 결과 파일을 csv로 출력했으며 결과는 아래와 같다


[그림 3] - MFT 구조 분석 결과 확인


64,520개의 레코드가 확인되었으며 일일이 확인할 수 없으므로 주어진 지문에서 유추할 수 있듯 문서파일이 될 수 있는 확장자인 


pdf , xlsx, hwp, pptx, rtl 등을 기준으로 검색해보았고 아래와 같이 기밀 문서로 짐작되는 파일을 확인할 수 있었다


[그림 4] - 기밀 문서 확인


Answer = High Confidential_AlphaMikeFoxtrot.pdf



'Wargame' 카테고리의 다른 글

[Cresendo] NTFS Log 1  (0) 2017.11.14
[Cresendo] 오늘은 국군의날  (0) 2017.11.14
[Cresendo] WER Problem 03  (0) 2017.11.13
[Cresendo] WER Problem 02  (0) 2017.11.13
[Cresendo] WER Problem 01  (0) 2017.11.13

#About


위 WER 중 "svchost.exe"와 관계있는 WER의 개수는 몇 개인가?


(숫자만 입력하시오.)




#Solution


[그림 1] - 문제 파일 확인


문제에서 제공받은 폴더의 report.wer 파일을 AppCrashView로 보았을 때 아래와 같다


[그림 2] - Crash List


그리고 문제에서 요구하는 svchost.exe와 관련된 WER를 찾기 위해 프로세스 이름 별로 정렬했으며 아래와 같이 확인할 수 있었다


[그림 3] - svchost.exe 관련 WER 파일 개수 확인


Answer = 74



'Wargame' 카테고리의 다른 글

[Cresendo] 오늘은 국군의날  (0) 2017.11.14
[Cresendo] MFT Problem 01  (0) 2017.11.13
[Cresendo] WER Problem 02  (0) 2017.11.13
[Cresendo] WER Problem 01  (0) 2017.11.13
[Cresendo] Crash Dump Problem 02  (0) 2017.11.13

+ Recent posts