웹 브라우저를 통해서 파일을 다운로드 받았는데 해당 사이트가 잘 기억나지 않아서 파일의 출처가 궁금할 때가 있습니다.
이 경우 윈도우에서는 파일 안에 포함된 ADS(alternate data streams) 정보를 이용해 파일을 받기 위해 접속한 사이트 주소와 해당 파일을 제공한 서버의 주소 경로를 확인할 수 있습니다.
목차
ADS란?
Alternate Data Streams는 NTFS 파일 시스템의 특징으로 하나의 파일이나 디렉토리 내에 여러 데이터 스트림을 포함할 수 있게 합니다. 이는 파일에 추가적인 메타데이터나 보조 데이터를 저장하는 데 사용되며 여기에 파일 다운로드 출처도 포함됩니다.
ADS는 파일 크기나 속성에 영향을 주지 않고 데이터를 숨겨 저장할 수 있는 특성이 있는데 이는 NTFS 파일 시스템의 특성으로 NTFS가 아닌 FAT, FAT32 포맷을 사용하는 파일 형식에서는 ADS를 사용할 수 없습니다.
다운로드 파일 출처 확인 방법
대충 원리를 파악했으니 이제 파일을 어디서 다운 받았는지 확인해 볼 차례입니다.
ADS에 포함된 URL을 찾으려면 Zone Identifier를 확인하면 되며 명령 프롬프트와 파워쉘에서 확인할 수 있습니다.
명령 프롬프트
more < 파일명:Zone.Identifier
명령 프롬프트를 실행한 다음 파일 출처를 알고 싶은 폴더 경로로 이동합니다. 그리고 위 명령어 문법을 사용해 실행합니다.
파워쉘
Get-Content "파일명" -Stream Zone.Identifier
파워쉘에서는 위의 명령어 문법을 사용합니다. 마찬가지로 다운로드 출처를 알고 싶은 파일의 이름을 적용해서 명령어를 실행합니다.
ReferrerUrl과 HostUrl의 차이점
결과 값으로 ReferrerUrl 정보와 HostUrl 정보를 확인할 수 있는데요.
ReferrerUrl은 파일의 링크를 제공한 웹사이트 주소, 즉 해당 웹사이트에 접속해서 파일을 내려 받았다는 의미입니다.
HostUrl은 다운로드 받은 파일을 실제로 제공한 서버 주소, 즉 실제 출처의 경로를 확인할 수 있습니다.
위의 예시로 든 스크린샷을 살펴보면 ReferrerUrl 주소 https://extrememanual.net
에 접속해서 어떤 링크를 클릭했을 때 받은 파일이 실제로는 HostUrl https://officecdn.microsoft.com/pr/
에서 제공했다는 의미가 됩니다.
이렇게 ADS의 Zone Identifier는 파일 출처 흔적을 남기기 때문에 디지털 포렌식에 사용할 수 있습니다. 덕분에 자신이 받은 파일 다운로드 경로를 확인할 수 있으니 파일 URL 출처가 궁금할 때 사용해 보시길 바랍니다.