안랩은 국내 기업 수십 곳을 대상으로 침투를 시도한 새로운 공격 그룹을 추적해왔으며, 최근 해당 그룹이 이용하기 시작한 호스팅 서버를 토대로 이를 ‘달빗(Dalbit, m00nlight)’이라 이름지었다. 달빗 그룹은 취약한 서버를 통해 사내 기밀을 유출하고 랜섬웨어까지 유포하고 있어, 공격이 의심될 경우 선제적인 대응이 필요하다.
이번 글에서는 달빗 그룹의 활동과 공격 방식을 자세하게 알아본다.
이번 글은 2022년 8월 16일에 공개된 안랩 ASEC 블로그 게시글 ‘국내 기업 타겟의 FRP(Fast Reverse Proxy) 사용하는 공격 그룹’ 의 연장선으로, 해당 공격 그룹의 행보를 추적한다.
달빗 그룹은 과거부터 현재까지 오픈 소스 도구를 주로 공격에 사용하였고, PDB 등에 정보가 없어 프로파일링하기 위한 명확한 특징이 부족했다. 또한 국내 기업의 C2(Command & Control) 서버를 악용하였기 때문에 피해 기업이 조사를 따로 요청하지 않는 경우 수집할 수 있는 정보가 한정적이었다.
허나 안랩 블로그 게시물이 공개되고 공격자가 사용 중이던 국내 기업 서버가 일부 차단되자 공격자는 ‘*.m00nlight.top’ 라는 명칭의 호스팅 서버를 C2 및 다운로드 서버로 사용하기 시작했다. 따라서 안랩은 해당 그룹의 이름을 영어 ‘Moonlight’의 의미인 ‘달빛’에서 가져온 ‘달빗(Dalbit, m00nlight.top)’이라 명명했다.
달빗 그룹은 2022년부터 지금까지 국내 기업 50곳 이상을 대상으로 공격을 시도한 것으로 확인되었다. 현재까지 피해를 입은 기업은 주로 중견기업 이하 업체이지만, 대기업도 일부 포함되어 있으며 특히 감염된 기업의 30%가 특정 국내 그룹웨어 솔루션을 사용 중인 것으로 확인되었다.
현재 해당 그룹웨어 제품에 취약점이 존재하는지는 명확히 알기 어려우나, 이처럼 외부에 노출된 서버가 취약한 경우 사내 기밀 유출과 랜섬웨어 행위까지 이어져 기업에 지대한 영향을 미칠 수 있다.
또한 이 그룹은 감염된 기업 서버 중 일부를 프록시(Proxy) 및 다운로드(Download) 서버로 두고 다른 기업에 침투하기 위한 연결책으로 이용하고 있다. 따라서 이번 달빗 그룹의 공격이 의심된다면 사내 보안 점검을 필히 진행해야 하며, 2차 피해를 예방하기 위해 안랩에 신고하여 선제적으로 대응해야 한다.
1. 국내 피해 기업 현황(산업별 분류)
2022년부터 2023년 1월까지 피해가 명확히 확인된 기업은 총 50곳으로 [그림 1]과 같이 분류하였다. 이외에도 확인되지 않은 피해 기업이 더 있을 것으로 추정된다.

[그림 1] 달빗 그룹이 공격을 시도한 산업
그래프에서 볼 수 있듯이 달빗 그룹은 Technology(소프트웨어 및 하드웨어를 다루는 업체), Industrial(기계나 도료, 철강 및 금속 등을 다루는 제조업체)을 비롯한 다양한 산업군에 속한 기업을 대상으로 광범위한 공격을 진행하였다.
다음으로 달빗 그룹의 전반적인 공격 방식을 살펴본다.
2. 달빗 그룹의 공격 흐름 및 특징 요약
달빗 그룹이 예시의 B 기업(Company B) 시스템을 침해하는 과정은 [그림 2]와 같다.

