— Bruteforce Password – merupakan topik yang banyak dicari di google, ada banyak sekali caranya. Ketika ada request dari teman sebrang sono untuk dapatkan kembali akses FB secara penuh karena ntah lupa dan banyak lainnya. Tawaran menarik untuk dapat dikerjakan karena hanya bantu si pemilik mendapatkan aksesnya kembali bukan buat iseng2 punya orang lain.
Tulisan kecil dan ringkas ini akan membahas algoritma sehingga tidak spesifik untuk bahasa tertentu dan merupakan aplikasi secara real yang cukup efektif dalam melakukan jebol password atau bagi kalian yang sedang menyusun script/kode agar aplikasi robust terhadap gangguan dilapangan.
Tulisan kecil ini membahas tentang algoritma yang digunakan agar robust dan bisa diaplikasikan dengan skala penuh
Pilih-pilih bahasa dan tools
Contents
Jebol password FB pasti sulit apalagi kalau password pemiliknya cukup strong dalam membuat password yang melibatkan simbol. Pilih-pilih bahasa yang tersedia seperti C#, java, C++, Python atau perl bisa digunakan, namun demikian butuh juga library buat scraping serta dukungan database!
Setelah pikir-pikir, ada 3 bahasa yang mudah digunakan yaitu C#, Java, dan Python kemudian dukungan untuk scraping ternyata Java dan Python lebih masuk akal! Java bisa menggunakan Beautiful Soup dan Python disini. Tapi urusan scraping tidak semudah itu, saya serahkan saja ke library mechanize yang bisa digunakan ditermux – python untuk hack FB kecil-kecilan.
Python dan Mechanize
Yup lagi-lagi python menjadi pilihan masuk akal berkat adanya library mechanize, ada pertimbangan lain juga sih yaitu untuk menyimpan database log itu sangat dibutuhkan sekali! kan nggak lucu ketika sedang jebol password sebanyak 1 juta kali, tiba-tiba koneksi putus atau lainnya mau ngulang dari awal!
Untuk kondisi real, bisa jutaan password yang harus digunakan, tentu ini membutuhkan mekanisme penyimpanan khusus karena ada 2 hal yaitu
- mati listrik bisa menghilangkan memory komputer RAM!
- koneksi internet yang tidak stabil
Sehingga kita butuh paramater khusus untuk menyimpan password yang sudah dicoba sehingga tidak usah digunakan lagi. Kita serahkan saja ke sqlite3, yup ini udah bawaan jadi OK2 saja kita menggunakan Python.
Wordlist dan Generator Password
Cara terbaik untuk jebol password yaitu setidaknya kita punya wordlist password yang berisi kombinasi password yang umum digunakan! cara ini wajib kalian gunakan, cara mendapatkan nya cukup mudah ketikan saja wordlist password dimesin pencari.
Cara gilanya dan butuh resource besar yaitu bila cara pertama tidak goal! maka kalian bisa gunakan generator password. Kalian bisa menggunakan teknik permutation atau combination atau cara bagusnya kalian gunakan saja wordlist untuk membuat kamus password berdasarkan karakter alpabet dan jumlah minimal dan maksimal kata yang terbentuk http://github.com/rexos/wordlist. Tapi jangan kaget ntar banyak sekali kata yang terbentuk walau hanya menggunakan 28 karakter untuk 7 kata saja! bisa jutaaan password, tentu hasil create password list tersebut kalian bisa simpan menggunakan Sqlite3 atau via GUI disini
Berikut tampilan wordlist dalam Sqlite yang berisikan id dan passwordnya, id digunakan untuk mempermudah logger database pada thread
Algoritma Bekerja
Berikut cara algoritma agar optimal dan cepat
- tentukan jumlah thread untuk akses, karena ada jutaaan kombinasi tentu kita harus bekerja secara pararel untuk melakukan akses, untuk itu saya buat 3 thread saja.
- tentukan tugas looping untuk masing-masing thread, misalkan ada 1 juta record maka setiap thread akan select * from password where id between(a,b). Misalkan nih
- thread 1 akan akses password dari 1 sampai 300ribu
- thread 2 akan akses password dari 301 sampai 600ribu
- thread 3 akan akses password dari 601ribu sampai 1 juta
- Masing-masing thread akan secara otomatis menyimpan current id password serta waktu akses bila tiba2 terjadi mati listrik sehingga kita bisa tahu kapan terakhir akses. Misalkan pada thread 1 terhenti pada id=200ribu, maka thread 1 akan mengulang start dari id=200ribu, bukan mengulang lagi dari awal!
- Bila terjadi koneksi tidak stabil! maka gunakan teknik recursion untuk memanggil thread kembali bila kondisi koneksi sudah OK serta akses kembali last id yang terakhir sesuai database logger. Pastikan agar tidak saling bentrok gunakan teknik time.sleep(5)
- Bila password sudah ketemu, maka thread yang bersangkutan akan mengirimlan sinyal untuk mematikan semua thread!
Berikut tampilan logger database untuk menyimpan kondisi masing-masing thread, misalkan pada Thead 1 berisi informasi
- loading data 1 sampai 700 ribu,
- sedang akses pada record ke 415132
- password yang sedang dicoba 44976
- waktu akses
- ulangan dari 500 kali dengan hitungan mundur 362
Tampilan Aplikasi berbasis CLI
berikut tampilan aplikasi berbasis CLI menggunakan 3 thread, bila dicermati akan ada beberapa thread yang mati kemudian secara otomatis akan memanggil kembali. Agar mudah dipantau maka saya menggunakan tqdm sebagai progress bar nya
thread akan terus menerus bekerja tanpa henti, seperti yang sudah saya jelaskan ketika internet mati maka masing-masing thread akan time.sleep(5) terlebih dahulu kemudian melakukan koneksi kembali dan begitu seterusnya sehingga tidak akan pernah mati.
RAM hemat = listrik Hemat
Bila terjadi mati listrik atau koneksi mati total, maka thread diberikan kesempatan sebanyak 500 kali (bisa koq di set jutaan kalian kalau perlu) untuk autoreconect, bila sudah mencapai batas tersebut semuanya berhenti total, tapi tidak usah kuatir semuanya ter record koq mulai dari
- last akses
- id password
Dengan teknik diatas, kita hemat terhadap penggunaan RAM komputer, bisa dibayangkan bila ada 9 GB password dengan 900 juta record kalian loading ke RAM itu akan boros listrik! karena kita bisa setting ke tiga thread untuk loading jumlah password oleh user tidak harus semuanya diload
Pararel Thread untuk percepat akses
Apa jadinya kalau setiap 1 password butuh validasi ke server sebesar time acces sebanyak 1.45 detik atau dalam 1 menit terjadi 41 kali saja, ini tidak ideal sama sekali!
Dengan adanya teknik pararel threading sebanyak 3 akan meningkatkan kecepatan akses sebesar 41 kali x 3 = 123 akses dalam / menit.
Kalian bisa hitung sendiri jika punya password sebanyak 1000 records akan selesai pada menit ke 8 saja
Tapi tidak begitu saja kalian naikan jumlah thread! misalkan dibuat 100 thread! itu akan sulit dikontrol dan banyak gagal koneksi ke server! kecuali koneksi internet kalian itu bagus 50MBS/detik tapi jangan tanya tagihan internet bisa 400GB dalam 1 bulan!
Saran saya adalah gunakan wordlist terlebih dahulu sebelum menggunakan word generator atau menggunakan teknik aturan password
Teknik aturan password untuk mengurangi jumlah wordlist
Apa itu teknik aturan password? bila kalian terpaksa menggunakan wordlist generator dan target user adalah orang yang simple dan tidak cukup rumit maka kita harus menggunakan kombinasi password yang tidak rumit! Misalkan
- hanya menggunakan huruf kecil tanpa simbol
- menentukan jumlah minimal dan maksimal karakter
- menyeleksi kembali password hasil wordlist, misalkan tidak akan menggunakan 3 karakter berulang didepan, jadi ketika ada bbbaaaii akan diabaikan karena ada 3 huruf b yang berulang
Kalian bisa menggunakan cara diatas untuk mempersempit pencarian password
Gunakan mesin yang berdaya rendah
Walaupun kode yang saya buat bisa dijalankan di termux/android tapi hal ini tidak disarankan karena butuh koneksi dan penulisan logger secara terus menerus sehingga kalian bisa menggunakan Desktop tapi jangan laptop ya. Agar lebih hemat lagi bisa pakai Rashbery Pie saja.
Yup dengan rashbery pie yang didalam nya sudah ada OS linux serta wifi, maka ini cukup ideal sebagai mesin berdaya rendah untuk melakukan tugas spesifik tanpa memusingkan biaya listrik
Gunakan Google saja
Maksudnya apa tuh! Yup kalian tahu donk mengenai google colab! secara python adalah bahasa yang digunakan di google colab! sudah saya praktekan dan hanya modal browser saja akan hemat listrik, bandiwidth internet serta dikasih RAM 16GB itu lebih dari cukup buat loading database yang besar!
Lumayanlah dikasih waktu 8 jam untuk menjalankan hal tersebut kan tidak usah pusing bila terjadi disconnect karena sudah adanya logger database sehingga tidak ngulang dari awal lagi! ini sudah saya coba dan sangat membantu sekali!
Bruteforce
Pastikan teknik diatas itu kalian lakukan jika server tersebut tidak punya
- mesin capctha
- penutupan login setelah mencoba salah login beberapa kali
- tidak pakai VPN
Algoritma diatas hanya sekedar share saja, tidak digunakan untuk hal-hal negatif, saya hanya menggunakan diatas untuk keperluan khusus saja. Mungkin kalian punya ide lagi untuk menaikan akurasi serta waktu proses kerjanya untuk Jebol Password FB????
Comment dibawah ya