FortiManager 제로데이 공격 (CVE-2024-47575) 조사
Mandiant
* 해당 블로그의 원문은 2024년 10월 24일 Google Cloud 블로그(영문)에 게재되었습니다.
작성자: Foti Castelan, Max Thauer, JP Glab, Gabby Roncone, Tufail Ahmed, Jared Wilson
요약
2024년 10월, Mandiant는 Fortinet과 협력하여 다양한 산업 분야에 걸쳐 50개 이상의 FortiManager 어플라이언스가 악용된 사례를 조사했습니다. CVE-2024-47575 / FG-IR-24-423로 명명된 이 취약점을 통해 공격자는 권한 없이 제어하는 FortiManager 장치를 사용하여 취약한 FortiManager 장치에 대해 임의의 코드나 명령을 실행할 수 있습니다.
Mandiant는 현재 UNC5820으로 추적 중인 새로운 위협 그룹이 2024년 6월 27일부터 FortiManager 취약점을 악용하는 것을 관찰했습니다. UNC5820은 악용된 FortiManager에서 관리하는 FortiGate 장치의 구성 데이터를 스테이징하고 유출했습니다. 이 데이터에는 관리되는 어플라이언스의 자세한 구성 정보와 사용자 및 해당 FortiOS256 해시 암호가 포함되어 있습니다. UNC5820은 이 데이터를 사용하여 FortiManager를 추가로 손상시키고, 관리되는 Fortinet 장치로 수평 이동하며, 궁극적으로 기업 환경을 공격할 수 있습니다.
현재 Mandiant에서 분석한 데이터 소스에는 공격자가 FortiManager 취약점을 악용하는 데 사용한 특정 요청이 기록되지 않았습니다. 또한, 현재 조사 단계에서는 UNC5820이 획득한 구성 데이터를 활용하여 측면 이동을 하고 환경을 추가로 손상시켰다는 증거가 없습니다. 결과적으로 게시 시점에는 공격자의 동기나 위치를 평가할 수 있는 충분한 데이터가 부족합니다. 조사를 통해 추가 정보가 확보되면 Mandiant는 블로그를 통해 후속 업데이트할 예정입니다.
FortiManager가 인터넷에 노출되었을 가능성이 있는 조직은 즉시 포렌식 조사를 수행해야 합니다.
악용 세부 정보
Mandiant가 관찰한 가장 초기의 악용 시도는 2024년 6월 27일에 발생했습니다. 당일 FortiManager 장치는 기본 포트 TCP/541에서 IP 주소 45[.]32[.]41[.]202의 인바운드 연결을 수신했습니다. 거의 동시에 파일 시스템에 /tmp/.tm이라는 Gzip 압축 아카이브에 다양한 Fortinet 구성 파일이 스테이징되는 것이 기록되었습니다. 이 아카이브에는 표 1에 나열된 파일과 폴더가 포함되어 있습니다.
표 1: /tmp/.tm 정보
2024년 9월 23일, Mandiant는 동일한 지표를 가진 두 번째 악용 시도를 관찰했습니다. 두 악용 사례 모두에서 아카이브 생성 직후 아웃바운드 네트워크 트래픽이 발생했습니다. 각 대상 IP 주소로 전송된 바이트 수는 아카이브 크기보다 약간 큽니다. 표 2는 이 활동의 세부 정보를 나열합니다.
두 번째 악용 시도 중에 공격자의 장치가 대상 FortiManager에 등록되었습니다. 그림 1은 권한 없는 FortiManager가 추가된 타임스탬프와 함께 전역 객체 데이터베이스에 나열된 것을 보여줍니다.
그림 1: 공격자의 장치가 전역 객체 데이터베이스에 추가
공격자가 FortiManager를 성공적으로 익스플로잇한 경우 알 수 없는 Fortinet 장치가 FortiManager 콘솔에 보였습니다.
그림 2: FortiManager 콘솔에 나열된 권한 없는 장치
성공적으로 익스플리잇된 또 다른 지표는 권한 없는 장치 시리얼 번호 "FMG-VMTM23017412"와 해당 IP 주소 45[.]32[.]41[.]202가 /fds/data/unreg_devices.txt 파일에 추가된 것입니다. 그림 3은 이 파일의 내용을 보여줍니다.
FMG-VMTM23017412|45.32.41.202
그림 3: /fds/data/unreg_devices.txt 정보
/fds/data/subs.dat 및 /fds/data/subs.dat.tmp 파일에는 그림 4에 나열된 것처럼 연결된 일회용 이메일 주소와 회사 이름을 포함하여 익스플로잇 추가 지표가 포함되어 있습니다.
SerialNumber=FMG-VMTM23017412|AccountID=
0qsc137p@justdefinition.com|Company=Purity Supreme|UserID=1756868
그림 4: /fds/data/subs.dat 정보
Mandiant는 공격자 활동의 추가적인 아티팩트를 찾기 위해 FortiManager의 메모리 이미지를 스크랩했으며 "FMG-VMTM23017412" 및 "45[.]32[.]41[.]202" 키워드를 포함하는 JSON blob을 탐지했습니다. 이 JSON blob에는 값으로 에포크 시간 1726999303을 포함하는 "first_tunnel_up" 키도 포함되어 있습니다. 이 타임스탬프는 2024-09-22 10:01:43 UTC로 변환됩니다.
그 5: 터널 업 아티팩트
후속 공격 활동은 부족한 것으로 보여
Mandiant는 /bin에 마운트되는 장치용 initramfs(RAM 디스크)인 rootfs.gz를 검토했습니다. 악용 활동 기간 동안 생성되거나 수정된 악성 파일은 찾지 못했습니다.
Google Cloud는 환경에서 유사한 활동을 보인 영향을 받는 고객에게 알렸습니다. 또한 Google Threat Intelligence는 이 활동에 대한 탐지를 개발하는 동안 레트로헌트를 실행했으며 영향을 받는 SecOps 고객에게 사전 릴리스 탐지 규칙 알림을 수동으로 에스컬레이션하여 Fortinet 장치의 악용 시도를 탐지하는 데 도움을 주었습니다.
그 6: 사전 릴리즈 탐지 규 — Fortinet 장치의 제로데이 악용 의심
Mandiant와의 협력 외에도 Fortinet은 고객이 광범위한 공개 공개 전에 보안 태세를 강화할 수 있도록 자문에 대한 조기 경고로 고객에게 사전에 연락을 취했습니다.
위협 행위자들의 활동 타임라인
표 3: 활동 타임라인
완화 전력 / 해결 방법
-
승인된 내부 IP 주소에 대해서만 FortiManager 관리 포털에 대한 액세스를 제한합니다.
-
허용된 FortiGate 주소만 FortiManager와 통신하도록 허용합니다.
-
알 수 없는 FortiGate 장치가 FortiManager와 연결되는 것을 거부합니다.
7.2.5, 7.0.12, 7.4.3 이상에서 사용 가능(7.6.0에서는 기능적 해결 방법이 아님).
config system global
set fgfm-deny-unknown enable
end
그림 7: 알 수 없는 장치를 거부하는 구성
탐지
YARA-L
If you are a Google SecOps Enterprise+ customer, rules were released to the “Mandiant Intel Emerging Threats” rule pack (within the Windows Threats group), and IOCs listed in this blog post are available for prioritization with Applied Threat Intelligence.
Google SecOps Enterprise+ 고객인 경우 "Mandiant Intel Emerging Threats" 규칙 세트(Windows Threats 그룹 내)에 규칙이 릴리스되었으며 이 블로그 게시물에 나열된 IOC는 Applied Threat Intelligence를 사용하여 우선 순위를 지정할 수 있습니다.
관련 규칙
Suspicious FortiManager Inbound and Outbound Connection
UNC5820 Fortinet Exploitation and File Download
UNC5820 Fortinet Exploitation and non-HTTPS Command and Control
UNC5820 Fortinet Exploitation and HTTPS Command and Control
기타 SIEM
Develop searches against Fortiguard logs for the following relevant IOCs. In particular, the Malicious Fortinet Device ID should provide a high fidelity alert if triggered.
다음 관련 IOC에 대한 Fortiguard 로그 검색을 개발합니다. 특히 악성 Fortinet 장치 ID가 트리거되면 신뢰할 수 있는 알럿(alert)을 제공해야 합니다.
FortiManager 로그에서 고유 작업에 대한 기준선을 설정하고 임계값을 설정합니다. 특히 이 취약점을 패치할 때까지 조직에서 실행 가능한 경고를 제공하기에 "장치 추가" 및 "장치 수정" 작업이 충분히 드물 수 있습니다.
마찬가지로 FortiManager 로그의 변경 필드에 대한 기준선을 설정하고 임계값을 설정하고 변경 필드에 '등록되지 않음'이라는 단어가 포함된 경우 더 높은 민감도를 고려합니다.
매일 Fortigate 장치를 열거하고 이전에 보지 못한 장치 이름이 로그에서 관찰될 때 경고합니다.