블록체인을 C&C 인프라로 사용하는 Etherhide 기법

블록체인을 C&C 인프라로 사용하는 Etherhide 기법

개요
공격자들은 C&C(Command and Control) 인프라에 대한 추적 혹은 차단을 회피하기 위해 다양한 기법과 채널을 활용해왔다. 예를 들어, IP 주소를 빠르게 변경하며 도메인을 지속적으로 유지하는 Fast-Flux, 법적 대응이 어려운 국가에 위치한 인프라를 사용하는 Bulletproof Hosting, 그리고 Telegram, Pastebin, X(Twitter) 등의 공개 플랫폼이 활용되어 왔다. 최근에는 블록체인의 익명성과 검열 불가능성을 활용하는 사례도 등장하고 있다. 
본 글에서는 C&C(Command and Control) 인프라로 스마트 컨트랙트를 사용하는 Etherhide에 대해 살펴보고, 이를 활용한 악용 사례에 대해 소개한다.

Etherhide 기법이란?
Etherhide는 이더리움(Ethereum) 블록체인 상의 스마트 컨트랙트에 임의의 페이로드를 삽입한 뒤, 이를 외부에서 불러와 실행하는 방식으로 동작한다. 

[그림 1] Etherhide 동작 방식

 

공격자는 Binance Smart Chain이나 Sepolia 테스트넷 등 다양한 블록체인 네트워크를 활용할 수 있으며, 이 방식을 통해 높은 익명성을 유지할 수 있다. 또한 블록체인의 특성상 삽입된 페이로드는 삭제되거나 차단되지 않기 때문에, 공격자는 안정적이고 지속적인 접근이 가능하다. 이처럼 Etherhide는 기존의 웹 서버나 도메인에 의존하던 악성코드 유포 방식과 달리, 블록체인 네트워크 자체를 인프라로 활용하기 때문에 기존의 추적 및 차단 방식으로는 대응이 어렵다.

 

일반적으로 블록체인 네트워크와 상호작용할 때는 가스비(gas fee)가 발생하지만, Etherhide 기법에서는 페이로드를 삽입한 이후, 이를 유포하는 과정에서는 전혀 가스비가 발생하지 않는다. 이는 Etherhide 기법에서 컨트랙트에 삽입된 페이로드를 조회할 때 이더리움 API 메소드인 ‘eth_call’을 사용하기 때문이다. ‘eth_call’ 메소드는 블록체인상에 트랜잭션을 생성하지 않고 message call을 통해 상태 변경 없이 스마트 컨트랙트 함수를 실행한다. 따라서 읽기 전용 스마트 컨트랙트 함수 호출에 주로 사용되며, 이를 이용해 페이로드를 가스비 없이 조회할 수 있다.

[표 1]은 트랜잭션이 발생하는 ‘eth_sendTransaction’ 메소드와 트랜잭션이 발생하지 않는 ‘eth_call’ 메소드 호출 시 각각 사용되는 매개변수 예시를 보여준다. ‘eth_sendTransaction’ 메소드의 gas 매개변수는 트랜잭션을 실행하기 위해 제공할 가스를 의미하며, 사용되지 않은 가스는 다시 반환된다. 반면, ‘eth_call’ 메소드는 트랜잭션을 발생시키지 않기 때문에 gas 매개변수를 별도로 지정할 필요가 없다.

method : eth_sendTransaction method : eth_call
params: [
    {
        to: “0x***60cf90B0C6D0220023402AC11E1CA7D0f6***”,
        from: “0x***00BbE1A20dA4d474666B79a5fa6CE12629***”,
        gas: “0x76c0”,
        value: “0x16345785d8a0000”,
        data: “0x”,
        gasPrice: “0x4a817c800”
    }
]
 
params: [
    {
        to: “0x***8567B4CB5DEcbFE28be25b64Fd36e225aA***”,
        data: “0x2cae8ae4”
    }
]

 

[표 1] 이더리움 API 메소드 매개변수 비교

 

심지어 Sepolia 같은 테스트넷을 사용하는 경우, 컨트랙트 배포나 페이로드 업데이트와 같은 트랜잭션도 모두 테스트 이더리움 토큰을 사용하기 때문에 실제 비용이 전혀 들지 않는다.

 

Etherhide 페이로드 접근 예시
아래의 [그림 2]은 컨트랙트에 페이로드를 삽입할 때 요청한 트랜잭션의 로그이다. 로그에서 Input Data 영역은 정형화된 구조를 가지고 있으며, 내부에 삽입한 페이로드가 포함되어 있다.

[그림 2] 트랜잭션 로그

 

