총 2,155건
레드아이즈 공격 그룹, 개인 PC 도청 시도?
레드아이즈의 공격 과정을 살펴보면, 공격자는 초기 침투에 CHM(Compiled HTML Help File) 파일을 이용했다. 암호가 걸린 정상 문서와 비밀번호 파일로 위장한 CHM 악성코드를 함께 첨부해 스피어 피싱 이메일로 공격 대상에 접근한 것으로 추정된다. 즉, 공격자는 해당 문서와 CHM 악성코드를 함께 압축해 CHM 파일을 실행해야만 암호화된 문서를 열람할 수 있는 것처럼 사용자의 악성코드 실행을 유도했다.
[그림 1] 레드아이즈의 공격 흐름
[그림 2] 미끼 문서와 악성 CHM 파일
사용자가 CHM 파일을 실행하면 [그림 3]과 같이 암호 정보를 확인할 수 있으며, 동시에 [그림 4]의 CHM 내부 스트립트 코드에 의해 MSHTA.exe가 실행돼 공격자 C&C 서버로부터 악성 스크립트가 함께 실행된다.
[그림 3] CHM 파일 내용
[그림 4] CHM 내부 스크립트 코드
분석 당시 발견된 악성 스크립트는 자동 실행 레지스트리 키를 이용한 지속성 유지 및 백도어 기능을 탑재한 파워셸(PowerShell) 악성코드로 확인됐다.
[그림 5] 공격자 서버로부터 다운로드된 파워셸 스크립트
이 파워셸 악성코드는 CMD.exe를 사용하지 않고 C&C 서버 명령에 따라 다른 행위를 수행한다. 올해 2월 스테가노그래피(Steganography) 기법을 악용한 공격에서 확인된 파워셸 악성코드가 CMD.exe를 이용한 공격자 명령 수행 및 결과 전송, 지속성을 위한 레지스트리 RUN 키 등록 등의 비교적 단순한 기능을 수행한 것과는 다르다. 다만, 지속성을 위한 레지스트리 키를 등록하는 기능은 동일한 것으로 확인됐다.
명령 |
기능 |
fileinfo |
특정 경로의 파일 목록 및 정보(이름, 크기, 수정한 시각)를 CSV 형태로 저장한 후 C&C 서버에 이를 전송 및 삭제 기능 수행 |
dir |
특정 경로의 폴더를 압축하여 이를 C&C 서버에 전송하고 압축 파일 삭제 기능 수행 |
file |
특정 파일 C&C 서버에 전송 (업로드) |
down |
특정 경로에 파일 다운로드 |
regedit |
레지스트리 편집 기능 |
task |
10분 간격으로 반복 실행하는 작업 스케줄 등록 기능 |
zip |
특정 경로 압축 파일 해제 기능 |
rename |
특정 파일 이름 변경 기능 |
del |
특정 경로 파일 삭제 기능 |
[표 1] 파워셸 백도어 기능
MSHTA.exe에 의해 실행된 파워셸 악성 스크립트는 아래 명령을 통해 자동 실행 레지스트리 키를 등록해 시스템이 재부팅될 경우에도 공격자 C&C 서버로부터 악성 스크립트가 실행되도록 한다.
이후 공격자는 고 언어 기반의 에이블리 플랫폼을 이용하는 백도어 악성코드를 통해 권한 상승, 정보 유출 악성코드 유포와 같은 공격을 수행했다. 에이블리 플랫폼은 실시간으로 데이터를 전송할 수 있고, 채널 인증 키를 알면 누구나 채널에 접속해 메시지를 받을 수 있다는 특징이 있다. 안랩 분석팀은 공격자 채널의 인증 키를 확보해 공격 대상에게 전달하는 일부 명령을 확인할 수 있었다.
명령 전달 시각 |
실행 명령 |
2023-05-09 10:16:16 |
forfiles /p c:\programdata |
2023-05-09 10:49:47 |
ren c:\programdata\wallpaper-river.jpg wallpaper-river.exe |
2023-05-09 10:49:53 |
forfiles /p c:\programdata |
2023-05-09 10:50:09 |
wmic OS get Caption,CSDVersion,OSArchitecture,Version |
2023-05-09 10:50:35 |
c:\programdata\wallpaper-river.exe |
[표 2] AblyGo 백도어에 의해 실행된 명령어
과거 AblyGo 백도어는 [그림 6]과 같이 바이너리 내부에 인증 키가 존재했으나, 이번에 확인된 백도어는 인증 키를 깃허브 리포지토리에 저장해 동적으로 인증 키를 받아 채널 통신을 수행했다. 이는 에이블리 채널 인증키를 수시로 변경해 공격 대상 이외의 제3자가 채널 메시지를 구독하지 못하도록 하기 위한 수법인 것으로 추정된다.
[그림 6] 하드코딩된 인증 키 정보 (과거 AblyGo 백도어)
[그림 7] 깃허브를 이용한 인증 키 조회 기능 (AblyGo 백도어 변형)
(Github 주소: https://raw.githubusercontent.com/thanks023/hello/main/ReadMe.txt)
Ably 채널 인증키를 받아오기 위해 고 백도어는 바이너리 내부에 존재하는 깃허브 주소에 접속해 “<>BASE64 인코딩된 채널 인증키” 형식으로 된 데이터를 가져온다.
[Github 커밋 문자열]<>S3dITXZ3LmJvaUMzdzpqR2JmMDd3VW9iN3RGanoxM1dxRFE4WJRsVFBDbVBQdldzb3hZYjFxc21r
[Github 문자열 복호화]
<>KwHMvw.boiC3w:jGbf07wUob7tFjz13WqDQ8X.lTPCmPPvWsoxYb1qsmk (Ably 인증 키)
AblyGo 백도어가 감염 대상 PC에서 실행되면 것허브에서 “<>인증 키”를 받아와 [그림 7]의 코드 부분과 같이 “<>”를 파싱해 뒷 문자열을 베이스64(Base64)로 디코딩한다. 또한, 디코딩한 인증 키 값으로 공격자의 에이블리 채널에 접속해 “UP”, “DOWN” 이라는 메시지 이름을 송수신한다. 송수신 데이터 형식과 기능은 [표 3]과 같다.
메시지 이름 (기능) |
데이터 형식 |
UP (HELLO 전송 & CMD 명령 결과 업로드) |
{“Id”:”컴퓨터 이름”,”Textdata”:”SEVMTw==”} |
DOWN (CMD 명령 전달) |
{“Id”:”컴퓨터 이름”,”Textdata”:”SEVMTw==”} |
[표 3] AblyGo 백도어의 메시지 송수신 형식 및 기능
PC에서 실행된 AblyGo는 약 2~5분 간격으로 현재 PC가 공격자 Ably 채널에 연결되었음을 나타내는 “HELLO” 데이터를 Base64로 인코딩해 전송한다. (메시지 이름: UP)
공격자는 Ably 채널을 모니터링하며 감염 대상 PC의 ID를 식별하고 Base64로 명령을 인코딩해 다시 전달한다. (메시지 이름: DOWN)
C&C 서버에서 전달받은 명령 수행은 모두 CMD.exe를 통해 이루어지며, CMD 명령 결과는 다시 “UP” 메시지를 통해 채널로 전송된다. 즉, UP은 공격자 입장에서 피해 PC를 식별하고 명령에 대한 결과 값을 받는 메시지이고 DOWN은 명령을 내릴 때 사용하는 메시지이다.
명령 제어 이후 공격자는 알려진 권한 상승 기법인 T1546.015 (Event Triggered Execution: Component Object Model Hijacking)을 사용해 추가 악성코드를 실행했다. 아래 [그림 8]의 레지스트리 키에 등록된 악성코드는 확보하지 못했다.
[그림 8] 권한 상승 기법 (T1546.015)
공격자는 AblyGo 백도어와 MSHTA, 파워셸을 이용해 최종적으로 정보 유출 악성코드를 파일리스(Fileless) 형태로 실행했다.
[그림 9] FadeStealer 실행 흐름
[그림 10] AhnLab EDR(Endpoint Detection Response) 탐지 화면
실행된 정보 유출 악성코드는 PC 화면 스크린 샷 캡쳐, 이동식 미디어 장치 및 스마트폰 데이터유출, 키로깅, 도청 기능을 탑재했다.
[그림 11] FadeStealer에 포함된 도청 기능
안랩 분석팀은 이번에 새로 확인된 이 악성코드를 유출 데이터가 저장되는 폴더 이름의 특징을 따서 ‘FadeStealer(Fade as a stealer)’로 명명했다. FadeStealer는 %temp% 경로에 유출 데이터 별로 폴더를 생성해 저장했다. 또한, 파일에 내장된 RAR 압축 유틸리티를 통해 감염 대상 PC에서 유출한 데이터를 30분 간격으로 압축한 후, 공격자 C&C 서버에 파일을 전송했다. 이때 압축 파일의 크기가 1GB를 넘을 경우 볼륨을 최대 1GB로 지정해 분할 압축 기능으로 데이터를 유출하는 치밀함을 보였다.
폴더 경로 |
유출 데이터 |
%temp%\VSTelems_Fade\NgenPdbc |
화면 캡쳐 |
%temp%\VSTelems_Fade\NgenPdbk |
키로깅 |
%temp%\VSTelems_Fade\NgenPdbm |
마이크 도청 |
%temp%\VSTelems_FadeIn |
스마트폰 장치 데이터 수집 |
%temp%\VSTelems_FadeOut |
이동식 미디어 장치 |
[표 5] 폴더 경로 및 유출 데이터
[그림 12] AhnLab EDR 탐지 화면 (RAR 압축 유틸리티를 이용한 정보 유출)
압축 옵션 |
기능 설명 |
a |
압축 파일 추가 |
r |
압축 파일 복구 |
ep1 |
이름에서 베이스 디렉터리 제외 |
m0 |
압축 레벨 설정 (저장) |
y |
모든 질문에 자동으로 yes 답하기 |
p NaeMhq[d]q |
압축 비밀번호 NaeMhq[d]q로 설정 |
v1g |
1기가 단위로 압축 볼륨 설정 |
[표 6] 압축 옵션
[그림 13] 공격자 서버에서 확인된 개인정보 유출 데이터
이 과정을 통해 레드아이즈는 특정 개인이 PC로 수행한 작업을 모두 감시하고 도청했다. 전체적인 공격 흐름을 보면, 스피어 피싱 메일을 통해 공격 대상에 접근하고 에이블리 채널을 명령 제어 서버로 사용하는 등 개인이 피해 사실을 인지하는 것조차 어려울 정도로 교묘하고 치밀하다. 현재 안랩 분석팀은 레드아이즈의 행보를 추적하고 있으며, 추가 피해가 발생하지 않도록 신속하게 대응하고 있다.
레드아이즈의 공격으로 인한 피해를 예방하려면 불분명한 이메일의 첨부 파일은 열지 않도록 주의해야 한다. 특히 최근 해당 조직은 CHM, LNK 확장자 기반의 악성코드를 초기 침투에 사용하고 있기 때문에 이메일 첨부 파일 내 파일을 실행할 때 확장자를 반드시 확인해야 한다. 확장자 옵션은 기본적으로 숨기기 옵션이 부여돼 있어 [그림 14]처럼 ‘알려진 파일 형식의 파일 확장명 숨기기’ 체크를 해제하고, 첨부 파일 형태가 CHM, LNK일 경우 메일 출처를 확인한 후 실행해야 한다.
자세한 내용은 ASEC 블로그에서 확인할 수 있다.
AhnLab EDR, 실전에서는 이렇게 활용한다
국내 기업 및 기관들을 노리는 사이버 위협이 고도화를 거듭하고 있다. 해커들은 다양한 기법과 경로를 통해 공격을 감행하고 있으며, 이들의 활동은 우리가 체감하는 것보다 훨씬 가까이 와있다.
공격자들이 구사하는 최신 공격 기법에 효과적으로 대응하기 위해서는 차단을 넘어 위협을 종합적으로 탐지해 대응할 수 있는 역량을 갖춰야 한다. 안랩은 자사 EDR 솔루션 AhnLab EDR을 통해 의심스러운 행위에 대한 정확한 탐지부터 수집 및 분석, 대응, 지속적인 모니터링과 통합 관리까지 지원하고 있다. 이번 글에서는 AhnLab EDR로 프로세스 할로잉을 수행하는 닷넷 패커와 록랫 악성코드의 공격 기법을 탐지하고 분석한 사례를 소개한다.
1. 프로세스 할로잉 악성코드 추적
최근 닷넷(.NET)으로 만들어진 패커가 국내외에서 대거 확인되고 있다. 닷넷 패커는 대부분 패커를 통해 감추고 있는 EXE 형태의 악성 실행 파일을 로컬에 생성하지 않고, 정상 프로세스에 악성코드를 주입해 실행한다.
닷넷 패커 자체에 대한 심층 분석 내용은 ASEC 블로그를 통해 게시한 분석 보고서에서 확인할 수 있다.
닷넷 패커는 렘코스(Remcos), 폼북(FormBook), 스크럽크립트(ScrubCrypt), 에이싱크랫(AsyncRAT) 등의 다양한 악성코드를 유포할 때 주로 최초 유포 파일 또는 중간 단계의 로더(Loader) 역할을 수행한다. 닷넷 패커에 숨겨진 악성 파일이 C2 서버의 명령에 따라 제어되는 백도어(Backdoor) 유형일 경우, 탐지하기 어렵다. 백도어가 명령을 전달받지 않은 휴면 상태일 때 C2 통신 외에는 별다른 행위를 수행하지 않기 때문이다.
하지만 AhnLab EDR에는 닷넷 패커가 사용한 악성코드가 프로세스 할로잉(Process Hollowing)을 수행한 행위 기록이 남아있다. AhnLab EDR은 이 정보를 활용해 침해를 인지하고 추적해 C2 서버를 확보하는 등의 조치로 추가 피해를 방지한다. 프로세스 할로잉이란 시스템에 정상적인 프로세스를 실행한 후 원본 프로세스의 데이터를 악성코드 데이터로 변경하는 일종의 코드 인젝션 기법을 의미한다.
[그림 1]은 AhnLab EDR이 프로세스 할로잉을 수행하는 닷넷 패커를 탐지한 화면이다. 내부에 렘코스 악성코드르 포함한 해당 닷넷 패커(Malware_exe.exe)는 할로잉 기법을 사용해 정상 프로세스인 ‘AddinProcess32.exe’를 실행했다. 이로 인해 렘코스 악성코드는 사용자 환경에서 파일로 생성되지 않고 AddinProcess32.exe에서 동작했다.
[그림 1] AhnLab EDR 탐지 다이어그램
[그림 2] AhnLab EDR 탐지 다이어그램 (프로세스 할로잉)
AhnLab EDR은 [그림 3]과 같이 AddinProcess32.exe에서 동작한 렘코스가 C2 통신만 수행한 것을 보여주며, 동시에 침해가 발생한 사실을 인지한다.
[그림 3] AhnLab EDR 탐지 다이어그램 (C2 통신)
AhnLab EDR 탐지 시점의 타임라인에서도 할로잉 및 C2 통신에 관한 정보를 확인할 수 있다. 또한, [그림 4]와 같이 닷넷 패커 악성코드의 할로잉 주체 및 대상도 알 수 있다. [그림 5]는 할로잉된 정상 프로세스(AddinProcess32.exe)에서 동작하는 렘코스 악성코드의 C2 통신을 보여주는 화면이다.
[그림 4] AhnLab EDR 탐지 타임라인 (프로세스 할로잉)
[그림 5] AhnLab EDR 탐지 타임라인 (C2 통신)
이처럼, AhnLab EDR을 활용하면 탐지가 어려운 고도화된 위협과 공격 기법도 탐지해 선제적으로 대응하여 피해를 최소화할 수 있다.
2. 악성 링크 파일 탐지 및 분석
안랩은 지난 4월, ASEC 블로그를 통해 레드아이즈(RedEyes) 공격 그룹(APT37 혹은 ScarCruft)이 링크 파일(*.lnk)을 통해 유포하는 ‘RokRAT 악성코드’ 관련 내용을 공유한 바 있다. 해당 공격 역시 AhnLab EDR을 통해 상세한 탐지 및 분석이 가능하다.
우선, 레드아이즈가 록랫 악성코드를 유포하는데 사용한 링크 파일은 “temp” 경로에 정상 파일과 함께 스크립트 파일을 생성 및 실행해 악성 행위를 수행하는 파워셸(PoweShell) 명령어를 포함한다.
AhnLab EDR은 악성 링크 파일이 사용자 시스템에 유입돼 실행되면 [그림 6]과 같이 의심스러운 파워셸의 실행을 탐지한다.
[그림 6] 의심스러운 PowerShell.exe 프로세스 실행 탐지
[그림 6]에서 “cmd.exe”를 클릭하면 [그림 7]과 같이 배치 파일(*.bat)의 실행 이력과 명령어를 확인할 수 있다.
[그림 7] 배치 파일 실행 내역과 명령어
[그림 8] 배치 파일에 의해 실행된 파워셸 탐지 화면
AhnLab EDR이 배치 파일에 의해 실행된 파워셸 명령어를 탐지하면 오른쪽 상단의 호스트 정보를 통해 어떤 시스템에 누가 로그인을 해서 해당 명령어가 실행된 것인지 파악할 수 있다. 또, 해당 PC를 조사하는 과정에서 [그림 9]와 같이 악성코드 다운로드 URL 주소도 확인이 가능하다.
[그림 9] 악성코드 다운로드 URL
의심스러운 로그가 확인되면 보안 담당자는 [그림 10] 및 [그림 11]과 같이 AhnLab EDR에 탑재된 프로세스 종료, 해당 시스템의 네트워크 격리 등의 기능으로 대응할 수 있다.
[그림 10] AhnLab EDR의 프로세스 종료 기능
[그림 11] 의심스러운 시스템에 대한 대응(네트워크 차단, 악성코드 검사)
결론적으로, 사용자는 AhnLab EDR을 활용해 공격 단계별 다차원 분석과 지속적인 모니터링, 통합 관리로 정교화된 위협에 대한 선제적 대응이 가능하다. 더 나아가, EDR과 V3(안티바이러스), MDS(샌드박스)를 상호 연계하면 더 강력한 시너지 효과를 낼 수 있다.
AhnLab EDR에 대한 보다 자세한 정보는 안랩 홈페이지를 통해 확인할 수 있다.
3CX 공급망 공격, EDR에 흔적을 남기다
올해 3월 전 세계적으로 큰 이슈가 됐던 3CX 공급망 공격은 해외 뿐만 아니라 우리나라에서도 감염 사례를 남겼다. 이에 대해, 전세계 여러 보안 기업들이 분석을 진행했고, 안랩도 자사 위협 인텔리전스 플랫폼 AhnLab TIP와 ASEC 블로그를 통해 지속적으로 보안 권고문 및 분석 정보를 공유해왔다.
그간 전 세계적으로 보안기업들이 발표한 내용을 종합해 3CX 공급망 공격의 흐름을 알아보고, 안랩이 엔드포인트 탐지 & 대응 솔루션 ‘AhnLab EDR’을 활용해 탐지 및 분석한 내용을 살펴본다.
날짜로 알아보는 사건의 흐름
1) (2023.03.29) 악성3CX DesktopApp 발견
2023년 3월 29일, 보안기업 크라우드스트라이크(CrowdStrike)는 외부에서 추가 페이로드를 다운로드하는 3CX DesktopApp을 발견했고, 관련 침해지표(IoC)를 공개했다. 확인된 악의적 행위로는 추가 페이로드 다운로드 및 키로깅(keylogging)이 있다.
2) (2023.03.30) 공급망 공격과 보안 권고문
2023년 3월 30일, 3CX DesktopApp 공식 웹사이트에서 보안 권고문을 통해 특정 버전들에 대한 삭제 및 대처 방안에 대한 내용을 공유했다. 또한, 공급망 공격을 당한 것으로 추정되어 보안기업 맨디언트(Mandiant)를 통해 조사를 진행할 것이라고 밝혔다.
[그림 1] 3CX DesktopApp 보안 권고문
안랩 역시, 해당 내용에 대한 보안 권고문을 자사 위협 인텔리전스 플랫폼 AhnLab TIP와 ASEC 블로그를 통해 게시한 바 있다.
3) (2023.03.30 ~ 2023.04.03) 보안기업들의 분석
이후 여러 보안기업들이 악성 3CX DesktopApp 관련 내용을 블로그에 게시했다. 분석 내용은 대부분 비슷하며, 악성 3CX DesktopApp의 실행 흐름은 [그림 2]와 같다.
[그림 2] 악성 3CX DesktopApp 실행 흐름
요약하면, 먼저 MSI 설치 파일이 실행되면 내부에 포함된 “3CXDesktopApp.exe”가 정상 DLL 이름으로 위장한 악성 DLL인 “ffmpeg.dll”을 로드하고 “ffmpeg.dll”이 “d3dcompiler_47.dll”을 읽어온다. 이후 "FE ED FA CE"로 시작하는 위치를 찾은 다음 암호화된 데이터를 읽어와 복호화하고 쉘코드+DLL을 확보한다. 그리고, 깃허브 저장소(GitHub Repository)에서 Icon 파일을 다운로드한다.
마지막으로 Icon 파일에서 “$”로 시작하는 위치를 찾은 다음 그 뒤부터 암호화된 데이터를 읽어와 복호화하여 C2를 획득하고 추가 파일을 다운로드 하는 형태다. 보안기업 트렌드마이크로(Trend Micro)에 따르면, 최종 페이로드 중 하나는 아이코닉 인포스틸러(Iconic InfoStealer)로 알려졌다.
4) (2023.04.03) 라자루스 그룹 배후설
2023년 4월 3일, 보안기업 카스퍼스키(Kaspersky)는 3CX 공급망 공격의 배후가 라자루스(Lazarus) 그룹으로 추정된다고 밝혔다. “3CXDesktopApp.exe”에 로드된 “guard64.dll” 이름의 DLL을 확인했는데 “Gopuram”이라 불리는 백도어였기 때문이다.
이와 관련하여, 과거 동남아시아에 위치한 암호화폐 기업 공격 사건 조사 과정에서 “Gopuram” 백도어와 라자루스 그룹의 “AppleJeus” 백도어가 동일 시스템에 함께 존재했던 것을 발견했었고, 수년 간 “Gopuram”에 감염된 피해자를 거의 관찰하지 못했는데 2023년 3월에 감염 수가 증가하기 시작했다고 밝혔다.
이를 근거로 3CX 공급망 공격 사건은 라자루스 그룹 소행으로 추정된다고 했다.
5) (2023.04.20) 라자루스 그룹 소행으로 결론
2023년 4월 20일, 맨디언트는 조사 결과를 블로그에 공개했다.
[그림 3] 맨디언트 조사 결과 게시글
초기 침해 경로가 ‘Trading Technologies’ 웹사이트에서 다운로드한 악성 소프트웨어를 통해 발생했다고 밝혔다. 즉, 해당 웹사이트에서 변조된 X_TRADER 설치 프로그램을 시작으로 3CX DesktopApp 공급망 공격이 이루어졌다는 것이다. 참고로, 해당 소프트웨어는 2020년 배포가 중단된 것으로 알려졌지만 2022년에도 여전히 정상 Trading Technologies 웹사이트에서 다운로드할 수 있었다고 한다.
또한, 변조된 X_TRADER 설치 프로그램이 CVE-2013-3900 취약점을 통해 정상적으로 기존 서명된 파일의 서명을 깨지 않고 내부 파일을 패치했다고 밝혔다. 해당 취약점은 서명 유효성 검증 취약점이다. 취약점에 대한 자세한 내용은 AhnLab TIP에 업로드된 취약점 분석 보고서를 통해 확인할 수 있다.
공격자는 오픈소스 Frp를 통해 측면 이동(lateral movement)을 수행했으며, 이를 통해, Windows & macOS 빌드 서버에 접근할 수 있었다.
여기서 macOS 빌드 서버는 POOLRAT 백도어에 감염되어 있음을 확인했는데, 해당 백도어는 과거 미국 사이버보안 및 인프라 보안국(CISA)에서 공개한 라자루스 그룹의 “AppleJeus” 활동에서 발견된 악성코드였다고 밝혔다.
AhnLab EDR를 통한 분석 및 추적 내용
정리하면, 3CX 공급망 공격은 윈도우(Windows) 사용자와 맥(Mac) 사용자를 표적으로 삼고, 윈도우와 맥 환경에서 작동하는 3CX DesktopApp 설치 파일에 악성코드를 삽입했다.
안랩 분석팀은 지난 3월, 국내에서도 3CX 공급망 관련 악성코드가 2차례에 걸쳐 설치된 정황을 확인했다.
[그림 4] ASD(AhnLab Smart Defense) 인프라가 탐지한 3CX 공급망 침해 악성코드
공격 흐름을 다시 복기해보면, 먼저 윈도우 환경에서는 MSI 인스톨러(Installer)가 설치 파일이고, 내부에 포함된 ‘ffmpeg.dll’과 ‘d3dcomplier_47.dll’이 악성코드이다. 3CXDesktopApp.exe는 동일한 경로에 있는 ‘ffmpeg.dll’ 파일을 사이드로딩(Sideloading)한다. 여기서 사이드로딩은 공격자가 생성한 DLL을 프로그램 실행 파일과 같은 디렉토리에 두고 공격자의 DLL이 로드되어 코드를 실행하도록 하는 공격 방식을 말한다. 정상 파일로 위장한 ffmpeg.dll은 d3dcomplier_47.dll 파일을 읽고 복호화해 다운로더 셸코드를 메모리 상에서 실행한다.
안랩은 AhnLab EDR을 활용하여 위 과정을 단계별로 분석하고 공격자가 3CX 공급망 침해에 사용한 공격 기법을 탐지했다. AhnLab EDR을 활용하면 해당 사고를 조사하는데 필요한 데이터도 확인할 수 있다.
[그림 5] AhnLab EDR의 3CX 공급망 공격 탐지 프로세스 트리 화면
앞서 설명한 바와 같이 ffmpeg.dll은 3CXDesktopApp.exe가 임포트하는 DLL이다. 3CXDesktopApp.exe가 실행될 때 같은 경로에 존재하는 ffmpeg.dll가 3CXDesktopApp.exe 프로세스 메모리에 로드된다.
[그림 6] 3CXDesktopApp.exe의 임포트 DLL 목록
로드된 ffmpeg.dll은 [그림 7]과 같이 3CXDesktopApp.exe과 함께 설치된 d3dcompiler_47.dll 파일을 읽고 암호화된 셸코드를 RC4 알고리즘으로 복호화해 메모리 상에서 실행한다. RC4 알고리즘은 전송 계층 보안(SSL/TLS) 및 네트워킹 프로토콜에서 자주 사용되는 스트림 암호 기법으로, 굉장히 빠른 것이 특징이다. 스트림 암호란 암호화와 복호화에 같은 암호키를 사용하는 대칭키 암호화 방식을 말한다.
[그림 7] ffmpeg.dll의 악성 행위 (셸코드 복호화 및 로드)
AhnLab EDR은 이 같은 비정상적인 셸코드 실행을 탐지한다. [그림 8]은 AhnLab EDR 콘솔 화면에서 [위협] – [타임라인] 탭에서 확인할 수 있는 탐지 화면이다.
[그림 8] AhnLab EDR의 셸코드 실행 탐지 화면
셸코드는 실행 시 전송되는 데이터, 즉 페이로드(Payload)가 업로드된 깃허브(Github) 사이트에서 추가 악성코드를 다운로드 받아 실행한다. AhnLab EDR은 3CXDesktopApp.exe가 접근한 다운로드 주소 정보를 저장하고 있기 때문에 보안 담당자는 AhnLab EDR 콘솔의 [위협] – [다이어그램]에서 악성코드 유포지에 대한 상세 정보를 확인할 수 있다.
[그림 9] 3CXDesktopApp.exe가 접근한 악성코드 다운로드 주소
한편, 애플의 맥 환경에서는 공격자가 맥OS 디스크 이미지 파일인 DMG 설치 파일에 악성코드를 삽입했다. 설치 파일 내부에 존재하는 공유 라이브러리 파일 중 하나인 libffmpeg.dylib 파일에 C&C 주소가 XOR 인코딩되어 저장돼 있는 것으로 확인됐다. 맥에서 확인된 C&C 주소는 대부분 윈도우 환경과 유사했다.
[그림 10] 인스톨러에 포함된 libffmpeg.dylib
이처럼 AhnLab EDR을 활용하면 국내 및 글로벌 환경의 다양한 보안 위협을 효과적으로 탐지해 대응할 수 있다. 특히, AhnLab EDR은 세계적으로 인정 받고 있는 마이터 엔제뉴이티(MITRE Engenuity)의 어택 평가(ATT&CK Evaluation) Round 4에서 90% 이상의 탐지율을 기록하며 위협 탐지에 관한 우수성을 입증했다. 또한, 안랩은 고객들이 보다 전문적이고 편리한 위협 탐지 & 대응을 구현할 수 있도록 MDR 서비스도 함께 운영하고 있다.
AhnLab EDR에 대한 보다 자세한 내용은 안랩 홈페이지에서 확인할 수 있다.
오피스 문서 사칭한 악성코드 경로 추적 방법은?
안랩 ASEC 분석팀이 한컴 오피스 문서 파일로 위장한 악성코드가 유포 중인 정황을 포착했다. 이번에 확인된 악성코드는 36,466,238바이트(Byte)의 대용량 파일이 압축된 형태이며, 레드아이즈(RedEyes) 공격 그룹에 의해 ‘누가, 무엇이 세계를 위협하는가(칼럼).exe’라는 파일명으로 유포됐다. 파일 아이콘은 한컴 오피스 문서 파일과 유사하게 제작됐다.
안랩은 자사 AhnLab EDR(Endpoint Detection and Response)의 증적 자료를 통해 해당 악성코드의 공격 기법을 탐지하고 침해 사고를 조사하는 데 필요한 데이터를 확인할 수 있다. 그 과정을 간단히 살펴보자.
[그림 1] 은 악성코드 파일 아이콘과 전반적인 실행 흐름을 보여주는 그림이다. 악성코드가 어떤 프로세스로 실행되는지 한눈에 확인할 수 있다.
[그림 1] 악성코드 실행 흐름 다이어그램
[그림 2]에서 악성코드는 정상 파일처럼 보이기 위해 AppData 경로에 'onedrivenew' 폴더를 생성하고, 'onedrivenew.exe'라는 파일명으로 자가 복제한다. [그림 3]은 한글 파일 생성 및 자가 삭제 등 악성코드의 전체 흐름 중 주요 행위에 대한 증적 데이터를 표시한 화면으로, 악성코드가 실행된 경로와 동일한 곳에 똑같은 파일명의 정상적인 한컴 오피스 파일을 생성하고 실행하는 증적을 보여준다. 악성코드는 윈도우의 정상 프로세스인 mstsc.exe에 인젝션되어 실행되며, 원본 파일은 cmd 명령어를 이용해 삭제한다.
[그림 2] 악성코드 생성 파일 증적 데이터
[그림 3] 악성코드 주요 증적 데이터
[그림 4]는 악성코드가 인젝션되어 실행되는 mstsc.exe 프로세스의 증적 데이터이다. 악성코드는 시스템이 재부팅될 경우에도 실행되도록 Run 하위에 ‘onedrivenew’라는 이름으로 악성코드 파일을 등록한다. 이후 schtasks.exe 명령어를 이용해 ‘OneDriveOp’라는 이름으로 특정 URL에 60분 마다 윈도우 정상 파일인 mshta.exe를 이용해 접속하도록 작업 스케줄러에 등록한다. 작업 스케줄러에 등록된 URL은 정상 홈페이지이지만, 웹 셸(Web Shell)이 삽입돼 있다. 삽입된 웹 셸은 안랩 위협 인텔리전스 플랫폼(AhnLab Threat Intelligence Platform)에 게시된 ‘특정 홈페이지 제작 업체가 만든 홈페이지 타겟 공격(Red Eyes, APT37)’과 동일한 웹 셸로 확인됐다.
[그림 4] 윈도우 정상 프로세스 mstsc.exe의 증적 데이터
이 같은 타겟 공격은 일반 사용자가 대응하기에는 어려운 요소가 많다. 하지만 AhnLab EDR의 증적 자료를 활용하면 이런 위협에도 효과적으로 대응할 수 있다.
자세한 내용은 ASEC 블로그에서 확인할 수 있다.