제퍼넷 로고

ESET, Grandoreiro 뱅킹 트로이목마를 교란하기 위한 글로벌 작전에 참여

시간

ESET은 Grandoreiro 봇넷을 방해하기 위해 브라질 연방 경찰과 협력했습니다. ESET은 기술 분석, 통계 정보, 알려진 C&C(명령 및 제어) 서버 도메인 이름 및 IP 주소를 제공하여 프로젝트에 기여했습니다. Grandoreiro 네트워크 프로토콜의 설계 결함으로 인해 ESET 연구원들은 피해자의 모습도 엿볼 수 있었습니다.

ESET 자동화 시스템은 수만 개의 Grandoreiro 샘플을 처리했습니다. 2020년 105월경부터 악성코드가 사용한 도메인 생성 알고리즘(DGA)은 하루에 하나의 기본 도메인과 선택적으로 여러 개의 비상 안전 도메인을 생성합니다. DGA는 Grandoreiro가 C&C 서버에 보고하는 방법을 아는 유일한 방법입니다. 현재 날짜 외에도 DGA는 정적 구성도 허용합니다. 이 글을 쓰는 시점에서 이러한 구성을 XNUMX개 관찰했습니다.

Grandoreiro의 운영자는 네트워크 인프라를 호스팅하기 위해 Azure 및 AWS와 같은 클라우드 공급자를 남용했습니다. ESET 연구원은 이러한 서버 설정을 담당하는 계정을 식별하는 데 중요한 데이터를 제공했습니다. 브라질 연방경찰이 추가 조사를 실시한 결과, 신원 확인 및 체포 이러한 서버를 관리하는 개인의 정보입니다. 이 블로그 게시물에서는 법 집행 기관이 이러한 혼란스러운 작전을 실행하는 데 도움이 되는 데이터를 어떻게 얻었는지 살펴보겠습니다.

배경

그란도레이로 많은 것 중 하나입니다 라틴 아메리카 은행 트로이 목마. 이는 적어도 2017년부터 활성화되었으며 ESET 연구원들은 그 이후로 이를 면밀히 추적해 왔습니다. Grandoreiro는 브라질과 멕시코를 타겟으로 하고 있으며 2019년부터는 스페인도 타겟으로 삼고 있습니다(그림 1 참조). 2020년부터 2022년 사이에 스페인이 가장 많은 표적이 된 국가였지만, 2023년에는 멕시코와 아르헨티나로 초점이 명확하게 전환되는 것을 관찰했으며 후자는 Grandoreiro에 처음 등장했습니다.

Grandoreiro-Figure-01-히트맵
그림 1. 그란도레이로 탐지율(2020년 XNUMX월 이후 데이터)

기능적인 측면에서 Grandoreiro는 지난번 이후로 크게 변하지 않았습니다. 2020년 블로그 포스트. 이 섹션에서는 악성코드에 대한 간략한 개요를 제공하고 나중에 주로 새로운 DGA 로직과 같은 몇 가지 변경 사항을 자세히 살펴보겠습니다.

라틴 아메리카 뱅킹 트로이목마는 시스템을 성공적으로 손상시키면 일반적으로 원격 서버에 HTTP GET 요청을 보내 손상된 시스템에 대한 몇 가지 기본 정보를 보냅니다. 이전 Grandoreiro 빌드에서는 이 기능을 구현했지만 시간이 지남에 따라 개발자는 이 기능을 삭제하기로 결정했습니다.

Grandoreiro는 주기적으로 전경 창을 모니터링하여 웹 브라우저 프로세스에 속하는 창을 찾습니다. 이러한 창이 발견되고 그 이름이 하드코딩된 은행 관련 문자열 목록의 문자열과 일치하는 경우에만 악성코드는 C&C 서버와 통신을 시작하여 종료될 때까지 최소 1초에 한 번씩 요청을 보냅니다.

운영자는 피해자의 돈을 훔치기 위해 손상된 기계와 수동으로 상호 작용해야 합니다. 악성코드는 다음을 허용합니다:

  • 피해자의 화면을 차단하고,
  • 키 입력 로깅,
  • 마우스 및 키보드 활동 시뮬레이션,
  • 피해자의 화면을 공유하고,
  • 가짜 팝업창을 표시합니다.

