카스퍼스키 연구팀은 “토디캣에 대한 정보는 많지 않지만, 백도어 ‘사무라이(Samurai)’와 트로이 목마 ‘닌자(Ninja)’라고 불리는 알려진 적 없는 2가지 툴을 사용하는 것이 주요 특징이다”라고 말했다.
마이크로소프트 익스체인지 취약점 악용
카스퍼스키 랩의 텔레메트리에 따르면, 토디캣의 공격 캠페인은 2020년 12월로 거슬러 올라간다. 당시 토디캣은 대만과 베트남 조직의 마이크로소프트 익스체인지 서버 일부를 표적으로 삼았다. 익스플로잇 샘플이 복구되지 않았기 때문에 토디캣이 초기 공격에서 악용한 취약점이 무엇인지 확실하지는 않지만, 2021년 2월부터는 마이크로소프트 익스체인지에 영향을 미치는 RCE(Remote Code Execution) 취약점 프록시로그온(ProxyLogon)을 사용했다. 토디캣은 중국 APT 집단인 하프늄(Hafnium)과 함께 프록시로그온을 악용했던 해커 집단 중 하나였을 가능성이 크다.
하프늄과 마찬가지로 토디캣은 익스체인지 서버를 손상시킨 후 서버에 대한 액세스를 유지하기 위해 차이나 초퍼(China Chopper)의 변종 웹 셸을 배포한 뒤 debug.exe라는 멀웨어 드롭퍼를 다운로드 및 설치했다. debug.exe는 여러 레지스트리 키를 설정하고 실행하는 추가 페이로드를 해독하는 역할을 한다. 또한 감염 체인에는 페이로드를 암호화하는 2가지 추가 멀웨어 로더까지 포함돼 있었다. 카스퍼스키 연구팀이 ‘사무라이’라고 이름 붙인 백도어 프로그램이다.
‘사무라이’와 ‘닌자’
사무라이는 .NET HTTPListener 클래스를 사용해 HTTP POST 요청을 수신하고 해석하는 C#로 작성된 모듈식 백도어다. 공격자는 이 기능을 사용해 백도어가 런타임 중 해독하고 실행할 수 있는 암호화된 C# 소스코드를 전송한다. 카스퍼스키 연구팀은 “해당 멀웨어는 코드를 읽기 복잡하게 만들어 리버스 엔지니어링 난도를 높이는 알고리즘으로 난독화됐다. 게다가 멀웨어는 여러 개의 while 루프와 스위치 케이스를 사용해 명령 사이를 이동하면서 제어 흐름을 평면화하고 코드에서 작업 순서를 추적하기 어렵게 만든다”라고 설명했다.
연구팀은 원격 명령을 실행하고, 로컬 디스크 파일을 열거하고, 파일을 추출하고, 특정 포트의 원격 IP 주소에 대한 프록시 연결을 열어 응답 처리를 허용하는 다양한 사무라이 모듈을 식별했다.
연구팀은 “사무라이 백도어를 이렇게 번거로운 구조로 관리한다는 것은 사무라이 백도어가 더 큰 솔루션의 서버 측 컴포넌트임을 시사한다. 이 솔루션에는 사전 정의된 일부 모듈을 자동으로 업로드하는 데 사용하는 인터페이스를 제공하는 다른 클라이언트 구성요소가 적어도 하나 이상 포함된다”라고 말했다.
일부 사례에서 사무라이 백도어는 연구팀이 ‘닌자’라고 명명한 또 다른 멀웨어 프로그램을 배포하는 데에도 사용됐다. 닌자 트로이 목마는 C++로 작성된 더 복잡한 프로그램이며, 공격자에게 전체 시스템 통제 권한을 제공한다. 연구팀은 닌자 트로이 목마가 코발트 스트라이크(Cobalt Strike) 같은 상업화된 공격 툴처럼 대형 공격 툴킷의 일부일 수 있다고 봤다.
닌자 트로이 목마는 실행 중인 프로세스를 나열하고, 파일 시스템을 관리하고, 리버스 셸 세션을 실행하고, 임의의 프로세스에 코드를 삽입하고, 추가 모듈을 로드할 수 있다.
연구팀에 따르면, 닌자 트로이 목마는 여러 프로토콜을 사용해 통신하도록 구성할 수 있다. 또한 인기 있는 호스트 이름과 URL 경로의 조합으로 정상인 것처럼 보이는 HTTP 및 HTTPS 요청 내부의 악의적인 트래픽을 위장해 탐지를 회피한다. 구성은 완전히 사용자 지정할 수 있다. 이런 기능은 코발트 스트라이크의 몰리어블 C2(Malleable C2)처럼 유명 툴에서 제공하는 것과 유사하다.
닌자 트로이 목마는 특정 시간 프레임 내에서 작동하도록 구성될 수도 있다. 또 같은 네트워크의 다른 에이전트에 대한 서버 역할을 수행하므로 해당 에이전트와 C2 서버 간 요청을 구문 분석하고 전달한다. 이런 기능을 통해 해커는 감염된 모든 시스템에서 인터넷 연결을 열지 않고 네트워크 내부 깊숙한 곳까지 접근하고 단일 노드를 통해 모든 통신을 지시할 수 있다.
지정학적 목적의 공격
토디캣의 활동은 2020년 12월부터 최소한 올해 2월까지 계속됐다. 카스퍼스키가 토디캣의 활동을 포착한 국가는 대만, 베트남, 아프가니스탄, 인도, 이란, 말레이시아, 파키스탄, 러시아, 슬로바키아, 태국, 영국, 키르기스스탄, 우즈베키스탄, 인도네시아다.토디캣은 마이크로소프트 익스체인지 서버 외에 다른 것을 공격 진입점으로 삼기도 했다. 연구팀은 일부 사례에서 메시지 앱 텔레그램을 통해 ZIP 아카이브로 전달된 닌자 트로이 목마용 로더를 발견했다. 즉, 토디캣이 표적 내부에 발판을 마련하기 위해 특정 개인을 표적으로 삼았다는 의미다.
카스퍼스키 연구팀은 토디캣 피해자 일부가 퍼니드림(FunnyDream)이라는 백도어 프로그램을 사용하는 중국 APT 그룹의 공격 대상과 중복되는 것을 발견했다. 그러나 토디캣과 해당 APT 그룹을 연결하는 강력한 증거는 없었다. 피해 조직의 특성으로 인해 여러 APT 집단의 표적이 될 수 있으므로 피해자가 중복된 것은 단순한 우연일 수 있다.
카스퍼스키 연구팀은 “영향을 받은 정부 및 군 조직을 살펴봤을 때 토디캣이 세간의 이목을 끄는 목표에 초점을 맞추고 있는 것을 알 수 있다. 지정학적 이익과 관련된 중요 목표를 달성하는 데 사용됐을 가능성이 있다”라고 말했다.
토디캣의 멀웨어 샘플에 대한 다양한 파일 해시와 기타 손상 지표는 카스퍼스키 보고서에서 확인할 수 있다.
editor@itworld.co.kr