Security & Forensic

반응형

바로가기 링크파일 분석

 

바로가기 파일(*.lnk), 최근 실행했거나 자주 사용하는 프로그램이나 파일, 폴더 경로에 대한 정보 저장

 

링크 파일(LNK)이라고도 불리며 영문 명칭은 “Windows Shortcut”, “Shell Link” 로 불리며 윈도우에만 존재하는 기능으로 파일, 디렉터리 등 객체를 참조하는 파일, 커맨드라인이 아닌 GUI에서만 동작, lnk 확장자를 가짐

 

다른 OS에는 비슷한 기능으로 심볼릭 링크가 존재한다. 대부분의 사람들이 이 두 기능을 같은 기능으로 보고 있지만 분명히 다른 기능이다. 윈도우의 바로가기 기능은 OS 차원의 기능이고, 심볼릭 링크는 파일시스템 차원의 기능이어서 동작방식부터가 다르다.

 

윈도우의 바로가기 기능의 경우 바로가기 파일을 통해 실현 가능한데, 이 파일은 일반 파일과 동일하게 메타데이터와 MFT 엔트리를 가지고 있고 심볼릭 링크의 경우 원본 파일을 가리키고 있는 것은 파일이 아닌 것으로 파일시스템이 인식하기 때문에 MFT 엔트리를 가지고 있지 않아서 이 두 기능이 다르다고 할 수 있다.

 

윈도우 바로가기 파일은 시스템 사용자가 편의를 위해서 사용하는 경우도 많지만, 운영체제가 자동 실행이나 최근 접근한 데이터, 자주 사용하는 파일/프로그램에 관한 정보를 관리할 때에 사용하기도 한다. 바로가기 파일에는 링크 대상 파일에 관한 생성.접근.수정시간 정보 및 원본 위치 등에 관한 기록을 포함하고 있으므로, 정보 유출에 관한 조사나 시스템 사용에 관한 시간 관계를 정리할 때 유용하게 사용되는 경우가 많다.

 

바로가기 생성
시스템에서 내부적으로 자동으로 생성하는 경우도 있고 어떤 프로그램을 설치하는 과정에서 생성하는 경우도 있고 사용자가 바로가기 생성으로 할 수 도 있다. 

1. 윈도우 설치 시 - 윈도우에서 기본적으로 지원하는 '내 컴퓨터', '작업 표시줄 아이콘' 등도 모두 바로가기 파일이다.

2. 윈도우 설치 후 - 대표적으로 '내 최근 문서' 폴더의 문서 목록들이 있다.

3. 어플리케이션 설치 시 - 어플리케이션 설치 중 '바탕화면에 바로가기 아이콘을 생성 하시겠습니까?' 에서 예 대답으로     아이콘 생성

4. 사용자 임의 생성 - 파일을 마우스 오른쪽 클릭 후 바로가기 생성 하는 것들

 
LNK 파일이 존재하는 폴더

윈도우 버전별로 다를 수 있으며 아래 폴더 외에도 각 운영체제별로 LNK 파일이 생성되는 폴더는 다양하다.

 

바탕화면(Desktop) 폴더

Windows XP/Vista : C:\Documents and Settings\<user name>\Desktop

Windows 7+ : C:\Users\<user name>\Desktop

 

최근문서(Recent) 폴더

Windows XP/Vista : C:\Documents and Settings\<user name>\Recent

Windows 7+ : C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Recent

 

시작프로그램(Start) 폴더

Windows XP/Vista : C:\Documents and Settings\<user name>\Start Menu\Programs

Windows 7+ : C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

 

빠른실행(Quick Launch) 폴더

Windows XP/Vista : C:\Documents and Settings\<user name>\Application Data\Microsoft\Internet Explorer\Quick Launch

Windows 7+ : C:\Users\<user name>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch

 

사용자의 내 음악(My Music), 내 그림(My Pictures), 내 비디오(My Videos) 폴더

“%SystemDrive%\Users\Public” 하위 폴더 링크

 

Send To 폴더 (내보내기 폴더)

%UserProfile%\AppData\Roaming\Microsoft\Windows\SendTo

탐색기에서 마우스 우버튼 -> 보내기 -> 특정 어플리케이션이나 드라이브 선택해서 생성한 링크 파일들

 

위 폴더에는 사용자가 의도적으로 생성한 LNK 파일이 있는 경우도 있지만, 의도하지 않게 생성되는 LNK 파일도 있다. 그 중 하나가 최근문서(Recent) 폴더이다. 이 폴더에는 자동으로 최근에 사용자가 실행했던 파일 및 폴더에 대한 LNK 파일이 저장된다. 따라서, 해당 폴더의 LNK 파일을 분석하면 유용한 정보를 얻을 수 있다.

 

F:\tool\forensic\CrowdResponse>dir /a-d C:\Users\chohb\Desktop\*.lnk
2019-12-20  오후 01:33               982 AhnRpt.lnk
2019-12-20  오후 01:33             1,094 apimonitor.lnk
......

 

바로가기파일 분석 활용
* 자동 생성된 바로가기 파일을 이용해 폴더나 파일의 실행 흔적 분석 (자주 접근하는 문서, 실행하는 프로그램 흔적)
* 링크 대상의 위치를 이용해 외장저장장치를 이용한 데이터 이동 흔적 분석(응용프로그램 및 일반 최근 문서 위주)
* 애플리케이션 취약점을 악용하는 악성코드일 경우, 실행 흔적 분석
* 바로가기 파일 자체로 침해를 확인하기는 어렵기 때문에 타임라인 분석과 연계 분석

분석

lnkanalyser.exe

F:\>lnkanalyser.exe -i "C:\Users\chohb\AppData\Roaming\Microsoft\Windows\Recent\정보자산안전진단도구 (2).lnk"

LECmd
명령어 예제
Examples: 
LECmd.exe -f "C:\Temp\foobar.lnk"

LECmd.exe -f "C:\Temp\somelink.lnk" --json "D:\jsonOutput" --jsonpretty
LECmd.exe -d "C:\Temp" --csv "c:\temp" --html c:\temp --xml c:\temp\xml -q
LECmd.exe -f "C:\Temp\some other link.lnk" --nid --neb
LECmd.exe -d "C:\Temp" --all

개별 파일 분석
F:\tool\forensic\lnkanalyser>F:\tool\forensic\LECmd.exe -f "C:\Users\chohb\AppData\Roaming\Microsoft\Windows\Recent\정보자산안전진단도구 (2).lnk"

폴더 분석

F:\tool\forensic\lnkanalyser>F:\tool\forensic\LECmd.exe -d "C:\Users\chohb\AppData\Roaming\Microsoft\Windows\Recent" --all

 

기타 도구
Windows File Analyzer from http://www.mitec.cz/wfa.html.

Lifer- Windows Link File Examiner, http://code.google.com/p/lifer/downloads/list., https://github.com/Paul-Tew/lifer


기타 많은 도구들이 있다.

 

반응형