비트코인 wallet.dat 비밀번호 2분만에 깨기! - KeychainX - 잃어버린 암호 화폐 복구.
21.05.2021
KeychainX

비트코인 wallet.dat 비밀번호 2분만에 깨기!

 

한 유명 영화감독이 제게 “영화 촬영은 작품의 10%에 불과하고 나머지 90%는 준비 중”이라고 말한 적이 있습니다. 그것은 최근에 생각났습니다.

수요일 저녁 8시 55분

누군가가 나에게 그의 비트코인 코어 지갑 비밀번호로 비밀번호를 찾으라는 요청을 보냈습니다. 나는 즉시 기꺼이 돕겠다고 대답했습니다. 다음날까지 아무런 대답이 없었습니다.

목요일 오후 오후2.04

나는 고양이와 함께 여름 별장에 있다가 잠시 휴식을 취한 후 도시로 돌아왔을 때 답장이 내 편지함에 와 있는 것을 확인했습니다. 언제나처럼 나는 필요한 조치 등을 정중하게 대답했습니다. 시작하기 전에 금액 및/또는 공용 주소를 보내 달라는 요청과 함께 지갑이 도난 또는 위조되지 않았는지 확인(최근에 발생하는 경우가 많음)을 요청했습니다.

목요일 오후 3시 44분

뉴욕에서 온 그 신사가 요청한 정보를 보냈습니다. 빗줄기가 쏟아지고 고양이가 벼락소리를 듣고 불편해하는 와중 그리고 차를 몰던 중 이메일에 “지금 전화할 수 있나요?”라는 메시지를 받았습니다.

나는 차를 세우지 않고, 스카이프를 켜고고 전화를 걸었습니다.

뉴욕의 거래자는 2017년부터 비트코인 코어 지갑에 작은 비트코인 재산을 넣어두고 있었습니다. 그의 첫 번째 질문은 내가 지갑을 열었을 때 그의 번호를 막지 않겠느냐는 것이었습니다.

나는 “그럼요, 그럴게요” 라고 대답했습니다. 나는 미소를 지으며 혼자 생각에 잠겼다가 정신을 가다듬고 “아닙니다. 우리는 이상한 익명 서비스가 아니라 미국 기반의 법인입니다.”라고 대답했습니다. 나는 다른 서비스들이 더 오래 걸릴 수도 있지만, 그것들은 익명이거나 간단한 차고 작업이라고 설명했습니다. 우리는 미국 델라웨어주에 있는 저명한 투자자들과 함께 설립되었으며 USPTO에 특허 출원 중이라고 설명했습니다.

그 말을 들으니 그 사람이 우리가 계약서를 보낼 것인지 물어봤고 시작하기 전에 내가 계약하고 합의하기를 바란다고 하더군요. 제가 아직 차 안에 있으니 몇 시간 후에 계속 진행해야 한다고 설명했습니다. 내가 운전하는 동안 그가 검토할 수 있도록 핸드폰으로 간신히 보냈습니다.

목요일 밤 10시 50분

저는 집에 늦게 도착했는데, 그 남자로부터 “아, 그가 마음을 바꿨구나”라는 생각을 했습니다. 연락이 아직 없었어요. 저는 속으로 생각하고 잠을 청했습니다. 한 시간 후(뉴욕은 6시간 후) 내 전화벨이 윙윙거렸습니다. 계약서에 서명과 전화 요청이 담긴 이메일을 받았습니다. 그는 내가 지갑을 찾을 줄 몰랐기 때문에 그의 컴퓨터에서 지갑을 추출하기를 원했습니다. (비트코인 코어는 암호화된 지갑을 저장하고 있는 숨겨진 폴더를 사용합니다.)

우리는 팀뷰어를 통해 연결했고 잠시 후 지갑에 접근했습니다.

목요일 밤 11시 15분

마지막 단계, 나는 힌트를 요청했습니다. 그것은 그가 모르는 단어, 순서, 철자가 틀린 단어들의 목록이었습니다. 그는 또한 단어와 작은/대문자 사이에 공백이 있을 수 있다고 제안했습니다.

목요일 밤 11시 35분 복구 시작

이러한 힌트를 얻어 나는 빠르게 힌트를 내 노트북의 모든 종류의 다른 조합으로 병합하는 작은 파이썬 스크립트를 만들었습니다. 그의 힌트는 지갑 암호로 사용되는 6-8개의 단어들을 연속해서 조합한 것이었습니다. 보통 보안 VPN을 통해 회사 서버에 연결하지만 NVIDIA의 노트북으로 운을 뗐습니다. NVIDIA는 비트코인 지갑과 같은 특정 상황에서 CPU를 사용하는 것보다 수천 배 또는 수백만 배 더 빠르게 암호를 해독할 수 있는 GPU입니다.


The NVIDIA RTX 2080 chip

목요일 밤 11시 36분.

첫 번째 인스턴스(힌트와 함께 사용되는 알고리즘)는 철자가 틀린 단어를 포함한 많은 변형이 있었기 때문에 너무 많은 조합을 만들었습니다. 통과하는데 며칠이 걸릴 거예요. 그런 다음 직감을 사용하여 변형을 최소화하고 입력에 적중했습니다.

목요일 밤 11시 37분 비밀번호 발견

짠! 내 스크립트는 내 첫 스크립트를 코딩하기 시작한지 2분만에 비트코인 코어에 대한 암호를 찾았습니다.

평소와 같이 나는 그에게 우리가 비밀번호를 찾아냈다는 이메일을 보냈고 그에게 그의 몫의 자금을 어디로 옮겨야 하는지 물어보았습니다. 나의 일반적인 행동 체인은 일단 지갑이 열리면, 나는 지갑 값의 나의 %를 옮기고, 그 다음에 고객들이 선택한 지갑 주소로 나머지 부분을 옮기는 것이었습니다. 나는 몇 분 안에 주소를 받고 남은 돈을 지갑에서 쓸어냈습니다.

지갑이 비었다는 확인 전화를 받고 거래 취소가 가능한지 문의하는 전화를 받았습니다. 블록체인의 역거래가 없기 때문에 ‘아니오’라고 한 것이었습니다.

지난번에 확인했을 때 코인베이스 계좌에 주소가 달라서 주소를 잘못 보냈을 수도 있다고 설명했습니다. 나는 당신이 자금을 요청할 때마다 새로운 주소를 만든 것은 아마도 HD 지갑일 것이라고 설명함으로써 그를 진정시키려고 노력했습니다. 그것은 보안 옵션으로 많은 지갑이나 서비스에서 흔합니다.

나는 “그냥 쿨하게 기다리세요, 우리는 아마도 블록체인에 대한 한 가지 이상의 확인이 필요할 것이다”라고 말했습니다.

그는 약간 진정된 듯했고 우리는 비트코인 네트워크가 거래를 확인하기를 함께 기다렸고 마침내 그의 코인베이스 계정에 자금이 나타났습니다.

지갑을 되찾을 때 우리의 일련의 행동에 대해 논의하는 데 하루 넘게 걸렸지만, 제 영화 감독 친구가 예측한 것처럼 비밀번호를 찾는 최종적인 접근은 단 2분밖에 걸리지 않았습니다.

배운 교훈

좋은 힌트가 있는 알고리즘을 준비하는 것이 가장 중요한 작업입니다. 코인베이스와 같은 서비스를 사용하여 지갑 주소가 변경되더라도 당황하지 마세요. 펀드를 요청할 때마다 새 주소만 만듭니다.

주의!

연락처 : [email protected]