보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

2022년 상반기 북한 공격 그룹 공격동향 Part.2 : 비문서형 기반 악성코드

2022.10.07

8,340

01. 2022년 상반기 북한 공격그룹 공격동향 Part.1 : 문서형 기반 악성코드 요약

지난 8월호인 “2022년 상반기 북한 공격그룹 공격동향 Part.1 : 문서형 기반 악성코드”에서 문서형 악성코드를 이용한 공격양상에서 눈여겨 볼만한 TTPs(tactics, techniques, and procedures)는 문서형 악성코드를 열람해야 하는 사용자에게 문서가 수신되야 하기 때문에 ‘스피어 피싱(Spear-Phishing)’을 통해 공격을 시도한다는 점이다. 사회공학기법을 이용해 타깃팅된 사용자가 열람할만한 주제를 메일 제목 및 악성파일명에 활용하는 것이다. 문서형 악성코드의 내부동작 구조는 쉘코드, 매크로 코드 등 악성행위를 수행하는 동작방식에 일부 차이가 있으나 대부분은 DLL파일로 정상API를 로드해 공격자의 공격행위를 수행하는 구조다. 공격코드의 일부는 BASE64등 난독화를 통해 안티바이러스(AV), 윈도우 디펜더(Windows Defender)등의 탐지를 우회 및 지연시키고자 하는 행위들도 볼 수 있다.

문서형 악성코드를 이용한 공격방식 이외에도 비문서형 악성코드는 오래 전부터 사용되던 공격방식이다. 비문서형 악성코드는 메일이라는 공격매체 이외에도 홈페이지, 업데이트 서버 등 다양한 매체를 통해 공격하기 때문에 공격 초기 접점은 비문서형 악성코드보다 넓다고 볼 수 있다. 비문서형 악성코드는 대부분 실행 파일이거나 실행 가능한 코드를 이용하여 공격자가 원하는 행위를 실행하며 북한 공격그룹이 사용중인 비문서형 악성코드의 경우 정보탈취의 목적으로 사용되는 경우가 빈번하였다.

사이버보안 전문업체인 맨디언트(Mandiant)에 따르면 현재 조치중인 경제제재 및 외화 확보를 위해 암호화폐 탈취, 언론, 뉴스 및 정치 단체 표적 설정, 대외 관계 및 핵 정보, 코로나19 백신 연구 탈취를 위한 공격 시도를 자행하고 있다. 또한, 미국의 암호화폐 분석 회사인 체이널리시스가 발표한 내용에서도 탈중앙화 금융 체계(DeFi)를 목표로한 해킹 시도로 올해 1월부터 7월까지 해킹으로 도난당한 암호화폐 전체 피해 금액이 19억 달러에 달하는 것으로 나타났다고 발표했다.

따라서 이번 9월호인 “2022년 상반기 북한 공격그룹 공격동향 Part.2 : 비문서형 기반 악성코드”에서는 북한 공격그룹이 국내를 타깃으로 공격하는 주요 공격기법을 보다 자세히 살펴보기 위해 북한 공격그룹이 사용했던 뉴크스페드(NukeSped), Initech 프로세스 악용을 통한 공격시도를 예시로 들어 비문서형 기반 악성코드 분석을 진행하고자 한다.

02. 북한발 비문서형 악성코드 상세분석

1) NukeSped 상세분석

북한발 비문서형 악성코드 중 백도어 악성코드로 유명한 NukeSped에 대해서 소개하고자 한다. Lazarus에서 국내 기업을 대상으로 설치되어 실행되는 백도어 중 하나로 C2에서 공격자의 명령을 수신하여 작업이 가능한 특징을 가지고 있다. 문서파일 내부에 악성 매크로 코드를 삽입하여 유포하는 방식과 타겟형 워터링홀 기법을 이용한 유포방식을 이용하고 있다.

[표 1] NukeSped 악성코드 파일 정보

해당 샘플이 가지고 있는 기능의 요약은 [표 2]와 같다.

[표 2] NukeSped 악성코드 기능 목록