Grandoreiro는 빠르고 지속적인 발전을 거듭하고 있습니다. 때때로 우리는 일주일에 여러 개의 새로운 빌드를 보았기 때문에 추적하기가 어려웠습니다. 시연하기 위해 2022년 2월 Grandoreiro의 운영자는 바이너리에 버전 식별자를 추가했습니다. 그림 2022에서는 버전 식별자가 얼마나 빨리 변경되는지 보여줍니다. 평균적으로 2022년 24월부터 XNUMX년 XNUMX월까지 XNUMX일마다 새 버전이 나왔다. XNUMX월 XNUMX일까지 한 달간 공백이 있었다.th, 2022 및 June 22nd, 2022년에는 PE 컴파일 시간이 진행되는 새로운 샘플을 계속 볼 수 있었지만 버전 식별자가 부족했습니다. 27월 XNUMX일th, 2022 버전 식별자가 다음으로 변경되었습니다. V37 그 이후로 변경된 내용을 볼 수 없었기 때문에 이 기능이 삭제되었다고 결론을 내릴 수 있었습니다.

Grandoreiro-Figure-02-타임라인
그림 2. 2022년 XNUMX월부터 XNUMX월까지 Grandoreiro 버전 기록

라틴 아메리카 은행 트로이 목마 공통점을 많이 공유하다. Grandoreiro는 주로 명백한 핵심 기능과 MSI 설치 프로그램 내에 다운로더를 번들로 제공한다는 점에서 다른 라틴 아메리카 뱅킹 트로이 목마와 유사합니다. 과거에 우리는 다운로더가 다음과 공유되는 몇 가지 사례를 관찰했습니다. 메코티오바도크리스트하지만 지난 2년 동안은 아니었습니다. Grandoreiro 뱅킹 트로이 목마가 다른 변종과 가장 큰 차이점은 최종 실행 파일을 대량으로 소모하는 고유한 바이너리 패딩 메커니즘이었습니다. 2020년 블로그 포스트). 시간이 지나면서 Grandoreiro의 운영자는 이 안티분석 기술을 다운로더에도 추가했습니다. 놀랍게도 3년 2023분기에 이 기능은 뱅킹 트로이 목마 및 다운로더 바이너리에서 완전히 삭제되었으며 그 이후로는 관찰되지 않았습니다.

2022년 XNUMX월부터 우리는 두 번째 변종 그란도레이로(Grandoreiro)는 메인과 크게 다릅니다. 우리는 2022년 XNUMX월, XNUMX월, XNUMX월에 소규모 캠페인을 통해 이를 확인했습니다. C&C 서버 도메인의 대다수가 해결되지 않고, 핵심 기능이 자주 변경되고, 네트워크 프로토콜이 제대로 작동하지 않는 점을 토대로 볼 때, 우리는 이것이 진행 중인 작업; 따라서 우리는 이 블로그 게시물의 주요 변형에 중점을 둘 것입니다.

Grandoreiro 장기 추적

선택된 악성 코드군을 자동화되고 장기적으로 추적하도록 설계된 ESET 시스템은 2017년 말부터 Grandoreiro를 모니터링하여 버전 정보, C&C 서버, 대상 및 2020년 말부터 DGA 구성을 추출해 왔습니다.

DGA 추적

DGA 구성은 Grandoreiro 바이너리에 하드코딩되어 있습니다. 각 구성은 우리가 호출하는 문자열로 참조될 수 있습니다. dga_id. DGA에 대해 서로 다른 구성을 사용하면 서로 다른 도메인이 생성됩니다. 이 글의 뒷부분에서 DGA 메커니즘에 대해 더 자세히 살펴보겠습니다.

ESET은 총 105개의 서로 다른 항목을 추출했습니다. dga_ids 우리에게 알려진 Grandoreiro 샘플에서. 이러한 구성 중 79개는 추적 과정에서 활성 C&C 서버 IP 주소로 확인되는 도메인을 한 번 이상 생성했습니다.

생성된 도메인은 No-IP의 DDNS(동적 DNS 서비스)를 통해 등록됩니다. Grandoreiro의 운영자는 서비스를 악용하여 DGA와 일치하도록 도메인을 자주 변경하고 IP 주소를 마음대로 변경합니다. 이러한 도메인이 확인하는 IP 주소의 대부분은 주로 AWS 및 Azure와 같은 클라우드 공급자가 제공합니다. 표 1은 Grandoreiro C&C 서버에 사용되는 IP 주소에 대한 일부 통계를 보여줍니다.

