애플리케이션을 빌드하기 위한 프로그램인 "MSBuild"의 기능을 악용하여 악성코드를 유포한 사례가 발견되었다.
"MSBuild" (Microsoft Build Engine)는 애플리케이션을 빌드하기 위해 마이크로소프트에서 제공하는 개발도구이며, 일반적으로 Visual Studio에서 애플리케이션을 빌드할 때 사용한다.
또한 Visual Studio가 설치되지 않은 환경에서도 빌드 할 수 있도록 기능을 제공하는데, 최근 발견된 사례의 경우 "MSBuild"의 기능을 악용해 악성코드를 실행하고 추가 악성행위를 수행한다.
악성 프로젝트 파일
"MSBuild"는 빌드 시 프로젝트 파일(.proj)을 읽어 빌드를 수행하는데, 프로젝트 파일에는 데이터베이스 설정, 다른 프로젝트 정보 가져오기 및 수행할 작업 지정과 같은 빌드 방법과 설정 정보가 담겨있다.
프로젝트 파일의 "Using Task" 요소는 빌드 수행 시 실행되는 작업이 정의되며, 이를 통해 개발자는 다양한 작업을 지정할 수 있다. 공격자는 악성 프로젝트 파일 내부 "Using Task" 에 인코딩된 악성코드를 삽입하였으며, "MSBuild" 를 통해 프로젝트 파일 실행 시 삽입된 악성코드가 추가 실행되도록 설정하였다.
악성 동작
"MSBuild" 에 의해 실행된 프로젝트 파일은 내부 "Using Task" 요소에 정의된 작업을 실행한다. 시작 프로그램 폴더에 링크파일을 생성해 시스템 시작 시 자동실행되도록 설정하고, 삽입된 악성코드를 디코딩한 뒤 정상 프로세스에 인젝션하여 실행한다. 다음 [그림 3]은 악성코드의 전체적인 실행 흐름이다.
실행된 작업은 먼저 시작 프로그램 폴더에 링크 파일을 생성하고 시스템 시작 시 악성 프로젝트 파일이 "MSBuild" 를 통해 실행되도록 설정한다.
그리고 [그림 5]와 같이 "Using Task"에 삽입된 "Remcos RAT" 악성코드를 디코딩한 뒤, 악성코드의 크기만큼 메모리를 할당하고 디코딩한 악성코드를 저장한다. 저장된 악성코드는 콜백 함수로 등록되어 정상 "RegAsm.exe" 프로세스에 인젝션되어 실행된다.
인젝션되어 실행된 악성코드는 사용자의 정보를 탈취하거나 공격자의 명령을 전달받아 수행한다. 그리고 "Remcos RAT"이외에도 "RedLine Stealer" 또는 "Quasar RAT" 악성코드가 프로젝트 파일에 삽입된 사례도 발견되고 있다.
공격자는 "MSBuild"의 기능을 악용하여 사용자가 알 수 없도록 악성코드를 실행하며, 정보탈취 혹은 파일 다운로드 등의 악성 행위를 수행하기에 주의가 필요하다. 따라서 출처가 불분명한 파일 다운로드 및 실행을 지양해야 하며, 이후에도 발생할 수 있는 사이버 공격에 대비하여 보안 동향에 관심을 가질 필요가 있다.
'분석 정보 > 악성코드 분석 정보' 카테고리의 다른 글
중국 해커 SharpPanda의 RoyalRoad를 사용한 APT 공격 (0) | 2021.06.09 |
---|---|
AutoHotKey(AHK) 스크립트 파일에 악성코드를 숨겨 유포하는 캠페인 (0) | 2021.05.31 |
RoyalRoad RTF 문서를 통해 유포된 PortDoor 악성코드 (0) | 2021.05.18 |
ICMP Tunneling 기법을 사용하는 PingBack 악성코드 (0) | 2021.05.18 |
공격 대상으로 MS Exchange Server를 추가한 LemonDuck 악성코드 (0) | 2021.05.18 |