보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
북한 공격그룹 문서형 악성코드 키워드 및 트렌드
2024.01.26
38,118

01. 서론
2023년에도 북한발 공격을 포함하여 다양한 공격 주체들이 사이버 공격 및 디지털 위협을 지속적으로 수행하였다. Microsoft Threat Intelligence가 매년 발간 중인 “Microsoft Digital Defense Report” 2023년 판에서는 2022년 7월부터 2023년 6월까지 확인된 북한발 공격 행위는 크게 두 개의 공격 그룹으로 나누어진다.
Lazarus(라자루스)와 BlueNoroff(블루노로프)는 암호화폐 탈취, 공급망 공격(3CX 등), 해양 및 조선, 방산 업체를 대상으로 사이버 공격을 수행했다. Kimsuky(킴수키)와 Konni(코니)는 피해자를 유인하기 위해 북한과 관련된 외교 정책에 대한 정보 및 논평을 제공하도록 학술 기관 또는 NGO를 사칭하였으며, 가짜 LinkedIn 프로필 제작을 통한 악성 파일 전달과 방산 및 사이버 보안 회사를 표적으로 사이버 공격을 수행했다.
Microsoft에서 확인된 북한의 공격 행위를 기반으로, 2023년 1월부터 11월까지 국내 및 국외에서 발표된 북한발 공격 총 98건의 IoC 정보를 수집하여 [표 4-1] 및 [표 4-2]에 따라 공격 방식 및 확장자 항목의 비율로 작성하였다. 전체적으로, 스피어피싱을 활용한 공격 시도가 전체의 절반 이상인 58%를 차지하며, 이어서 취약점 및 공급망 공격이 발생하였다.
수집된 IoC 정보에서 [표 4-2]의 확장자 사용 비중 확인 결과 LNK, CHM이 높은 비중을 가지고 있었다. 일반적인 실행파일(EXE) 등은 사용자 PC에 설치된 엔드포인트 백신 및 EDR 등에서 탐지되어 실행이 안 될 수 있다. 공격자는 이를 우회하기 위해 LNK, CHM, BAT 등 추가적인 프로그램 설치 없이도 실행이 가능한 확장자를 이용하여 탐지 우회에 이용하고 있다.


해당 내용을 토대로 본 문서에서는 북한 공격그룹이 사용한 문서형 악성코드 총 53종 중 LNK(20종), CHM(20종), HTML(4종), MS Office (9종)을 수집하여 분석한 결과를 토대로 2023년 북한발 문서형 악성코드 공격 양상 및 특징을 분석해보고자 한다.
02. 북한발 공격 트렌드 : ① LNK, CHM
북한발 공격에서 Macro(매크로)를 포함한 Word, Excel 첨부 파일 발송을 통해 해당 문서파일 실행 시 내부 VBA 코드 동작을 통해 악성행위를 진행하게 된다. 북한발 공격 및 다른 공격 그룹에서도 매크로를 이용한 공격이 성행하자 Microsoft는 2021년 3월 Excel 4.0 Macro 시트에 대한 차단정책, 2022년 4월 인터넷, 첨부 파일 등 신뢰할 수 없는 위치에서 실행된 파일에 대한 매크로 차단정책을 발표하게 된다.
Virustotal에서 매년 제공하는 “VirusTotal’s malware trends report: Emerging Formats and Delivery Techniques”는 2021년~2023년까지 자사에 수집된 악성코드 종류 및 차지하는 비율을 제공한다. 최초로 매크로 차단 정책이 발표된 2021년 이후 LokiBot, AgentTesla, ChromeLoader등이 악성코드 유포를 위한 공격벡터로 ISO 파일 사용량이 증가하며 Word, Excel 파일은 50% 이상 감소하였다.

LNK, CHM 파일 사용의 증가 원인으로 특정 프로그램 설치 등이 필요 없어 PC에서 즉시 실행 가능한 특징을 가지고 있다. LNK의 경우 확장자 및 아이콘 위장을 통해 공격에 수월하게 사용 가능하다는 장점을 이용하여 악성행위에 많이 쓰이고 있다.

