누가 지켜보면 멈춘다? 신종 인포스틸러의 수상한 행동

누가 지켜보면 멈춘다? 신종 인포스틸러의 수상한 행동

불법 소프트웨어나 크랙 프로그램이 악성코드 유포에 악용될 수 있다는 사실은 이미 잘 알려져 있다. 최근 안랩은 불법 프로그램으로 위장한 새로운 정보 탈취형 악성코드(인포스틸러)를 확인했다. 이 악성코드는 지난 8월 중순 처음 발견됐으며, 이후 실행 방식을 바꾸면서 9월부터 대량 유포되기 시작했다. 특히 브라우저와 업무용 프로그램에 저장된 정보를 수집할 뿐만 아니라 추가 악성코드까지 설치할 수 있어 정보 탈취를 넘어 2차 피해로 이어질 가능성도 있다. 신종 인포스틸러의 유포 방식과 주요 동작, 대응 방법을 살펴보자.

실행 방식 변경을 통한 유포 확대

이번에 확인된 신종 인포스틸러는 불법 프로그램으로 위장해 유포됐으며, 일부는 별도의 다운로더를 통해 실행되는 것으로 나타났다.

실행 방식도 유포 시점에 따라 달라졌다. 초기에는 테스트 목적으로 추정되는 소규모 배포가 이뤄졌으며, 당시에는 윈도우 자동화 스크립트 도구인 Autolt를 활용했다. 이후에는 윈도우 탐색기 프로세스에 악성코드를 주입해 동작시키는 프로세스 인젝션(Process Injection) 방식이나 독립 실행 방식으로 변경됐다. 이러한 변화 이후 9월 초부터 대량 유포가 본격화됐다.

이처럼 이번 인포스틸러는 유포 시점과 샘플에 따라 실행 방식이 달라지고 있어 특정 실행 파일의 탐지뿐만 아니라 정상 프로세스에서 발생하는 비정상적인 코드 주입 행위도 살펴볼 필요가 있다.

[그림 1] 유포 페이지 예시

악성 행위를 숨기는 다양한 회피 기법

이번 인포스틸러는 Rust 프로그래밍 언어를 기반으로 제작됐으며, 악성코드의 내부 구조와 실행 과정을 쉽게 파악하지 못하도록 여러 기법을 사용한다. 대표적으로 동적 JMP를 활용한 안티 디스어셈블(Anti-Disassembly), CPU 메모리 캐시 조회를 활용한 안티 샌드박스(Anti-Sandbox), DLL 인젝션 등이 있다. 이들은 기존 인포스틸러에서 흔히 사용되지 않던 기법이다.

  • 안티 디스어셈블: 악성코드의 기계어를 분석 가능한 코드로 변환하는 과정을 방해하는 기법

  • 안티 샌드박스: 악성코드가 격리된 분석 환경에서 실행되고 있는지 탐지하고, 분석 환경으로 판단되면 악성 행위를 숨기는 방식

실제로 해당 인포스틸러는 실행 환경이 샌드박스나 가상 환경인 것으로 판단되면 정보 탈취를 수행하지 않고 종료한다. 이때 “I love stealing cookies, but not on this machine. Sorry!”라는 메시지를 출력했다. 최근 유포된 일부 샘플에서는 내부에 암호화된 상태로 저장된 DLL 파일을 복호화한 뒤 Explorer 프로세스에 주입하는 수법이 사용됐다.

[그림 2] VM 환경 탐지 시 출력되는 메시지 박스

문자열을 숨기는 방식도 특징적이다. 내부에서 참조하는 문자열을 모두 암호화된 상태로 저장하고, 사용 직전에만 복호화한다. 복호화 과정에서는 변형된 색인 테이블을 사용하며, 테이블의 구성은 유포 샘플마다 달라진다.

또한 복호화 함수 호출 시 전달되는 정수 값을 키로 사용해 색인 테이블을 회전시키는 방식으로 테이블을 한 번 더 변형한다. 이 때문에 동일한 평문 문자열도 사용되는 키 값에 따라 서로 다른 형태로 암호화될 수 있다. 또한 암호화된 문자열의 끝에 임의의 문자열을 덧붙여 원본 문자열의 길이를 쉽게 유추할 수 없도록 한다.

[그림 3] 변형된 Base64 색인 테이블

[그림 4] 문자열 복호화 코드 예시

이처럼 이번 인포스틸러는 다양한 분석 방해 기법을 사용하는 데다, 유포 시점과 샘플에 따라 적용하는 기법도 지속적으로 변형하고 있어, 실제 동작을 파악하기가 더욱 까다롭다.

PC 정보 수집 후 C2 지시에 따른 정보 탈취

인포스틸러가 실행되면 먼저 감염 대상 PC의 기본 정보를 수집해 공격자가 통제하는 C2 서버로 전송한다. 수집 대상에는 설치된 프로그램 목록과 CPU 이름, 그래픽 드라이버 정보, CPUID 명령 수행 데이터, 윈도우 운영체제 버전 등이 포함된다.

