다양한 플랫폼을 악용하는 Vidar Stealer

Vidar 악성코드는 꾸준하게 유포 중인 정보탈취 유형의 악성코드로 최근 유포량이 눈에 띄게 늘었다. Telegram, Mastodon등의 유명 플랫폼을 중간 C2로 활용하는 것이 특징이다.

다음 링크는 Mastodon을 활용하여 악성 행위를 수행하는 사례에 대한 포스팅이다.

이후에도 Vidar 악성코드는 활발히 유포되며 지속적으로 버전이 업데이트되었고, 최근 유포 중인 샘플군에서는 Telegram, Mastodon 뿐만 아니라 Steam, TikTok 등 다양한 플랫폼이 사용되고 있어 관련 내용을 소개하고자 한다.

온라인 플랫폼의 계정을 생성하면 누구든지 접속이 가능한 계정 고유의 페이지가 만들어진다. 공격자는 이 페이지의 일부 공간에 식별 문자와 C2 주소를 작성한다.

악성코드 실행 시 공격자의 계정 페이지에 접속하여 식별 문자열을 검색하고 C2 주소를 찾아 해당 C2와 통신하며 악성 행위를 수행한다.

이러한 공개 플랫폼 URL은 보안 제품에서 차단하기 쉽지 않으며, 공격자의 C2 서버가 차단되어도 새로운 C2 서버를 개설 후 계정 페이지를 수정하면 이전에 유포했던 악성코드까지 새로운 C2와 통신하도록 할 수 있다.

악용 대상이 되는 서비스들은 비교적 쉽게 계정을 생성할 수 있다는 공통점이 있다. 다음은 최근 Vidar 악성코드가 활용한 페이지다.

[그림1] 공격자 계정 페이지

캡쳐 사진 중 마지막 사진은 Ultimate Guitar 플랫폼의 공격자 계정이다. 해당 플랫폼을 악용한 샘플 다수가 수집되었으나 아쉽게도 실제 C2가 기재된 캡쳐본은 구할 수 없었다. 수집 당시에 연결된 C2 주소는 116.202.2[.]1/1707 이다.

실행 시 행위에 사용되는 문자열을 복호화하는 과정을 거친다. 간단한 XOR 방식으로 구성되어 있지만 코드 중간중간에 다음과 같이 “Lorem ipsum” 더미 텍스트를 인자로 문자열 조작 함수를 실행하는 쓰레기 코드가 다수 존재한다. 사용되는 문자열과 함수는 샘플마다 조금씩 달라지고 있다. 읽기 전용 데이터 영역에 변화를 주거나 프로세스 메모리상의 악성코드를 특정할 수 있는 문자열을 찾기 어렵게 하려는 목적으로 추정된다.

[그림2] 더미 문자열 조작 쓰레기 코드

컴퓨터 이름과 사용자명을 체크한다. 각각 “HAL9TH”, “JohnDoe” 일 경우 악성코드가 동작하지 않고 바로 종료된다. 이는 윈도우 디펜더 에뮬레이터가 사용하는 이름으로 알려져 있으며 해당 기능을 우회하기 위한 코드로 보인다.

[그림3] 안티 에뮬레이션 코드

위와 같은 사전 작업을 모두 마치면 C2 주소를 얻어오기 위해 공격자 계정 페이지로의 접속을 시도한다. 현재 유포 중인 샘플들은 플랫폼 계정 주소 2종류와 실제 C2서버 URL 1개씩을 포함하고 있다. 이들 URL은 바이너리에 하드코딩 되어있으며, 성공적으로 실제 C2를 구할 때까지 순차적으로 접속을 시도한다.

[그림4] 공격자 계정 페이지 예시

악성코드는 해당 계정 페이지의 소스를 탐색하여 식별자를 찾는다. 식별자 이후부터 “|” 이전까지의 문자열이 C2가 되며 식별자는 샘플별로 다르고 C2 주소와 마찬가지로 하드코딩 되어있다. 본 샘플의 식별자는 “disqo” 이며 C2 주소는 142.132.236.84 이다.

[그림5] 악성코드 내부 하드코딩 값

최초 C2 접속 시 악성 행위에 대한 정보(설정) 데이터를 수신한 뒤 행위에 필요한 각종 라이브러리 파일을 다운로드한다. 과거에는 파일 별로 각각 다운로드하였지만 최근 유포되는 샘플들은 대부분 압축 파일 형태로 다운받아 메모리상에서 압축 해제하여 사용한다.

[그림6] 악성 행위를 위해 다운로드한 라이브러리

