정상 이력서처럼 보이지만 실행 순간 감염 시작

정상 이력서처럼 보이지만 실행 순간 감염 시작

최근 이력서 파일로 위장한 악성 바로가기 파일이 유포되고 있어 기업 사용자들의 주의가 필요하다. 공격자는 기업명과 직무명이 포함된 이력서 문서처럼 파일명을 구성하고, 실행 시 정상 디코이(Decoy) 문서를 함께 보여줘 사용자의 의심을 낮춘다. 이후 추가 악성 파일을 내려받아 백도어 악성코드 실행을 시도하며, 작업 스케줄러 등록, 시작 프로그램 등록, DLL Side Loading 등으로 지속성을 확보한다. 특히 이력서로 위장한 문서 파일은 업무 환경에서 쉽게 열람될 수 있어 보안 담당자와 임직원의 신중한 확인이 요구된다. 이력서 파일로 위장해 유포 중인 악성 LNK 파일의 주요 특징과 대응 방안을 살펴보자.

 

이번 사례에서 확인된 이력서 위장 파일은 특정 기업명과 직무명이 포함된 형태로 제작됐다.

  • (RESUME)_국내 기업명_직무명_***.LNK

해당 LNK 파일 내부에는 정상 디코이 문서가 포함돼 있으며, 사용자가 파일을 실행하면 정상 문서처럼 보이는 이력서 문서가 함께 열린다. 이로 인해 사용자는 실제 이력서 문서를 열람하고 있다고 인식할 수 있지만, 백그라운드에서는 악성 스크립트와 추가 파일이 생성되며 감염 절차가 진행된다.

[그림 1] 정상 디코이 문서

 

이처럼 정상 문서를 함께 보여주는 방식은 사용자의 의심을 줄이기 위한 사회공학적 기법이다. 특히 채용, 영업, 고객 대응 등 외부 문서 수신이 잦은 부서에서는 유사한 형태의 문서 파일이 악용될 수 있어, 파일 실행 전 확장자와 출처를 반드시 확인해야 한다.

 

스크립트 생성과 작업 스케줄러 등록

악성 LNK 파일이 실행되면 C:\Users\Public\Videos\ 경로에 랜덤한 이름의 배치 파일(.bat), PowerShell 스크립트(.ps1), VBScript 파일(.vbs)이 생성된다. 해당 파일들의 내용은 LNK 내부에 포함돼 있으며, 이후 생성된 PowerShell 스크립트가 실행된다.

이 PowerShell 스크립트는 ‘office365’라는 이름의 작업 스케줄러를 등록해 10분마다 VBScript 파일이 실행되도록 설정한다. 이후 VBScript 파일은 배치 파일을 실행하며, 이를 통해 다음 단계의 악성 행위가 이어진다.

이처럼 정상 업무 서비스와 유사한 이름의 예약 작업을 등록하고 스크립트를 주기적으로 실행하도록 설정함으로써, 공격자는 시스템 재부팅이나 일부 악성 프로세스 종료 이후에도 악성 행위가 다시 수행되도록 지속성을 확보한다.

[그림 2] 등록된 작업 스케줄러

 

추가 파일 다운로드와 실행 흐름

VBScript에 의해 실행된 배치 파일은 curl 명령어를 이용해 외부 서버로부터 추가 파일을 다운로드한다. 다운로드 URL은 본문에서 공개하지 않지만, 해당 파일들은 이후 악성코드 실행을 위한 구성 요소로 활용된다.

다운로드된 파일 중 일부는 Base64로 인코딩돼 있으며, 디코딩 후 ‘C:\Users\Public\Pictures\p2.ps1’경로에 추가 PowerShell 스크립트로 저장된다. 이후 p2.ps1은 시작 프로그램 경로에 바로가기 파일을 생성하고, 앞서 다운로드한 파일을 복호화해 정상 실행 파일, DLL 파일, 데이터 파일을 생성한다.

이번 사례에서 확인된 생성 파일은 다음과 같다.

  • ProximityUxHost.exe
  • ProximityCommon.dll
  • settings.dat
  • MicrosoftBing.lnk

MicrosoftBing.lnk로 인해 정상 프로그램인 ProximityUxHost.exe가 실행되며, 이 과정에서 DLL Side Loading 기법이 사용됐다. DLL Side Loading은 정상 실행 파일이 특정 DLL 파일을 불러오는 특성을 악용하는 방식으로, 공격자는 이를 통해 정상 프로그램이 실행되는 것처럼 보이게 하면서 악성 DLL을 함께 실행할 수 있다.

이번 사례에서는 ProximityCommon.dll이 로드된 이후, 백도어 유형의 Xctdoor 악성코드인 settings.dat가 정상 프로세스에 인젝션돼 실행되는 흐름이 확인됐다. 해당 악성코드는 특정 외부 C2 서버와 통신을 시도하는 것으로 분석됐다.

[그림 3] p2.ps1 파일 중 일부

 

[그림 4] Xctdoor 코드 중 일부

 

공격 흐름을 요약하면 다음과 같다.

 

이력서로 위장한 악성 LNK 파일 실행

정상 문서처럼 보이는 디코이 문서 실행

C:\Users\Public\Videos\ 경로에 스크립트 파일 생성

‘office365’ 이름으로 작업 스케줄러 등록

외부 서버로부터 추가 파일 다운로드

다운로드 파일 복호화 및 악성 파일 생성

시작 프로그램 경로를 이용한 지속성 확보

정상 실행 파일을 악용한 DLL Side Loading 수행

Xctdoor 계열 백도어 악성코드 실행

 

이런 흐름은 단일 악성 파일 실행보다 탐지와 분석이 어렵다. 정상 문서, 정상 프로그램명과 유사한 파일명, 예약 작업 등록 등 여러 위장 요소가 결합돼 있어 사용자가 감염 여부를 인지하기 쉽지 않다.

 

대응 가이드

1) 작업 스케줄러 확인 및 삭제

보안 담당자는 작업 스케줄러에 의심스러운 작업이 등록돼 있는지 확인해야 한다. 이번 사례에서는 정상 서비스처럼 보이는 이름(Office 365)의 예약 작업이 등록돼 스크립트를 주기적으로 실행하도록 설정됐다. 해당 작업이 확인될 경우 즉시 삭제해야 한다.

2) 의심 파일 생성 여부 확인 및 삭제

사용자 프로필 하위의 다음 경로에 의심스러운 파일이 생성돼 있는지 확인해야 한다.

  • C:\Users\{User}\AppData\Local\Packages\Microsoft.BingSearch365_8wekyb3d8bbwe\Appdata\

해당 경로에서 아래 파일이 확인될 경우 악성 파일일 수 있으므로 삭제 조치가 필요하다.

  • ProximityCommon.dll
  • settings.dat
  • MicrosoftBing.lnk

3) 이력서 위장 파일 실행 주의

이번 공격은 정상 문서로 위장한 LNK 파일을 실행한 뒤 작업 스케줄러와 시작 프로그램을 이용해 지속성을 확보하고, 정상 실행 파일을 악용해 백도어 악성코드를 실행하는 방식이다.

따라서 출처가 불분명한 이력서 파일이나 문서형 첨부파일을 열람할 때는 실제 확장자와 실행 여부를 반드시 확인해야 한다.

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.