[그림 3]는 데이터를 구조화된 형식에 따라 분석한 결과를 보여준다. 처음 4바이트는 메소드 식별자이고, 그 다음 32바이트는 페이로드가 시작되는 위치를 나타내는 오프셋이다. 이어지는 32바이트는 페이로드의 길이를 의미하며, 이후에는 오프셋과 길이 정보를 바탕으로 실제 페이로드 데이터가 이어진다.

[그림 3] 데이터 파싱

 

실제로 ‘alert(“Attack payload executed!”);’ 문자열을 Base64로 인코딩해 컨트랙트의 페이로드로 삽입하면, 이를 조회할 때 반환되는 데이터는 [그림 4]과 같다. 반환된 데이터에는 메소드 식별자가 포함되지 않으며, [그림 3]의 구조에 따라 파싱하면 페이로드만 추출할 수 있고, 이를 통해 원래 데이터를 완벽히 복원할 수 있다.

[그림 4] 응답으로 전달된 페이로드

 

예제에서는 Etherhide 기법을 구현하기 위해 Sepolia 테스트넷을 사용하였다. ‘eth_call’ 메소드 호출 시 필요한 RPC 매개변수들을 JSON 형식으로 구성한 뒤, 이를 POST 바디에 담아 Sepolia RPC 엔드포인트로 전송하였다. [그림 5]는 호출 과정에서 사용한 코드의 일부를 보여주며, 실제 구현 방식을 직접 확인할 수 있다.

[그림 5] 페이로드 호출 예제 코드

 

이 기법은 웹 브라우저뿐만 아니라 실행 파일(바이너리), 스크립트에서도 페이로드를 다운로드하는 데 활용될 수 있다. 추가 페이로드를 인터넷에서 받아오는 다운로더 악성코드에서도 기존 방식 대신 Etherhide 기법을 활용하면 웹 사이트를 침해하거나, 도메인을 생성하지 않고, C&C 서버를 노출하지 않은 채 페이로드를 다운로드할 수 있게 된다. 심지어 블록체인의 특성상 차단이 어렵고, 지속적인 접근이 가능하다는 점에서 공격자에게 유리하게 작용한다.

 

Etherhide 기법이 사용된 실제 사례

 

ClearFake 

2023년 7월경부터 유포되고 있는 ClearFake 캠페인은 침해된 웹사이트에서 Chrome 브라우저 업데이트를 가장한 악성코드를 사용자에게 다운로드 및 실행하도록 유도한다. 초기에는 별도의 C&C 서버로 리다이렉트한 뒤 악성코드를 다운로드 했지만, 최근에는 클립보드를 활용해 사용자가 직접 Powershell 명령을 실행하도록 유도하는 사회공학 기법이 사용되고 있다. 이 과정에서 공격자들은 Etherhide 기법을 통해 리다이렉트나 페이로드 전송에 블록체인 네트워크를 C&C 인프라로 활용하고 있다. 자세한 내용은 Marek Szustak의 “EtherHiding and ClickFix: new mask of social engineering campaign” 에서 확인할 수 있다.
한편 클립보드를 이용한 명령 실행 유도 기법에 대해서는 ASEC Blog에서 다룬 바 있다.
(국문 : https://asec.ahnlab.com/ko/73880/  | en : https://asec.ahnlab.com/en/73952/ )

 

Smargaft

Smargaft는 Smart Contract와 Gafgyt 봇넷 이름을 합쳐 만든 이름으로, Etherhide 기법을 사용하는 봇넷이다. Smargaft는 Binance Smart Chain (BSC) RPC 서버로 요청을 보내 페이로드인 봇넷 C&C 서버 IP 주소를 가져온다. 공격자는 봇넷 C&C 서버 주소 변경 시 그저 컨트랙트 페이로드 정보를 업데이트 하는 것으로 간단히 바꿀 수 있다. 자세한 정보는 24년 2월에 XLAB에서 게시한 “Smargaft Harnesses EtherHiding for Stealthy C2 Hosting” 에서 확인할 수 있다.

 

결론

Etherhide 기법은 차세대 Bulletproof Hosting으로 주목받고 있으며, 이에 따라 공격자들의 악용 사례도 증가할 것으로 예상된다. 높은 익명성과 지속성, 비용 부담이 없다는 점, 그리고 서버 인프라가 필요 없는 구조는 블록체인을 악성코드 인프라로 활용하기에 충분한 이유가 된다. 
방어자의 입장에서는 Etherhide 기법이 기존 방식으로는 탐지하거나 차단하기 어려울 수 있다. 하지만 Etherhide 기법은 결국 페이로드를 받아오는 용도로 사용되기 때문에, 사용자가 초기 단계에서 의심스러운 파일이나 명령어를 실행하지 않으면 피해를 예방할 수 있다.
 

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