1) LNK
북한발 공격자가 제작한 것으로 알려진 샘플은 대부분 [그림 4-2]와 같은 흐름으로 공격을 진행한다. 키워드로는 금융에서 사용되는 보안메일 , 법률, 해외 이슈, 암호화폐 등 이슈가 발생할 때 마다 해당 이슈의 제목 및 내용을 이용하여 스피어피싱을 진행하고 있다. 직접 실행 시 사용자 계정 또는 공용 계정 내의 폴더에 페이로드 생성 후 실행하는 방식을 주로 사용하고 있다.
LNK 파일을 이용한 공격 방식은 일반적으로 아이콘 및 확장자 위장에서 시작된다. 아이콘을 손쉽게 바꿀 수 있어 스피어피싱 공격에서 문서 파일로 어렵지 않게 위장 가능하다. 사용자가 문서파일로 위장한 LNK 파일 실행 시 외부 C2에서 페이로드 다운로드, LNK 파일 내부 데이터 이용 등을 통해 위장(Decoy)문서가 표시되는 동안 백그라운드에서 악성 행위를 진행한다.
이를 알아보기 위해 약 20여 개의 LNK 샘플을 분석하여 악성코드의 공격 방식 및 공통으로 사용되는 부분에 대해서 알아보고자 한다.

분석에 사용된 파일 목록은 [표 4-4]와 같으며 키워드 대부분이 메일 수신자들이 현혹할 만한 내용을 포함하고 있다. 특이사항으로 ISO, ZIP 형태로 전달하는 방식과 LNK 악성코드만 단독으로 전달하는 방식을 사용하고 있다. ISO, ZIP 형태로 전달하는 방식은 사용자가 직접 압축 해제 후 LNK 파일을 실행하는 방식으로 Decoy 문서와 함께 존재한다. LNK 악성코드만 단독으로 전달하는 방식의 경우 LNK 파일만 확인되며 Decoy 문서가 같이 존재했는지 여부는 확인 불가능 하였다.

첨부파일이 ISO, ZIP 형식을 사용하는 경우 LNK 악성코드 1종과 정상 문서파일(DOC, PDF, HWP 등) 2종 이상을 포함하여 ISO, ZIP 형식 내부는 정상파일만 존재한다는 점을 보여준다.

LNK 악성코드를 최초 실행 시 위장 파일형식에 맞는 첨부 파일이 실행된다. 악성행위와 동시에 실행된 경로, Temp 등 특정 경로에 위장 파일명으로 된 파일을 생성 후 실행하여 실제 문서파일이 실행된 것으로 착각하게 한다. 보통 LNK 악성코드 이름으로 생성될 수가 있으나 그렇지 않은 경우도 확인할 수 있다.

LNK 파일 속성 확인 시 실행 대상에 cmd.exe가 확인되며 상당히 긴 공백이 발견된다. 일반적인 방법으로는 확인이 어려우므로 LECmd 도구로 확인 시 공백 뒤에 숨겨진 1차 Powershell 코드를 확인할 수 있다.

1차 Powershell 코드는 HEX 값으로 되어있는 2차 Powershell 코드 동작을 위한 코드로 확인되며 HEX 값을 문자열로 치환결과 [표 4-6]과 같이 내부 데이터를 문서 파일로 만들고 추가 스크립트 동작을 하기 위한 코드로 확인된다.


2차 Powershell 코드가 생성하는 파일 경로는 [표 4-7]과 같으며 유사한 경로는 동일한색으로 표현하였다. 대부분 스크립트 언어인 VBS, BAT을 기반으로 한 파일, 실행파일 기반인 EXE 및 DLL 사용 또한 확인할 수 있다.

