← Back to CRACKON CTF

SIC MUNDUS CREATUS EST — MNEMONIC RECOVERY

A cryptocurrency mnemonic recovery challenge. Brute-force 10! BIP39 word permutations using custom derivations to match a target public Bitcoin address.

Tools Used

PythonBIP-39BIP-44bip_utils

Overview

We must recover the correct sequence of a 12-word Bitcoin wallet seed phrase. We are given the 12 words (with 2 in their original positions) and the target Bitcoin public address.

Reconnaissance

The named members Adam and Noah place their words at positions 1 and 2:

Position 1: mountain (Adam)
Position 2: visual (Noah)

The remaining 10 words are scrambled. The target Bitcoin address is 1CXy991DvKqMW4VyNxncpam4feqQyLzj6L.

Exploitation Strategy

We calculate all permutations of the remaining 10 words (10! = 3,628,800).

We filter them using the BIP39 checksum (only ~226,800 pass).

For each valid mnemonic, we derive the BIP44 public address (at path m/44'/0'/0'/0/0) and verify it against the target address.

Solution Code

from bip_utils import Bip39MnemonicValidator, Bip39SeedGenerator, Bip44, Bip44Coins, Bip44Changes
from itertools import permutations

# Loop through permutations, validating BIP39 checksum and checking derivation path:
# ...
# Derived Mnemonic: mountain visual matrix base cave ghost menu odor brand mango clump ecology
# Matches Target: 1CXy991DvKqMW4VyNxncpam4feqQyLzj6L
# Flag: CrackOn{base_brand_clump_mango}

Flag

CrackOn{base_brand_clump_mango}