다양해지는 Trojan 악성코드, MS-SQL 서버 공격서 발견
안랩은 자사 ASD(AhnLab Smart Defense) 인프라를 활용하여 취약한 MS-SQL 서버를 대상으로 하는 공격들에 대한 대응 및 분류를 진행하고 있다. 이 글에서는 2023년 1분기에 확인된 로그를 기반으로 공격 대상이 된 MS-SQL 서버들의 피해 현황과 해당 서버들을 대상으로 발생한 공격에 대한 통계를 다룬다. 공격에 사용된 악성코드를 분류하여 CoinMiner, Backdoor, Trojan, Ransomware, HackTool 등 유형별로 분류한 후, 각 유형의 알려진 악성코드들에 대한 구체적인 통계를 제공한다.
MS-SQL 서버 대상 공격 현황
[그림 1]은 2023년 1분기에 안랩 인프라를 통해 확인한 MS-SQL 서버 대상 공격에 대한 통계이다.
[그림 1] 2023년 1분기 MS-SQL 서버 대상 공격 현황
[그림 1]에서 ‘피해 현황’ 항목은 악성코드 또는 공격자에 의해 공격 대상이 된 시스템 수로, MS-SQL 서버에 대한 제어 획득 후 악성코드가 설치된 이력이 확인되는 시스템이다. 서버를 대상으로 한 공격으로는 주로 패치되지 않은 환경에 대한 취약점 공격이나, 부적절하게 설정된 환경에 대한 공격, 그리고 부적절하게 관리되는 서버에 대한 공격이 있다. 부적절하게 관리되는 환경으로는 대표적으로 무차별 대입 공격이나 사전 공격에 취약한 계정 정보를 사용하는 경우가 있다. 만약 부적절하게 관리되고 있는 시스템에 관리자 계정으로 로그인에 성공한다면 악성코드 및 공격자는 해당 시스템에 대한 제어를 획득할 수 있다.
‘공격 현황’ 항목은 악성코드 및 공격자가 해당 시스템을 대상으로 수행한 공격 횟수이다. 참고로 취약한 MS-SQL 서버는 일반적으로 다수의 공격자 및 악성코드로부터 공격 대상이 되기 때문에 다양한 악성코드의 감염 로그가 동시에 확인되는 경향이 있다.
MS-SQL 서버 대상 공격에 사용된 악성코드 분류
[그림 2]는 2023년 1분기에 확인된 MS-SQL 서버를 대상으로 한 공격에 사용된 악성코드에 대한 분류이다.
[그림 2] MS-SQL 서버 대상 공격에 사용된 악성코드 유형별 비율
[그림 2]에서 확인할 수 있듯이, 공격 대상이 다수이기 때문에 여러 악성코드 유형이 존재한다. 다음으로 유형별 상세정보도 살펴보자.
1. Trojan
[그림 3] MS-SQL 서버 대상 공격에 사용된 Trojan 유형별 비율
Trojan 유형 중에서는 CLR 어셈블리 셸 악성코드가 가장 많은 비중을 차지하고 있다. MS-SQL 환경에서는 xp_cmdshell 명령 외에도 OS 명령을 실행할 수 있는 다양한 기법이 존재하는데, 이 중 CLR 어셈블리를 이용하는 방식이 있다. 해당 기능은 원래 SQL 서버에서 확장된 기능을 제공하기 위해 사용된다. 하지만 공격자들이 이를 악용하여 악의적인 기능을 추가하여 사용할 수 있으며, LoveMiner의 경우도 CLR 어셈블리 형태의 다운로더가 사용되고 있다.
CLR Shell은 CLR 어셈블리 형태의 악성코드 중 웹 서버의 웹 셸(Web Shell)처럼 공격자로부터 명령을 전달받아 악성 행위를 수행할 수 있는 기능을 제공하는 형태이다. LemonDuck은 추가 모듈을 설치하기 위해 xp_cmdshell 명령을 직접 이용하기도 하지만, CLR Shell을 설치하여 지원되는 명령을 이용해 추가 모듈을 설치하는 기능도 있다.
그 다음으로 많은 부분을 차지하는 유형은 etc이다. etc에는 특별히 명명되지 않은 악성코드가 대다수인데, 그 중 가장 많은 형태가 [그림 4]에서 볼 수 있는 오토잇(Autoit) 드롭퍼이다. 감염 시 임시 폴더에 오토잇 스크립트를 생성하여 실행하며, 이 스크립트에는 가상 환경을 검사하는 기능과 인코딩된 PE 등이 포함된다. 최종적으로 해당 악성코드는 정상 프로그램을 실행한 후 인젝션을 수행하며, 인젝션되는 악성코드는 대부분 Remcos RAT과 CobaltStrike이다.
[그림 4] 오토잇(Autoit) 드롭퍼
이 외에 감염 시스템에 사용자 계정을 추가하고 RDP를 활성화하여 추후 접근할 수 있도록 하는 유형도 다수 존재한다.
안랩은 2013년부터 확인되고 있는 ShadowForce 활동에 대한 분석 보고서를 발간한 바 있다. ShadowForce의 활동은 아직까지 계속되고 있으며, 공격자는 취약한 MS-SQL 서버를 대상으로 침투하여 백도어나 리버스 셸(Reverse Shell) 뿐만 아니라 권한 상승 툴을 포함한 다양한 악성코드를 설치한다.
2. Backdoor
[그림 5] MS-SQL 서버 대상 공격에 사용된 Backdoor 유형별 비율
C&C 서버로부터 명령을 받아 악의적인 행위를 수행할 수 있는 악성코드를 Backdoor 유형에 정리하였다. Backdoor 악성코드는 Remcos RAT, Gh0st RAT과 같은 RAT 악성코드가 대부분이지만, CobaltStrike, Meterpreter와 같은 침투 테스트에 사용되는 유형도 일정 부분 사용되고 있다. 최근에는 공격자들이 악성코드 외에도 AnyDesk와 같은 정상 원격 제어 애플리케이션을 설치하는 경우도 다수 확인된다.
Remcos RAT은 RAT 악성코드로서 Backdoor 유형 내에서만 아니라 악성코드 단독으로도 최다 비중을 차지한다. 참고로 Remcos는 스팸메일의 첨부 파일을 통해 설치되는 대표적인 악성코드 중 하나로, AgentTesla, Formbook, Lokibot과 함께 높은 비율을 차지하고 있다. 하지만 최근에는 취약한 MS-SQL 서버를 통해 설치되는 사례도 다수 확인되었다. 수량은 많지만 이들 모두 동일한 공격자의 소행으로 추정되며, 설치 과정에서 파워셸(PowerShell) 명령이 사용된다.
Gh0st RAT 은 과거 오픈 소스로 공개되어 최근까지도 다양한 공격자들이 꾸준히 사용하고 있는 원격 제어 악성코드이다. 그렇기 때문에 취약한 MS-SQL 서버를 대상으로 하는 공격에 사용되는 Gh0st RAT도 다양한 변종이 확인되고 있다. 최근에는 대표적인 Gh0st RAT 변종 중 하나인 Gh0stCringe가 공격에 사용되고 있는 것이 확인되었다.
CobaltStrike 및 Metsploit의 Meterpreter는 상용 침투 테스트 도구로서 주로 APT 및 랜섬웨어를 포함한 대다수 공격에서 내부 시스템 장악을 위한 중간 단계로 사용되고 있다. 최초 침투 과정에는 다른 악성코드를 사용하는 일반적인 공격 사례와 달리, 취약한 MS-SQL 서버를 대상으로 하는 공격에서는 CobaltStrike가 직접적으로 설치된다.
3. HackTool
[그림 6] MS-SQL 서버 대상 공격에 사용된 HackTool 유형별 비율
공격자는 감염 시스템의 제어 권한을 획득한 후에도 추가적인 목적을 달성하기 위해 다양한 도구를 이용하며, 대표적으로는 권한 상승 도구가 있다. 안랩 ASD 로그에 따르면, 추가적으로 사용되는 HackTool 유형 중에서 권한 상승 도구 중 하나인 Potato(Sweet Potato, Juicy Potato 등) 유형이 차지했다. 물론 이 외에 권한 상승 취약점을 악용하는 도구들도 확인되고 있다.
이러한 도구는 침투 후 많은 공격자가 사용하고 있으며, 올해 1월에 소개한 APT 그룹 달빗(Dalbit)도 이를 활용하는 것으로 확인되었다.
[그림 7] DCOMPotato 권한 상승 도구
이 외에도 공격에 흔히 사용되는 포트포워딩(Port-Forwarding) 도구나 미미카츠(Mimikatz)가 발견되었으며, 코인 마이너와 유사하게 감염 시스템에 설치되어 인터넷 대역폭을 제공하는 프록시웨어(Proxyware) 유형 악성코드(Peer2Profit)도 다수 존재한다.
4. CoinMiner
[그림 8] MS-SQL 서버 대상 공격에 사용된 CoinMiner 유형별 비율
CoinMiner 악성코드는 크게 PurpleFox, LoveMiner, MyKings 3가지 종류가 있다. 3개 유형 모두 일반적인 CoinMiner 악성코드처럼 XMRig, 즉 모네로 가상 화폐를 채굴하는 것이 목적이다. 해당 악성코드들은 주로 취약한 계정 정보가 설정되어 있는 시스템들을 대상으로 유포된다. [그림 8]에서 XMRig로 분류된 악성코드는 특징이 두드러지지 않아, 특정 유형으로 구분이 어려워 마이너 이름을 그대로 표기하였다.
LoveMiner는 .exe 실행 파일이나 CLR 어셈블리 형태의 다운로더 악성코드를 거쳐 취약한 MS-SQL 서버에 설치된다. 마이닝 외에 추가적인 기능이 없는 LoveMiner와 달리 다른 악성코드들은 여러 가지 특징이 존재한다. 예를 들어, MyKings나 PurpleFox는 감염 이후 스캐닝 모듈이 추가적으로 설치되어 또 다른 시스템을 감염시킬 수 있다. 이들은 취약한 MS-SQL 서버 외에도 SMB 취약점을 악용하여 패치되지 않은 내부 네트워크 시스템을 공격한다.
5. Downloader
[그림 9] MS-SQL 서버 대상 공격에 사용된 Downloader 유형별 비율
Downloader 악성코드는 대부분 PureCrypter라는 악성 패커 유형이었으며, 이는 2022년 국내에서 두 번째로 많이 유포된 것으로 알려진 닷넷(.NET) 패커이다. 해당 유형은 닷넷으로 개발되었으며, 난독화된 다운로드 함수를 가지고 있는 것이 특징이다. 다운로드되는 대상은 대부분 이미지 파일 확장자(png, bmp, jpg, jpeg)로, 실제로는 이미지가 아닌 인코딩된 바이너리이다. 다운로드가 완료되면 해당 바이너리를 메모리상에서 실행한다.
[그림 10] PureCrypter 다운로드 함수
현재 URL을 연결할 수 없어 최종 악성코드를 확인하기 어렵지만, Downloader 악성코드는 대부분 Remcos RAT이나 CobaltStrike를 다운로드했을 것으로 추정된다. 위에서 다룬 Remcos RAT, CobaltStrike 유형도 다운로드에 성공하여 실제 동작하였다는 점이 다를 뿐, 이번 글에서 다룬 것과동일한 다운로더 악성코드가 사용되었다.
6. Ransomware
[그림 11] MS-SQL 서버 대상 공격에 사용된 Ransomware 유형별 비율
현재 취약한 MS-SQL을 대상으로 설치되고 있는 랜섬웨어는 Mallox, Trigona로 확인되고 있다. 2021년 처음 확인된 Mallox 랜섬웨어는 다른 사례가 발견되지 않는 것으로 보아 공격자가 취약한 MS-SQL 서버만을 대상으로 공격하는 것으로 추정된다.
Trigona는 2022년 10월에 출현하여 유럽과 호주에 주로 유포된 랜섬웨어로, CryLock 랜섬웨어와 유사하다고 알려져 있다. 현재까지 아시아에 유포된 사례는 없었으나 최근 국내에서 일부 확인되었다.
[그림 12] Trigona 랜섬웨어 랜섬노트
결론
MS-SQL 데이터베이스 서버를 노린 공격으로는 대표적으로 부적절하게 계정 정보를 관리하는 시스템들에 대한 무차별 대입 공격(Brute Forcing Attack)과 사전 공격(Dictionary Attack)이 있다. 일반적으로 이러한 방식들이 공격의 대부분을 차지하지만, 패치되지 않은 시스템들에 대한 취약점 공격도 발생할 수 있다.
공격 대상이 되는 MS-SQL 서버의 경우 일반적으로 데이터베이스 서버로 사용하기 위해 직접 구축한 형태가 대다수이다. 하지만 ERP 및 업무용 솔루션에서 데이터 관리를 위해 MS-SQL을 이용할 경우 설치 과정에서 MS-SQL 서버가 함께 설치되는 경우도 다수 존재하며, 실제 안랩 ASD 로그 상에서도 이러한 MS-SQL 서버도 공격 대상이라는 것을 확인할 수 있다.
따라서 관리자들은 계정 비밀번호를 추측하기 어려운 형태로 사용하거나 주기적으로 변경하여 공격으로부터 데이터베이스 서버를 보호해야 한다. 서버를 최신 버전으로 패치하여 취약점 공격을 방지해야 하며, 외부에 공개되어 접근 가능한 데이터베이스 서버는 방화벽과 같은 보안 제품을 이용해 공격자의 접근을 통제해야 한다.
출처 : AhnLab