DEEP DIVE REPORT

AgentTesla 다단계 .NET 로더: BMP 스테가노그래피 은닉 기법 분석

SecurityDesk
2026.07.14 조회 11

서론

AgentTesla는 오래된 악성코드지만 여전히 기업 환경에서 자주 마주치는 정보 탈취형 위협이다. 브라우저와 메일 클라이언트에 저장된 계정 정보, 쿠키, 시스템 정보, 키 입력, 파일 등을 수집하고, 공격자가 지정한 SMTP·FTP·HTTP·메신저 채널로 빼내는 방식이 반복적으로 관찰된다. 새롭지 않다는 이유로 위험이 낮아지는 것은 아니다. 오히려 공격자는 최종 페이로드보다 전달 체인과 은닉 방식을 계속 바꾸며 탐지를 피한다.

이번에 주목할 부분은 BMP 이미지처럼 보이는 .NET 리소스에 악성 로더와 페이로드를 숨기는 방식이다. Palo Alto Networks Unit 42가 2025년 5월 공개한 분석은 정상 32비트 .NET 애플리케이션처럼 보이는 파일 내부의 bitmap 리소스가 실행 중 DLL과 최종 실행 파일로 복원되는 과정을 설명했다. 같은 계열 로더를 추적한 Threatray도 2022년 초부터 다단계 .NET 로더가 stealer, keylogger, RAT 계열 페이로드를 배포해 왔고 AgentTesla, FormBook, Remcos, 404Keylogger가 자주 관찰됐다고 정리했다.

핵심은 "이미지 파일 안에 악성코드가 있다"는 단순한 표현보다 조금 더 구체적이다. 이 사례에서 BMP는 사용자가 직접 열어보는 일반 이미지 첨부라기보다 .NET 실행 파일 내부에 포함된 리소스다. 실행 파일은 리소스 매니저로 특정 bitmap 리소스를 읽고, 일부 바이트를 DLL로 해석해 메모리에 로드한다. 이어 다음 단계 DLL이 또 다른 리소스를 찾아 복호화하고, 마지막 DLL이 최종 AgentTesla 페이로드를 실행한다. 이 구조는 정적 분석을 늦추고, 파일 기반 탐지와 샌드박스 분석의 가시성을 낮추는 데 목적이 있다.

본론

공격 흐름: 첨부파일에서 메모리 로딩까지

관찰된 캠페인의 시작점은 일반적인 업무형 피싱이다. 공격자는 견적 요청, 구매 주문, 거래 일자, 물류·금융 업무처럼 사용자가 열어볼 가능성이 높은 문맥을 사용한다. Unit 42는 2024년 말부터 2025년 초까지 악성 스팸 캠페인에서 같은 악성 첨부가 여러 지역과 업종에 배포됐고, 튀르키예 금융권과 아시아 물류 분야를 겨냥한 흐름을 확인했다고 밝혔다.

초기 파일은 Windows 실행 파일이며, 정상 애플리케이션을 복제하거나 문서처럼 보이는 아이콘을 사용해 사용자의 경계심을 낮춘다. Splunk Threat Research Team도 유사한 .NET steganography loader가 PDF, Excel, Word 문서처럼 보이는 아이콘을 사용해 피해자가 안전한 파일로 오인하게 만든다고 설명했다. 보안팀 입장에서는 "문서 첨부만 위험하다"는 가정이 부족하다. 압축 파일 안의 실행 파일, 문서 아이콘을 가진 .exe, 업무 제목을 단 실행 파일까지 함께 봐야 한다.

실행 후에는 다단계 로더 체인이 이어진다. Unit 42 분석 기준으로 초기 .NET 프로세스는 sv라는 bitmap 리소스의 앞부분을 읽어 TL.dll 형태로 로드한다. 이 DLL은 다시 원본 실행 파일 안의 rbzR 리소스를 찾아 Montero.dll로 복원한다. 이후 Montero.dll은 내부 byte array 리소스를 XOR와 감산 로직으로 복호화해 최종 페이로드를 만든다. 분석된 샘플의 최종 페이로드는 AgentTesla 계열이었고, 탈취 데이터는 SMTP를 통해 공격자 메일 서버로 전송되도록 구성돼 있었다.