표 1. 추적을 시작한 이후 Grandoreiro C&C IP 주소에 대한 통계 정보

정보 평균 최저한의 최고
일일 신규 C&C IP 주소 수 3 1 34
일일 활성 C&C IP 주소 수 13 1 27
C&C IP 주소의 수명(일) 5 1 425

생성된 도메인과 관련 IP 주소를 추적하기 시작한 직후, 서로 다른 구성을 가진 DGA에서 생성된 많은 도메인이 동일한 IP 주소로 확인된다는 사실을 발견했습니다(그림 3 참조). 이는 특정 날짜에 피해자가 Grandoreiro 샘플에 의해 손상되었다는 것을 의미합니다. dga_id 모두 동일한 C&C 서버에 연결되어 있습니다. 이 현상은 우연이 아니었습니다. 추적하는 동안 거의 매일 관찰했습니다.

Grandoreiro-Figure-03-오버랩
그림 3. 두 가지 Grandoreiro DGA 구성의 IP 중복 스키마

아주 드물지만 다른 IP 주소가 재사용되는 경우도 관찰되었습니다. dga_id 며칠 후. 이번에는 Grandoreiro가 연결을 설정하는 데 사용하는 매개변수(본문 뒷부분에서 설명)도 변경되었습니다. 이는 그동안 C&C 서버 측을 다시 설치하거나 재구성해야 함을 의미합니다.

우리의 초기 가정은 dga_id 각 DGA 구성마다 고유합니다. 이는 나중에 잘못된 것으로 판명되었습니다. 동일한 구성을 공유하는 두 세트의 서로 다른 구성을 관찰했습니다. dga_id. 표 2는 "jjk"와 "gh"를 모두 보여줍니다. 여기서 "jjk"와 "jjk(2)"는 "gh" 및 "gh(2)"와 마찬가지로 두 가지 다른 DGA 구성에 해당합니다.

표 2는 우리가 관찰할 수 있었던 클러스터를 보여줍니다. 하나 이상의 IP 주소를 공유하는 모든 DGA 구성은 동일한 클러스터에 있으며 관련 구성이 있습니다. dga_id등이 나열되어 있습니다. 전체 피해자의 1% 미만을 차지하는 클러스터는 무시됩니다.

표 2. Grandoreiro DGA 클러스터

클러스터 ID

dga_id 명부

클러스터 크기

전체 C&C 서버의 %

전체 피해자의 %

1

b, bbh, bbj, bbn, bhg, cfb, cm, cob, cwe, dee, dnv, dvg, dzr, E, eeo, eri, ess, fhg, fox, gh, gh(2), hjo, ika, jam , jjk, jjk(2), JKM, jpy, k, kcy, kWn, md7, md9, MRx, mtb, n, Nkk, nsw, nuu, occ, p, PCV, pif, rfg, rox3, s, sdd, sdg, sop, tkk, twr, tyj, u, ur4, vfg, vgy, vki, wtt, ykl, Z, zaf, zhf

62

93.6%

94%

2

jl2, jly

2

2.4%

2.5%

3

이브르

1

0.8%

1.6%

4

JYY

1

1.6%

1.1%

가장 큰 클러스터에는 모든 활성 클러스터의 78%가 포함되어 있습니다. dga_id에스. 이는 전체 C&C 서버 IP 주소의 93.6%, 우리가 본 모든 피해자의 94%를 담당합니다. 1개 이상으로 구성된 유일한 다른 클러스터 dga_id 클러스터 2입니다.

일부 소스 Grandoreiro는 MaaS(Malware-as-a-Service)로 작동한다고 주장합니다. Grandoreiro C&C 서버 백엔드는 동시에 둘 이상의 운영자의 동시 활동을 허용하지 않습니다. 표 2에 따르면 DGA에서 생성된 IP 주소의 대부분은 명확한 배포 패턴 없이 함께 클러스터링될 수 있습니다. 마지막으로, 네트워크 프로토콜의 높은 대역폭 요구 사항을 고려하면(블로그 포스트 끝부분에서 이에 대해 자세히 설명합니다) 다양한 C&C 서버가 기본 로드 밸런싱 시스템으로 사용되며 Grandoreiro가 운영될 가능성이 더 높다고 믿습니다. 단일 그룹 또는 소수의 그룹이 서로 긴밀히 협력하여 운영됩니다.

C&C 추적