추가로 생성된 파일이 접근 시도한 C2 목록은 [표 4-8]과 같으며 Microsoft OneDrive 파일 공유경로를 가장 많이 사용한 것으로 보여 해당 파일들은 같거나 유사한 시간대에 C2로 사용된 것으로 보인다. 추가로, 파일명은 다르나 C2가 완전히 같은 경우, 탈취된 파일 업로드에 사용되는 PHP 파일명이 같은 경우도 발견되고 있다.

LNK 악성코드 분석 도중 2차 Powershell 코드 실행 이후 킬 스위치(Kill-Switch)가 포함된 코드가 존재하여 추가 분석을 진행하였다.

2차 Powershell 코드 실행 이후 Public\Documents 폴더에 다양한 종류의 파일들이 생성된 것으로 확인된다.

추가로 생성된 파일들의 간략한 실행 순서는 [표 10]과 같다.

Start.vbs가 실행될 경우 fully.bat이 실행된다. fully.bat은 no1.bat 존재 여부에 따라 조건 분기가 발생하며 존재하는 경우 start.vbs를 시작 프로그램에 등록하고 no1.bat, no4.bat를 실행 후 no1.bat를 삭제한다. 여기서 특이한점은 pakistan.txt 존재 여부를 검사하며 존재하는 경우 해당 파일을 삭제하고 행위를 중단한다.

no4.bat는 정보 수집을 위한 bat으로 보이며 [표 4-11]과 같은 내용을 수집 후 upload.vbs를 통해 C2로 전달하게 된다.

파일 업로드 이후 분기문으로 돌아오면 C2와 통신하여 setup.cab 파일을 다운로드 받아 expand 명령어를 실행하여 압축을 해제한다. 현재 C2와 통신이 되지 않아 확인은 불가능하나 setup.cab 내에 temprun.bat이 존재하고 해당 파일을 실행 후 분기문으로 돌아간다.
이전 코드와 마찬가지로 Pakistan.txt 존재 여부를 확인 후 반복 또는 종료를 결정하고 있어 해당 파일이 존재하는 경우 동작하지 않도록 킬 스위치 역할을 수행하는 것으로 보인다.

2) CHM
CHM 파일은 컴파일되어 압축된 HTML 형식으로 텍스트, HTML 태그 및 요소, 스크립트 언어(JS, VBS), ActiveX 컨트롤 등을 포함할 수 있다. CHM 파일 실행 시 기본 내장되어 있는 도움말 실행도구인 hh.exe을 이용한다. 스크립트 언어를 사용할 수 있다는 점과 추가적인 프로그램 설치 없이 hh.exe로 악성 행위를 가능하게 하기 때문에 공격에 많이 사용되는 것으로 보여지고 있다.
북한발 공격자가 제작한 것으로 알려진 샘플은 대부분 [그림 4-9]와 같은 흐름으로 공격을 진행한다. 키워드로는 금융에서 사용되는 보안메일 , 법률, 해외 이슈, 암호화폐 등 이슈가 발생할 때마다 해당 이슈의 제목 및 내용을 이용하여 스피어피싱을 진행하고 있다. 직접 실행 시 사용자 계정 또는 공용 계정 내의 폴더에 페이로드 생성 후 실행하는 방식을 주로 사용하고 있다.
이를 알아보기 위해 CHM 샘플 20종을 분석하여 악성코드의 공격 방식 및 공통으로 사용되는 부분에 대해서 알아보고자 한다.

분석에 사용된 파일 목록은 [표 4-12]와 같으며 키워드 대부분이 메일 수신자들이 현혹할 만한 내용을 포함하고 있다.

CHM 악성코드 최초 실행 시 피해자를 현혹할 만한 내용이 표시되는 동안 내부 코드에 의해 악성코드 실행을 위한 코드도 동시에 동작하게 된다.

