* 출처는 안랩입니다.
최근 사이버 공격자들은 별도의 악성 파일을 배포하는 대신, 운영체제에 기본 옵션으로 포함된 정상 도구를 악용해 탐지를 우회하는 방식으로 공격을 고도화하고 있다. 특히 마이크로소프트(Microsoft)의 개발 도구인 MSBuild는 인라인 코드 실행과 파일리스 공격이 가능하다는 점에서 LOLBins(Living Off the Land Binaries) 공격에 적극 활용되고 있다. 실제 사례에서는 보안 솔루션의 탐지를 회피한 채 러버스 셸 연결이나 추가 페이로드까지 이어지는 흐름이 확인됐다. MSBuild를 악용한 공격은 정상 행위로 위장한다는 점에서 대응 난이도가 높은 편이다. MSBuild 기반 공격 기법의 동작 방식과 실제 사례, 대응 방안을 살펴보자.

최근 공격자들은 시스템에 포함된 정상 바이너리를 악용해 보안 제품의 탐지를 우회하는 공격을 지속적으로 시도하고 있다. 이런 방식은 별도의 악성 실행 파일을 설치하지 않고, 운영체제에서 신뢰하는 도구를 그대로 활용한다는 점에서 기존 시그니처 기반 탐지를 효과적으로 회피한다.
MSBuild.exe는 마이크로소프트에서 서명한 윈도우(Windows) 기본 개발 도구로, XML 기반 프로젝트 파일을 통해 C# 코드를 빌드하고 실행할 수 있다. 공격자는 이런 특성을 악용해 디스크에 악성코드를 명시적으로 남기지 않고도 임의 코드를 실행하며, 침투 이후 단계에서 은밀하게 추가 행위를 수행한다.
공격자가 MSBuild를 선호하는 이유
MSBuild는 본래 개발 환경을 지원하기 위한 정상 개발 도구이지만, 공격자 입장에서는 매우 효율적인 공격 수단으로 활용된다.
첫째, 프로젝트 파일 내부에 인라인 형태로 C# 코드를 삽입해 실행할 수 있다. 이를 통해 공격자는 별도의 실행 파일 없이도 악성 행위를 수행할 수 있다. 즉, 유연한 페이로드 구성과 파일리스(Fileless) 공격 구현이 가능하다.
둘째, 다양한 기능 확장성을 제공한다. 파일 로드, 네트워크 통신, 바이너리 빌드 및 실행 등 공격에 필요한 핵심 기능들을 모두 포함하고 있어, 다양한 공격 시나리오에 활용할 수 있다.
셋째, 마이트로소프트의 디지털 서명이 적용된 정상 바이너리라는 점이다. MSBuild.exe는 신뢰된 시스템 구성 요소로 인식되기 때문에 단순 실행만으로는 악용 여부를 판단하기 어려워 코드 서명 검증을 우회할 수 있다.
MSBuild를 이용한 탐지 우회 공격 기법
2025년 1월, Michał Walkowski의 블로그를 통해 MSBuild를 활용한 Windows 11 Defender 탐지 우회 기법이 소개됐다. 이를 바탕으로 실제 환경에서 동일한 방식의 동작 여부를 검증한 결과, 보안 솔루션의 탐지를 회피할 수 있음이 확인됐다.
공격자는 main.csproj와 main.cs와 같은 프로젝트 파일과 C# 소스 파일만으로 공격을 구성할 수 있다. 예를 들어 main.csproj에는 main.cs를 컴파일해 실행하도록 설정돼 있으며, main.cs에는 공격자 시스템과 연결되는 TCP 리버스 셸 기능이 포함된다. MSBuild 실행 시 해당 프로젝트가 로드되면서 공격자 서버와의 연결이 이루어진다.

[그림 1] main.csproj

[그림 2] main.cs

[그림 3] 피해자 시스템

[그림 4] 공격자 시스템
특히 이 과정에서 Windows Defender의 실시간 감시가 활성화된 상태임에도 별도의 경고나 차단이 발생하지 않았다는 점이 확인됐다. 이는 MSBuild 기반 공격이 엔드포인트 보안 솔루션의 탐지를 효과적으로 우회할 수 있음을 보여준다.
* 전체내용은 아래에서 확인하세요.







