Apache ActiveMQ 취약점(CVE-2023-46604)을 공격하는 Mauri 랜섬웨어 공격자
AhnLab SEcurity intelligence Center(ASEC)은 과거 수 차례의 블로그 포스팅들을 통해 CVE-2023-46604 취약점 대상 공격 사례들을 다루었다. 취약점 패치가 이루어지지 않은 시스템들은 아직까지도 지속적인 공격 대상이 되고 있으며 주로 코인 마이너 설치 사례들이 확인된다. 하지만 최근 Mauri 랜섬웨어를 사용하는 공격자가 Apache ActiveMQ 취약점을 악용해 국내 시스템을 공격 중인 정황을 확인하였다.
1. Apache ActiveMQ 취약점 (CVE-2023-46604)
CVE-2023-46604는 오픈 소스 메시징 및 통합 패턴 서버인 Apache ActiveMQ 서버의 원격 코드 실행 취약점이다. 만약 패치되지 않은 Apache ActiveMQ 서버가 외부에 노출되어 있을 경우 공격자는 원격에서 악의적인 명령을 실행하여 해당 시스템을 장악할 수 있다.
취약점 공격은 classpath에 있는 클래스를 인스턴스화하도록 OpenWire 프로토콜에서 직렬화된 클래스 유형을 조작하는 방식으로 이루어진다. 만약 공격자가 조작된 패킷을 전송할 경우 취약한 서버에서는 패킷에 포함된 경로 즉 URL을 참고하여 클래스 XML 설정 파일을 로드한다.
- AhnLab TIP : Apache ActiveMQ 보안 업데이트 권고 (CVE-2023-46604) [1]
해당 취약점은 공개된지 얼마되지 않아 악용되기 시작하였으며 국내 시스템들을 기준으로도 Andariel 그룹이나 HelloKitty 랜섬웨어의 [2], 코발트 스트라이크 등의 공격 사례가 확인되었다. 또한 패치되지 않은 시스템들은 지속적인 공격 대상이 되어 왔으며 Ladon, Netcat, AnyDesk 그리고 z0Miner 등이 확인되었다. [3]
2. 초기 침투 단계
공격 대상이 된 시스템은 Apache ActiveMQ 서버가 설치되어 있었으며 과거부터 지속적으로 코인 마이너 공격자들에 의한 악성코드 설치 시도 로그들이 확인된다. Mauri 랜섬웨어 공격자 또한 취약점을 공격한 것으로 추정되며 다음과 같이 취약한 ActiveMQ 프로세스에 의해 Frpc가 설치되었다.

Figure 1. ActiveMQ 프로세스에 의해 설치되는 Frpc
악성코드가 다운로드된 서버를 확인한 결과 다음과 같이 다양한 악성코드들과 정상 도구들 그리고 클래스 XML 설정 파일들이 존재한다. 취약한 Apache ActiveMQ의 자바 프로세스는 전달받은 조작된 패킷을 참고하여 hxxp://18.139.156[.]111:83/pocw.xml”와 같은 경로에 위치하는 XML 설정 파일을 로드하게 된다. 이후에는 로드한 XML 설정 파일을 참고하여 지정한 명령을 실행하게 된다.

Figure 2. 다운로드 서버에 존재하는 악성코드들
3. 원격 제어
3.1. 백도어 계정
XML 파일들은 공격자에 의해 차례대로 사용되는 것으로 보이는데 첫번째 유형들은 “adminCaloX1”이라는 백도어 계정을 추가하고 관리자 계정에 등록 및 RDP 접속이 가능하게 설정하는 명령들이다. 그리고 사설 네트워크에 존재하는 시스템에 RDP로 접속할 수 있도록 Frpc 및 설정 파일을 다운로드하고 실행하는 명령들도 존재한다.

Figure 3. 공격에 사용된 클래스 XML 설정 파일들
| 명령 목록 |
|---|
| > powershell user adminCalox Calox@2580 /add > net user adminCaloX1 CaloX@2580 /add > net localgroup Administrators adminCaloX1 /add > net user adminCaloX CaloX@2580 > net user Hell0$ /active:yes > net user admin /delete > shutdown /r /t 0 > net localgroup “Remote Desktop Users” “adminCaloX1” /add |
Table 1. 공격에 사용된 백도어 계정 계정 등록 명령들
백도어 계정을 추가하는 행위는 이렇게 ActiveMQ 취약점을 악용한 직접적인 명령 실행 방식도 사용되지만 오픈 소스 도구인 CreateHiddenAccount를 사용하기도 한다. [4] 다운로드 서버에는 “user.zip” 압축 파일이 업로드되어 있으며 내부에 “CreateHiddenAccount_v0.2.exe”라는 이름의 CreateHiddenAccount와 이를 Batch 스크립트인 “user.bat”이 존재한다.
Batch 스크립트는 CreateHiddenAccount를 이용해 “Hell0$” 계정을 추가하고 은폐하는 역할을 담당한다. 참고로 중국어 사용자가 개발한 CreateHiddenAccount 도구가 사용되었다는 점이나 다운로드 서버에 보안 소프트웨어인 Huorong 설치 파일이 있는점 등을 보면 공격자가 중국어 사용자일 가능성이 존재한다.

