안랩 ASEC 분석팀, WSF나 JS 같은 스크립트 악성코드로 공격한 것으로 추정
[보안뉴스 김영명 기자] 최근 북한 김수키 해킹그룹이 크롬 원격 데스크톱을 악용하고 있는 것이 확인됐다. 김수키 조직은 감염 시스템에 대한 제어를 획득하기 위해 자체 제작 악성코드인 애플시드(AppleSeed) 외에도 미터프리터(Meterpreter)와 같은 원격제어 악성코드를 사용하고 있으며, VNC를 커스터마이징해 사용하거나 RDP Wrapper와 같은 원격제어 도구들을 악용하기도 했다. 김수키 해킹그룹의 최근 확인된 크롬 원격 데스크톱 악용 사례를 정리해 봤다.

▲웹 브라우저에서 수집한 계정 정보가 저장된 경로[자료=안랩 ASEC 분석팀]
안랩 AESC 분석팀에 따르면, 김수키 해킹그룹은 북한의 지원을 받는 것으로 알려진 위협 그룹으로서 2013년부터 활동하고 있다. 초기에는 한국의 북한 연구기관 등을 공격했으며, 2014년에는 에너지기관 공격을, 2017년 이후에는 한국 외의 다른 나라를 공격하기도 했다.
최근 김수키 해킹그룹은 악성코드 유포 과정에서 악성 한글 및 MS 오피스 문서나 CHM 포맷을 사용하고 있다. 해당 악성코드가 첨부된 스피어피싱 메일 수신자들은 정상 파일로 생각하고 파일을 실행하며, 추가 악성코드가 시스템에 설치될 수 있다. 애플시드 유포 과정에서는 주로 문서 파일 확장자를 위장한 WSF나 JS와 같은 스크립트가 사용된다. 악성코드를 실행하면 정상 문서 파일이 함께 실행돼 사용자는 정상 문서를 실행한 것으로 인지할 수 있다.
최초 유포 방식은 확인되지 않지만, 안랩에서 탐지한 결과 이 해킹그룹은 WSF나 JS와 같은 스크립트 악성코드로 공격한 것으로 추정된다. 해당 로그는 과거에도 스크립트 악성코드가 파워쉘 명령으로 파일을 디코딩하는 과정에서 사용됐다.

▲악성코드 설치 로그[자료=안랩 ASEC 분석팀]
디코딩된 악성코드는 애플시드이며, 특정 인자를 이용해 악성코드를 실행했다. 인자 중에서 ‘/I’에 입력되는 ‘123qweASDZXC’는 애플시드 실행 시 필요한 조건으로 해당 인자가 사용되지 않을 경우 애플시드는 동작하지 않는다. 공격자는 이후 애플시드를 이용해 추가 악성코드를 설치했다. 여기에는 과거부터 김수키 해킹그룹이 꾸준히 사용하고 있는 인포스틸러, RDP Patcher 악성코드와 Ngrok가 있다. 이외에도 크롬 원격 데스크톱 설치 로그도 확인된다.

▲Ngrok를 설치하는 AppleSeed 악성코드[자료=안랩 ASEC 분석팀]
김수키 해킹그룹이 공격 과정에서 사용된 악성코드를 분석해 보면, 애플시드, 인포스틸러, RDP Patcher, Ngrok 등이 있다. 먼저 ‘애플시드’는 2019년경부터 확인된 악성코드로서, 김수키 해킹그룹의 공격 사례 중 상당수에서 확인되는 백도어 악성코드다. 현재 공격에서 사용된 애플시드는 두 개이며 모두 C&C 서버와의 통신 HTTP 프로토콜을 사용한다. 두 개의 애플시드 중 하나는 실행 시 특별한 인자가 필요하다.
두 번째로, ‘인포스틸러’ 공격이 있다. 김수키 해킹그룹은 애플시드 설치 이후 다양한 악성코드를 추가로 설치한다. 대표적으로 정보 탈취 악성코드가 있는데, 과거에는 구글 크롬 웹 브라우저에서 계정 정보를 수집해 텍스트 파일 형태로 저장하는 인포스틸러가 사용됐다.
최근에는 구글 크롬 외에 마이크로소프트 엣지나 네이버 웨일 웹 브라우저에 저장돼 있는 계정정보를 탈취하는 악성코드가 사용되고 있다. 해당 악성코드는 작년에 최초로 확인됐으며, 같은 악성코드가 지속해서 사용되고 있다. 또한, 공격자는 해당 경로에 텍스트 파일 형태로 저장된 사용자의 계정 정보들을 애플시드나 다른 악성코드를 이용해 탈취한 것으로 추정된다.
세 번째로, ‘RDP Patcher’가 있다. 일반적인 윈도 환경에서는 한 PC에 하나의 RDP만 접속된다. 따라서 공격자가 감염 시스템 계정정보를 알더라도 사용자가 로컬에서 작업하거나 사용자가 RDP로 현재 시스템에 접속하면 사용자의 인지 없이 RDP 연결이 불가능하다. 현재 사용자가 작업 중일 때 공격자가 RDP 연결을 시도하면 기존 사용자는 로그오프되기 때문이다.
이를 우회하려면 Remote Desktop Service의 메모리를 패치해 다중 원격 데스크톱 접속을 허용하게 하는 방식이 있다. 대표적으로 Mimikatz도 ts::multirdp 명령을 통해 이러한 기능을 지원한다. ts::multirdp 명령을 사용하면 현재 실행 중인 Remote Desktop Service 즉 termsrv.dll을 로드한 svchost.exe에서 해당 DLL의 주소를 구한 후, 특정 바이너리 패턴을 검색한다. 이는 윈도 버전마다 달라 각각의 버전에 따라 검색 패턴이 정의됐다. 정의된 패턴이 있다면 이를 새로운 바이너리 패턴으로 패치하며 패치 이후에는 다중 RDP가 가능하다.