이 체인에서 주목할 점은 단계마다 디스크에 명확한 악성 파일을 남기지 않으려는 설계다. 리소스를 읽고, 바이트 배열을 복호화하고, Assembly.Load(byte[]) 또는 유사한 .NET 로딩 방식을 통해 메모리에서 다음 단계를 실행한다. Fortinet이 2026년 2월 분석한 별도 AgentTesla 캠페인도 피싱, 난독화 스크립트, PowerShell, 인메모리 .NET 로더, 프로세스 할로잉, 안티 분석을 조합했다. 전달 체인은 다르지만 목적은 같다. 최종 페이로드가 흔한 정보 탈취 악성코드라도, 로더는 분석과 탐지 비용을 높이도록 설계된다.

BMP 스테가노그래피가 탐지를 어렵게 만드는 이유

스테가노그래피는 비밀 데이터를 다른 매체 안에 숨기는 기법이다. 보안 현장에서는 PNG, JPEG, BMP 같은 이미지 파일 안에 Base64 문자열, 암호화된 DLL, 쉘코드, 구성값을 숨기는 방식으로 자주 나타난다. 이번 사례의 특징은 .NET manifest resource 안에 bitmap 형태로 포함된 데이터가 실행 중 로더로 재해석된다는 점이다.

이 방식은 세 가지 효과를 노린다. 첫째, 리소스만 보면 이미지처럼 보이기 때문에 단순 확장자·MIME·아이콘 기반 탐지로는 악성 여부를 판단하기 어렵다. 둘째, 실제 페이로드가 여러 단계로 분리되어 있어 초기 파일만 정적으로 검사하면 최종 AgentTesla 기능이 바로 보이지 않는다. 셋째, 각 단계가 메모리에서 로드되면 EDR이 파일 생성 이벤트만 보는 환경에서는 중간 DLL과 최종 실행 흐름을 놓칠 수 있다.

다만 방어자가 볼 수 있는 흔적이 없는 것은 아니다. 정상 업무용 .NET 프로그램이 대용량 bitmap 리소스를 읽은 직후 원시 바이트 배열을 어셈블리로 로드하는 행위는 흔하지 않다. System.Resources.ResourceManager.GetObject, System.AppDomain.Load, System.Reflection.Assembly.Load, Visual Basic late binding 호출, 난독화된 함수명, 비정상적으로 높은 엔트로피의 리소스, 원본 프로세스 내부의 반복적인 리소스 이름 참조는 모두 분석 포인트가 된다.

AgentTesla 최종 페이로드의 위험

AgentTesla는 단순 드로퍼가 아니라 계정 정보와 업무 데이터 탈취를 목적으로 하는 Malware-as-a-Service 계열 위협으로 다뤄야 한다. Fortinet 분석은 AgentTesla가 브라우저 쿠키와 저장 자격 증명, 로컬 시스템 데이터, 연락처 등 여러 정보를 수집하고 SMTP로 유출할 수 있다고 설명했다. Unit 42가 다룬 BMP 리소스 로더 샘플에서도 최종 AgentTesla 구성에 SMTP 기반 유출 설정이 포함돼 있었다.

기업 환경에서 이 피해는 단말 1대 감염으로 끝나지 않는다. 브라우저에 저장된 SaaS 세션 쿠키와 계정 정보가 유출되면 메일, 클라우드 저장소, CRM, VPN, 개발자 계정으로 확장될 수 있다. 메일 클라이언트 계정이 탈취되면 내부 거래처를 상대로 2차 피싱이 가능해진다. FTP나 웹호스팅 계정이 저장돼 있다면 웹셸 업로드나 콘텐츠 변조로 이어질 수 있다.

따라서 AgentTesla 대응은 "악성코드 제거"만으로 닫으면 부족하다. 감염 단말의 자격 증명 회전, 브라우저·메일·FTP·VPN 저장 계정 확인, 세션 토큰 무효화, 의심 로그인 조사, 메일 발송 로그 점검까지 이어져야 한다. 특히 SMTP 기반 유출이 의심되면 외부 메일 서버로의 비정상 인증·발송, 대량 실패 메일, 낯선 포트 587 통신, 신규 도메인과의 반복 연결을 함께 봐야 한다.

탐지 포인트: YARA, Sigma, EDR 관점