CHM 파일은 HTML로 이루어져 있어 소스코드 확인이 가능하다는 장점이 있다. 분석된 CHM 악성코드에서 보이는 특징으로는 HTML 코드 하단 또는 상단에 공격자가 원하는 코드를 삽입하여 악성코드를 실행하며 일부 샘플에서는 정상적으로 보이기 위해 실제 업체에서 사용 중인 정상 코드를 도용하는 부분도 보이고 있다. 이를 확인하기 위해 HTML 코드 하단에 삽입한 경우와 HTML 코드 상단에 삽입한 경우를 나눠서 살펴보고자 한다.
① HTML 코드 하단
정상적인 HTML 소스처럼 보이게 하기 위해 소스 최하단에 <script>태그를 이용하여 악성 스크립트 코드를 삽입한다. 스크립트 실행 시 hh.exe를 사용하여 실행하고자 하는 코드를 복호화한 이후 VBS, JSE 형태의 스크립트 파일로 생성하게 된다.

[표 13]은 HTML 코드 하단에 스크립트 코드가 삽입된 샘플로 금융 키워드가 가장 많이 사용하고 있다. 파일별 중복되는 스크립트 생성 경로를 동일한 색으로 표시하였으며 스크립트 대부분이 사용자 계정\Links에 집중된 것으로 확인된다. 파일명 역시 대부분 document를 포함하고 있으며 확장자명만 달라지고 있다.

1차로 생성된 페이로드인 VBS, JSE 파일은 생성된 경로에서 즉시 실행되며 Powershell 원 라이너 코드를 이용하여 외부 C2 경로에서 추가 파일을 다운로드 받아 실행하고자 한다.

[표 14]는 추가로 다운로드 받아 실행을 시도하는 악성코드의 목록으로 저장후 실행하는 경로는 대부분 Temp 폴더에 저장 후 실행을 시도한다. Powershell를 직접 내려받아 실행하는 케이스도 존재하며 같은 C2를 사용하거나 PHP 요청 이후 파라미터가 대부분 ‘?type=1’로 고정된 특징을 확인할 수 있다.

② HTML 코드 상단
정상적인 HTML 코드 사이에 mshta.exe를 이용하여 C2에 접근을 시도하는 코드를 삽입한다. 최초 실행 시 도움말 창이 추가로 실행되면서 C2에 접근을 시도한다. 현재는 접근이 불가능하나 추가적인 행위를 하기 위해 설정한 것으로 보인다.

[표 15]는 HTML 코드 상단에 스크립트 코드가 삽입된 샘플로 보안 키워드가 가장 많이 사용하고 있다. 파일별 중복되는 C2 파일 경로를 각각 파란색으로 표시하였으며 C2 경로에서 1.html과 같거나 유사한 파일명을 요청하는 것으로 확인된다.

03. 북한발 공격 트렌드 : ② HTML
중요한 메일 발송 시 보통 본인확인을 위해 생년월일 또는 특정 비밀번호를 입력해야만 내용을 볼 수 있는 보안 메일을 사용한다. 스피어피싱의 시나리오에 적합하다는 점을 노려 HTML을 이용한 공격 방식에서 보안 메일을 사칭한 방식을 찾아볼 수 있다. 피해자는 수신받은 메일이 보안 메일로 되어있어 사이버 공격과 관련 없는 정상 메일로 판단하여 첨부 파일을 실행할 경우 악성코드가 내부에서 동작하여 피해를 볼 수 있다.
북한발 공격자가 제작한 것으로 알려진 샘플은 [그림 4-15]와 같은 흐름으로 공격을 진행한다. 특이사항으로 3개 파일은 외교 관련 메일 내용, 1개 파일은 내용을 알 수 없으나 동일한 보안 메일 형식으로 되어있는 것으로 확인되었다. 상세한 내용을 알아보기 위해 HTML 샘플 4종을 분석하여 악성코드의 공격 방식 및 공통으로 사용되는 부분에 대해서 알아보고자 한다.



HTML 파일 최초 실행 시 보안 메일 관련 내용이 확인되며 비밀번호 입력창이 나타난다. 특이한점으로 임의 값, 공백을 입력하더라도 보안 메일 내용을 볼 수 있다.