C2 응답값에는 특정 기능 활성화 여부, 토큰값, 탈취 대상 디렉토리 및 파일 확장명 등을 담고 있다. 이는 과거 버전과 크게 달라지지 않았으므로 이전 포스팅을 참고하면 된다. 기능 설정 플래그 중간에 추가된 Hex 값은 C2가 부여하는 랜덤한 토큰 값이다.

[그림7] C2 응답 설정 데이터

C2의 설정 응답에 따라 행위는 달라지지만 브라우저 데이터(계정,암호,방문기록,쿠키 등), 암호화폐 지갑, 문서 파일(공격자 지정 확장자), 스크린샷 이미지, 시스템 정보 등 다양한 정보가 탈취 대상이 될 수 있다.

정보 수집이 완료되면 탈취 정보를 ZIP 형식으로 압축 후 Base64 인코딩하여 C2로 전송한다. 데이터를 C2로 전송하는 과정에서는 이전 유포 버전과 약간의 차이를 보인다.

이전 샘플은 압축 파일 데이터를 평문으로 전송하는 반면 최근 유포 샘플은 Base64 인코딩 후 전송한다. 또한 전송 시의 HTTP 데이터 항목이 최근 버전에서는 간소화되었다. 악성코드 버전 정보 또한 생략되어 압축 파일 내부 Information.txt 파일을 확인하거나 악성코드 바이너리에 하드코딩된 값을 확인해야 버전을 특정할 수 있다.

새로 추가된 기능도 존재하는데, 최초 C2 접속 시 랜덤한 토큰 값을 응답받고 탈취 정보 전송 시 해당 값을 그대로 “token” 항목으로 전송한다. 이는 감염 PC와 탈취 정보를 검증하는 역할을 할 것으로 추정된다.

[그림8] C2로 전송되는 데이터 예시 (위: 이전 버전 / 아래:최근 유포 버전)

탈취 정보 파일에 명시되는 데이터 중 날짜 표현 형식이나 HWID 항목을 생성하는 방식 등에서 약간의 변화가 있었다. 해당 파일에 따르면 최근 유포 중인 샘플 버전은 56.1 이다.

[그림9] 시스템 정보 탈취 예시 (좌: 이전 버전 / 우:최근 유포 버전)

Vidar 악성코드는 유명 플랫폼을 중간 C2로 활용하는 특성상 수명이 긴 편이다. 6개월 전에 생성된 공격자의 계정이 현재까지도 지속적으로 업데이트되며 유지 중이다. 주로 일반 사용자를 대상으로 소프트웨어나 크랙 등을 위장하여 활발하게 유포되므로 사용자의 주의가 필요하다.

안랩에서는 해당 악성코드를 다음과 같이 진단 중이다.

  • Trojan/Win.Injection.C5318441 (2022.12.01.02)
  • Infostealer/Win.Vidar.C5317169 (2022.12.13.01)
  • Infostealer/Win.Vidar.C533928 (2022.11.11.01)
  • Infostealer/Win.Vidar.C5308808 (2022.11.19.00)
  • Infostealer/Win.Generic.C5308804 (2022.11.19.00) 외 다수

[IOC 정보]

  • MD5
    0b9a0f37d63b0ed9ab9b662a25357962
    483ec112df6d0243dbb06a9414b0daf6
    256594282554abed80536e48f384d2e8
    a46f7096a07285c6c3fdfdf174c8a8b0
    ce1eb73f52efe56356ee21b9c4c4c6c4 외 다수
  • 공격자 계정 URL
    t.me/asifrazatg
    http://www.tiktok.com/@user6068972597711
    steamcommunity.com/profiles/76561199439929669
    mas.to/@ofadex
    http://www.ultimate-guitar.com/u/smbfupkuhrgc1
    steamcommunity.com/profiles/76561199441933804
    steamcommunity.com/profiles/76561199436777531
    c.im/@xiteb15011
    ioc.exchange/@xiteb15011
    c.im/@xinibin420
    nerdculture.de/@yixehi33
    mas.to/@zara99
    ioc.exchange/@zebra54
    nerdculture.de/@yoxhyp
    mas.to/@kyriazhs1975
    nerdculture.de/@tiaga00
    mastodon.online/@olegf9844g


연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

0 0 votes
별점 주기
guest

2 댓글
Inline Feedbacks
View all comments
trackback

[…] Steam, Telegram, Mastodon과 같은 다양한 플랫폼을 활용해 C&C 주소를 구한다.[4] 다음은 공격에 사용된 Vidar가 접속하는 Steam 및 Mastodon 프로필 웹 […]

trackback

[…] Vidar uses a variety of platforms such as Steam, Telegram, and Mastodon to find the C&C address.[4] The following are Steam and Mastodon profile web pages that Vidar connects to, and we can see […]