Pembahasan Challenge Bruteforce Sederhana dan Sign MessageSoal1. Privkey: 1ADCEBAFB9755BDE06607EA21D1531540737B70A04AAC7530278694179BE320X | Address: 1JYnXCYM2ueGcYTbrtqVjBUGQ9rd42wEH3
2. Privkey: 73B582C6D01C32B76F0917CB747C583D6E5EDE636DC3AE3A6B11002810D75B6X | Address: bc1qgz7xpt8w9d68eyd2d56tcrz5sxcjlxs6lg74wv
3. Privkey: 08CEF9BDAB6749CC14726CB00F0723461525A51816B8D541106A7B536BAC201X | Address: 14EdJpaB2dZDQZMzuPs16bPU2GcYSYuLym
4. Privkey: 22E4D397814D63E63E58469A252D096C3F0F8F323C92FF6B3A40517941860A3X | Address: bc1q0wcqv6x49s52v6p955msrpfs4sjr76nwg3v677
5. Privkey: 72B483C7D11D33B66E0816CA757D593C6F5FDF626CC2AF3B6A10012911D65AXX | Address: 1874A2YjWcVEfQVFvoQuM9RdVCSnHKhHw1
6. Privkey: 74B285C1D71B35B0680E10CC737B5F3A6959D9646AC4A93D6C16072F17D05CXX | Address: bc1qv3358pldmd2mg5k0sgvfsya9le8rcaxv0fsp3k
Jawaban1. Privkey: 1ADCEBAFB9755BDE06607EA21D1531540737B70A04AAC7530278694179BE320
D | Address: 1JYnXCYM2ueGcYTbrtqVjBUGQ9rd42wEH3
2. Privkey: 73B582C6D01C32B76F0917CB747C583D6E5EDE636DC3AE3A6B11002810D75B6
6 | Address: bc1qgz7xpt8w9d68eyd2d56tcrz5sxcjlxs6lg74wv
3. Privkey: 08CEF9BDAB6749CC14726CB00F0723461525A51816B8D541106A7B536BAC201
F | Address: 14EdJpaB2dZDQZMzuPs16bPU2GcYSYuLym
4. Privkey: 22E4D397814D63E63E58469A252D096C3F0F8F323C92FF6B3A40517941860A3
5 | Address: bc1q0wcqv6x49s52v6p955msrpfs4sjr76nwg3v677
5. Privkey: 72B483C7D11D33B66E0816CA757D593C6F5FDF626CC2AF3B6A10012911D65A
65 | Address: 1874A2YjWcVEfQVFvoQuM9RdVCSnHKhHw1
6. Privkey: 74B285C1D71B35B0680E10CC737B5F3A6959D9646AC4A93D6C16072F17D05C
63 | Address: bc1qv3358pldmd2mg5k0sgvfsya9le8rcaxv0fsp3k
Langkah Menyelesaikan ChallengePada dasarnya memecahkan persoalan ini banyak sekali variasinya, bisa menggunakan script sendiri sehingga otomatis, ataupun manual yang membutuhkan kegigihan dan kesabaran. Ane tidak memusingkan peserta mau menggunakan cara yang mana asalkan pesan yang valid bisa ane terima. Hal ini diilhami dari transaksi bitcoin yang tidak mengenal adanya transaksi jahat atau transaksi baik, semua transaksi asalkan
valid akan dicatat ke dalam blockchain.
Silahkan pada para pemenang challenge untuk memberi tahu bagaimana cara kalian memecahkan persoalan ini
Kalau ane:
P2PKH (misalnya 1ADCEBAFB9755BDE06607EA21D1531540737B70A04AAC7530278694179BE320X)
1. Gunakan situs
https://walletgenerator.net/ (diubah karena ada celah keamanan) https://www.bitaddress.org/ -> wallet details untuk melakukan bruteforce sesuai dengan digit yang belum diketahui. Ganti X dengan mengurutkan 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
2. Perhatikan alamat compressed yang dihasilkan, cocokkan dengan yang agan cari yaitu 1JYnXCYM2ueGcYTbrtqVjBUGQ9rd42wEH3, lalu ulangi sampai sama.
3. Ternyata alamat compressed 1JYnXCYM2ueGcYTbrtqVjBUGQ9rd42wEH3 dihasilkan dari privkey 1ADCEBAFB9755BDE06607EA21D1531540737B70A04AAC7530278694179BE320D, catat WIF compressed-nya Kx7vqNCYJ6aWvyxkg51yC5L44UMgG24DtAYUxdU5vAJU9npioY4C.
4. Buka
http://brainwalletx.github.io/#sign masukkan WIF dan pesan yang ingin agan tandatangani.
5. Click "Sign Message"
6. Selesai
Bech32-P2WPKH (misal 73B582C6D01C32B76F0917CB747C583D6E5EDE636DC3AE3A6B11002810D75B6X)
Bech32-P2WPKH agak tricky karena tidak bisa hanya menggunakan kedua situs di atas saja. Sign dan verify pada alamat Bech32 harus menggunakan dompet yang sama karena belum ada standarnya. Sehingga mau tidak mau kita harus menggunakan electrum agar tantangan ini bisa lancar. Kalau ane lebih menyukai menggunakan script pemrograman untuk menyelesaikan hal ini. Kalau tanpa script, begini caranya:
1. Gunakan situs
https://walletgenerator.net/ (diubah karena ada celah keamanan) https://www.bitaddress.org/ -> wallet details untuk melakukan bruteforce sesuai dengan digit yang belum diketahui. Ganti X dengan mengurutkan 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
2. Catat semua WIF compressed-nya dan tambahkan "p2wpkh:" di depan WIF tersebut, misal:
p2wpkh:L16djPwm7s69D9hEpJQ4XgbeFcxPLwg3fGCwH42yXowfM5u1JSy8
p2wpkh:L16djPwm7s69D9hEpJQ4XgbeFcxPLwg3fGCwH42yXowfMaigrLMT
p2wpkh:L16djPwm7s69D9hEpJQ4XgbeFcxPLwg3fGCwH42yXowfQ57feEuj
...dst...
3. Buka aplikasi electrum lalu buat alamat baru, "import private keys."
4. Masukkan semua WIF-compressed yang sudah dihasilkan berikut string "p2wpkh:"
5. Tidak perlu diberi password pada tantangan ini, langsung saja lihat alamat bc1qgz7xpt8w9d68eyd2d56tcrz5sxcjlxs6lg74wv yang dicari dari daftar alamat-alamat yang berhasil diimport.
6. Klik kanan, "sign/verify message", lalu masukkan pesan yang diinginkan. Selesaikan dengan klik "sign."
Pelajaran1. Peserta memahami apa itu bruteforce dan mengetahui betapa sulitnya membobol keamanan privkey bitcoin.
Privkey bitcoin terdiri dari 32 byte (64 digit hex) yang memiliki kombinasi 2
256 atau 10
77 yang mustahil untuk dipecahkan menggunakan teknologi saat ini. Dalam tantangan ini ane mempermudah hal ini dengan memberikan privkey minus satu atau dua digit terakhir sehingga bruteforce hanya cukup mencoba:
> 1-digit hex: 16 kombinasi (0-F)
> 2-digit hex: 256 kombinasi (00-FF)
2. Peserta memahami bahwa untuk melakukan sign message hanya bisa dilakukan oleh peserta yang memiliki akses terhadap privkey yang menghasilkan alamat bitcoin tersebut. Hasilnya bisa diverifikasi sehingga pesan/jawaban yang tidak valid --entah itu disengaja atau tidak-- akan sangat mudah diketahui.
3. Peserta memahami perbedaan alamat bitcoin P2PKH dan P2WPKH, meskipun dihasilkan dari privkey yang sama.
4. Peserta dapat melakukan import private key dan melakukan sign message menggunakan dompet electrum.
Kepada para pembaca terutama para pemenang, ane harap agan dapat mengajarkan cara menggunakan dompet bitcoin kepada teman/saudara/bapak/ibu agan semuanya. Ajarkan bahwa privkey tersebut sangat penting karena orang yang menguasai privkey merupakan "pemilik" dari alamat bitcoin tersebut, tidak peduli apakah diperoleh dengan cara yang halal atau haram.
Dan yang terakhir, alamat Bech32-P2WPKH meskipun belum terlalu familiar, akan tetapi ada baiknya mulai menggunakan alamat tersebut karena biaya transaksi bisa lebih murah dari alamat P2PKH legacy.
Maaf double post, silahkan di delete aja. keasikan ngetik lupa kalau sebelumnya sudah post di thread ini.
Deleted, thanks gan atas apresiasinya
Kalau topik yang newbie-newbie ane masih sanggup lah untuk menjelaskan. Kalau yang sulit-sulit ane sudah tidak mampu.