딥러닝 기반 OCR 엔진 악용한 바이퍼소프트X 주의하세요
안랩 분석팀이 최근 바이퍼소프트X(ViperSoftX) 공격자가 오픈 소스 OCR 엔진인 테서랙트(Tesseract)를 활용해 사용자의 이미지 파일을 탈취하는 정황을 확인했다. 이번 사례에서 바이퍼소프트X는 감염 대상 시스템에 저장된 이미지를 읽고 딥러닝 기반 테서랙트 툴로 문자열을 추출한 후, 추출한 문자열에 비밀번호나 암호화폐 관련 문자열이 확인되면 해당 이미지를 탈취했다. 바이퍼소프트X의 유포 방식을 자세히 살펴보자.
바이퍼소프트X에 대해 간단히 설명하면, 감염 대상 시스템을 제어하고 정보를 탈취할 수 있는 악성코드로, 주로 정상적인 소프트웨어의 크랙이나 키젠(Keygen)으로 위장해 유포된다. 최근 유포 중인 바이퍼소프트X는 PC 및 사용자 이름, 설치된 보안 제품, 암호화폐 관련 정보 등 감염 대상 시스템의 정보를 전송한다. 또한, 이 정보가 포함된 사용자 에이전트(User Agent)를 베이스64(Base64) 알고리즘으로 암호화하고, 바이퍼소프트X 대신 ‘Welcome_2025’라는 키워드를 사용한 것으로 알려졌다.
[그림 1] 바이퍼소프트X의 사용자 에이전트 문자열
공격자는 바이퍼소프트X를 업데이트하기 위해 ‘win32.exe’이라는 이름의 드로퍼(Dropper)를 설치했다. 드로퍼는 내부 리소스에 파일명이 ‘Svchost.exe’와 ‘System32.exe’인 악성코드를 포함하며, 최종적으로 ‘update.ps1’라는 파워셸(PowerShell) 스크립트를 작업 스케줄러에 등록한다.
[그림 2] 업데이트 과정에서 설치되는 드로퍼
‘update.ps1’는 실제 ViperSoftX 파워쉘 스크립트를 생성하고 작업 스케줄러를 등록한다. 이에 따라, 최’종적으로 각각 %PROGRAMDATA%, %PUBLIC% 경로에 위치한 ‘update.ps1’를 실행하는 작업이 “Check system’과 ‘Chromeniumscrypt’라는 이름으로 생성된다.
과거 6개의 명령을 지원했던 것과 달리, 최근에 확인되는 바이퍼소프트X는 ‘DwnlExe’, ‘Cmd’, ‘SelfRemove’ 등 3개의 명령 만을 지원한다는 점이 특징이다.
[그림 3] 바이퍼소프트X의 메인 루틴
이 외에도 외부에서 명령을 다운로드해 실행하는 파워셸 스크립트와 웹 브라우저 확장 악성코드를 설치하는 베놈소프트X(VenomSoftX) 파워셸 스크립트도 함께 확인됐다. 파워셸 스크립트는 작업 스케줄러에 등록돼 동작하기 때문에 시스템에서 지속적으로 실행되며, 주기적으로 업데이트 된다.
[그림 4] 다운로더 및 베놈소프트X 파워셸 스크립트
이처럼 공격자는 감염 대상 시스템에 설치된 바이퍼소프트X를 이용해 추가 악성코드를 설치할 수 있으며, 실제로 쿼사 RAT(Quasar RAT)이나 테서랙트스틸러(TesseractStealer)를 설치하는 사례가 확인되고 있다.
쿼사 RAT은 닷넷으로 개발된 오픈 소스 RAT 악성코드다. 일반적인 RAT 악성코드와 같이 프로세스 및파일, 레지스트리와 같은 시스템 작업, 원격 명령 실행, 파일 업로드 및 다운로드와 같은 기능들을 제공한다. 또한, 키로깅, 계정 정보 수집 기능을 제공해 사용자 환경의 정보를 탈취하고, 원격 데스크톱을 통해 공격자가 실시간으로 감염 대상 시스템을 제어할 수 있도록 한다.
[그림 5] 쿼사 RAT이 제공하는 기능
공격자는 작년 7월부터 꾸준히 쿼사 RAT을 유포해오고 있다. 특정 대상을 지정해 쿼사 RAT을 유포하는 것이 아닌, 다수의 감염된 시스템에 대량으로 설치하는 것으로 보인다. 올해 3월부터는 많은 시스템에서 쿼사 RAT이 설치되고 있는 사례가 지속적으로 확인되고 있다.
공격에 사용된 쿼사 RAT은 별다른 특징이 없지만, 최근에는 토르(Tor) 네트워크를 이용하는 사례도 확인됐다. 해당 악성코드는 토르 웹 브라우저를 설치한 후, 이를 프록시 서버로 사용해 C&C 서버와 통신한다. 실제 설정 정보에 저장된 C&C 서버의 주소에도 어니언(Onion) 도메인이 사용된다.
[그림 6] 토르를 설치하는 쿼사 RAT
[그림 7] 어니언 도메인을 사용하는 C&C 서버
공격자는 쿼사 RAT 외에도 정보 탈취형 악성코드인 테서랙트스틸러를 설치했다. 테서랙트틸러는 리소스에 존재하는 테서랙트(tesseract50.dll)와 랩토니카(Leptonica-1.82.0.dll) 라이브러리 파일들과 학습 데이터 파일(eng.traineddata) 및 폰트 파일(pdf.ttf)을 생성한다. 그런 다음, 시스템에 존재하는 이미지 파일들, 즉, ‘.png’, ‘jpg’, ‘.jpeg’ 파일들을 구하는 데 ‘editor’라는 경로에 존재하는 경우는 제외한다.
[그림 8] 테서랙트 오픈 소스 프로젝트
[그림 9] 이미지 추출 과정에서 필요한 파일들을 생성하는 루틴
이후, 공격자는 각 이미지 파일에 대해 설치한 테서랙트 라이브러리를 활용해 문자열을 추출하고, 추출한 문자열에 OTP나 복구에 필요한 비밀번호, 암호화폐 지갑 주소 등의 문자열이 포함됐는지 검사한다. 해당 문자열이 포함된 경우, C&C 서버에 이미지 파일을 전송한다. 여기서 이미지 파일은 사용자가 비밀번호, 암호화폐 지갑 주소 정보를 스크린샷(Screen Shot)을 이용해 이미지 파일로 저장한 것이다.
[그림 10] 이미지 파일에서 문자열을 검사하는 루틴
[그림 11] 매칭된 이미지를 탈취하는 루틴
예를 들어, “your wallet generation seed is” 구문은 다음과 같이 Electrum 지갑 주소를 생성할 때 필요한 Seed 문구를 대상으로 하는 것으로 추정된다. 공격자는 탈취한 Seed 문구를 이용해 지갑을 복원하고 가상 화폐를 탈취할 수 있다.
[그림 12] 암호화폐 지갑 생성 시 Seed 입력 창
바이퍼소프트X 악성코드의 활동은 최근 들어 눈에 띄게 증가하고 있다. 사용자는 의심스러운 웹 사이트나 자료 공유 사이트에서 실행 파일 설치 시 각별히 주의해야 하며, 유틸리티 및 게임 등의 프로그램은 반드시 공식 홈페이지에서 다운로드하는 것을 권장한다. 또한, V3를 최신 버전으로 업데이트해 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.
출처 : AhnLab