LNK 파일 확장자 숨김 해제 방법

LNK 파일 확장자 숨김 해제 방법

LNK 파일 확장자를 보이게 해야 하는 이유

악성 파일 중에는 아직 방어법이 알려지지 않은 제로데이 취약점도 있지만, 상당 수는 사용자의 실수를 유발하여 실행을 유도하는 방식이다. 이때 자주 사용되는 파일 확장자가 바로 LNK 파일 확장자이다.

LNK 파일 확장자는 한국어로는 바로 가기 로 번역되었다. 바로 가기 파일은 각종 파일, 폴더, 인터넷 자원과 연결되어, 해당 바로 가기 파일을 실행하면 연결된 리소스를 자동으로 실행하게 된다.

바로 가기 파일 만들기 창

악성 LNK 파일은 이러한 특징을 이용하여 다음과 같은 방식으로 악성 행위를 실행한다.

  • 악성 실행 파일과 LNK 파일을 같이 첨부하여 실행을 유도.
  • LNK 파일 내부에 악성 데이터가 존재. LNK 의 실행 인자는 악성 데이터를 드랍하고 실행하는 스크립트를 가짐.

위와 같은 이유로, 신뢰할 수 없는 이로부터 받은 파일에 LNK 확장자 파일이 포함되어 있다면, 악성 파일인지 의심해볼 필요가 있다. 문제는 Windows OS 의 기본 설정은 LNK 확장자를 보여주지 않는다는 것이다. 심지어 다른 파일 확장자를 숨김 해제하도록 설정해도 LNK 확장자는 보여지지 않는다.

LNK 확장자를 출력하기 위해서는 아래와 같은 방법을 통해 관련된 레지스트리 값을 직접 수정해야 한다.

regedit 을 이용하는 방법

Windows + R 버튼을 클릭하여 실행 창을 실행 후 regedit 입력하여 레지스트리 관리 창을 출력한다.

실행 창 화면

HKEY_CLASSES_ROOT\lnkfile 레지스트리 Key 의 NeverShowExt Value 를 삭제하고 탐색기를 재실행하면 LNK 확장자가 출력되는 것을 확인할 수 있다.

NeverShowExt 레지스트리 값

CMD 명령어를 이용하는 방법

GUI 를 이용하는 방법 이외에도, CMD 를 관리자 권한으로 실행하고 아래와 같은 명령어를 실행하여 레지스트리 값을 삭제할 수 있다.

reg delete "HKEY_CLASSES_ROOT\lnkfile" /v "NeverShowExt"
레지스트리 삭제 명령어

위 명령어를 실행하는 파일을 아래에 첨부한다. 첨부 파일을 다운로드 후 관리자 권한으로 실행하면 레지스트리 값을 삭제할 수 있다.

LNK 확장자 숨기기

다시 LNK 파일 확장자를 숨기고 싶다면 반대로 HKEY_CLASSES_ROOT\lnkfile 레지스트리 Key 의 NeverShowExt Value 를 생성하면 된다.

reg add "HKEY_CLASSES_ROOT\lnkfile" /v "NeverShowExt"
레지스트리 생성 명령어

마찬가지로 위 명령어를 실행하는 파일을 첨부한다.