정적 탐지는 페이로드 이름보다 로더 구조를 기준으로 잡아야 한다. YARA 관점에서는 다음 특성을 조합할 수 있다.

  • PE 파일이면서 .NET 메타데이터를 포함한다.
  • manifest resource에 BMP 또는 이미지처럼 보이는 대용량 리소스가 포함돼 있다.
  • 리소스 이름, 난독화 문자열, ResourceManager, GetObject, Assembly.Load, AppDomain.Load, LateBinding.LateCall 계열 문자열이 함께 나타난다.
  • 리소스 데이터의 엔트로피가 이미지 리소스치고 높거나, BMP 헤더 이후 바이트 분포가 압축·암호화 데이터처럼 보인다.
  • 실행 파일 아이콘과 파일명은 문서·업무 파일처럼 보이지만 내부에는 Windows Forms 기반 .NET 로더 흔적이 있다.

Sigma와 SIEM 관점에서는 메일·프록시·엔드포인트 로그를 함께 묶어야 한다.

  • 메일 첨부 또는 웹 다운로드로 유입된 압축 파일 안에서 실행 파일이 생성·실행된다.
  • 사용자 다운로드 경로, 임시 폴더, 압축 해제 폴더에서 .NET 실행 파일이 시작된다.
  • 문서 아이콘을 가진 실행 파일이 실행된 뒤 곧바로 외부 SMTP, FTP, HTTP 엔드포인트로 연결한다.
  • 업무 시간대와 무관한 포트 587, 465, 25 외부 연결이 단말에서 직접 발생한다.
  • PowerShell, JScript, WScript, mshta, rundll32, regsvr32 같은 중간 실행기가 연결된 AgentTesla 캠페인 징후와 함께 나타난다.

EDR에서는 행위 상관분석이 중요하다. 단일 이벤트만 보면 정상 .NET 프로그램처럼 보일 수 있으므로, "인터넷에서 받은 파일 실행 → 리소스 접근 → 메모리 어셈블리 로드 → 의심 네트워크 연결 → 자격 증명 저장소 접근"의 순서를 탐지해야 한다. 가능하다면 .NET 런타임에서 바이트 배열 어셈블리 로딩을 감시하고, 알려진 정상 업무 프로그램 목록과 비교해 예외를 줄이는 방식이 효과적이다.

대응 방안

메일 보안 점검

메일 게이트웨이는 확장자 차단만으로 충분하지 않다. 공격자는 압축 파일, 문서 아이콘, 정상 앱 복제, 업무형 제목을 조합한다. 다음 항목을 우선 점검해야 한다.

  • 외부 발신자의 압축 파일 안 실행 파일을 격리하거나 관리자 승인 대상으로 둔다.
  • 문서 아이콘을 가진 .exe, .scr, .com, .pif 파일을 차단한다.
  • RFQ, PO, invoice, shipment, payment 등 업무형 키워드와 실행 파일 첨부가 결합된 메일을 고위험으로 분류한다.
  • 샌드박스가 .NET 리소스 추출과 인메모리 로딩을 관찰할 수 있는지 확인한다.
  • 첨부파일 평판이 없더라도 리소스 구조, 난독화, 네트워크 행위 기반 판정을 적용한다.

엔드포인트 방어 점검

단말에서는 실행 위치와 부모 프로세스, 네트워크 목적지를 함께 봐야 한다.

  • 다운로드·임시·압축 해제 경로에서 실행된 .NET 파일을 별도 모니터링한다.
  • Assembly.Load(byte[]), AppDomain.Load, reflection 호출이 비정상 프로세스에서 발생하는지 탐지한다.
  • 사용자 단말에서 외부 SMTP 서버로 직접 연결하는 정책을 제한한다.
  • 브라우저와 메일 클라이언트 자격 증명 저장소 접근 이벤트를 EDR 탐지 시나리오에 포함한다.
  • 감염 의심 시 단말 격리와 동시에 계정 비밀번호 변경, 세션 무효화, MFA 재등록 여부 점검을 수행한다.

사고 대응 체크리스트

감염이 의심되면 다음 순서로 확인한다.

