Cara Obfuscate Bash Menggunakan SHC, Bash Obfuscator dan Blind Bash

Cara Obfuscate Bash Menggunakan SHC, Bash Obfuscator dan Blind Bash

obfuscate-bash-blindbash-shc-bash-obfuscator

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

Output:
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

Setelah membuat script bash sederhana jangan lupa ketikkan perintah seperti di bawah ini.


chmod +x random.sh

Jika sudah memberikan permission, jalankan file random.sh


./random.sh
Pilih angka untuk generate obfuscate? 3
25800
8219
26078

3. Obfuscate Script Bash

Jalankan perintah shc dengan file yang ingin di obfuscate dengan perintah seperti berikut.


shc -f random.sh

Output:


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

Pahami:
  • 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.
Sekarang coba dan jalankan file random.sh.x dengan perintah di bawah 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$?

Nah itu dia cara obfuscate menggunakan bash shc shell script selanjutnya kita akan mencoba obfuscator lainnya bernama bash obfuscator.

1. Instalasi NodeJS

Kali ini kita membutuhkan node.js serta menggunakan sistem operasi Ubuntu untuk OS lainnya disesuaikan saja.


apt-get install npm nodejs
ln -s /usr/bin/nodejs /usr/bin/node

Tahap selanjutnya tinggal install bash-obfuscatenya sesuai dengan perintah di bawah ini.


npm install -g bash-obfuscate

2. Cara Penggunaan

Gunakan script bash sederhana yang sudah dibuat tadi kemudian jalankan perintahnya.


bash-obfuscate random.sh -o random2.sh

Output:


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"

Nah untuk bagian akhir ini cukup mudah dan sedikit ada gaya warna biar enak dipandang yaitu blind bash. Ikuti petunjuknya!

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
Demikianlah cara simpel melakukan obfuscate bash dengan tiga varian dengan tingkat kesulitan yang berbeda-beda dan mungkin juga tidak selalu 100% aman dari teknik reverse code. Semoga obfuscate ini membantu semua orang dalam menyembunyikan source code asli dan meminimalisir adanya modifikasi dan berbagai hal lainnya.

Anda mungkin menyukai postingan ini