논문 파일 열람 유도하는 악성코드 주의하세요!

김수키(Kimsuky) 그룹이 논문 심사 요청을 위장해 악성 한글 문서 파일을 이메일로 유포한 정황이 확인됐다. 이번 공격은 수신자가 문서를 열람하도록 유도한 뒤 악성 행위를 수행하는 방식으로, 지능적인 사회공학적 기법이 함께 활용된 것으로 보인다. 이번 글에서는 공격 방식의 주요 특징과 문서에 삽입된 악성 요소에 대해 살펴본다.

 

 

해당 문서는 비밀번호로 보호돼 있으며, 메일 본문에 기재된 이메일 비밀번호를 입력해야 열 수 있다. 문서를 열람하면 %TEMP%(임시 폴더) 경로에 6개 파일이 자동으로 생성되며, ‘더보기…’ 문구에 삽입된 하이퍼링크를 클릭할 경우 이 중 하나인 “peice.bat” 파일이 실행된다.

 

[그림 1] 악성 OLE 개체가 포함된 한글 문서 파일

 

 

문서 열람 시 생성되는 파일 목록은 아래 [표 1]과 같다.

 

[표 1] 생성된 파일들

 

"peice.bat" 파일이 실행되면 아래와 같이 생성한 파일들을 특정 경로에 복사한다.

 

- 악성 OLE 개체가 삽입된 한글 문서 파일 삭제

- 3번 파일명을 "러·우 전쟁을 통해본 밀리테크와 미래전쟁 대비방향.hwp"로 변경 및 실행

- 5번 파일을 GoogleTransltatorExtendeds 이름으로 스케줄러 등록
- 1번 파일을 "C:\Users\Public\Music\"경로에 cool.exe로 복사

- 4번 파일을 "C:\Users\Public\Music\" 경로에 cool.exe.manifest로 복사

- 2번 파일을 "C:\Users\Public\Music\" 경로에 template.ps1로 복사

 

5번 파일 “sch_0514.db"은 매 12분마다 1번 파일 “cool.exe”을 실행하도록 설정된 스케줄러 XML 파일이다. 스케줄러에 의해 “cool.exe”가 실행되면, 해당 파일은 4번 파일 “cool.exe.manifest”을 참조해 "<! --BEGIN_VBSEDIT_DATA" 와 "END_VBSEDIT_DATA-->" 문자열 사이에 포함된 BASE64 인코딩 데이터를 추출 및 디코딩해 실행한다. 이 과정에서 2번 "C:\Users\Public\Music\template.ps1"을 호출하는 VBScript가 동작한다.

 

[그림 2] (상) 원본 설정 파일 (하) 디코딩된 설정 파일

 

"template.ps1"은 사용자 시스템에서 프로세스 목록과 설치된 백신(AV) 정보를 수집한 후, 이를 "park_년_월_일_시_분_info.ini" 형식으로 저장하고 공격자의 Dropbox로 전송한다. 이후 "park_test.db_sent" 파일을 "C:\Users\Public\Music\pol.bat" 경로에 다운로드한 뒤 실행한다. 다만, 분석 당시 해당 파일은 확보되지 않았다.

 

[그림 3] template.ps1 코드 일부

 

위 사례와 다른 공격에서 사용된 "template.ps1" 파일도 수집했으며, 해당 파일은 "jsg_test.db_sent" 파일을 "C:\Users\Public\Music\1.bat" 경로로 다운로드한 뒤 실행하는데 분석 당시 "1.bat" 파일 다운로드에 성공했으며, C2에서 추가 파일 다운로드 및 복사 행위를 수행해 자세한 내용은 아래 [표 2], [표 3]과 같다.

 

 

[표 2] "1.bat" 기능

 

[표 3] 파일별 기능

 

"1.bat" 파일이 다운로드하는 모든 파일은 "%APPDATA%\Microsoft\Windows" 경로에 복사되지만, 실제로 다운로드된 파일들은 "C:\Users\Public\Videos" 경로로 설정돼 유연하게 실행되지 않는다. 이는 공격자의 의도와 다르게 잘못 제작된 것으로 보인다. 모든 파일 경로가 동일하게 설정돼 있다고 가정할 경우, "default_an.ps1" 파일이 스케줄러에 의해 실행되면 정상적인 Anydesk 실행 파일인 "default_an.exe"가 실행된다. 이때, 공격자는 Anydesk의 트레이 아이콘과 창을 숨김 처리해 사용자가 인지하지 못하도록 했다. Anydesk는 실행되면 기본적으로 "%APPDATA%\Anydesk" 폴더에 "service.conf", "system.conf" 등의 설정 파일을 생성하는데, 공격자는 이 파일들을 자신이 설정한 파일로 바꿔치기해 사용자 시스템 접근을 시도한 것으로 보인다.

 

[그림 4] Anydesk 설정 파일들

 

Anydesk가 정상적으로 실행되더라도, 파워쉘 스크립트에 의해 트레이 아이콘과 창이 숨김 처리된다. 그래서 사용자는 프로세스 목록을 직접 확인하지 않는 이상 원격 제어가 이루어지고 있는 사실을 인지하기 어렵다.

 

※아래 사진은 설정 파일에서 연결 ID는 "1 699 290 623"으로 설정돼 있지만, 비밀번호를 알 수 없어, 임의로 비밀번호를 변경해 연결한 사진이다.

 

[그림 5] (좌) 일반적인 Anydesk 연결화면 (우) 숨김 처리된 Anydesk 연결 화면

 

사용자는 출처를 알 수 없는 파일 실행을 자제하고, 파일 확장자를 반드시 확인해야 한다. 특정인을 대상으로 하는 APT 공격은 공격 대상의 업무나 관심사 관련 내용으로 위장하고 있어 각별한 주의가 필요하다.

 

<대응 가이드>

 

1. 등록된 스케줄러 확인

작업 스케줄러를 점검해 의심스러운 작업이 등록돼 있는지 확인한다. 확인된 경우 해당 스케줄러 작업을 삭제한다.

 

[그림 6] 스케줄러 확인

 

2. 프로세스 목록 확인

아래 링크를 통해 Process Explorer를 다운로드 및 실행한 후, 파워쉘 하위 프로세스로 "default_an.exe"가 실행 중인지 확인하고, 실행 중이면 해당 프로세스를 종료한다. 단, "default_an.exe"의 파일명은 변경될 수 있으므로, 파워쉘 프로세스 하위에서 Anydesk 아이콘과 동일한 프로세스가 실행 중인 경우에도 이를 식별해 종료한다.

https://download.sysinternals.com/files/ProcessExplorer.zip

 

[그림 7] 실행 중인 프로세스 확인

 

출처 : AhnLab

02-553-2331
견적 요청
카카오톡 문의