Data+

윈도우에서 바로가기와 Symbolic Link의 차이

by Qerogram

서론


제목 그대로, 이번에 다뤄볼 주제는 윈도우 시스템에서 바로가기(lnk)와, Symbolic Link의 차이에 대해 생각해봤다.

왜 이런 주제를 선택하게 되었나?라고 한다면, Volume Shadow Copy에 대해 공부를 하다가 둘의 차이가 뭔가 하고 한번 직접 진행해봤다.

굳이 하드링크는 테스트하지 않더라도, 뻔한 상식으로 알고 있기 때문에, Symbolic Link와 바로가기의 차이에 대해서만 분석해봤다.

파일명

sha1 

 HxDSetup.exe

D562A6D6F827580B7EE4A77EAAFC8BA174A99B12 



진행과정


1. Symbolic Link 만들기

간단하게, mklink라는 기본 명령어가 존재한다. mklink에 /d옵션을 주면 디렉터리의 Symbolic Link를 생성할 수 있게 된다.

이번에는, 디렉터리가 아닌 일반 파일에 대해 바로가기와 Symbolic Link를 각각 만들어봤다. 

바로 눈에 보이는 차이는, 바로가기 파일은 File Extension이 lnk로 나타나고, Symbolic Link로 연결한 파일은 <SYMLINK>라고 표현이 되어있다. 

조금 특이한 점은, Symbolic Link로 연결된 파일은 File Extension이 없어도 실행이 잘되며, 파일의 아이콘 또한 잘 나타난다는 점이다. 

삭제할 때는 따로 방법이 존재하지는 않고 일반적인 파일 혹은 디렉터리를 삭제하는 방법과 같다. 

그냥 삭제를 하거나 파일 링크의 경우에는 del 명령어를, 디렉터리 링크의 경우에는 rmdir을 사용해서 삭제가 가능하다.


2. Symbolic Link와 바로가기 파일 비교

이제 진짜 본론이나 마찬가진데, 아래의 [그림 2]을 보면, symlink라는 파일 형식을 갖고 있고, 크기가 없다는 게 특징이다. 

바로가기 파일은 LNK 구조를 가지고 있기 때문에, 원본 파일이 삭제되어도 원본 파일의 Path, MAC Time 등의 정보를 가지고 있는 반면, 

Symbolic Link는 원본 파일이 삭제되면, 얻을 수 있는 정보가 없다.

[그림 3]를 통해, Symbolic Link로 연결된 파일의 속성에서는 대상 파일 입력란이 비활성화 된 것을 확인할 수 있다. 

가장 큰 차이는 구조가 존재하지 않는다는 점이다. 조금 궁금한 것은 $MFT내에는, 어떻게 기록되는가? 하는 궁금증이 남는다.

[그림 2]


[그림 3]


그래서 실험해봤다. $MFT를 추출해서, AnalyzeMFT 툴을 이용해 엔트리 위치를 찾아서[그림 4], 직접 찾아가서 확인해봤다([그림 5]). 

여기서 파일 이름 아래에, $SYMBOLIC_LINK 영역에 HxDSetup.exe라는 흔적이 남는 것을 확인할 수 있다.

[그림 4]


[그림 5]


LNK 파일을 확인해봤을 때, $SYMBOLIC_LINK영역이 존재하지 않았다.([그림 6] 참조)

직접 분석을 함으로써, 궁금증을 쉽게 해소할 수 있었다.

[그림 6]


3. 결론

쉽게 볼 수 있는 정보들(용량, 고정된 대상 파일) 뿐만 아니라, $MFT에서도 링크된 원본 파일이 무엇인지 파악할 수 있었다.



# REF

NULL


'보안 > 디지털 포렌식' 카테고리의 다른 글

Volatility 튜토리얼  (0) 2017.06.20
MFT  (0) 2017.06.02
ADS를 통한 Data Hiding.  (0) 2017.05.28

블로그의 정보

Data+

Qerogram

활동하기