이후 C2 서버에서 설정 데이터를 수신하고, 해당 설정에 따라 후속 악성 행위를 수행한다. 즉, 공격자가 전달한 설정에 따라 정보 수집 대상과 추가 실행 작업 등이 결정되는 구조다.

[그림 5] 설정 데이터 예시

C2 통신 과정에서는 XOR 암호화와 윈도우 환경에서 사용되는 LZNT1 압축 알고리즘을 조합한다. C2 서버로 전송하는 데이터는 XOR 방식으로 암호화한 뒤 LZNT1 알고리즘으로 압축하며, 서버에서 수신한 데이터는 XOR 방식으로 복호화해 사용한다. 또한 XOR 암호화에 사용되는 키 값은 샘플마다 다르게 설정돼 있는데, 이는 네트워크 통신 내용 기반 탐지를 회피하려는 의도로 추정된다.

이번 인포스틸러에서 주목할 부분은 정보 수집 대상이 매우 광범위하다는 점이다. 확인된 C2 설정 데이터에는 다음과 같은 프로그램과 파일이 정보 탈취 대상으로 지정돼 있다.

  • 웹 서비스 및 개인 정보: 웹 브라우저, 메신저, 이메일 클라이언트, 비밀번호 관리자, 메모 애플리케이션

  • 업무 및 원격 접속 환경: VPN, 원격 접속 프로그램, 데이터베이스 관리 도구, FTP·SSH 도구

  • 개발 및 클라우드 환경: 클라우드 스토리지, AI 및 개발 도구

  • 기타 서비스: 암호화폐 지갑, 게임 플랫폼

  • 주요 파일: 인증서, SSH 키, 암호화폐 지갑 파일, 각종 설정 파일 및 문서 파일

이처럼 프로그램에 저장된 계정정보만 노리는 것이 아니라 인증서와 SSH 키, 문서 파일 자체도 수집 대상이라는 점에서 주의가 필요하다. 특히 VPN이나 원격 접속 프로그램의 인증정보가 유출될 경우에는 공격자가 이를 악용해 기업 내부 시스템에 무단 접근하거나 추가 공격을 시도할 가능성이 있다. 다만 실제 정보 수집 범위는 C2 서버에서 전달하는 설정에 따라 달라질 수 있다.

정보 탈취 넘어 추가 악성코드 설치까지

이번 인포스틸러는 정보 탈취 기능 외에도 추가 악성코드를 다운로드하고 실행하는 기능도 탑재했다. C2 서버에서 전달받은 설정에 지정된 외부 URL로 접속해 추가 페이로드(Payload)를 내려받고 실행하는 방식이다.

이처럼 다른 악성코드를 설치하는 악성 프로그램을 드로퍼(Dropper)라고 한다. 해당 인포스틸러 역시 감염 대상 시스템에 다른 악성코드를 배포하는 드로퍼로 활용될 수 있다. 실제 분석된 설정 데이터에서도 추가 악성코드 다운로드 기능이 활성화된 것으로 확인됐다.

따라서 이번 위협은 개인정보 유출에 그치지 않고 추가 악성코드 감염으로 피해가 확대될 가능성이 있다. 탈취된 인증정보가 후속 공격에 악용되면 개인을 넘어 기업 내부 시스템까지도 영향을 미칠 수 있다.

감염 예방과 침해 흔적 점검

이번 사례는 불법 소프트웨어나 크랙 프로그램을 통한 악성코드 감염이 광범위한 정보 탈취와 추가 악성코드 설치로 이어질 수 있음을 보여준다. 특히 유포 규모가 확대되고 분석 회피 기법도 지속적으로 변화하는 만큼, 감염 예방과 의심스러운 행위에 대한 점검을 병행할 필요가 있다.

사용자는 공식 홈페이지 등 신뢰할 수 있는 경로에서 정식 소프트웨어를 다운로드해야 한다. 출처가 불분명한 압축파일이나 실행 파일을 함부로 열지 않는 것도 중요하다.

기업과 기관에서는 신뢰할 수 없는 출처에서 대용량 ZIP 압축파일을 다운로드하거나 압축을 해제한 뒤 내부 실행 파일을 실행한 이력이 있는지 점검할 필요가 있다. 특히 autoit.exe나 explorer.exe와 관련된 비정상적인 코드 주입 행위, 의심스러운 C2 서버와의 통신, 정보 탈취 및 추가 악성코드 설치 흔적을 함께 확인해야 한다.

아울러 엔드포인트 보안 솔루션을 활용해 의심스러운 프로세스 실행과 외부 통신을 모니터링하고, 확인된 침해지표(IOC)를 기반으로 관련 위협의 탐지 및 대응 체계를 강화해야 한다.

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.