취약한 데이터베이스 서버 노리는 악성코드 주의!
ASEC 분석팀은 취약한 데이터베이스 서버(MS-SQL, MySQL 서버)를 대상으로 유포되는 악성코드들을 지속적으로 추적 및 모니터링하고 있다. 이번 글에서는 Gh0stCringe라고 하는 RAT 악성코드에 대해 자세히 살펴본다.
Gh0stCringe는 CirenegRAT이라고도 불리는 악성코드로서 Gh0st RAT의 코드를 기반으로 하는 변종 중 하나다. 2018년 12월경에 처음 확인되었으며 SMB 취약점(ZombieBoy)의 SMB 취약점 도구를 사용하여)을 통해 유포되었던 것으로 알려져 있다. 이후 직접적인 연관 관계가 확인된 것은 아니지만 2020년 6월경 발간된 KingMiner 코인 마이너 분석 보고서에서도 언급된 바 있다.
최근 확인되고 있는 Gh0stCringe RAT은 취약한 데이터베이스 서버들을 대상으로 유포되고 있다. 자사 ASD 로그를 기반으로 Gh0stCringe 관련 로그를 확인해본 결과, 다음과 같이 sqlservr.exe 프로세스 즉 MS-SQL 서버 외에도 윈도우 환경용 MySQL 서버 프로세스에 의해 생성된 로그를 확인할 수 있다.
[그림 1] Gh0stCringe RAT 생성 로그
MS-SQL 서버뿐만 아니라 MySQL 서버도 공격 대상인 것을 보면, 대부분의 DB 서버를 대상으로 유포되는 악성코드들이 그러하듯 Gh0stCringe도 취약한 계정 정보를 가지고, 부적절하게 관리되고 있는 DB 서버를 대상으로 공격을 수행하는 것으로 추정된다. 일반적으로 취약한 계정 정보를 가지고 있는 데이터베이스 서버들은 많은 공격자들 및 악성코드들의 공격 대상이 된다. 따라서 이번에 분석한 로그에서도 다양한 악성코드들의 감염 로그를 확인할 수 있었다.
Gh0stCringe는 공개된 Gh0st RAT의 소스코드를 기반으로 만들어졌다. [그림 2]는 Gh0st RAT의 CFileManager::OpenFile() 함수와 Gh0stCringe의 함수를 비교한 결과이다. 소스코드 중 일정 부분이 그대로 사용된 것을 알 수 있다. 그러나 Gh0st RAT 소스코드를 기반으로 한 일반적인 변종들과 달리, Gh0stCringe는 별개의 이름이 붙여진 만큼 고유한 코드들의 비율이 현저히 높았다.
[그림 2] Gh0st RAT의 소스코드를 일부 활용한 Gh0stCringe
Gh0stCringe RAT은 이름과 같이 RAT 악성코드로서 C&C 서버와의 연결 이후 공격자로부터 명령을 받아 다양한 악성 행위를 수행할 수 있다.
Gh0stCringe는 크게 4가지 모드를 지원한다. 3가지의 모드는 앞에서 다룬 설정 데이터의 값으로써 0, 1, 2를 가질 수 있다. 이외에도 Windows 10 버전에서는 전용 모드로 실행된다. 각 모드는 최종적으로 C&C 서버와의 통신 및 명령을 수행하는 것은 동일하지만 아래와 같이 지속성 유지와 관련된 기능적인 차이가 존재한다. 초기 루틴을 지나면 C&C 서버에 연결하며 주기적으로 통신하면서 공격자로부터 명령을 기다린다. 이러한 명령 수행 루틴과는 별개로 최초 접속 시에는 다음과 같이 감염 시스템의 정보들을 수집하여 C&C 서버에 전달한다. 수집하는 여러 정보들 중에서 가장 눈에 띄는 특징은 설치된 보안 제품 목록을 구하는 부분이다. 현재 실행 중인 프로세스들의 이름을 검사한 후 [그림 3]과 같은 리스트에서 비교해 일치하는 경우 정보를 기록해서 C&C 서버로 전달한다.
[그림 3] 검사 대상 보안 제품 목록 중 일부
원본 Gh0st RAT은 이름과 같이 C&C 서버와의 통신에 “Gh0st”라는 시그니처 문자열을 사용한다. 이렇게 만들어진 데이터는 최종적으로 자체적인 인코딩 방식을 거쳐 암호화된다. [그림 4]는 패킷 암호화 루틴 및 이러한 과정을 통해 만들어져 C&C 서버에 전달되는 패킷이다.
[그림 4] 인코딩되어 C&C 서버에 전달되는 감염 시스템 정보
다음은 C&C 서버로부터 전달받아 수행할 수 있는 여러 명령들에 대해 다룬다. 앞서 설명한 것과 같이, Gh0stCringe의 명령은 원본 Gh0st RAT에 존재하는 것들도 있지만 고유한 명령들도 다수 존재한다.
데이터베이스 서버(MS-SQL, MySQL 서버)를 대상으로 하는 공격에는 대표적으로 부적절하게 계정 정보를 관리하고 있는 시스템들에 대한 무차별 대입 공격(Brute Force)과 사전 공격(Dictionary Attack)이 있다. 그밖에도 취약점이 패치되지 않은 시스템들에 대한 취약점 공격이 있을 수 있다.
MS-SQL 서버의 경우 일반적으로 구축된 형태 외에도 ERP 및 업무용 술루션에 의해 설치된 MS-SQL 서버도 공격 대상이 되고 있다. 이에 따라 관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격과 사전 공격으로부터 데이터베이스 서버를 보호해야 하며, 최신 버전으로 패치하여 취약점 공격을 방지해야 한다. 또한 외부에 오픈되어 접근 가능한 데이터베이스 서버에 대해 방화벽과 같은 보안 제품을 이용해 외부 공격자로부터의 접근을 통제해야 한다.
안랩 제품은 해당 악성코드를 탐지 및 차단하고 있다.
출처 : AhnLab