Figure 4. 은폐 계정을 등록하는 Batch 스크립트
3.2. 백도어 악성코드
Quasar RAT은 닷넷으로 개발된 오픈 소스 RAT 악성코드이다. 일반적인 RAT 악성코드들처럼 프로세스 및 파일, 레지스트리와 같은 시스템 작업, 원격 명령 실행, 파일 업로드 및 다운로드와 같은 기능들을 제공한다. Quasar RAT은 이외에도 키로깅, 계정 정보 수집 기능들을 제공하여 사용자 환경의 정보를 탈취할 수 있고, 원격 데스크탑을 통해 실시간으로 감염 시스템을 제어할 수 있다.
공격자의 다운로드 서버에는 Quasar RAT이 함께 존재하며 C&C 서버 또한 다운로드 서버의 주소와 동일한 것을 보면 RDP를 이용한 원격 제어 외에 Quasar RAT도 함께 사용하는 것으로 보인다.
| 설정 | 데이터 |
|---|---|
| TAG | Office04 |
| Version | 1.3.0.0 |
| C&C 서버 | 18.139.156[.]111:4782 |
| Mutex | QSR_MUTEX_i32rDtGISkwcqkhvjj |
Table 2. Quasar RAT의 설정 정보
4. 프록시
공격자는 ActiveMQ 취약점을 악용하여 실행된 파워쉘 명령으로 Frpc 및 설정 파일을 설치하였다. FRP(Fast Reverse Proxy)는 Go 언어로 개발된 오픈 소스 도구로서 NAT 환경이나 방화벽 내에 위치한 시스템을 외부에 노출시켜 주는 리버스 프록시로 동작할 수 있다. FRP는 Frpc와 Frps로 나뉘는데 Frpc는 감염 시스템에 설치되는 도구로 노출시킬 서비스의 포트와 외부에 위치한 중계기를 연결해 준다.
설정 데이터는 결국 감염 시스템의 3389 포트와 공격자를 중계하는 역할을 담당한다. 이는 감염 시스템이 사설 네트워크에 존재할 경우를 대비하여 공격자가 RDP 서비스에 연결할 수 있도록 도와주기 위한 목적이며 공격자는 위에서 다룬 백도어 계정들을 악용해 감염 시스템에 RDP로 접근할 것으로 추정된다. 참고로 Frpc가 연결하는 주소는 국내의 또 다른 시스템이며 이는 공격자가 이미 해당 시스템을 장악한 이후 Frps를 설치한 것으로 보인다.

Figure 5. 공격자의 Frpc 설정 파일
5. Mauri 랜섬웨어
실제 공격 사례는 아직 확인되지 않았지만 다운로드 서버에는 Mauri 랜섬웨어가 업로드되어 있다. Mauri 랜섬웨어는 “mauri870”이라는 개발자가 연구 목적으로 개발한 랜섬웨어이다. [5] 해당 소스 코드는 다른 공격자들에 의해 자주 사용되고 있는 것인지 MauriCrypt로 탐지되고 있다는 내용도 설명에 함께 포함되어 있다. 소스 코드가 공개되어 있다 보니 다른 공격자들에 의해서도 자주 악용되고 있는데 과거 Mimo 공격자가 Mimus라는 이름으로 Mauri 랜섬웨어를 공격에 사용하기도 하였다. [6]

