1. 개요

마그넷고블린(Magnet Goblin)으로 명명된 해킹그룹이 이반티(Ivanti) 제품에서 발견된 취약점을 악용하여 백도어 악성코드를 유포하고 있다. 악용되고 있는 취약점은 이반티의 SSL VPN 솔루션(Ivanti Connect Secure)과 NAC 솔루션(Ivanti Policy Secure)의 9.x 및 22.x 버전에서 발견된 취약점이다. 취약점에 대한 패치는 이미 발표되었지만, 아직 이를 적용하지 않고 사용하는 기업들이 많은 것으로 확인이 된다. 따라서, 해당 제품의 취약한 버전을 사용하는 경우에는 신속히 패치를 진행할 것을 권고한다.

<aside> 💡 마그넷고블린(Magnet Goblin)은 최소 2022년 1월부터 활동해온 것으로 알려져 있으며, 금전적 수익을 목적으로 조직된 해킹그룹이다. 주로 다양한 one-day 취약점을 악용하여 윈도우와 리눅스 시스템을 대상으로 맞춤형 악성코드를 유포하고 있다.

</aside>

마그넷고블린이 악용하고 있는 것으로 판단되는 이반티(Ivanti) 취약점은 아래 표와 같다. 이 중 특히 두 개의 취약점(CVE-2023-46805, CVE-2024-21887)을 적극적으로 악용하고 있는 것으로 추정된다. 두 개의 취약점을 결합하면, 인증되지 않은 공격자가 원격 코드를 실행할 수 있다. CVE-2023-46805 취약점으로 인증 우회를 달성한 뒤, CVE-2024-21887 취약점을 이용해 임의의 명령을 실행하는 방식이다.

CVE CVSS 설명
CVE-2023-46805 8.2 Ivanti Connect Secure(9.x, 22.x) 및 Ivanti Policy Secure(9.x, 22.x)의 웹 구성 요소에 있는 인증 우회 취약점으로 인해 원격 공격자가 제어 검사를 우회하여 제한된 리소스에 액세스할 수 있다.
CVE-2024-21887 9.1 Ivanti Connect Secure(9.x, 22.x) 및 Ivanti Policy Secure(9.x, 22.x)의 웹 구성 요소에 있는 명령 삽입 취약점으로 인해 인증된 관리자가 특별히 조작된 요청을 보내고 어플라이언스에서 임의의 명령을 실행할 수 있다.
CVE-2024-21888 8.8 Ivanti Connect Secure(9.x, 22.x) 및 Ivanti Policy Secure(9.x, 22.x)의 웹 구성 요소에 있는 권한 상승 취약점으로 인해 사용자가 관리자 권한으로 권한을 승격할 수 있다.
CVE-2024-21893 8.2 Ivanti Connect Secure(9.x, 22.x), Ivanti Policy Secure(9.x, 22.x) 및 ZTA용 Ivanti Neurons의 SAML 구성 요소에 있는 서버 측 요청 위조 취약점으로 인해 공격자가 인증 없이 제한된 특정 리소스에 액세스할 수 있다.

마그넷고블린은 취약점 익스플로잇을 통해 초기 침투에 성공한 뒤, 백도어 악성코드인 NerbianRAT를 유포하고 있는 것으로 알려져 있다. NerbianRAT는 크로스 플랫폼을 지원하여 윈도우 버전과 리눅스 버전이 존재한다. 본 보고서에서는 리눅스 버전의 NerbianRAT를 살펴보도록 하겠다.

2. 악성코드 분석

2.1. 공유 메모리를 활용한 중복실행 방지

NerbianRAT는 실행 시 4바이트 크기의 공유 메모리를 할당하고, 할당된 공유 메모리에 현재 프로세스의 PID 값을 저장해 둔다. 이는 프로세스가 이미 실행중이라는 일종의 표식을 남기는 것이다.

[그림 1] 공유 메모리에 현재 프로세스의 PID 값을 저장

[그림 1] 공유 메모리에 현재 프로세스의 PID 값을 저장

만약 해당 공유 메모리에 이미 저장된 값이 있다면, 중복실행으로 판단하고 현재 프로세스가 종료된다.

[그림 2] 공유 메모리 검증을 통한 중복실행 방지

[그림 2] 공유 메모리 검증을 통한 중복실행 방지

2.2. 시스템 기본 정보 수집

NerbianRAT는 초기 실행 시 감염시스템의 기본적인 정보를 수집한다. 수집하는 정보는 다음과 같다.