거래 제안 메일을 위장한 AgentTesla 악성코드 유포 사례
최근 AhnLab SEcurity intelligence Center(ASEC)에서는 거래 제안서 확인 요청으로 위장한 피싱 메일이 유포되는 정황을 확인하였다. 이메일 본문에는 첨부된 제품 목록을 확인한 후 재고 및 가격표에 관한 의견을 회신해 달라는 내용이 포함되어 있으며, 사용자가 첨부된 ZIP 파일을 다운로드해 열람하도록 유도한다.
- 첨부된 파일 : {회사명} LIST.ZIP

[그림 1] 피싱 메일 본문
ZIP 파일 내부에는 문서 파일이 아닌 EXE 파일이 포함되어 있다. 해당 파일의 .NET 어셈블리 정보에는 중국어로 카페 운영과 메뉴, 주문, 원료 관리 프로그램이라는 설명이 기재되어 있으며, 내부에 카페 관리 프로그램으로 위장하기 위한 UI 코드도 포함되어 있다.

[그림 2] ZIP 파일 내부에 존재하는 악성 EXE 파일

[그림 3] 카페 관리 프로그램 위장
ProjectCafe.Form1.InitializeComponent() 함수에서는 Resources.Fee 비트맵의 픽셀별 RGB 값을 추출해 데이터를 복원한다. 이후 분할된 문자열을 조합하여 Assembly.Load를 호출하고 복원된 .NET DLL을 메모리에 로드한다. 이어 HATA, yjw, ProjectCafe를 각각 16진수 문자열로 은닉한 값을 호출 인자로 전달하고, 리플렉션을 통해 공개 메서드를 실행한다.

[그림 4] Fee 리소스 Load 코드

[그림 5] Fee 리소스
Fee 비트맵에서 복원된 DLL은 제품 정보를 Kingsoft 보안 소프트웨어로 표기해 정상 파일로 위장한다. Kingsoft.EventManagement.ListenerAuthenticator.ListenAccessibleListener() 함수는 전달받은 16진수 문자열에서 HATA와 yjw를 추출한 뒤, ProjectCafe.Properties.Resources의 HATA 비트맵에서 좌측 상단 471×471 픽셀 영역을 읽는다. 이후 픽셀 데이터를 바이트 배열로 변환하고 yjw 기반 키로 XOR 복호화하여 .NET 파일을 복원한 뒤, AppDomain.Load를 통해 메모리에 로드한다.

[그림 6] Kingsoft 보안 소프트웨어 위장 로더

[그림 7] HATA 리소스 접근 코드

[그림 8] HATA 리소스
복원된 다음 단계 파일은 어셈블리 제목을 Microsoft PC Manager, 제품명을 PC Manager, 회사명을 Microsoft Corporation으로 설정해 정상 시스템 관리 도구로 위장한 난독화 로더이다. 실행 초기에는 현재 실행 중인 원본 파일을 %APPDATA%\AH.exe로 복사하며, 동일한 파일이 이미 존재할 경우 복사 과정을 건너뛴다. 이때 생성되는 AH.exe는 최종 AgentTesla가 아닌 원본 로더의 복사본이다. 이후 PC_Manager.Logging.LoggerMapper.WaitForEfficientMap() 함수는 8VXmw2w 리소스에서 암호화된 바이트 배열을 읽는다. 후속 복호화 루틴은 UTF-8 키 ZIyStAzSE를 이용한 바이트 연산을 수행한 뒤 마지막 1바이트를 제거하여 최종 .NET 페이로드를 복원한다.

[그림 9] 8VXmw2w 리소스 로드 코드

[그림 10] 암호화된 8VXmw2w 리소스
최종적으로 실행되는 악성코드는 인포스틸러 유형의 AgentTesla이다. 브라우저, 이메일 클라이언트, FTP 및 VPN 프로그램에 저장된 자격 증명과 쿠키, 연락처 정보를 수집하며, 공개 IP 주소를 조회하고 실행 환경이 호스팅 서버인지 확인하는 기능도 포함되어 있다.
AgentTesla C2
- FTP 목적지 : server356.web-hosting.com
- 프로토콜 : FTP
- FTP 사용자 : BBL@anmarinee.it.com
- FTP 암호 : RJ~R9Na5]krI2D&=

[그림 11] AgentTesla 악성코드
대응 가이드
1. 발신자 확인
- 발신자의 이메일 주소가 공식적인 도메인인지 확인한다.
2. 하이퍼 링크 및 첨부 파일 확인
- 메일의 본문에 첨부된 이미지 클릭을 유도한 경우, 클릭 전 연결된 URL 정보를 먼저 확인한다. 의심스러운 URL은 보통 공식 페이지가 아닌 다른 경로를 거쳐 최종적으로 정상 페이지로 리다이렉트될 수 있으므로, 이를 주의 깊게 살펴봐야 한다. 또한, 첨부 파일이 있을 경우 의심 스러운 파일 확장자(.exe, .vbs, .js 등)인지 확인한다.
3. 민감 정보 입력 주의
- 로그인 계정 정보와 같은 민감 데이터를 요구하는 경우, 해당 정보를 입력하기 전에 반드시 해당 페이지의 URL이 공식 페이지인지 확인한다. 공식 페이지가 아닌 경우, 의심스러운 URL일 가능성이 높으므로 주의가 필요하다. 특히, 민감 정보를 입력하기 전에 페이지의 보안 인증(HTTPS, 자물쇠 아이콘)을 확인하고, 의심스러운 경우 절대 정보를 입력하지 않도록 한다.