Figure 6. Mauri 랜섬웨어의 깃허브 페이지
| 설정 | 설명 |
|---|---|
| 암호화 알고리즘 | AES-256 CTR |
| 암호화 확장자 | .locked |
| 랜섬노트 이름 | “READ_TO_DECRYPT.html”, “FILES_ENCRYPTED.html” |
| 암호화 제외 경로 | “DocumentsFavorites”, “Pictures”, “Videos”, “Music”, “Favorites”, “Windows”, “bootmgr”, “$WINDOWS.~BT”, “Windows.old”, “Temp”, “tmp”, “Program Files”, “Program Files (x86)” |
| 암호화 대상 확장자 | “.zip”, “.exe”, “.sxi”, “.sti”, “.sldx”, “.sldm”, “.tar”, “.tgz”, “.gz”, “.7z”, “.rar”, “.m4u”, “.mkv”, “.sh”, “.class”, “.jar”, “.rb”, “.asp”, “.jsp”, “.ps1”, “.cmd”, “.h”, “.pas”, “.cpp”, “.cs”, “.suo”, “.sln”, “.der”, “.ips”, “.dll”, “.config”, “.lic”, “.dat”, “.xml”, “.ldb”, “.key”, “.vbs”, “.bump”, “.bat”, “.DBF”, “.json”, “.doc”, “.docx”, “.msg”, “.odtpas”, “.wpd”, “.wps”, “.txt”, “.csv”, “.pps”, “.ppt”, “.pptx”, “.aif”, “.iif”, “.m3u”, “.m4a”, “.mid”, “.mp3”, “.mpa”, “.wav”, “.wma”, “.3gp”, “.3g2”, “.avi”, “.flv”, “.m4v”, “.mov”, “.mp4”, “.mpg”, “.vob”, “.wmv”, “.3dm”, “.3ds”, “.max”, “.obj”, “.blend”, “.bmp”, “.gif”, “.png”, “.jpeg”, “.jpg”, “.psd”, “.tif”, “.gif”, “.ico”, “.ai”, “.eps”, “.ps”, “.svg”, “.pdf”, “.indd”, “.pct”, “.epub”, “.xls”, “.xlr”, “.xlsx”, “.accdb”, “.sqlite”, “.dbf”, “.mdb”, “.pdb”, “.sql”, “.db”, “.sdb”, “.dem”, “.gam”, “.nes”, “.rom”, “.sav”, “.bkp”, “.bak”, “.tmp”, “.cfg”, “.conf”, “.ini”, “.prf”, “.html”, “.php”, “.js”, “.c”, “.cc”, “.py”, “.lua”, “.go”, “.java” |
| C&C 주소 | hxxp://localhost:8080 |
| 공격자 메일 | telegram hxxps://t[.]me/calojohn666 |
| 코인 지갑 주소 | TQaaRDVYiAuQ6XiULvEjtvKQ2S2ickuqJF (usdt-trc20) |
Table 3. 공격자가 제작한 Mauri 랜섬웨어 설정
비록 또 다른 프록시 도구를 사용했을 수도 있지만 C&C 서버의 주소가 Localhost이고 다운로드 서버에 Mauri의 서버 프로그램도 함께 업로드되어 있어 아직 테스트 목적일 가능성이 존재한다. 하지만 랜섬웨어가 기본 형태가 아닌 지갑 주소나 텔레그램 주소 그리고 암호화 설정과 같은 여러 설정 데이터가 이미 공격자의 것으로 조작된 것을 보면 현재 공격에 사용되고 있을 가능성도 무시할 수 없다.

Figure 7. 암호화 이후 생성되는 랜섬노트
6. 결론
공격자들은 패치되지 않은 취약한 Apache ActiveMQ 서비스를 대상으로 지속적으로 공격을 수행하고 있다. 확인된 공격들 중에는 코인 마이너를 설치하여 암호 화폐를 채굴하는 사례도 존재하지만 감염 시스템을 제어하기 위한 악성코드들이 다수 확인된다. 공격자는 감염 시스템을 장악한 이후 정보를 탈취하거나 랜섬웨어를 설치할 수 있다.
시스템 관리자는 사용 중인 Apache ActiveMQ 서비스가 다음과 같이 취약한 버전인지 점검하고 최신 버전으로 패치해 기존에 알려진 취약점으로부터 공격을 방지해야 한다.
Apache ActiveMQ 5.18.0 이상 5.18.3 미만 버전
Apache ActiveMQ 5.17.0 이상 5.17.6 미만 버전
Apache ActiveMQ 5.16.0 이상 5.16.7 미만 버전
Apache ActiveMQ 5.15.16 미만 버전
Apache ActiveMQ Legacy OpenWire Module 5.18.0 이상 5.18.3 미만 버전
Apache ActiveMQ Legacy OpenWire Module 5.17.0 이상 5.17.6 미만 버전
Apache ActiveMQ Legacy OpenWire Module 5.16.0 이상 5.16.7 미만 버전
Apache ActiveMQ Legacy OpenWire Module 5.8.0 이상 5.15.16 미만 버전
또한 외부에 오픈되어 접근 가능한 서버에 대해 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다. 마지막으로 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.
파일 진단
– Exploit/XML.Agent (2024.12.02.03)
– Trojan/Win32.RansomCrypt.R336789 (2024.11.30.02)
– Trojan/BAT.Launcher (2024.12.02.03)
– Data/BIN.Config (2024.12.02.03)
– Trojan/Win.Malware-gen.R657415 (2024.07.06.01)
– Trojan/Win32.Subti.R285137 (2019.08.06.05)
– HackTool/Win.UserAdd.C5271969 (2022.10.04.02)
– HackTool/Win.Mauri.C5701488 (2024.12.01.00)
행위 진단 (V3)
– Persistence/MDP.AutoRun.M224
– Ransom/MDP.Decoy.M1171
행위 진단 (EDR/MDS)
– Escalation/EDR.RIDHijacking.M12290
– DefenseEvasion/MDP.AutoRun.M1036
– Ransom/EDR.Decoy.M2470
– Execution/MDP.Behavior.M159
– Behavior/MDP.Drop.M489
– Execution/MDP.Event.M495