휴지통 분석 개요(Recycle Bin)

이번에 알아볼 구조는 Recycle Bin 이라고 불리는 휴지통 파일이다. 우리가 자주 사용하는 윈도우에서 없어서는 안되는 프로그램중 하나인 휴지통에 대해서 분석을 해보려고 한다.

기본적으로 휴지통을 한번쯤을 사용해봤지만 그 휴지통에서 어떤원리로 삭제된 파일이 저장이 되고 저장된 파일을 어떻게 복원하는지에 대해서 궁금해할 사람이 있을것 같아서 한번 써보려고 한다.

휴지통이란?

Windows 데스크톱에 있는 휴지통 프로그램은 파일을 삭제했을때 임시로 저장되는 디렉터리를 가리킨다.

우리가 Microsoft Windows 운영체제에서 파일을 삭제되면 우리 눈으로는 완전히 삭제 된 것 처럼 보이지만 영구적으로 휴지통에서 삭제 되는 것이 아니다.

휴지통에서 완전히 삭제 되는 것이 아니기 때문에 사용자가 휴지통에서 삭제된 파일을 복원 하려는 경우에 휴지통 포렌식(Recycle Bin Forensic)을 수행 할 수 있다.

디지털 포렌식(Digital Forensic)을 수행하는 궁극적인 이유는 사건에 필요한 자료를 찾기 위함이 1순위로 생각이 되는데 운영체제에서 가장 많이 데이터가 오가는 곳이 휴지통이라고 생각을 한다.

그래서 포렌식(Forensic) 즉, 법의학 관점에서 보았을때 휴지통은 증거 및 단서를 수집하는데에 있어서 금광이라고 불릴 정도로 많은 데이터가 존재 하고, 정확한 분석을 하면 유용한 데이터를 복구 할 수 있다.

휴지통 분석(Recycle Bin)

앞서 이야기 했듯이 휴지통은 Windows desktop에서 가장 눈여겨 보는 **아티팩트(Artifacts)**중에 하나이다.

Microsoft Windows 버전을 보면 지금까지 많은 버전들이 변화 하고 바뀌면서 Windows 10 까지 나왔다. 휴지통 프로그램은 Windows 95를 시작으로 Windows 운영체제와 함께 쭉 계속해서 사용해 왔으며 MS-DOS에서도 유사한 기능의 프로그램이 있다.

컴퓨터 사용자가 Windows에서 파일을 '삭제'할때 사용자 눈에는 완벽하게 삭제된 것 처럼 보이지만 컴퓨터에는 해당 파일에 대한 데이터가 남아있다. 파일이 삭제된 시점에 파일은 휴지통의 시스템 폴더에 복사가 자동으로 되면서 사용자가 해당 파일로 어떠한 행위를 하기 전까지는 시스템 폴더에 저장이 된다.

아래의 표는 사용하는 OS(Operating System)에 따른 파일시스템 및 삭제된 파일 경로 등등을 작성한 표이다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f0c5fc9d-92db-4e4c-b301-9935f277da48/Untitled.png

Windows XP 휴지통 분석

Windows XP에서는 휴지통에 들어있는 삭제된 파일을 INFO2 라는 파일로 관리를 하고 있다.

INFO2 파일을 분석하기 전에 휴지통 경로를 확인해 보면 다음과 같다. Path : C:\\RECYCLER\\{USER_SID}

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/50311707-5673-4005-8768-ea2cb1b34154/Untitled.png

위의 사진에서는 USER_SID 값이 S-1-5-21-299502267-57989841-725345543-1003 으로 1개 밖에 없지만 하나의 운영체제에서 사용하고 있는 사용자가 2명이상이라면 어떤 SID 값으로 들어가야 하는지 모를 수도 있다.

그렇기 때문에 현재사용하는 USER SID 값을 확인 할 수 있는 방법은 다음과 같다.

  1. WIN+R 을 입력 후 **regedit**를 입력한 뒤 HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList 하위 키를 확인해 보면 알 수 있다.

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ad92e7fd-7c6e-4e5d-8dc8-0c12dec4dbb1/Untitled.png

  2. CMD 를 실행 시키고 wmic UserAccount Where LocalAccount=True Get SID 명령을 입력하면 아래와 같이 현재 운영체제에서 확인할 수 있는 SID 값을 확인해 볼 수 있다. Windows XP Home Edition 에서는 vmic 명령어를 지원하지 않고 Windows XP Professional Edition 에서 지원한다.

    https://s3-us-west-2.amazonaws.com/secure.notion-static.com/df8c7986-3d7e-458a-aafb-78abe610c4de/Untitled.png

USER SID 폴더 하위에 있는 데이터를 확인해 보면 다음과 같다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2acc76d6-ced9-41b6-8bd2-9b318347bb31/Untitled.png

Dc#.### 의 파일들을 확인할 수 있는데, 해당 파일들은 삭제된 순서대로의 파일 명이며, 삭제된 파일이 생성되는 파일명의 형식은 다음과 같다. D [original drive letter of file] [index number].[original file extension] 의 형식을 가진다. **Index number**는 1부터 시작 되기 때문에 Dc1.txt 파일이 가장 먼저 삭제된 파일이라는 것을 알 수 있다.

Windows XP는 Windows Vista 이후와 달리 INFO2 파일을 이용하는데 Vista이후에는 휴지통에서 삭제된 파일은 아예 데이터를 찾아볼 수 없지만 Windows XP 에서는 휴지통에서 삭제된 파일까지 데이터가 INFO2 파일에 저장되어 있기 때문에 휴지통에 들어온 모든 파일에 대한 데이터를 확인 해 볼 수 있다.

Delete_File.txt를 삭제 한 뒤 다시 확인해 보면 다음과 같다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0ebb296d-25ee-47c1-8e9e-6ba5a071d919/Untitled.png