Grandoreiro의 네트워크 프로토콜 구현을 통해 ESET 연구원은 커튼 뒤에서 피해자의 모습을 엿볼 수 있었습니다. Grandoreiro C&C 서버는 연결된 피해자에 대한 정보를 제공합니다. 최초 요청 시 새로 연결된 각 피해자에게. 즉, 데이터는 요청 수, 요청 간격, C&C 서버에서 제공하는 데이터의 유효성에 따라 편향됩니다.

Grandoreiro C&C 서버에 연결된 각 피해자는 로그인_문자열 – 연결 설정 시 Grandoreiro가 구성하는 문자열입니다. 다양한 빌드는 다양한 형식을 사용하며, 다양한 형식에는 다양한 정보가 포함됩니다. 에서 얻을 수 있는 정보를 요약해보겠습니다. 로그인_문자열 발생 열에는 해당 종류의 정보를 보유하는 것으로 확인된 모든 형식의 비율이 표시됩니다.

표 3. Grandoreiro 피해자로부터 얻을 수 있는 정보 개요 로그인_문자열

정보

발생

상품 설명

운영체제

100%

피해자 컴퓨터의 OS.

컴퓨터 이름

100%

피해자 컴퓨터의 이름입니다.

국가

100%

Grandoreiro 샘플이 대상으로 삼는 국가(맬웨어 샘플에 하드코딩됨)

버전

100%

버전 (버전_문자열) Grandoreiro 샘플의.

은행 코드명

92%

C&C 연결을 실행한 은행의 코드명(Grandoreiro 개발자가 할당).

가동 시간

25%

피해자의 컴퓨터가 실행된 시간(시간)입니다.

화면 해상도

8%

피해자의 메인 모니터 화면 해상도.

ID / Username

8%

피해자의 사용자 이름.

세 가지 분야에 대해서는 좀 더 자세히 설명할 가치가 있습니다. 국가는 적절한 서비스를 통해 얻은 정보가 아니라 Grandoreiro 바이너리에 하드코딩된 문자열입니다. 따라서 이는 다음과 같은 역할을 합니다. 예정된 피해자의 나라.

은행 코드명은 특정 은행이나 기타 금융 기관과 관련된 Grandoreiro 개발자의 문자열입니다. 피해자가 해당 은행 웹사이트를 방문했고, 이로 인해 C&C 연결이 시작됐다.

XNUMXD덴탈의 버전_문자열 특정 Grandoreiro 빌드를 식별하는 문자열입니다. 이는 악성코드에 하드코딩되어 있으며 특정 빌드 시리즈, 버전(이미 소개에서 언급한) 및 타임스탬프를 식별하는 문자열을 보유하고 있습니다. 표 4는 다양한 형식과 해당 형식에 포함된 정보를 보여줍니다. 일부 타임스탬프에는 월과 일만 포함되어 있고 다른 타임스탬프에는 연도도 포함되어 있습니다.

표 4. 다양한 목록 버전_문자열 형식 및 해당 구문 분석

버전 문자열

ID 빌드

버전

시간 기록

다니엘

다니엘

해당 사항 없음

해당 사항 없음

(V37)(P1X)1207

P1X

V37

12/07

(MX)2006

MX

해당 사항 없음

20/06

fox50.28102020

fox50

해당 사항 없음

28/10/2020

MADMX(재로드)이메일2607

MADMX(재로드) 이메일

해당 사항 없음

26/07

빌드 ID가 실제로 운영자를 식별한다고 말하고 싶을 수도 있습니다. 그러나 우리는 그렇지 않다고 생각합니다. 이 문자열의 형식은 매우 혼란스럽습니다. 때로는 바이너리가 빌드된 달만을 나타냅니다(예:아고스토)2708). 게다가 우리는 다음과 같이 굳게 믿습니다. P1X Grandoreiro 운영자가 사용하는 콘솔을 말합니다. 픽스로거.

C&C 서버 추적 – 조사 결과

이 섹션에서는 C&C 서버에 쿼리하여 찾은 내용에 중점을 둡니다. 이 섹션에 나열된 모든 통계 데이터는 ESET 원격 측정이 아닌 Grandoreiro C&C 서버에서 직접 얻은 것입니다.

이전 샘플이 여전히 활성 상태입니다.