▲RDP 서비스 검색 및 패치 패턴[자료=안랩 ASEC 분석팀]
네 번째로 ‘Ngrok’는 터널링 프로그램으로 외부에서 NAT 환경 내부의 시스템에 접속하도록 노출시켜 주는 도구다. 김수키 해킹그룹은 공격 과정에서 Ngrok를 자주 사용한다. 직접적인 사용 사례는 확인되지 않지만, 감염 시스템의 원격 데스크톱 접속을 위한 것으로 보인다.
김수키 해킹그룹은 감염 시스템 제어를 획득하기 위해 원격 데스크톱 서비스를 사용한다. 이에 따라 RDP Wrapper나 위의 RDP Patcher 등 RDP 관련 다양한 악성코드가 자주 사용된다. 하지만 감염 시스템이 NAT 환경 내부에 존재할 경우 IP 및 계정 정보를 알고 있다고 하더라도 원격 데스크톱 접속이 불가능하다. 김수키 해킹그룹은 이 문제를 해결하기 위해 Ngrok를 사용하는 것으로 보이며, 실제 확인된 공격 사례 다수에서 Ngrok가 함께 확인되고 있다.
김수키 해킹그룹은 애플시드나 미터프리터와 같은 백도어 악성코드를 이용해 감염 시스템의 제어권을 획득한 이후에도 GUI 환경의 원격 제어를 위해 추가적인 악성코드들을 설치했다. 만약 윈도의 RDP 프로토콜을 이용할 때는 앞서 소개한 악성코드들이 사용될 것이며 다수의 공격 사례에서 RDP Wrapper를 추가로 설치하는 사례도 존재했다. RDP 프로토콜 외에 TinyNuke나 TightVNC와 같은 VNC 악성코드들을 직접 제작해 원격 데스크톱 제어를 수행하는 경우도 있다. 최근에는 구글의 크롬 원격 데스크톱을 악용하는 사례가 확인된다.
구글은 크롬 원격 데스크톱(Chrome Remote Desktop)이라는 기능을 지원한다. 크롬 원격 데스크톱 호스트 프로그램을 실행한 이후 PIN 번호를 입력하면, 이후 크롬 웹 브라우저에서 원격제어 대상 장비가 온라인 상태인 것을 보여준다. 해당 장비에 접속하고 PIN 번호를 입력하면 크롬 웹 브라우저에서 원격 제어가 가능하다. 공격자는 먼저 애플시드에 파워쉘 명령을 전달해 크롬 원격 데스크톱 호스트 인스톨러를 설치하고, 크롬 원격 데스크톱 호스트를 제어하는 23.bat 파일을 설치했다. 23.bat 파일은 ‘-pin’ 인자가 함께 사용돼 커맨드 라인 상으로도 추가적인 작업 없이 동작하도록 했다. 공격용 인증 코드는 공격자의 구글 계정으로 제작됐는데, 이로 인해 공격자는 크롬 웹 브라우저에서 감염 시스템을 제어할 수 있게 된다.

▲온라인 상태인 원격 제어 대상 장비[자료=안랩 ASEC 분석팀]
김수키 해킹그룹은 국내 사용자들을 대상으로 지속적으로 스피어피싱 공격을 수행하고 있다. 주로 메일의 첨부파일로 문서 파일을 위장한 악성코드를 유포하는 방식이며, 사용자가 이를 실행할 경우 현재 사용 중인 시스템에 대한 제어가 탈취될 수 있다.
안랩 ASEC 분석팀 관계자는 “김수키 해킹그룹은 감염 시스템에 대한 제어를 탈취하기 위해 애플시드나 미터프리터, 그리고 VNC 악성코드들을 사용하고 있으며, 윈도 시스템에 기본으로 존재하는 RDP 원격 데스크톱 서비스를 악용하기도 한다”며 “최근에는 원격 제어를 위해 구글 크롬의 원격 데스크톱 기능을 악용하는 사례도 확인되고 있다”고 전했다. 이어 “사용자들은 의심스러운 메일을 받게 된다면 첨부 파일의 실행을 지양해야 하며, 백신을 업데이트해 악성코드의 감염을 사전에 차단할 수 있도록 신경써야 한다”고 강조했다.
[김영명 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>