Sebelumnya saya sudah menulis artikel mengenai Cara Sederhana Encrypt Bash Script pada Linux Menggunakan SHC hanya saja memiliki sedikit kelemahan yaitu tidak bisa dijalankan pada server lain. Cara lain agar bash script yang sudah dienkripsi bisa digunakan server lain tanpa ribet yaitu menggunakan bash-obfuscate bisa dilihat pada: https://www.npmjs.com/package/bash-obfuscate
Ini menurut saya lumayan bagus karena kita tidak perlu menginstall script yang sama pada tiap server dalam hal ini jika menggunakan SHC, kita mesti install SHC juga pada server yang akan dienkripsi bashnya. Dari segi enkripsi mungkin SHC jauh lebih aman dari pada bash-obfuscate tapi bisa jadi sangat aman jika kita gabungkan bash-obfuscate dengan SHC. Bisa dijamin scriptnya gak ada yang bisa baca. hehe
Install NODE.JS
Hal pertama yang dilakukan adalah install dulu basenya script obfuscate yaitu node.js, dalam hal ini saya menggunakan server Ubuntu seperti ini:
apt-get install npm nodejs ln -s /usr/bin/nodejs /usr/bin/node
Install bash-obfuscate
Cukup jalankan perintah seperti ini:
npm install -g bash-obfuscate
Usage
Usage: bash-obfuscate [options] Options: -o, --out Output file -c, --chunk-size, --chunk-size Chunk size (for variables in obfuscated code) [default: 4] -r, --randomize Randomize variable order [boolean] [default: true]
Uji coba enkripsi
Kita bisa menggunakan script yang ada di artikel Cara Sederhana Encrypt Bash Script pada Linux Menggunakan SHC random.sh, kemudian jalankan:
bash-obfuscate random.sh -o random2.sh
Nanti kurang lebih scriptnya jadi seperti ini:
# cat random2.sh z=" ";Nz='rate';bz=' ))';Lz=' to ';Sz='(( s';Bz=' -n ';Xz='<= $';Kz='want';Fz='ndom';Mz='gene';Qz=' max';Yz='max;';Tz='tart';Az='echo';Dz=' man';Vz='; st';Uz=' = 1';dz=' -e ';Oz='? "';fz='DOM';Hz='bers';Rz='for ';Pz='read';Zz=' sta';Wz='art ';cz='do';az='rt++';ez='$RAN';Gz=' num';Iz=' do ';Ez='y ra';gz='done';Jz='you ';Cz='"How'; eval "$Az$Bz$Cz$Dz$Ez$Fz$Gz$Hz$Iz$Jz$Kz$Lz$Mz$Nz$Oz$z$Pz$Qz$z$Rz$Sz$Tz$Uz$Vz$Wz$Xz$Yz$Zz$az$bz$z$cz$z$Az$dz$ez$fz$z$gz"
Sama-sama gak bisa dibaca kan hehe, jika dijalankan mestinya langsung OK dan bisa digunakan pada server lain (Ubuntu/CentOS tested)
Baik cukup sampai sini ya, mudah-mudahan teman-teman bisa mengerti ya~~
See you in next article~
Cara decryptnya gimana han?
ga bisa didecrypt bossqu 😀
Untuk ngedeobfuscate-nya tinggal ganti eval jadi echo
waiya, thanks infonya bossqu