통일부 관련 내용과 함께 첨부된 문서 내용 확인이 필요하다는 내용으로 실제 첨부 파일 클릭 시 압축파일 형식(RAR, ZIP 형식)의 파일이 다운로드 된다.


실제 소스코드 내용 중 제목 데이터와 파일 데이터를 포함하고 있어 외부 C2에서 다운로드 받은 것이 아닌 내부 데이터 조합을 통한 다운로드로 확인된다.

압축 파일 해제 결과 LNK 악성코드와 같이 LNK 파일, 정상 문서파일이 각각 확인되며 위장 파일명에서 거의 유사한 파일명이 확인된다.

1차 Powershell 코드 동작 결과 VBS 생성, 내부코드 직접 실행으로 나뉘며 VBS 생성은 같은 경로, 형태의 파일을 생성하는 것으로 확인된다.

생성된 VBS는 지속적인 작업을 위한 루프문이 존재하며 레지스트리 조작을 통해 IE가 강제로 켜지도록 설정한다. 이후 특정 페이지로 접근을 시도하나 현재 C2가 닫혀 있어 추가적인 확인은 어렵다.


04. 북한발 공격 트렌드 : ③ MS Office
MS Office 파일(docx, xlsx등)을 이용한 공격추세는 Microsoft가 신뢰할 수 없는 위치에서 실행된 파일에 대한 매크로 차단정책을 발표한 이후 줄어들었으며 매크로가 아닌 LNK등 다른 악성코드의 디코이 문서로 이용되었다. 하지만 MS Office를 이용한 공격방식을 전혀 사용하지 않는 것은 아니었으며 매크로 코드 내부에서 추가 매크로 코드 생성을 통한 탐지 우회 또는 취약점을 이용하여 아직 패치가 진행되지 않은 피해자 PC를 노리는 것으로 보인다.
북한발 공격자가 제작한 것으로 알려진 샘플은 [그림 4-20]과 같은 흐름으로 공격을 진행한다. 공격 방식을 상세하게 알아보기 위해 MS Office 샘플 9종을 분석하여 악성코드의 공격 방식 및 공통으로 사용되는 부분에 대해서 알아보고자 한다.

분석에 사용된 파일 목록은 [표 4-21]과 같으며 대부분의 키워드가 메일 수신자들이 현혹할 만한 내용을 포함하고 있다.

최초 파일 실행 시 파일명은 회원비 지급의뢰서이나 문서 내용은 사례비 지급의뢰서로 확인되며 매크로 사용을 위해 ‘콘텐츠 사용’ 버튼이 활성화되어 있는 것으로 확인된다.

해당 매크로는 내부 코드에 의해 동적으로 매크로를 수정하여 2차 매크로 코드를 생성한다. 기본적으로 동적 매크로 수정은 비활성화되어 있기 때문에 VBOM(VB 개체 모델) 예외를 체크하여 우회할지 여부를 확인한다. 이후, “Geminimtv18” 뮤텍스를 생성하여 중복 실행을 방지한다. (HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\security\AccessVBOM)

동적 수정될 매크로 코드를 prairie 변수에 저장한 뒤 메인함수로 다시 돌아가게 된다.

특정 백신 엔진이 설치되어 있는지 경로 검색을 통해 확인한 이후 없는 것으로 확인되면 매크로 코드 복호화 작업을 시작한다.


2차 매크로 코드는 쉘코드를 내장하고 있으며 OS 비트수에 따라 서로 다른경로에 존재하는 notepad.exe, mspaint.exe를 로드한다. 정상적으로 실행된 경우 해당 PID를 확보한 이후 인젝션 작업을 진행한다.

쉘코드는 메모리 할당 이후 wininet.dll을 로드하여 InternetOpenUrlA를 호출한 이후 외부 C2와 연결을 시도하나 현재 C2와 연결이 불가능하여 추가적인 데이터 확보는 불가능하였다.

