GotoHTTP를 악용한 MS-SQL 서버 대상 공격 사례

GotoHTTP를 악용한 MS-SQL 서버 대상 공격 사례

AhnLab SEcurity intelligence Center(ASEC)에서는 부적절하게 관리되고 있는 MS-SQL 서버를 모니터링하고 있으며 최근 GotoHTTP를 악용한 공격 사례를 확인하였다.

 

1. GotoHTTP

 

원격 제어 도구는 원격에서 시스템을 제어하기 위한 목적으로 사용되는 도구로서 원격 데스크톱, 파일 전송 등의 기능을 제공한다. 유명한 원격 제어 도구들로는 AnyDesk, ToDesk, RuDesktop, TeamViewer, AmmyyAdmin 등이 있다.

 

이러한 도구들은 정상적으로 사용할 경우 기업 및 개인이 원격에 위치한 시스템들을 관리하고 제어할 수 있다. 하지만 원격에서 시스템을 제어할 수 있는 기능은 백도어 및 RAT 악성코드가 제공하는 것과 동일하기 때문에 공격자가 이를 악용할 수도 있다. 실제로 과거에는 TeamViewer, AmmyyAdmin을 악용하는 사례가 많았으며 최근에는 AnyDesk가 공격에 자주 사용된다.

 

특히 부적절하게 관리되는 웹 서버나 MS-SQL 서버를 대상으로 하는 공격에서는 AnyDesk를 악용하는 사례가 자주 확인된다. 하지만 최근에는 알려지지 않은 공격자가 MS-SQL 서버를 공격해 GotoHTTP를 설치한 사례가 확인되어 이를 소개한다.

 

Figure 1. GotoHTTP 웹 사이트

 

 

2. MS-SQL 서버 대상 공격

 

공격 대상이 된 시스템은 외부에 공개되어 있으며 취약한 자격 증명 정보를 사용하는 것으로 추정된다. 공격자는 최초 침투 이후 먼저 CLR SqlShell을 설치하였다. SqlShell은 웹 서버에 설치될 수 있는 WebShell과 유사하게 MS-SQL 서버에 설치되어 공격자의 명령을 실행하거나 다양한 악의적인 행위를 수행할 수 있는 기능을 지원하는 도구이다.

 

Figure 2. 공격에 사용된 CLR SqlShell

 

공격자는 설치한 SqlShell을 이용해 다음과 같이 감염 시스템의 정보를 조회하는 명령들을 실행하였다.

 

> whoami.exe
> systeminfo.exe
> netstat.exe

 

Figure 3. 공격자의 명령을 실행하는 MS-SQL 서버

 

이후 PetitPotato, SweetPotato, JuicyPotato, GodPotato, PrintNotifyPotato, LocalAdminSharp 등 권한 상승을 위한 도구들과 사용자 계정을 설정하거나 추가하는 악성코드들을 설치하였다.

 

참고로 웹 서비스나 MS-SQL 서비스의 경우 이름 담당하는 프로세스들이 취약점이나 부적절한 설정에 의해 공격자의 명령을 실행할 수 있다고 하더라도 기본 설정에 의해 낮은 권한을 가지고 실행 중임에 따라 해당 프로세스의 권한으로 실행되는 악성코드 또한 추가적인 악성 행위를 수행하는 데 한계가 존재한다. 이에 따라 공격자들은 웹쉘이나 MS-SQL 서버를 대상으로 하는 공격에 Potato 악성코드들을 주로 사용하는데, Potato 유형의 악성코드들이 현재 실행 중인 프로세스 계정의 토큰들 중 특정 권한을 악용하는 방식으로 권한을 상승시켜 주기 때문이다.

 

공격자는 다음과 같이 기존에 존재하는 사용자 계정의 비밀번호를 재설정하거나 사용자 계정을 추가하는 기능을 담당하는 악성코드를 함께 설치하기도 하였다. 이렇게 추가된 백도어 계정은 이후 공격자가 RDP를 이용한 원격 제어에 사용할 수 있다.

 

Type 계정
사용자 설정 Guest / FuckingIsBadBoys5!
사용자 설정 DefaultAccount / FuckingIsBadBoys5!
사용자 추가 vpn / FuckingIsBadBoys5!

Table 1. 사용자 설정

 

공격자는 이외에도 추가 GotoHTTP를 설치하기도 하였다. GotoHTTP는 다른 원격 제어 도구들과 동일하게 원격 화면 제어를 제공하는 도구로서 감염 시스템에 GotoHTTP를 설치한 후 “Computer Id”와 “Access Code”를 알 수 있다면 이를 이용해 원격에서 시스템을 제어할 수 있다. GotoHTTP가 실행되면 동일한 경로에 “gotohttp.ini”라는 이름의 설정 파일을 생성하는데 여기에는 “Computer Id”와 “Access Code”가 저장되어 있다. 공격자는 감염 시스템에 GotoHTTP를 설치한 이후 생성된 “gotohttp.ini”를 탈취하여 원격에서 접속하였을 것으로 추정된다.

 

Figure 4. GotoHTTP를 이용한 원격 제어

 

 

3. 결론

 

공격자들은 초기 침투 과정을 거쳐 공격 대상 시스템을 장악하기 위해 백도어 악성코드를 설치한다. 최근에는 이미 알려져 있거나 새로운 백도어 악성코드를 제작하는 방식보다는 정상 유틸리티를 악용하는 특징이 있다. 이를 위해 일반적으로 다양한 사용자들이 사용하고 있는 원격 제어 도구들이 사용된다.

 

최근에는 AnyDesk를 악용한 사례가 많지만 이번에 확인된 공격 사례에서는 GotoHTTP라는 원격 제어 도구가 사용되었다. 공격자들은 이러한 정상 원격 제어 도구들을 악용해 보안 제품의 진단을 우회하고 GUI 환경에서 감염 시스템을 제어할 수 있다.

 

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

 

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

 

MD5

1fdb1dd742674d3939f636c3fc4b761f
45d35c34b2c20cb184afde6ed146e86e
493aaca456d7d453520caed5d62fdc00
6b2fbf67dbb11d9bef35a5135d96af5f
90e9ff3b82ea8c336b45c9c949d41080
URL

http[:]//121[.]37[.]130[.]173/yow[.]txt
http[:]//121[.]37[.]130[.]173/yow2[.]txt
http[:]//121[.]37[.]130[.]173/yow3[.]txt
http[:]//121[.]37[.]130[.]173/yow4[.]txt
http[:]//121[.]37[.]130[.]173/yow5[.]txt

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.