대만 스타 주걸륜의 빼앗긴 원숭이(BAYC)를 찾아서…

Sentinel Protocol Team
Sentinel Protocol
Published in
14 min readApr 20, 2022

웁살라시큐리티는 지난 4월 1일 발생한, 주걸륜의 BAYC #3738 NFT 피싱 사건을 추적해보았습니다.

2022년 4월 1일 주걸륜은 자신의 인스타그램 계정(710만 팔로워)에 Bored Ape Yacht Club(BAYC) NFT, Ape #3738이 탈취당했다고 공개했습니다. 그는 만우절 농담이 아니라고 강조하며 가짜 민팅 사이트에서 도난당했다고 했습니다. 팔로워들에게 NFT 탈취 사실이 실제로 일어났다고 언급하며 NFT 산업에서의 경계를 늦추지 말라는 메시지를 전달했습니다.

출처: 주걸륜의 인스타그램 포스팅((www.instagram.com/p/Cby6ZKxPuI9/)

주걸륜에 따르면 피싱 사이트가 관련되어 있었으며, 민팅을 도와주겠다고 접근해온 피의자에게 속아 피의자가 주걸륜의 지갑 주소(BAYC가 보관되어 있는)를 관리할 수 있도록 하는 트랜잭션에 서명했습니다.

주걸륜의 지갑인 0x71de는 BAYC 토큰 컨트랙트(0xBC4CA)와 상호작용하여 operator와 함께 setApprovalForAll 함수를 불량 행위자의 지갑(0xe34F00) 으로 호출하고 ‘true’로 승인 했으며, 이는 차례로 아래에 표시된 ApprovalForAll 이벤트를 발생시켰습니다.

ApprovalForAll Event(Tx 해시: 0xb8a5c47dad2637b98b09e4cf97d2b7ff2ee08e344af70ae4cf2ba0e725651bb0)

setApprovalForAll 함수는 지정된 operator에게 함수를 호출하는 주소가 소유한 모든 BAYC 토큰에 대해 transferFromsafeTransferFrom 함수를 호출할 수 있는 권한을 부여(또는 취소)합니다. 이는 본질적으로 공격자의 지갑에 주걸륜 지갑의 BAYC 토큰을 전송할 수 있는 권한이 부여되었음을 의미합니다.

BAYC 토큰 컨트랙트의 setApprovalForAll 기능 문서( https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code )

공격자의 지갑에 권한이 승인되어 BAYC 토큰 컨트랙트와 상호작용하여 주걸륜의 지갑에서 공격자 자신의 지갑으로 BAYC #3738 전송을 실행하여 이를 훔쳤습니다.

주걸륜의 지갑에서 공격자의 지갑으로 BAYC #3738 이체
BAYC 토큰 컨트랙트와 공격자 지갑과의 트랜잭션 내역

도난당한 것은 원숭이 뿐만이 아니다?

이 사건을 조사하면서 우리 팀은 주걸륜의 BAYC를 훔친 지갑이 훨씬 더 큰 NFT 탈취 사건의 일부일 가능성이 있다는 온체인 증거를 발견했습니다.

조사 결과 이 ​​캠페인과 연결된 총 17개의 의심스러운 지갑이 발견되었습니다.

설명의 편의를 위해 지갑 각각을 3가지 범주로 나눌 수 있습니다.

1. NFT Theft Wallets(NT) — 피해자로부터 NFT를 탈취한 지갑입니다.

2. Storage/Laudering Wallets(SL) — 공격으로부터 탈취한 자금을 받고 이러한 불법 자금을 저장하거나 Tornado Cash를 통해 세탁하는 지갑입니다.

3. Miscellaneous(M) — 공격을 위해 자금 조달의 다리 역할을 비롯하여 다양한 목적으로 사용하는 기타 지갑입니다.

17개의 의심스러운 지갑 목록:

1st Category: NFT Theft wallets (NT)

Address 1: 0xe34F004BDef6F069b92dc299587D6c8A731072Da

Address 2: 0x91B9487704b3CF97DE4d0784914CfF50f5Ca117d

Address 3: 0xC64642946240251239d49dfCEE00fC8D47B7083F

Address 4: 0x87A9DCF2BA62880d3125A992D4900878f2d688cF

Address 5: 0x334a8Bb398C6Dd05A2CFFf01aBD6b887e6e4d92b

Address 6: 0x5ece881098b12ca6c1f5722Dc9D465EcBb9D9A1d

2nd Category: Storage/Laundering (SL)

Address 1: 0x6E85C36e75dc03A80F2fA393055935C7f3185b15

Address 2: 0x638268f39a15Ba073d0e186b65b959aC0a8fD7A6

Address 3: 0x9630c04Ce3C60aEE0E7dEeD1699112c8cAEe1344

Address 4: 0x931831b102412823716501787a03f3EfE4878c72

Address 5: 0xD22a2083863f29795db40cb35D7Bef38D27f6808

Address 6: 0x53023b2e60c625DCB6D48b3A912842448b8B5846

Address 7: 0xEd0b0aad87046E35091dF0343F4A61e90FbF631F

3rd Category: Miscellaneous (M)

Address 1: 0xc3c18a43A0EFd761f645bc2e69E02fF7637f768F

Address 2: 0x92317DF37f776419E2a164C7C1e77d96E17780cA

Address 3: 0xf7441f425A8Ff8ED19cf470a03a3190083cBF89E

Address 4: 0x1669A5A10512A247AadfC5e3eBa32Ff8aDb1E3f2

이 공격을 통해 총 16개의 NFT도 도난당한 것으로 확인되었습니다. Bored Ape Yacht Club(BAYC), Mutant Ape Yacht Club(MAYC), Azuki, Doodles, CloneX 및 Bored Ape Kennel Club 프로젝트의 NFT가 도난되었습니다.

아래는 도난당한 각 프로젝트 NFT 목록입니다.

Bored Ape Yacht Club(BAYC): #1100, #3738, #5778, #8237, #9481, #9672

Mutant Ape Yacht Club(MAYC): #564, #6132, #7657, #7767, #16500

Azuki(AZUKI): #2421

Doodles(DOODLE): #725, #768

CloneX: #6297

Bored Ape Kennel Club: #6834

도난당한 NFT들은 현재 높은 가치를 형성하고 있는 NFT 프로젝트들이며, 피싱 공격을 실행하는 악의적인 행위자들이 특별히 표적으로 삼았을 가능성이높습니다.

NFT 도난 지갑

주걸륜의 BAYC를 훔친 NFT 지갑 #1이 NFT 탈취 사건에 연루된 위험 지갑임이 확인되었습니다. 우리 팀은 논리적 추론과 얻은 정보를 통해 식별된 다른5개의 NFT를 탈취한 지갑도 도난당한 NFT와 관련이 있음을 명확히 확인할 수 있었습니다.

주걸륜의 NFT를 훔친 지갑을 포함하여 식별된 6개의 NFT를 탈취한 지갑 각각을 자세히 살펴보면 다음과 같은 공통점이 있습니다.

1. 고가의 NFT를 지갑으로 전송

2. NFT 즉시 매각

3. NFT 판매 수익은 대부분 보관용 지갑으로 이동

이러한 높은 가치 NFT의 양도 및 즉시 판매에 대한 논리적인 설명은 이러한 NFT가 도난당했으며 악의적인 행위자가 자신이 NFT를 탈취했다는 소식이 커뮤니티에 소문나기 전에 가능한 한 빨리 도난당한 NFT를 없애려고 시도했다는 것입니다. NFT는 대체 불가능한(각 토큰은 고유함) 특성으로 인해 더 비유동적이므로 나쁜 행위자가 비교적 쉽게 세탁할 수 있는 다른 대체 가능한 가상 자산으로의 교환을 위해 이를 매각하려고 시도하는 것은 놀라운 일이 아닙니다.

이러한 공통점 외에도 우리 팀은 식별된 NFT 중 일부가 실제로 피싱 사이트를 통해 도난당했음을 확인할 수 있는 정보를 얻을 수 있었습니다.

피해자 암호화폐 주소 — 0xcB9282(baxmachina[.]eth라고도 함)와 연결된 트위터 계정

온체인 정보를 기반으로 MAYC #7767 및 #7657이 0xcB92828352227755009D444f606a339d0937bF95에서 NT #2로 전송되었습니다. 이 지갑0xcB928은 ENS(Ethereum Name Service) 도메인 baxmachina[.]eth를 소유하고 있으며 검색을 통해 위 트위터 프로필을 찾을 수 있었습니다.

프로필은 식별된 동일한 2개의 MAYC에 대한 소유권을 주장했으며 피싱을 통해 도난당했다고 밝혔습니다. 따라서 이는 NT #2 및 동일한 행동을 공유하는 식별된 다른 지갑도 NFT 도난 사건에 연루되어 있음을 확인시켜줍니다.

이 근거는 다음에 다룰 자금 흐름 분석을 통해 이러한 지갑 간의 연결을 견고히 함으로써 더욱 뒷받침됩니다.

NFT 탈취 지갑 간의 연결성 — 서로 자금 조달

주걸륜의 BAYC를 훔친 지갑(NT #1)으로의 자금 흐름을 역추적함으로써 이 NFT 탈취 지갑이 모두 연결되어 있어 동일한 공격의 일부임을 확인할 수 있습니다.

먼저, 주걸륜의 NFT 탈취자인 NT #1이 NT #2에서 2건의 트랜잭션을 통해 0.9 ETH를 받은 것을 관찰했습니다. 이 NT #2 지갑은 또한 4명의 피해자로부터 도난당한 5개의 NFT를 전송받은 것으로 관찰되었습니다.

NT #2에서 NT #1로 0.9 ETH의 흐름(주걸륜 NFT 탈취자)

0.9 ETH를 NT #1로 전송하는 것 외에도 NT #2는 소량의 ETH를 NT #3 및 #4로 전송했습니다.

NT #2의 ETH도 NT #3, #4로의 흐름을 보여줍니다.

이러한 소규모 ETH 전송은 수수료가 필요한 Opensea 및 LookRare와 같은 다양한 NFT 시장에서 도난당한 NFT를 판매할 수 있도록 NFT 탈취 지갑(NT)에 자금을 지원하기 위한 것일 수 있습니다. NT #2의 ETH는 다른 지갑(NT #1, #3, #4)에 자금을 공급하는 데 사용되었으며 훔친 NFT를 판매하여 얻은 수익금에서 나왔습니다. NT #2는 믹싱 서비스인 Tornado Cash에서 0.1 ETH 인출을 통해 자체적으로 자금을 조달한 것으로 보입니다.

NT #2에서 0.9 ETH를 받는 것 외에도 NT #1은 M #1에서 1 ETH의 자금을 받았습니다. 이 1 ETH는 또 다른 NFT 탈취 지갑인 NT #5에서 보내졌으며 마찬가지로 NFT가 훔친 3개의 NFT 중 2개를 판매하여 얻은 수익금에서 나왔습니다.

NT #6는 NT #5에 자금을 지원하고 NT #1에도 자금을 제공합니다.

예상대로 NT #5의 자금은 NT #6이 탈취하여 판매한 BAYC #8237의 부당 이익금이었습니다. NT #6은 캠페인에서 사용된 최초의 NFT 탈취 지갑인 것으로 보이며 흥미롭게도 Gnosis Chain의 Omni Bridge를 통해 처음 자금(ETH)을 받았습니다.

도난당한 NFT 판매 수익의 저장 및 세탁

캠페인에 사용된 새로운 NFT 탈취(NT) 지갑에 자금을 지원하는 것 외에도 도난당한 NFT 판매 수익의 대부분은 악의적인 행위자에 의해 각 NT 지갑에서개별 SL(Storage/Laundering) 지갑으로 이동되었습니다.

총 7개의 지갑이 있으며 아래에 표시된 전체 개요에서 파란색 노드로 표시됩니다. 이 지갑 중 일부는 Tornado Cash를 통해 자금을 전달하기 시작했으며다른 지갑은 단순히 자금을 보유하고 있습니다.

NFT 탈취/피싱 사건 개요

이를 통해 공격자의 작전 방식이 명확함을 알 수 있다. 악의적인 행위자는 NFT를 훔쳐 즉시 ETH로 교환하고 수익금으로 새 NT 지갑에 자금을 제공하거나 Tornado Cash를 통한 저장 또는 세탁을 위해 수익금을 SL 지갑으로 이체합니다.

공격자는 탈취한 NFT를 판매하여 이익을 냈을까?

흥미롭게도 우리 팀은 공격자가 훔친 NFT의 이익금을 NFT를 이용하여 차익을 남기기 위해 자금 세탁하는 것을 관찰했습니다. 아래에서 볼 수 있듯이 공격자는 판매 수익금을 Storage/Laundering Wallet(SL #6) 0x53023b로 이체하여 AZUKI #9180을 구입하고 며칠 후 약 1.6 ETH의 차익을 남기기 위해 판매했습니다.

탈취당한 BAYC #8237의 NFT 판매 수익을 SL #6(0x53023b)로 보낸 뒤 Azuki #9180를 구매 및 판매했습니다.
SL #6(0x53023b)은 ~15.58 ETH에 Azuki #9180을 구입했습니다.
SL #6(0x53023b)은 며칠 후 Azuki #9180을 ~17.19 ETH에 판매했습니다.

악성 공격자의 바이낸스 출금 가능성?

또한 지갑 M #4는 NT #6에서 M #3을 거쳐 소량의 ETH를 받았다는 점에 주목했습니다. 이 지갑은 바이낸스 거래소에서 0.072672 ETH의 소액 인출을받은 것으로 관찰되었습니다. NT #6에서 나오는 자금의 흐름으로 인해 M #4도 이 사건과 관계가 있을 수 있으며 바이낸스 인출은 공격자가 이행했을 수있습니다.

바이낸스 거래소에서 출금한 NT #6에서 M #4로의 자금 흐름

Crypto/NFT 공간에서 보다 안전해지려면?

NFT에 대한 대중의 관심이 높아짐에 따라 성장하고 있는 이 시장에 악의적인 사람들이 모이는 것은 불가피합니다. 이는 최근에 등장한 가짜 NFT 프로젝트와 관련된 피싱 사이트 수가 급증한 것을 보면 분명합니다.

Crypto/NFT 공간의 참가자는 거래를 할 때 경계를 늦추지 않고 의심되는 웹사이트를 피해야 합니다. 웁살라시큐리티에서 우리는 암호화폐 생태계를 보호하는 것이 집단적이고 커뮤니티 전체의 노력이 필요하다고 믿습니다. 의심스러운 사이트나 피싱 사이트를 발견하면 주저하지 말고 저희 팀에 신고해 주십시오. 우리는 필요한 조사를 수행하고 커뮤니티의 다른 구성원이 이러한 위험에 빠지지 않도록 도울 것입니다.

신고는 사용자가 웹 및 블록체인 생태계를 검색할 때 보다 안전한 검색 경험을 제공하는 것을 목표로 하는 당사의 브라우저 확장 프로그램인 UPPward를 통해 수행할 수 있습니다. UPPward를 통해 사용자는 특정 도메인 또는 암호화폐 주소가 우리 팀에서 악성으로 식별한 소스인지도 확인할 수 있습니다. UPPward에 대해 자세히 알아보려면 https://uppward.sentinelprotocol.io/ 를 방문하십시오.

디지털 자산 추적 서비스 및 조사가 필요한 피해자는 저희 팀에서 제공하는 디지털 자산 추적 서비스를 이용하실 수도 있습니다. 이 서비스에 대한 자세한 내용은 https://uppsalasecurity.com/trackingsvc 에서 찾을 수 있습니다.

웁살라시큐리티 (Uppsala Security) https://www.uppsalasecurity.com

아시아 테크의 중심 싱가포르에 본사를 둔 웁살라시큐리티는 30여명의 숙련된 보안 전문가로 구성된 블록체인 사이버 보안 회사로, 최초의 블록체인 기반 크라우드 소싱 보안 플랫폼인 ‘센티넬프로토콜(Sentinel Protocol)’을 서비스하고 있습니다. 자사의 독자적인 AI 머신러닝 알고리즘 바탕으로 가상자산 부정거래를 사전에 식별 및 신속하게 추적할 수 있는 원천기술을 소유하고 있으며 세계적인 컨설팅 기업 ‘프로스트 앤 설리번(Frost & Sullivan)’으로부터 ‘2020년 아시아태평양 블록체인/가상자산 보안기술 혁신상’을 아태지역 최초로 수상하며 기술력을 인정받은 바 있습니다. 현재 글로벌가상자산대응센터(CIRC)를 부설기관으로 설립, 싱가포르 본사를 중심으로 아세안 지역과 한국 시장의 사법기관, 거래소, 지갑회사, 결제사업 업체, 디파이(De-fi) 금융기업 및 글로벌 엔터프라이즈 등 다양한 분야의 고객을 확보하고 있습니다.

소셜미디어 (Telegram, LinkedIn, Twitter, Facebook)에서 웁살라시큐리티를 팔로우 하고 최신 뉴스를 확인해보세요.

--

--

Sentinel Protocol Team
Sentinel Protocol

Operating on blockchain technology, Sentinel Protocol harnesses collective cyber security intelligence to protect crypto assets against hackers, scams and fraud