각각의 로그인_문자열 우리는 다음을 포함하는 것을 관찰했습니다. 버전_문자열 그 중 대부분은 타임스탬프 정보를 포함합니다(표 3 및 표 4 참조). 많은 경우 개발자가 선택하는 것처럼 일과 월만 포함하지만 가장 오래된 통신 샘플에는 타임스탬프가 찍혀 있습니다. 15/09/2020 – 이는 이 DGA가 Grandoreiro에 처음 소개된 시점부터입니다. 가장 최근 샘플에 타임스탬프가 찍혔습니다. 12/23/2023.

운영 체제 배포

이후 모든 로그인_문자열 형식에 OS 정보가 포함되어 있으면 그림 4와 같이 피해를 입은 운영 체제가 무엇인지 정확하게 파악할 수 있습니다.

Grandoreiro-Figure-04-운영 시스템
그림 4. Grandoreiro 피해자의 운영 체제 분포

(의도) 국가 분포

Grandoreiro는 피해자의 국가를 얻기 위해 서비스를 쿼리하는 대신 하드코딩된 값을 사용한다고 이미 언급했습니다. 그림 5는 우리가 관찰한 분포를 보여줍니다.

Grandoreiro-그림-05-국가
그림 5. Grandoreiro 피해자의 (의도된) 국가 코드 분포

이 배포는 Grandoreiro에서 예상됩니다. 흥미롭게도 이는 그림 1에 묘사된 히트맵과 상관관계가 없습니다. 가장 논리적인 설명은 빌드가 의도한 목표와 유사하도록 적절하게 표시되지 않았다는 것입니다. 예를 들어 아르헨티나의 공격 증가는 하드코딩된 표시에 전혀 반영되지 않습니다. 브라질은 전체 피해자의 거의 41%를 차지하며, 멕시코가 30%, 스페인이 28%로 그 뒤를 따릅니다. 아르헨티나, 포르투갈, 페루는 1% 미만이다. 흥미롭게도 우리는 다음과 같이 표시된 피해자 몇 명(10명 미만)을 보았습니다. PM (생 피에르 미클롱), GR (그리스) 또는 FR (프랑스). 우리는 그것이 그 나라를 겨냥한 것이라기보다는 오타이거나 다른 의미를 갖고 있다고 믿습니다.

또한 참고하세요. Grandoreiro는 라틴 아메리카 이외의 여러 국가에서 표적을 추가했습니다. 2020년 초에 해당 국가를 타겟팅하는 캠페인이 거의 또는 전혀 관찰되지 않았으며 그림 5가 이를 뒷받침합니다.

피해자 수

우리는 하루에 연결된 평균 피해자 수는 563명이라는 것을 관찰했습니다. 그러나 이 숫자에는 확실히 중복이 포함되어 있습니다. 왜냐하면 우리가 관찰한 것처럼 피해자가 오랫동안 연결을 유지하는 경우가 종종 있기 때문에 Grandoreiro C&C 서버는 여러 요청에 대해 보고합니다.

이 문제를 해결하기 위해 우리는 다음을 정의했습니다. 유일한 피해자를 고유한 식별 특성(예: 컴퓨터 이름, 사용자 이름 등)을 갖고 있는 것으로 인식하고 변경될 수 있는 특성(가동 시간 등)은 생략합니다. 이로써 551이 나왔습니다. 유일한 피해자들은 평균 하루 만에 접속했다.

114년 넘게 C&C 서버에 지속적으로 접속하는 피해자를 관찰한 점을 고려해 평균 XNUMX명으로 집계됐다. 새로운 독특한 매일 C&C 서버에 접속하는 피해자들. 우리는 무시하고 이 숫자에 이르렀습니다. 유일한 우리가 이미 목격한 피해자들입니다.

그란도레이로 내부

Grandoreiro의 가장 중요한 두 가지 기능인 DGA와 네트워크 프로토콜에 대해 심도 있게 집중해 보겠습니다.

DGA

Grandoreiro의 운영자는 수년에 걸쳐 여러 종류의 DGA를 구현했으며 가장 최근의 DGA는 2020년 XNUMX월에 나타났습니다. 몇 가지 사소한 변경 사항을 발견했지만 알고리즘의 핵심은 그 이후로 변경되지 않았습니다.

DGA는 바이너리에 하드코딩되어 여러 문자열로 저장되는 특정 구성을 활용합니다. 그림 6은 그러한 구성 중 하나를 보여줍니다( dga_id "bbj"), 더 나은 가독성을 위해 JSON 형식으로 다시 지정되었습니다.

Grandoreiro-Figure-06-DgaConfig
그림 6. JSON으로 다시 포맷된 ​​Grandoreiro DGA 구성

