MS-SQL 서버를 공격 중인 Trigona 랜섬웨어

AhnLab Security Emergency response Center(ASEC)에서는 최근 부적절하게 관리되고 있는 MS-SQL 서버를 대상으로 Trigona 랜섬웨어가 설치되고 있는 것을 확인하였다. Trigona는 상대적으로 최근이라고 할 수 있는 2022년 10월 최초로 확인된 랜섬웨어로서 최근 Unit 42에서도 CryLock 랜섬웨어와의 유사성을 바탕으로 보고서를 공개한 바 있다. [1]


1. 부적절하게 관리되고 있는 MS-SQL 서버

부적절하게 관리되고 있는 MS-SQL 서버라고 한다면 주로 외부에 노출되어 있으면서 계정 정보를 단순하게 설정하여 무차별 대입 공격이나 사전 공격에 취약한 환경을 말한다. 만약 공격자가 로그인에 성공할 경우 시스템에 대한 제어는 공격자에게 넘어가게 되며 악성코드를 설치하거나 악의적인 명령을 실행할 수 있다.

참고로 MS-SQL은 윈도우 서버에서만 설치되는 것이 아니며, 데스크탑 환경에도 설치될 수 있다. 예를 들어 특정 ERP 및 업무용 솔루션을 설치할 경우 함께 설치되는 경우도 있기 때문에 MS-SQL 서버에 대한 공격은 윈도우 서버뿐만 아니라 윈도우 데스크탑 환경도 대상이 될 수 있다는 특징이 있다.

ASEC에서는 부적절하게 관리되고 있는 MS-SQL 서버를 대상으로 하는 공격을 모니터링하고 있으며, ASEC Report에서도 공격 수량 및 공격에 사용된 악성코드들과 같은 정보들을 분기 별로 통계를 통해 공개하고 있다. [2] 공격에 사용되는 악성코드들로는 Trojan, Backdoor, CoinMiner, Ransomware 등 악성코드 유형 대부분이 사용된다. 이 중에서 랜섬웨어를 기준으로 한다면 Mallox, GlobeImposter 랜섬웨어가 대부분을 차지하고 있다. [3]

Figure 1. MS-SQL 서버 공격에 사용되는 랜섬웨어 유형 통계


2. CLR SqlShell

현재 분석 대상 시스템은 외부에 노출된 MS-SQL 서버가 설치된 환경이며 부적절한 계정 정보를 가지고 있는 것으로 추정된다. 즉 다양한 공격자들은 이미 계정 정보를 획득하였으며, 이에 따라 Remcos RAT나 코인 마이너와 같은 다양한 악성코드들의 탐지 로그가 확인된다.

공격자는 Trigona 랜섬웨어를 설치하기 이전에 CLR SqlShell 악성코드를 먼저 설치하는 것으로 추정된다. 비록 다수의 악성코드 로그들이 함께 확인되지만, 랜섬웨어 공격 시점과의 시간적 유사성이나 Trigona 랜섬웨어 공격이 이루어진 시스템들 대부분에서 확인되는 점이 그 근거이다. 이외에도 해당 CLR SqlShell 악성코드는 권한 상승 취약점을 악용하는 루틴도 확인되는데 이는 서비스로 동작하는 Trigona 랜섬웨어가 높은 권한이 필요로 하기 때문으로 보인다.

Figure 2. Trigona 랜섬웨어와 함께 확인되는 CLR SqlShell 악성코드

MS-SQL 환경에서는 xp_cmdshell 명령 외에도 OS 명령을 실행할 수 있는 다양한 기법들이 존재하는데, 이 중 CLR 확장 프로시저를 이용하는 방식이 있다. 해당 기능은 원래 SQL 서버에서 확장된 기능을 제공하기 위해 사용된다. 하지만 공격자들이 이를 악용하여 악의적인 기능을 포함시켜 사용할 수 있다. CLR SqlShell은 CLR 어셈블리 형태의 악성코드 중 웹 서버의 웹 셸(Web Shell)처럼 공격자로부터 명령을 전달받아 악성 행위를 수행할 수 있는 기능을 제공하는 형태이다.

이러한 CLR SqlShell을 사용하는 악성코드로는 예를 들어 LemonDuck이 있다. LemonDuck은 내부 네트워크 전파를 위해 MS-SQL 서버도 그 대상으로 하며 스캐닝 및 사전 공격을 통해 sa 계정에 로그인한 후 악성 행위를 수행한다. 악성 행위는 xp_cmdshell 명령을 사용하기도 하지만 추가 페이로드 다운로드 행위는 이 CLR SqlShell 즉 “evilclr.dll”의 ExecCommand() 메소드가 사용된다.

Trigona 랜섬웨어 공격 시점에 확인되는 CLR SqlShell은 명령 실행 루틴은 없지만 권한 상승(MS16-032) 취약점과 정보 수집, 사용자 계정 설정과 같은 기능들을 지원한다. 공격자는 이를 이용해 높은 권한을 가진 상태로 다양한 악성 행위를 수행할 수 있다.

Figure 3. 공격에 사용된 CLR SqlShell 악성코드

MS16-032 취약점 공격에 사용되는 루틴은 공개된 코드와 거의 유사하며, 상승된 권한으로 내부에 포함되어 있는 바이너리를 실행한다.