우선순위 점검 영역 확인 항목 조치
1 유입 경로 메일 원본, 첨부파일, 다운로드 URL, 압축 내부 파일명 원본 보존 후 동일 해시·파일명·메일 제목을 전사 검색한다.
2 단말 행위 실행 경로, 부모 프로세스, .NET 리소스 로딩, 메모리 로딩 이벤트 단말을 격리하고 메모리·디스크 아티팩트를 확보한다.
3 네트워크 외부 SMTP/FTP/HTTP 연결, 신규 도메인, 포트 587 사용 프록시·방화벽·DNS 로그에서 동일 목적지 접속 단말을 찾는다.
4 계정 브라우저 저장 계정, 메일 계정, VPN·SaaS 로그인 비밀번호와 세션을 회전하고 의심 로그인·메일 발송 로그를 확인한다.
5 확산 내부 메일 재발송, 공유 폴더 접근, 추가 악성 파일 생성 메일 회수, 차단 룰 배포, 유사 첨부 재유입 방지를 수행한다.

운영 우선순위

24시간 안에는 유입 메일과 단말 범위를 확정해야 한다. 같은 제목, 첨부 해시, 압축 파일명, 발신자 도메인을 기준으로 메일함과 보안 장비 로그를 검색한다. 감염 단말은 격리하고, 외부 SMTP 연결 여부와 자격 증명 접근 흔적을 우선 확인한다.

1주 안에는 탐지 룰을 보강한다. .NET 리소스 기반 로더, 문서 아이콘 실행 파일, 사용자 경로 실행, 메모리 어셈블리 로딩, 외부 SMTP 연결을 연결한 시나리오 탐지를 만든다. YARA는 최종 AgentTesla 문자열보다 로더 구조와 리소스 특성을 중심으로 작성한다.

1개월 안에는 메일·엔드포인트·네트워크 통제를 운영 정책으로 고정한다. 사용자 단말의 외부 SMTP 직접 연결을 제한하고, 압축 파일 내부 실행 파일 정책을 명확히 한다. 보안 인식 교육도 "문서처럼 보이는 실행 파일"과 "업무형 제목의 압축 첨부"를 사례 중심으로 업데이트해야 한다.

결론

AgentTesla BMP 스테가노그래피 로더의 의미는 최종 악성코드의 새로움보다 전달 체인의 정교함에 있다. 공격자는 흔한 정보 탈취 악성코드를 정상 .NET 애플리케이션처럼 보이는 실행 파일 안에 숨기고, bitmap 리소스와 다단계 DLL 로딩을 이용해 분석과 탐지를 늦춘다. 방어자는 첨부파일 이름이나 확장자만 보는 방식에서 벗어나 리소스 구조, 메모리 로딩, 자격 증명 접근, SMTP 유출까지 이어지는 행위를 함께 봐야 한다.

기업이 지금 점검해야 할 질문은 명확하다. 인터넷에서 받은 .NET 실행 파일이 리소스에서 바이트 배열을 꺼내 어셈블리로 로드할 때 탐지할 수 있는가. 사용자 단말이 외부 SMTP 서버로 직접 데이터를 보낼 때 차단하거나 경보를 낼 수 있는가. AgentTesla 감염 후 브라우저와 메일 계정의 세션을 즉시 무효화하는 절차가 있는가.

이 세 가지 질문에 답하지 못한다면 최종 페이로드 탐지명만으로는 부족하다. BMP 리소스 은닉은 파일 안에 숨은 문제가 아니라 메일, 엔드포인트, 네트워크, 계정 대응이 연결돼 있는지 확인하게 만드는 운영 시험지다.

참고자료

  • Medium, AgentTesla Multi-Stage .NET Loader Hidden Within Bitmap Images: https://medium.com/@yror/agenttesla-multi-stage-net-loader-hidden-within-bitmap-images-0599a48c0b3c
  • Palo Alto Networks Unit 42, Stealthy .NET Malware: Hiding Malicious Payloads as Bitmap Resources: https://unit42.paloaltonetworks.com/malicious-payloads-as-bitmap-resources-hide-net-malware/
  • Threatray, A .NET multi-stage malware delivery system: https://www.threatray.com/blog/a-net-multi-stage-malware-delivery-system
  • Splunk, Picture Paints a Thousand Codes: Dissecting Image-Based Steganography in a .NET RAT Loader: https://www.splunk.com/en_us/blog/security/image-steganography-quasar-rat-detection.html
  • Fortinet FortiGuard Labs, Unmasking Agent Tesla: A Deep Dive into a Multi-Stage Campaign: https://www.fortinet.com/blog/threat-research/unmasking-agent-tesla-deep-dive-into-multi-stage-campaign

본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9