대부분의 경우 기본_도메인 필드 freedynamicdns.org or zapto.org. 이미 언급했듯이 Grandoreiro는 도메인 등록을 위해 No-IP를 활용합니다. 그만큼 base64_alpha 필드는 DGA가 사용하는 사용자 정의 base64 알파벳에 해당합니다. 그만큼 월_대체 문자를 월 숫자로 대체하는 데 사용됩니다.

XNUMXD덴탈의 dga_table 구성의 주요 부분을 구성합니다. 12개의 문자열로 구성되며 각 문자열에는 |로 구분된 35개의 필드가 있습니다. 각 줄의 첫 번째 항목은 dga_id. 두 번째와 마지막 항목은 라인이 의도된 달을 나타냅니다. 나머지 32개 필드는 각각 해당 월의 다른 날짜에 대한 값을 나타냅니다(최소 하나의 필드는 사용되지 않은 상태로 둡니다).

DGA의 논리는 그림 7에 나와 있습니다. 알고리즘은 먼저 올바른 줄과 그 줄에서 올바른 항목을 선택하고 이를 XNUMX바이트 키로 처리합니다. 그런 다음 현재 날짜를 문자열로 형식화하고 간단한 XOR을 사용하여 키로 암호화합니다. 그런 다음 dga_id 결과에 사용자 정의 알파벳이 포함된 base64를 사용하여 결과를 인코딩한 다음 모든 = 패딩 문자를 제거합니다. 최종 결과는 다음과 같은 하위 도메인입니다. 기본_도메인, 현재 날짜의 C&C 서버로 사용됩니다. 빨간색으로 강조 표시된 부분은 안전 장치 메커니즘이므로 다음에 논의하겠습니다.

Grandoreiro-Figure-07-DgaAlgo
그림 7. Python에서 다시 구현된 Grandoreiro DGA 계산

Grandoreiro는 일부 빌드에서 기본 도메인이 확인되지 않는 경우를 대비한 안전 장치 메커니즘을 구현했습니다. 이 메커니즘은 모든 빌드에 존재하지 않으며 로직이 몇 번 변경되었지만 기본 아이디어는 그림 7에 나와 있습니다. 이는 우리가 분석한 샘플에서 일정한 구성을 사용하며 그림에 표시된 간단한 코드로 생성할 수 있습니다. 8. 각 항목은 키, 접두사 및 기본 도메인으로 구성됩니다.

안전 장치 알고리즘은 기본 C&C 하위 도메인의 일부를 차지합니다. 그런 다음 모든 구성 항목을 반복하고 XOR을 사용하여 암호화하고 기본 알고리즘 부분과 유사한 접두사를 추가합니다.

Grandoreiro-그림-08-DgaConfigBackup
그림 8. Python에서 다시 구현된 비상 안전 DGA 구성 생성기

2022년 64월부터 약간 수정된 DGA를 활용하는 샘플을 관찰하기 시작했습니다. 알고리즘은 거의 동일하게 유지되지만 최종 단계에서 하위 도메인을 base2023로 인코딩하는 대신 하드코딩된 접두사가 앞에 추가됩니다. 우리의 추적에 따르면 이 방법은 대략 XNUMX년 XNUMX월부터 지배적인 방법이 되었습니다.

네트워크 프로토콜

Grandoreiro는 RTC Portal을 기반으로 구축된 Delphi 구성 요소 세트인 RTC Portal을 활용합니다. 리얼씬클라이언트 SDK 이는 HTTP(S) 위에 구축됩니다. RTC 포털은 2017년 단종 그리고 그 소스 코드는 다음에 게시되었습니다. GitHub의. 기본적으로 RTC 포털을 사용하면 하나 이상의 관리자가 하나 이상의 호스트에 원격으로 액세스할 수 있습니다. 호스트와 제어는 게이트웨이라는 중재자 구성 요소로 구분됩니다.

Grandoreiro 운영자는 콘솔(컨트롤 역할)을 사용하여 C&C 서버에 연결하고(게이트웨이 역할) 손상된 시스템과 통신합니다(호스트 역할). 게이트웨이에 연결하려면 비밀 키, 키 길이, 로그인이라는 세 가지 매개변수가 필요합니다.

비밀 키는 서버로 전송된 초기 요청을 암호화하는 데 사용됩니다. 따라서 서버는 초기 클라이언트 요청을 해독하기 위해 비밀 키도 알아야 합니다.

