* 출처는 안랩입니다.
안랩은 최근까지도 MySQL 서버가 지속적으로 공격 대상이 되고 있음을 확인했다. 공격자는 외부에 노출된 불특정 다수의 시스템을 노리는 것으로 추정되며, 이로 인해 국내 일부 시스템에서도 악성코드 감염 피해가 발생하고 있다. 이번 공격에는 주로 Gh0stRAT 변종이 사용됐으며, 과거에는 AsyncRAT, Ddostf DDoS Bot 과 같은 악성코드가 활용된 사례도 보고됐다.
최근에는 XWorm, HpLoader, 그리고 Zoho ManageEngine과 같은 정상 원격 제어 툴까지 공격에 이용되고 있으며, 특히 그동안 많은 랜섬웨어 공격자들이 사용해온 Zoho Assist가 아닌 ManageEngine 제품군이 공격 수단으로 악용된 점은 주목할 만하다. 공격자들이 MySQL 서버를 침해하는 과정에서 어떤 악성코드를 사용하고, 어떤 방식으로 침투하는지, 그리고 이에 어떻게 대응할 수 있는지 살펴보자.
1. MySQL 서버 공격
MySQL은 대표적인 데이터베이스 서버로, 기업이나 사용자 환경에서 대량의 데이터를 관리한다. 일반적으로 윈도우 환경에서는 데이터베이스 서비스를 위해 주로 MS-SQL을 설치하며, 리눅스 환경에서는 MySQL, PostgreSQL 등의 데이터베이스 서비스가 사용된다. 하지만 MySQL은 윈도우 환경도 지원하며, 따라서 윈도우 환경에 설치되는 경우도 간혹 있다. 이에 따라 윈도우 환경에서 동작 중인 MySQL 서버를 대상으로 하는 공격도 꾸준히 확인되고 있다
공격자들은 MS-SQL 서버 대상 공격과 유사하게 스캐닝을 통해 MySQL 서버가 사용하는 3306/TCP 포트가 공개된 공격 대상을 찾고, 무차별 대입 공격이나 사전 공격을 수행한다. 부적절하게 계정 정보를 관리하는 시스템에 대해서는 관리자 계정의 자격 증명 정보를 확보할 수 있으며, 감염 대상 시스템에 대한 제어 권한을 탈취해 추가 페이로드를 설치할 수 있다.
[그림 1] MySQL 서버 프로세스에 의한 악성코드 설치 로그
2. UDF 악성코드
UDF(User Defined Function)는 사용자가 원하는 기능을 동적 연결 라이브러리(Dynamic Link Library, DLL)에 구현한 것으로, 공격자는 악의적인 명령이 포함된 DLL을 감염 대상 시스템에 업로드한 후 MySQL 서버에 로드시킨다. 이후 정의한 명령을 실행하는 방식으로 감염 대상 시스템에 악성 명령을 전달할 수 있는데, 이는 MS-SQL 서버의 CLR SqlShell과 유사하다.
실제 공격 대상 시스템의 감염 로그를 보면 감염 대상 시스템에는 악성코드 외에도 악성 UDF DLL이 함께 설치되는 것이 확인된다. 여기서, 공격자는 UDF 악성코드를 부적절하게 관리되고 있는 MySQL 서버를 공격하기 위한 툴로 사용하고 있다는 것을 알 수 있다.
가장 단순한 형태의 UDF 악성코드는 인자로 전달받은 명령을 실행하는 기능만 존재하지만, 일부 변종의 경우 [그림 2]와 같이 인자로 전달받은 URL에서 파일을 다운로드하고 실행하는 기능을 지원하기도 한다. 이외에도 UDF DLL 자체가 Stager처럼 C&C 서버로부터 전달받은 페이로드를 메모리 상에서 실행하는 유형도 있다. 해당 유형은 C&C 서버에 연결한 이후 “mylogin”을 전송한다. 다만, 현재 C&C 서버에 접속이 안되는 관계로, 어떤 악성코드가 동작하는지는 알 수 없다.
[그림 2] 다양한 기능을 담당하는 UDF 악성코드들
* 전체내용은 아래에서 참고하세요.
https://www.ahnlab.com/ko/contents/content-center/35876