[그림 2] 달빗 그룹의 기업 시스템 침해 과정
1) 초기 침투(Inital Access)
먼저 공격자는 과정에서 웹 서버나 SQL 서버 등을 대상으로 취약점을 이용해 시스템에 접근 후 웹셸(WebShell)과 같은 도구로 제어를 시도한다.
2) C2 (Command & Control)
다음으로 웹셸을 통해 여러 해킹 도구를 다운로드한다. 해킹 도구는 권한 상승 도구와 프록시 도구 네트워크 스캔 도구 등 여러 바이너리가 포함된다.
3) 프록시 & 내부 정찰(Proxy & Internal Reconnaissance)
이후 프록시(Proxy) 단계에서 공격자는 FRP(Fast Reverse Proxy)와 같은 도구를 설치한 뒤 2-1) Attacker’s Server: 공격자가 구축한 호스팅 서버 또는 2-2) Compromised Company A: 기감염된 다른 기업(Company A)의 서버를 통해 원격 데스크탑(RDP)으로 연결을 시도한다. 그리고 내부 정찰(Internal Reconnaissance) 과정에서 공격자는 네트워크 스캔 도구와 계정 탈취 도구 등을 통해 시스템 내부를 살피고 정보를 습득한다.
4) 내부 이동(Lateral Movement)
이어서 공격자는 확보한 정보를 통해 연결 가능한 다른 서버 혹은 PC로 이동한다. 이후 측면 이동(내부 이동, Lateral movement)에 성공한 PC에도 프록시 도구(FRP)를 설치해 공격자가 RDP로 접속할 수 있는 환경을 구성하며, 특정 계정을 추가하거나 미미카츠(Mimikatz)와 같은 자격 증명 탈취 도구를 통해 필요한 권한을 얻는다.
5) 임팩트(Impact)
최종적으로 공격자가 원하는 정보를 모두 탈취했다면 비트로커(BitLocker)를 이용해 특정 드라이브를 잠그고 금전을 요구한다.
달빗 그룹의 주요 특징은 [표 1]와 같다.
목록 |
설명 |
공격자 C2 서버 |
- 다운로드 및 C2(Command&Control) 서버: 국내 기업 서버 또는 호스팅 서버 - 서버 중 반 이상이 국내 기업 서버 악용 - 호스팅 서버는 주로 *.m00nlight.top 혹은 IP 형태의 주소를 사용 |
RDP 제어 시도 |
- 감염 후 주로 RDP 접근 시도 - RDP 연결을 위해 프록시 도구 혹은 Gotohttp 사용 |
프록시 도구 |
- 주요 프록시 도구는 FRP와 LCX(Htran) - 이외에 NPS와 ReGeorg 등을 사용 |
사용자 계정 추가 |
- net 명령어를 통해 계정 추가 - 계정 정보( ID : ‘main’ / PW : ‘ff0.123456’ ) |
오픈소스 도구 |
- 대부분 누구나 쉽게 구할 수 있는 오픈 소스 도구 사용 (특히 중국어로 작성된 도구가 많음) |
회피 방법 |
- 해킹 툴, 진단 우회 시 VMProtect 제품 사용 - Security 이벤트 로그 삭제 |
탈취 정보 |
- 사용자 계정 정보, 이메일 정보, 화면 유출, 설치된 프로그램 정보 |
[표 1] 달빗 그룹의 주요 특징
다음으로 달빗 그룹이 공격에 사용한 도구와 침해 과정을 분석한다.
3. 사용 도구 및 침해 과정 분석
공격자는 메일을 유출하기 위해 도구 한 건을 직접 제작한 것으로 보이며, 나머지 악성 행위에는 윈도우 정상 프로그램 또는 검색을 통해 쉽게 구할 수 있는 도구를 사용하였다.
달빗 그룹의 공격에 사용된 도구와 악성코드는 [표 2]에서 확인 가능하다.
웹셸 |
다운로더 |
권한 상승 |
프록시 |
내부 정찰 |
Godzilla ASPXSpy AntSword China Chopper |
Certutil (Windows CMD) Bitsadmin (Windows CMD) |
BadPotato JuicyPotato SweetPotato RottenPotato EFSPotato CVE-2018-8639 CVE-2019-1458 |
FRP LCX NPS ReGeorg |
FScan NbtScan TCPScan Goon Nltest (Windows CMD) |
측면 이동 |
정보 수집 및 유출 |
백도어 |
파일 암호화 |
회피 |
RDP PsExec RemCom Winexec |
Wevtutil (Windows CMD) WMI (Windows CMD) ProcDump Dumpert EML Extractor(제작) Mimikatz Rsync |
CobaltStrike MetaSploit BlueShell Ladon |
BitLocker (Windows CMD) |
로그 삭제 (Windows CMD) 방화벽 OFF (Windows CMD) AV 제품 삭제 시도 VMProtect Packing |
[표 2] 달빗 그룹이 사용한 악성코드 및 해킹 도구
다음으로 자세한 공격 과정을 알아본다.
3.1 초기 침투
달빗 그룹은 초기 침투 시 특정 국내 그룹웨어가 설치된 서버, 취약한 웹 서버, 메일 서버(Exchange Server) 그리고 SQL 서버를 주 공격 대상으로 삼은 것으로 추정된다. 또한 공격자는 CVE-2017-10271과 같은 웹로직(WebLogic) 취약점 및 파일 업로드 취약점을 악용해 웹셸을 업로드하였으며, 일부는 SQL 서버 명령 프롬프트(xp_cmdshell)를 이용한 것으로 보인다.
가장 많이 사용한 웹셸은 Godzilla, ASPXSpy, AntSword, China Chopper 순이며, 이외 다른 웹셸도 일부 확인되었다. 설치된 웹셸 경로에는 인사채용(파일 업로드 취약점), 파일 업로드 취약점, 특정 그룹웨어, 메일 서버(Exchange Server), Weblogic, Tomcat 관련 내용이 포함되었다.
3.2 다운로드
달빗 그룹은 기본으로 설치된 윈도우 정상 프로그램을 통해 추가적인 해킹 도구를 다운로드한다. 침투 시 일반적으로 웹셸을 사용하기 때문에 cmd와 같은 명령어 프로세스를 제외하면 부모 프로세스(Parent process)는 ‘w3wp.exe, java.exe, sqlserver.exe, tomcat*.exe’ 와 같은 웹 서버 프로세스에 의해 수행된다.
이후 공격자는 권한 상승 도구, 프록시 도구, 네트워크 스캔 도구 등 필요한 파일을 다운로드한다. 안랩이 포착한 다운로드 명령에는 Certutil 및 Bitsadmin 다운로드 로그가 포함되었다. 또한 이들이 주로 다운로드 받은 해킹 도구 및 악성코드 경로는 [표 3]에서 확인 가능하다.
%ALLUSERSPROFILE%
%SystemDrive%\temp %SystemDrive%\perflogs %SystemDrive%\nia %SystemDrive%\.tmp
%SystemRoot% %SystemRoot%\debug %SystemRoot%\temp |
[표 3] 달빗 그룹이 사용한 주 디렉토리
따라서 침해가 의심되는 경우 해당 경로와 관련된 파일을 점검할 필요가 있다.
3.3 권한 상승 및 계정 추가
공격자는 필요한 도구를 확보한 후 권한 상승을 위해 Potato(BadPotato, JuicyPotato, SweetPotato, RottenPotato, EFSPotato) 도구와 깃허브에 공개된 POC 코드(CVE-2018-8639, CVE-2019-1458)를 주로 사용했다. 권한 상승 후에는 [표 4]와 같은 계정을 추가하는 것이 특징이다. 해당 로그에서 ‘sp.exe’는 SweetPotato 도구를 나타낸다.
> sp.exe “whaomi” (권한 확인) > sp.exe “netsh advfirewall set allprofiles state off” (방화벽 OFF) > sp.exe “net user main ff0.123456 /add & net localgroup administrators main /add” (계정 추가) |
[표 4] SweetPotato 사용 로그
주목해야 할 부분은 공격자가 추가한 계정명이다. 피해를 입은 다른 기업의 로그에서도 ‘main’이라는 공격자 계정 명칭이 확인되었다. 또한 [표 5]에서 볼 수 있듯이 공격자는 계정을 추가하는 것 외에도 탈취한 관리자 계정을 사용하기도 하였다.
> wmic /node:127.0.0.1 /user:storadmin /password:r*****1234!@#$ process call create “cmd.exe /c c:\temp\s.bat” |
[표 5] 관리자 계정 실행 로그
3.4 프록시 설정
공격자는 서버에 침투한 후 RDP 통신을 사용하기 위해 프록시를 사용하여 접근한다. 프록시 도구로는 FRP(Fast Reverse Proxy)와 LCX(HTRAN)가 주로 사용되었으며, 일부 기업에서는 ReGeorg나 NPS 또는 RSOCKS 등의 도구도 발견되었다.
또한 어떤 기업에서는 FRP와 LCX 등 여러 프록시 도구가 한 곳에서 확인되거나 내부 전파까지 이어진 경우 다수의 FRP 설정 파일(.ini)이 발견되기도 했다. 접근 가능한 PC 중 공격할 만한 대상이 많을 경우 공격자가 FRP를 추가로 설치하면서 설정 파일이 다수 사용된 것으로 보인다. 달빗 그룹이 사용하는 LCX는 오픈 소스에 공개된 것과 기능이 동일하지만, 바이너리는 깃허브에 공개된 버전이 아닌 중국 사용자가 임의로 컴파일한 버전을 활용한다.
이와 같은 FRP와 LCX 등 프록시 도구는 포워딩 방식이나 지원하는 프로토콜의 차이가 존재한다. 안랩 TI 보고서 ‘다양한 원격 제어 도구들을 악용하는 공격 사례 분석 보고서‘에서 이에 대한 설명과 실제 감염 사례, 재현 및 네트워크 패킷까지 모두 다룬 바 있다.
1) FRP(Fast Reverse Proxy)
먼저 FRP 프록시 도구와 관련하여 달빗 그룹이 공격한 서버와 PC 디바이스 모두에서 FRP 설정 파일(.ini)이 확인되었다. [그림 3]은 실제 침해당한 기업 한 곳에서 확인된 사례이다.
[그림 3] 침해된 기업에서 확인된 FRPC 설정 파일(m00nlight.top)
특히 달빗 그룹은 주로 Socks5 프로토콜을 이용해 통신하였다. Socks5 프로토콜은 OSI 7계층 중 5계층 프로토콜로, 4계층과 7계층 사이에 위치하여 HTTP, FTP, RDP 등 여러 요청을 처리할 수 있다.
이에 따라 공격자 서버에 Socks5를 다룰 수 있는 Proxifier와 같은 프록시 연결 도구를 이용하면 공격자는 RDP를 통해 대상을 원격으로 제어할 수 있으며, 내부 PC로 연결 가능한 경우 측면 이동(내부 이동, Lateral Movement)도 수행할 수 있다. 즉, 설정 파일을 Socks5 프로토콜로 지정하면 추가 수정 없이 여러 요청을 더욱 자유롭게 처리하는 것이 가능하다.
*용어 참고: - OSI 7계층: 네트워크 구조를 표준화하여 제시한 모델 - 측면 이동(내부 이동, Lateral Movement): 공격자가 네트워크에 침입한 후 추가적인 시스템에 접속하기 위해 단계별로 사용하는 기법 |
[그림 4] Socks5를 사용한 예시
일부 기업 사례에서는 공격자가 FRP를 ‘debug’라는 이름으로 작업 스케줄러(schtasks)에 등록하여 지속성을 유지하였으며, 이에 해당하는 실행 로그가 확인되었다.
2) LCX(HTRAN)
추가적으로 달빗은 특정 중국 인물이 컴파일한 LCX(Htran) 바이너리를 사용하였다. 이는 기존 깃허브(Github) 바이너리와 기능이 동일하지만 바이너리 제작자의 닉네임이 명시되어 있는 것이 특징이다.
[그림 5] 달빗 그룹이 사용한 LCX를 실행한 화면( By 折羽鸿鹄 )
[그림 5]에서 볼 수 있듯 이 바이너리 제작자의 닉네임은 ‘折羽鸿鹄'(QQ:56345566)으로 확인된다. 이 제작자가 공격자일 가능성은 매우 낮지만, 해당 바이너리는 단순한 검색만으로 다운받을 수 없기 때문에 공격자는 중국과 연관이 있을 것으로 추정된다.
3.5 내부 정찰
내부 정찰을 위한 네트워크 스캔 도구로는 주로 Fscan과 NBTScan이 사용되었으며, 일부 사례에서는 TCP Scan과 Goon이 확인되었다.
Goon은 Golang언어로 만들어진 네트워크 스캐닝 도구로, 기본적인 포트 스캔(Port scan) 뿐만 아니라 Tomcat, MSSQL, MYSQL 등의 계정도 스캔할 수 있으며, 이 또한 중국어로 제작되었다.
[그림 6] 네트워크 스캔 도구 Goon 실행 시 화면
3.6 정보 탈취
달빗 그룹이 주로 탈취하는 정보는 LSASS Dump 또는 특정 계정의 EML 파일이다. 또한 기업에 따라 WMIC 명령어로 설치된 프로그램을 확인하거나, 일정 시간마다 특정 피해자 PC에서 공격자 서버로 화면 이미지를 송출하는 것이 확인되었다.
1) 자격 증명 정보 추출(LSASS DUMP)
공격자는 타겟에 따라 미미카츠(Mimikatz)를 설치하지 않고 자격 증명 정보 추출을 시도하였다. 이는 Lsass.exe 프로세스를 덤프하는 방법으로, 이 덤프 파일 내부에는 크리덴셜(Credential) 정보가 포함되어 있기 때문에 미미카츠 또는 파이파이카츠(Pypykatz) 같은 도구로 해당 PC의 자격 증명 정보를 얻을 수 있다. 참고로 미미카츠에 대한 상세한 내용은 TI 보고서 ‘미미카츠를 이용한 내부망 전파 기법 분석 보고서‘에서 확인할 수 있다.
공격자가 미미카츠 없이 수행한 자격 증명 정보를 탈취 방법은 다음과 같다.
1-1) Dumpert
오픈 소스 는 API 후킹 우회 및 OS 버전에 맞게 수행하는 도구로 MiniDumpWriteDump() API를 사용해 lsass.exe 프로세스를 덤프(dump)한다. 공격자는 코드를 수정하여 덤프 파일의 경로를 변경하고 로그 출력 기능 등을 제거하였다.
[그림 7] Dumpert 오픈 소스(왼쪽) vs 달빗 그룹이 사용한 덤퍼(오른쪽)
[그림 7]의 우측 사진을 보면 경로가 다르고 출력되는 문자열이 제거된 것 외에는 코드가 동일한 것을 볼 수 있다. 현재까지 확인된 덤프 파일 경로는 모두 ‘%SystemRoot%\temp’로 구성되었다.
*용어 참고: - lsass.exe: Local Security Authority Subsystem Service의 약자로 로그인 검사, 비밀번호 관리 등을 수행하는 윈도우 기본 프로세스. - 덤프: 특정 시점에 작업 중인 메모리 상태를 기록한 것 |
1-2) Procdump
Procdump 도구는 마이크로소프트에서 제공하는 정상 유틸리티 프로그램으로 프로세스 덤프(Process dump) 기능을 제공한다. 공격자는 해당 도구를 통해 덤프를 수행하였으며, 이후 공격자는 Rsync(Remote Sync) 도구를 통해 유출한 정보를 덤프 파일 공격자 서버로 전송하였다.
2) 메일 추출
해당 샘플은 Golang으로 만들어진 메일 추출 도구로, 현재 공격자가 유일하게 직접 만든 것으로 추정된다. [그림 8]과 같이 기업의 익스체인지(Exchange) 메일 서버를 대상으로 EWS(Exchange Web Service)를 통해 특정 계정 메일을 EML파일로 추출하는 기능이 있다.
[그림 8] 메일 추출 도구 실행 시 출력되는 화면
관련 인자로는 익스체인지 서버 주소, 계정명, 해당 계정의 NTLM 패스워드 해시, 날짜 및 시간 등이 존재한다. 실행 시 해당 계정의 모든 메일함에서 인자로 받은 시간을 기준으로 모든 메일을 추출하여 EML 파일로 저장한다.
참고로 [그림 9]에서 보이는 해당 바이너리의 PDB 정보는 ‘fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff’로 무의미하다.
[그림 9] 메일 추출 도구의 PDB 정보
3) 화면 유출
또한 공격자는 침해된 특정 PC 화면을 공격자 서버로 송출하였다. 화면을 캡처하는 바이너리는 현재 확인되지 않았으나 감염된 PC의 화면이 송출되는 공격자 서버가 발견되었다. 이를 통해 침해된 PC 화면이 5~10초 간격으로 송출되고 있었다.
[그림 10] 실제로 송출되었던 특정 기업의 피해 PC 화면
이 사례에서 이미지만 온전히 송출되었으며 PC는 원격으로 조종할 수 없었고, 오디오 등도 출력되지 않았다. 한편 화면이 송출되던 공격자 서버(91.217.139[.]117)는 또다른 기업에서 다운로드 서버로 사용되었다.
4) 설치된 프로그램 조회 및 로그인 정보
공격자는 WMIC 명령어를 이용하여 설치된 프로그램을 확인하였다.
[그림 11] 설치된 프로그램 목록, 명령어 예시(WMIC)
이후 이벤트 로그 중 특정 이벤트 ID를 발생하게 한 도메인 계정 정보를 수집하였다. 생성된 파일은 c:\temp\EvtLogon.dat에 존재한다.
Event ID |
의미 |
4624 |
로그인 성공 |
4768 |
커버로스 인증 요청 |
4776 |
NTLM 인증 시도 |
[표 6] 공격자가 사용한 이벤트 ID 의미
3.7 파일 암호화
파일 암호화와 관련된 내용은 이전 ASEC 블로그 게시물 ‘국내 기업 타겟의 FRP(Fast Reverse Proxy) 사용하는 공격 그룹’을 통해 자세히 소개되었다. 공격자는 윈도우 유틸리티인 ‘BitLocker’를 통해 특정 드라이브를 암호화한 후 금액을 요구하였으며, 현재 여러 피해 기업이 추가로 확인되고 있다.
아래는 공격자가 사용하는 랜섬노트이다. 공격자는 ‘startmail.com’, ‘onionmail.com’ 과 같은 익명 메일 서비스를 이용하였다.
[그림 12] 이전 ASEC 블로그에 소개된 랜섬노트
이외에도 랜섬노트를 다운로드하는 것으로 추정되는 명령어가 확인되었다.
3.8 우회 방식
또한 공격자가 진단을 우회하기 위해 시도한 방법은 크게 세 가지가 있다. 먼저 공격자는 바이너리를 업로드 후 진단이 되었을 때 VMProtect로 패킹을 하여 우회를 시도하였다. 또한 WEVTUTIL을 이용하여 윈도우 이벤트 로그를 삭제하거나, 방화벽을 OFF로 바꾸는 방법을 사용하였다.
4. 결론 및 시사점
달빗 해킹 그룹은 국내 기업의 취약한 서버를 대상으로 공격을 시도하였으며, 중견 이하 기업 뿐만 아니라 일부 대기업에서도 로그가 포착되고 있다. 특히 피해 기업 중 30%가 공통적으로 특정 국내 그룹웨어 제품을 사용 중인 것으로 확인되었다.
또한 달빗 그룹은 침입 초기에 사용한 웹셸부터 최종 단계인 랜섬웨어까지 누구나 쉽게 구할 수 있는 도구를 사용하고 있다. 이 중에는 중국 커뮤니티에서 확보한 것으로 추정되는 프록시 도구, 중국어로 설명된 도구 및 이 글에서 언급되지 않은 도구도 존재한다. 따라서 공격자는 중국과 일부 관련이 있는 것으로 추정된다.
서버 관리자는 감염이 의심될 경우 공격자의 주 다운로드 경로와 주 계정명(‘main’) 그리고 IOC 등을 확인해야 하며, 의심 징후가 확인되면 안랩에 즉시 신고하여 2차 피해를 줄여야 한다.
또한 서버 구성 환경이 취약할 경우 최신 버전으로 패치해 기존 취약점을 사전에 조치해야 하며, 외부에 공개된 서버 중 관리되지 않는 서버가 있다면 필히 점검해야 한다.
달빗의 APT 공격 캠페인에 대한 보다 상세한 분석 내용은 AhnLab TIP 구독 서비스를 통해 확인할 수 있다.
▶ATIP 포털 바로가기