키 길이는 핸드셰이크 중에 설정된 트래픽을 암호화하기 위한 키의 길이를 결정합니다. 트래픽은 사용자 정의 스트림 암호를 사용하여 암호화됩니다. 두 개의 서로 다른 키가 설정됩니다. 하나는 인바운드용이고 다른 하나는 아웃바운드 트래픽용입니다.

로그인은 임의의 문자열일 수 있습니다. 게이트웨이에는 연결된 각 구성 요소에 고유한 로그인이 필요합니다.

Grandoreiro는 항상 바이너리에 하드코딩된 비밀 키와 키 길이 값의 두 가지 다른 조합을 사용합니다. 로그인_문자열 로그인으로 사용됩니다.

RTC 문서에는 한 번에 제한된 수의 연결만 처리할 수 있다고 명시되어 있습니다. 연결된 각 호스트는 초당 최소 하나의 요청을 보내야 하며 그렇지 않으면 연결이 끊어진다는 점을 고려할 때 Grandoreiro가 여러 C&C 서버를 활용하는 이유는 그 중 어느 하나도 압도하지 않기 위한 시도라고 생각합니다.

결론

이 블로그 게시물에서 우리는 이러한 혼란스러운 작전을 가능하게 하는 데 도움이 된 Grandoreiro를 장기간 추적하는 막후의 모습을 엿볼 수 있었습니다. 우리는 Grandoreiro의 DGA가 어떻게 작동하는지, 동시에 얼마나 많은 구성이 존재하는지, 그리고 그들 사이에서 중복되는 IP 주소를 어떻게 발견할 수 있었는지 자세히 설명했습니다.

또한 C&C 서버에서 얻은 통계 정보도 제공했습니다. 이 정보는 피해자와 표적화에 대한 훌륭한 개요를 제공하는 동시에 실제 영향 수준을 확인할 수 있도록 해줍니다.

브라질 연방 경찰이 주도한 교란 작전은 그란도레이로 작전 계층의 고위층으로 추정되는 개인을 겨냥했습니다. ESET은 계속해서 추적합니다. 기타 라틴 아메리카 뱅킹 트로이 목마 이 중단 작업 이후 Grandoreiro 활동을 면밀히 모니터링하는 동안.

WeLiveSecurity에 게시된 연구에 대한 문의 사항은 다음으로 문의하십시오. Threatintel@eset.com.
ESET Research는 비공개 APT 인텔리전스 보고서 및 데이터 피드를 제공합니다. 본 서비스에 대한 문의사항은 ESET 위협 인텔리전스 페이지.

IoC

파일

SHA-1

파일 이름

Detection System

상품 설명

FB32344292AB36080F2D040294F17D39F8B4F3A8

Notif.FEL.RHKVYIIPFVBCGQJPOQÃ.msi

Win32/Spy.Grandoreiro.DB

MSI 다운로더

08C7453BD36DE1B9E0D921D45AEF6D393659FDF5

RYCB79H7B-7DVH76Y3-67DVHC6T20-CH377DFHVO-6264704.msi

Win32/Spy.Grandoreiro.DB

MSI 다운로더

A99A72D323AB5911ADA7762FBC725665AE01FDF9

pcre.dll

Win32/Spy.Grandoreiro.BM

그란도레이로

4CDF7883C8A0A83EB381E935CD95A288505AA8B8

iconv.dll

Win32/Spy.Grandoreiro.BM

Grandoreiro(바이너리 패딩 포함)

네트워크

IP

도메인

호스팅 제공업체

처음 본

세부 정보

20.237.166[.]161

DGA 생성

하늘빛

2024-01-12

씨앤씨 서버.

20.120.249[.]43

DGA 생성

하늘빛

2024-01-16

씨앤씨 서버.

52.161.154[.]239

DGA 생성

하늘빛

2024-01-18

씨앤씨 서버.

167.114.138[.]249

DGA 생성

OVH

2024-01-02

씨앤씨 서버.

66.70.160[.]251

DGA 생성

OVH

2024-01-05

씨앤씨 서버.

167.114.4[.]175

DGA 생성

OVH

2024-01-09

씨앤씨 서버.

18.215.238[.]53

DGA 생성

AWS

2024-01-03

씨앤씨 서버.

54.219.169[.]167

DGA 생성

AWS

2024-01-09

씨앤씨 서버.