최초 파일 확인 시 data 영역에 비정상적으로 큰 용량의 데이터가 확인되며, RC4 알고리즘으로 암호화 된 것으로 확인된다.

[그림 1] data 영역 내 인코딩된 데이터의 일부

디코딩 및 복호화 완료 후 메모리 실행을 위한 IAT(Import Address Table) 수정 작업 이후 NukeSped는 메모리 상에서 직접 실행되게 된다.

[그림 2] 디코딩 및 복호화 완료 시 확인되는 파일 구조

키로깅 기능을 포함하고 있으며 Enter 키 및 특정 키 입력 시 저장하기 위한 로직 또한 확인 가능하다.

[그림 3] 키로깅 도중 특정 키 입력 시 처리하기 위한 로직의 일부

클립보드에 데이터가 저장되는 경우 저장된 날짜, 시간정보 획득한 이후 클립보드 데이터와 함께 특정 위치에 저장하게 된다.

[그림 4] 클립보드 데이터 및 저장된 시간 정보 획득 시도

현재 실행중인 계정의 토큰을 획득하여 SYSTEM 권한 사용 여부를 확인하게 된다. 확인 결과 해당 권한이 1300 에러(제한된 계정)가 발생할 경우 특정 권한이 없다는 문자열이 출력되며 1300에러 이외의 경우 해당 에러번호가 출력되게 된다.

[그림 5] 사용자 계정의 권한 설정 확인 시도
[그림 6] AdjustTokenPrivileges API 설명 (출처: MSDN)

모든 작업이 완료된 이후 파일 삭제를 위한 BATCH 파일을 생성 이후 실행하게 된다.

[그림 7] 악성코드 삭제 BATCH 코드

해당 샘플에서 발생된 이벤트를 MITRE ATT&CK의 MATRIX로 맵핑한 결과는 [표 3]과 같다.

[표 3] NukeSped 샘플이 사용한 TTP

2) INITECH 프로세스 악용 악성코드 상세분석

라자루스(Lazarus)는 2022년 초 방산 업체, 화학과 관련된 기업을 포함한 다수의 기업 및 기관을 대상으로 조직적인 공격 시도를 보이고 있다. 스피어피싱을 이용하여 다운로드 된 htm 파일을 정상 INISAFE Web EX Client 정상 프로세스에 인젝션하여 권한 확보 및 정보 탈취에 사용된 이력을 다수 확인하였다. 특정 공격 시도에서는 레지스트리에서 자격 증명을 덤프하고, 지속성을 얻기 위해 BAT 파일 설치, 특정 사용자로 실행하도록 구성된 예약된 작업을 등록하여 사용까지 시도하는 것으로 확인되었다. 정상 프로세스를 악용한 인젝션 시도를 통해 공격자의 공격행위에 대해 알아보고자 한다.

[표 4] INITECH 프로세스 악용 악성코드 파일 정보

확인된 파일 중 xdqtjrnd6.dll(b213063f28e308adadf63d3b506e794e)의 경우 메인 함수에서 시작하는 것이 아닌 특정 함수인 SHLocalServerDll을 로드하여 코드를 시작하는 것으로 확인된다.

[그림 8] xdqtjrnd6.dll(b213063f28e308adadf63d3b506e794e) 파일의 함수 시작 지점

소켓 통신을 위한 연결 또는 중간 데이터 전송 시 사용되는 암호화 형식을 이용하여 특정 조건의 일방향 HASH의 경우 정해진 암호화를 이용하여 통신하는 것으로 확인된다.

[그림 9] 특정 일방향 HASH에 대응되는 암호화 목록

감염된 PC의 서비스 이름 질의, 정보 확인, DLL 추출 및 인젝션, 설정값 변경, 서비스 생성 시도가 가능한 DLL을 이용하는 경우 또한 확인 가능하다.

[그림 10] 서비스 관련 텍스트 내용의 일부