Figure 4. MS16-032 취약점 공격 루틴

CLR SqlShell을 통해 생성 및 실행되는 “nt.exe”는 다음과 같이 단순한 기능을 갖는데, SQL 관련 서비스의 계정을 LocalSystem으로 변경하기 위해 레지스트리를 수정한 후 재부팅시키는 것이 그것이다.

Figure 5. SQL 서비스의 계정을 시스템으로 변경하는 루틴

즉 현재 “NT Service\MSSQL$SQLEXPRESS” 권한으로 실행 중인 MS-SQL 프로세스 sqlservr.exe는 레지스트리 수정 및 재부팅 이후에는 LocalSystem 권한으로 실행된다. 공격자는 이후 상승된 권한을 갖는 MS-SQL 프로세스를 이용해 악성 행위를 수행할 수 있다.

Figure 6. 기존 레지스트리 값 및 재부팅 이후 프로세스 실행 계정


3. Trigona 랜섬웨어

감염 로그에 따르면 CLR SqlShell 악성코드가 설치된 이후 Trigona 랜섬웨어가 설치된다. 다음은 자사 ASD 로그로서 MS-SQL 프로세스인 sqlservr.exe가 svcservice.exe라는 이름으로 Trigona를 설치한 로그를 보여준다.

Figure 7. Trigona 랜섬웨어 설치 로그

svcservice.exe는 드로퍼 악성코드로서 서비스로 동작하는 것이 특징이다. 서비스로 실행될 경우 실제 Trigona 랜섬웨어인 svchost.exe를 동일한 경로에 생성하고 이를 실행시켜 주는 기능을 담당하는 Batch 파일인 svchost.bat를 생성하고 실행한다. svchost.bat은 먼저 Trigona 바이너리를 Run 키에 등록하여 재부팅 이후에도 실행될 수 있도록 하며, 이후 볼륨 쉐도우를 삭제 및 시스템 복원 기능을 비활성화하여 랜섬웨어 감염 이후 복구를 불가능하게 한다.

Figure 8. 볼륨 쉐도우 삭제 및 시스템 복원을 비활성화하는 루틴

이후 svchost.exe 즉 Trigona 랜섬웨어를 실행시킨 후 등록했던 서비스 svcservice를 삭제한다. Trigona 실행 시에는 C:\ 드라이브부터 Z:\ 드라이브까지 각 드라이브 별로 각각 인자로 전달하여 실행시킨다.

Figure 9. Trigona 랜섬웨어 실행 루틴

Trigona 랜섬웨어는 델파이로 개발된 랜섬웨어로서 파일 암호화 시 확장자를 구분하지 않고 암호화하며 암호화가 완료된 파일은 “._locked” 확장자가 덧붙여진다.

Figure 10. 암호화된 파일들

각 폴더에는 “how_to_decrypt.hta”라는 이름의 랜섬노트가 생성된다. 공격자는 사용자 데이터가 안전한 AES 알고리즘으로 암호화되었으며 복구하기 위해서는 Tor 브라우저를 설치하여 지정한 주소로 연락할 것을 가이드 한다.

Figure 11. 암호화된 폴더에 생성되는 랜섬노트
  • 공격자의 Onion 주소 : hxxp://3x55o3u2b7cjs54eifja5m3ottxntlubhjzt6k6htp5nrocjmsxxh7ad[.]onion/

MS-SQL 서버를 대상으로 하는 공격에는 대표적으로 부적절하게 계정 정보를 관리하고 있는 시스템들에 대한 무차별 대입 공격(Brute Forcing)과 사전 공격(Dictionary Attack)이 있다. 관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격과 사전 공격으로부터 데이터베이스 서버를 보호해야 한다.

그리고 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다. 또한 외부에 공개되어 접근 가능한 데이터베이스 서버에 대해 방화벽과 같은 보안 제품을 이용해 외부 공격자로부터의 접근을 통제해야 한다. 위와 같은 조치가 선행되지 않을 경우 공격자 및 악성코드들에 의해 계속적인 감염이 이루어질 수 있다.

파일 진단
– Ransomware/Win.Generic.C5384838 (2023.02.20.00)
– Trojan/BAT.Runner.SC187699 (2023.04.08.00)
– Trojan/Win.Generic.C5148943 (2022.05.30.00)
– Trojan.Win.SqlShell.C5310259 (2022.11.21.03)
– Unwanted.Win.Agent.C5406884 (2023.04.08.00)

행위 진단
– Ransom/MDP.Command.M2255
– Ransom/MDP.Event.M1946

IOC
MD5

– 1cece45e368656d322b68467ad1b8c02 – Trigona Dropper (svcservice.exe)
– 530967fb3b7d9427552e4ac181a37b9a – Trigona Ransomware (svchost.exe)
– 1e71a0bb69803a2ca902397e08269302 – Batch Runner (svchost.bat)
– 46b639d59fea86c21e5c4b05b3e29617 – CLR SqlShell
– 5db23a2c723cbceabec8d5e545302dc4 – nt.exe

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

5 2 votes
별점 주기
guest

0 댓글
Inline Feedbacks
View all comments