3.144.135[.]247

DGA 생성

AWS

2024-01-12

씨앤씨 서버.

77.246.96[.]204

DGA 생성

VDSina

2024-01-11

씨앤씨 서버.

185.228.72[.]38

DGA 생성

마스터 다 웹

2024-01-02

씨앤씨 서버.

62.84.100[.]225

해당 사항 없음

VDSina

2024-01-18

배포 서버.

20.151.89[.]252

해당 사항 없음

하늘빛

2024-01-10

배포 서버.

MITRE ATT&CK 기술

이 테이블은 다음을 사용하여 제작되었습니다. 버전 14 MITRE ATT&CK 프레임워크.

술책

ID

성함

상품 설명

자원 개발

T1587.001

기능 개발: 맬웨어

Grandoreiro 개발자는 자신만의 맞춤형 다운로더를 개발합니다.

초기 액세스

T1566

피싱 (Phishing)

Grandoreiro는 피싱 이메일을 통해 확산됩니다.

실행

T1204.002

사용자 실행: 악성 파일

Grandoreiro는 피해자에게 피싱 첨부 파일을 수동으로 실행하도록 압력을 가합니다.

고집

T1547.001

부팅 또는 로그온 자동 시작 실행: 레지스트리 실행 키/시작 폴더

Grandoreiro는 지속성을 위해 표준 자동 시작 위치를 사용합니다.

T1574.001

하이재킹 실행 흐름: DLL 검색 순서 하이재킹

Grandoreiro는 DLL 검색 순서를 손상시켜 실행됩니다.

방어 회피

T1140

파일 또는 정보의 난독화/디코드

Grandoreiro는 비밀번호로 보호된 ZIP 아카이브로 배포되는 경우가 많습니다.

T1027.001

난독화된 파일 또는 정보: 이진 패딩

Grandoreiro EXE는 이전에 확대되었습니다. .rsrc 큰 BMP 이미지가 있는 섹션.

T1218.007

시스템 바이너리 프록시 실행: Msiexec

Grandoreiro 다운로더는 MSI 설치 프로그램 내에 번들로 제공됩니다.

T1112

레지스트리 수정

Grandoreiro는 구성 데이터의 일부를 Windows 레지스트리에 저장합니다.

발견

T1010

응용 프로그램 창 검색

Grandoreiro는 창 이름을 기반으로 온라인 뱅킹 웹사이트를 검색합니다.

T1057

프로세스 발견

Grandoreiro는 프로세스 이름을 기반으로 보안 도구를 발견합니다.

T1518.001

소프트웨어 검색: 보안 소프트웨어 검색

Grandoreiro는 은행 보호 제품의 존재를 감지합니다.

T1082

시스템 정보 검색

Grandoreiro는 다음과 같은 피해자의 컴퓨터에 대한 정보를 수집합니다. %컴퓨터이름% 및 운영 체제.

수집

T1056.002

입력 캡처: GUI 입력 캡처

Grandoreiro는 가짜 팝업을 표시하고 여기에 입력된 텍스트를 캡처할 수 있습니다.

T1056.001

입력 캡처: 키로깅

Grandoreiro는 키 입력을 캡처할 수 있습니다.

T1114.001

이메일 수집: 로컬 이메일 수집

Grandoreiro의 운영자는 Outlook에서 이메일 주소를 추출하는 도구를 개발했습니다.

명령 및 제어

T1132.002

데이터 인코딩: 비표준 인코딩

Grandoreiro는 사용자 정의 스트림 암호로 데이터를 암호화하는 RTC를 사용합니다.

T1568.002

동적 해결: 도메인 생성 알고리즘

Grandoreiro는 C&C 서버 주소를 얻기 위해 DGA에만 의존합니다.

T1573.001

암호화된 채널: 대칭 암호화

RTC에서는 암호화와 복호화가 동일한 키를 사용하여 수행됩니다.

T1571

비표준 포트

Grandoreiro는 배포를 위해 비표준 포트를 사용하는 경우가 많습니다.

T1071

애플리케이션 계층 프로토콜

RTC는 HTTP(S)를 기반으로 구축되었습니다.

여과

T1041

C2 채널을 통한 유출

Grandoreiro는 데이터를 C&C 서버로 유출합니다.

영향

T1529

시스템 종료/재부팅

Grandoreiro는 시스템을 강제로 재부팅할 수 있습니다.

spot_img

최신 인텔리전스

spot_img