최초 파일 Import Table 확인 결과 kernel32.dll만 확인되었다. 정적분석에서 추가적으로 확인된 ws2_32.dll 또는 wsock32.dll, Advapi32.dll, iphlpapi.dll의 경우 외부 소켓통신 시도, 레지스트리 접근 시도 등에 사용되는 API가 포함된 dll 파일을 파일 실행 직후에 추가적으로 로드하여 사용한다. 해당 방식을 사용하여 공격자가 최초에 사용하는 API를 숨겨 원래 진행하고자 하는 공격 방식에 대해서 표면적으로 숨기는 것이 가능하게 된다.

[그림 11] 최초 확인되는 kernel32.dll API 로드 시도
[그림 12] 추가로 확인되는 kernel32.dll API 로드 시도
[그림 13] ws2_32.dll 또는 wsock32.dll API 로드 시도
[그림 14] Advapi32.dll API 로드 시도
[그림 15] iphlpapi.dll API 로드 시도

특정 경로에 레지스트리 생성을 시도하며 해당 경로에 실행 명령을 기록하여 저장하거나 DelegateExecute 내용을 공백으로 등록 시도하는 것으로 확인된다.

[그림 16] 특정 경로에 레지스트리 키 등록 시도

프로세스 생성을 통해 fodhelper.exe, ComputerDefaults.exe를 실행하며 해당 프로세스 확인 시 UAC(User Account Control) Bypass 기법을 이용하여 UAC를 우회하여 공격자가 원하는 명령어, 파일 실행을 관리자 권한으로 실행 가능하도록 하게 된다. [그림 16]의 레지스트리 키 등록과 [그림 17]의 작업이 모두 성공하여야 권한 우회가 가능하다.

[그림 17] UAC Bypass 기법을 사용하기 위한 작업의 일부

사용된 레지스트리의 경우 명령어 또는 파일 실행이후 삭제하게 된다.

[그림 18] 사용된 레지스트리 키 삭제

해당 샘플에서 발생된 이벤트를 ATT&CK Matrix로 맵핑한 결과는 [표 5]와 같다.

[표 5] INITECH 프로세스 악용 샘플이 사용한 TTP

03. MITRE ATT&CK를 통한 북한발 사이버 공격 아티팩트

MITRE ATT&CK를 통한 북한발 사이버 공격 아티팩트 정리에 앞서 2022년 상반기에 발생한 북한 공격그룹의 주요 공격 이력에 대하여 [표 6]에 정리하였다.

[표 6] 2022년 상반기 발생한 북한 공격그룹 공격 이력

문서형 및 비문서형 악성코드에서 발견된 TTP를 종합하여 중복되는 TTP를 [표 7], [표 8] 에 정리하였다.

[표 7] 문서형 악성코드 샘플간 중복된 TTP
[표 8] 비문서형 악성코드 샘플간 중복된 TTP

문서형 및 비문서형 악성코드에서 중복된 TTP를 확인해보면 유입 경로 면에서 스피어피싱인 점과 사용자가 직접 실행하는 경우가 같은 것으로 확인된다. 스피어피싱으로 최초 유입된 이후 문서형 악성코드가 실행됨에 따라 비문서형 악성코드가 실행되는 구조로 되어 있는 점에서 중복된 것으로 보인다. 문서형 악성코드의 TTP는 실행 과정에 있다면 비문서형 악성코드의 TTP는 실행 이후 수집하는 행위에 초점이 맞춰져 있다는 특징이 있다.

04. 참고자료

[1] Establishing the TigerRAT and TigerDownloader malware families
https://threatray.com/blog/establishing-the-tigerrat-and-tigerdownloader-malware-families/
[2] New Malware of Lazarus Threat Actor Group Exploiting INITECH Process
https://malware.news/t/new-malware-of-lazarus-threat-actor-group-exploiting-initech-process/59564
[3] Lazarus Targets Chemical Sector
https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/lazarus-dream-job-chemical
[4] LAZARUS GROUP: A MAHJONGGAME PLAYED WITH DIFFERENTSETS OF TILES
https://www.academia.edu/42755284/Lazarus_Group_a_mahjong_game_played_with_different_sets_of_tiles
[5] Not So Lazarus: 정부 기관을 노리는 북한의 여러 사이버 위협 그룹들
https://www.mandiant.kr/resources/blog/mapping-dprk-groups-to-government