9개 파일 분석 결과 C2와의 통신을 시도하는 코드의 위치는 1차 매크로 코드에서 직접 실행하는 방식, 2차 매크로 코드를 이용하여 쉘코드에서 실행하는 방식, 원격 템플릿 인젝션(Remote Template Injecton)을 이용하는 방식 총 세 가지 방식으로 나뉘게 된다.
그 중, 원격 템플렛 인젝션은 로컬 또는 외부의 워드 양식파일(*.dotm) 파일을 가져오는 기능을 악용하여 워드 양식 파일 내부에 매크로 코드를 삽입하여 C2에 업로드한다. 첨부 파일로 전달하는 문서에는 C2에 업로드한 워드 양식파일을 받는 링크만 삽입하여 문서파일 실행 시 C2에 접근하여 해당 파일을 받아 매크로 코드가 실행되게 하는 방식으로 [표 4-23]에 7~9번 파일이 이러한 공격 방식을 사용하고 있다.
C2 주소는 정상 사이트를 탈취하거나 변조하여 사용하는 방식을 넘어 Google Drive, OneDrive 등 정상적인 스토리지 서비스도 이용하는 추세로 보인다.

05. 마무리
LNK(20종), CHM(20종), HTML(4종), MS Office (9종) 총 53종을 분석한 결과에서 유의미한 부분에 대한 최종 정리를 하고자 한다.
1) 공격에 사용된 키워드 정리
53종의 파일 분석 결과에서 북한발 공격자는 공격자가 가장 많이 사용한 키워드는 금융으로 보안 메일 사칭을 이용한 공격 시도를 가장 많이 확인할 수 있었다. 그 뒤를 이어 신청서, 시행규칙, 일정표 등의 내용을 사칭한 행정 키워드 및 북한 또는 통일부 관련 내용으로 위장한 외교 키워드를 많이 사용하였다.

2) 파일 저장 경로의 유사성
북한발 공격자는 공격에 사용될 파일을 사용자계정\Temp 경로에 가장 많이 사용하는 것으로 확인되었다. Users\Public 경로가 그 뒤를 이었으며 Users\Public, Users\Public\Document, Users\Public\Libraries 총 3개 폴더를 추가로 사용하여 파일 은닉을 시도한다. Public 경로의 경우 공용 계정이기 때문에 사용자가 인지하지 못하는 경로에 파일 은닉을 시도하는 것으로 보인다.

3) 정상 클라우드 스토리지 서비스를 C2로 이용
정상 클라우드 스토리지 서비스를 C2로 이용하여 공격에 사용하는 샘플의 비중은 전체에 18%를 차지한다. 적은 비중은 아니며 해당 서비스를 C2로 이용하는 경우 보안장비에서 정상적인 서비스 접근으로 인식하여 악성코드가 포함되어 있으나 탐지되지 않는 경우를 노리는 것으로 보인다.

번외로 확장자는 다르지만 DigiByte 문자열이 포함된 파일 2종에서 C2가 동일한 것으로 확인된다. 암호화폐 키워드를 이용하여 다양한 확장자를 이용한 공격 시도의 일환으로 보인다.

06. 참고자료
1.VirusTotal's malware trends report: Emerging Formats and Delivery Techniques : https://assets.virustotal.com/reports/2023emerging.pdf
2.인터넷의 매크로는 기본적으로 Office에서 차단됩니다 :
https://learn.microsoft.com/ko-kr/deployoffice/security/internet-macros-blocked
3.RokRat 공격 활동을 전달하기 위해 APT-C-28(ScarCruft) 조직의 악성 문서 사용 분석 :
https://mp.weixin.qq.com/s?__biz=MzUyMjk4NzExMA==&mid=2247492580&idx=1&sn=2823af6f464cd6a007b6c0871397acc0
4.Peeking at Reaper’s surveillance operations
https://blog.sekoia.io/peeking-at-reaper-surveillance-operations-against-north-korea-defectors/
5.Microsoft Digital Defense Report 2023
https://www.microsoft.com/en-us/security/security-insider/microsoft-digital-defense-report-2023