Cara Obfuscate Bash Menggunakan SHC, Bash Obfuscator dan Blind Bash
Obfuscate bash memang sangat perlu bagi sebagian programmer guna mengamankan dan mencegah siapapun untuk memodifikasi script miliknya. Namun perlu diketahui juga beberapa tools yang akan dibahas di sini belum tentu 100% aman dari deobfuscator yang sudah bertebaran di Google. Setidaknya hal ini menambah waktu pekerjaan bagi orang yang ingin reverse codenya.
Disini ada tiga varian cara obfuscate bash diantaranya menggunakan SHC, bash obfuscate dan blind bash. Kelemahan obfuscate menggunakan SHC yaitu tidak bisa dijalankan diserver lain akan tetapi cara ini lebih aman dibanding kedua saudaranya.
Oiya bagi yang belum, SHC adalah semacam script shell yang di compile ulang untuk sistem operasi manapun namun untuk menghasilkan script berjalan sempurna maka SHC ini sangat cocok dijalankan pada sistem Linux RedHat / CentOS.
1. Instalasi SHC
apt-get install build-essential -y
wget -c https://github.com/neurobin/shc/archive/4.0.2.tar.gz
tar xzvf 4.0.2.tar.gz
cd shc-4.0.2/
./configure
make
make install
shc -v
shc parse(-f): No source file specified
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-o outfile] [-rvDSUHCABhs] -f script
2. Buat Script Sederhana Bash
#!/bin/bash
echo -n "Pilih angka untuk generate obfuscate? "
read max
for (( start =1; start <= $max; start++ ))
do
echo -e $RANDOM
done
chmod +x random.sh
./random.sh
Pilih angka untuk generate obfuscate? 3
25800
8219
26078
3. Obfuscate Script Bash
shc -f random.sh
ls -l random.sh*
-rwxr-xr-x 1 root root 153 Nov 11 00:58 random.sh
-rwxrwxr-x 1 root root 11400 Nov 11 00:59 random.sh.x
-rw-r--r-- 1 root root 16195 Nov 11 01:00 random.sh.x.c
- file random.sh adalah script asli
- file random.sh.x adalah script yang sudah berhasil di obfuscate ke dalam format binary
- file random.sh.x.c adalah terdiri dari bahasa program C dan dapat dicompile menggunakan perintah ini.
cat random.sh.x
ELF>`
@@H%@8 @@@@@@?88@8@@@DD ``X ((`(`?TT@T@DDP?td??@?@||Q?tdR?td``??/lib64/ld-linux-x86-64.so.2GNU GNUT\?X}0?|?3~?1U?A??0?@ĉ?ݣkĹ?@9??a>S-Z?rLy??? ?(???
h `
p `
x `? `? `? `? `? `? `? `? `? `? `H?H?E H??t?H???52 ?%4 @?%2 h??????%* h??????%" h??????% h?????% h?????%
h?????% h?????%? h?p????%? ?`????%? h ?P????%? h
?@????%? h
?0????%? h
?????%? h?????%? h??????%? h??????%? h??????%? h??????%? h?????%? h?????%? h?????%? h?????%? f?1?I??^H??H???PTI?? @H???@H???@?????fD?$`UH-$`H??H??vH??t]?$`??f?]?@f.??$`UH??$`H??H??H??H???H?H??t?H??t
??????H??`??????H???d???H??????H??h???H??????H??`???H??????H?E?????????|??????????E?H?????H?E?H??(???H?E?H??8???H?E?H??`?????H???u????H?M?dH3H?E?H?H??uِ]?UH??H??P??????dH?%(H?E?1??$???H?H???????l?????@??@H)?H?Љƿ?@??????!`????H??????H??????H??????H???Y???H??????H???????X@H?Ǹ????H??????H???t???H??????H??????H????????????H??????uVH??????H????????????Hc?H?????? ??u?7!`???????t
?7!`?m??B!`?
??????|!`???????>"`???????>"`???????S"`???????S"`?>"`?v?????t
?>"`????????H?E?H?}?u
??t;?????H?E?H?}?u?H???|!`H???g????N?
??H?U?H?EؾD!`H?Ǹ????H?E?H?E??E??EЍP?U?H?H??H?E?H?H?E?H?H??}?t,??
??t!?EЍP?U?H?H??H?E?H?H?B!`?i
??t!?EЍP?U?H?H??H?E?H?H?V!`?EЍP?U?H?H??H?E?H?H?E?H??? ??t!?EЍP?U?H?H??H?E?H?H?$`?}?~?E????E??;?EЍP?U?H?H??H?E?H?
????7!`H??H[]?UH??ATSH???}?H?u?H?E?H?H?U??E?H?։?????H?H?E?H?H?H??t
I??M?ྜ@H?Ǹ??????H??[A\]?DAWAVA??AUATL?%N UH?-N SI??I??L)?H?H???????H??t 1??L??L??D??A??H??H9?u?H?[]A\A]A^A_Ðf.???f.?@H??H???????H?H??x%lx=%lu %d%lu %d%c_E: neither argv[0] nor $_ works.: %s%s%s: %s
|(??????????????
???????0????P????p??????????????G?????? x???h?????zRx
???*zRx
$X????FJ
W ??;*3$"D????\A?C
??????A?C
??????A?C
?k????A?C
Z8???_A?C
?w????A?C
B???A?C
E?I??SA?C
G???G????A?C
Dt????eB?B?E ?B(?H0?H8?M@r8A0A(B BB???????0
@
@
@???o?@?@?@ ? @
`(?@8H ???o?@???o???o?@(`? @? @
@
@&
@6
@F
@V
@f
@v
@?
@?
@?
@?
@?
@?
@?
@?
@
@
@&
@6
@F
zӅ?&?m?>?T?u?W\j??H?
/c???i????!
PN. ?!?͚6|?8??i{H&u???nu
x?CT?
?`
@`
?
?@@@ ?P@P??@?|?(@? ?(`(?? `?? `? 5 $`$H ?0$5J$?
1. Instalasi NodeJS
apt-get install npm nodejs
ln -s /usr/bin/nodejs /usr/bin/node
npm install -g bash-obfuscate
2. Cara Penggunaan
bash-obfuscate random.sh -o random2.sh
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"
1. Git dan Penggunaan Blind Bash
git clone https://github.com/Rizer0/Blind-Bash
cd Blind-Bash/in //ganti source code defaultnya
php blindShell.php
Posting Komentar