Dasar Identifikasi binary Mulyadi Santosa, S.Kom RHCE Praktisi Linux mulyaditraining.blogspot.com the-hydra.blogspot.com mulyadi.santosa@gmail.com
Kenapa perlu identifikasi? Extension tidak mencerminkan isi file Start awal reverse engineering Mendeteksi adanya penyusupan kode Dan lainnya.....
Mendeteksi tipe program $ file /bin/ls /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped $ file /usr/share/wallpapers/Water01.jpg /usr/share/wallpapers/Water01.jpg: JPEG image data, JFIF standard 1.00
Membaca header ELF $ readelf -h test ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Advanced Micro Devices X86-64 Version: 0x1 Entry point address: 0x400398 Start of program headers: 64 (bytes into file) Start of section headers: 1704 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 6 Size of section headers: 64 (bytes) Number of section headers: 23 Section header string table index: 20
Membaca header ELF (2) - ELF adalah tipe binary di Linux. - tipe EXEC berarti executable, sementara DYN berarti shared library dan seterusnya - Pada output terbaca ELF64, berarti ini executable untuk 64 bit persisnya sistem AMD 64 atau juga dikenal sebagai x86-64 - Bagian entry point menunjukkan alamat awal eksekusi program
Melihat isi file, mengurai makna Dengan perintah “strings”, kita menyaring isi file yang berupa huruf, angka atau tanda baca, bukan yang lainnya semisal NULL, BELL dst. [mulyadi@laptop ISO]$ strings zenwalk_Core-7.0.iso | head LINUX Zenwalk_Core_7.0_CD ...... Zenwalk_Core_7.0_CD .... CD001 EL TORITO SPECIFICATION CD001
Melihat isi file, mengurai makna(2) Jika kita berkonsentrasi mencari suatu string tertentu, maka kombinasi dengan grep adalah salah satu caranya: $ strings -t x zenwalk_Core-7.0.iso | grep -i alsa -m 10 10821 ALSA_FIR.DEP 10838 alsa-firmware-1.0.24.1-i486-70.1.depPX$ 108bb ALSA_FIR.MD5 108d2 alsa-firmware-1.0.24.1-i486-70.1.md5PX$ 10955 ALSA_FIR.TXT 1096c alsa-firmware-1.0.24.1-i486-70.1.txtPX$ 109ef ALSA_FIR.TXZ 10a06 alsa-firmware-1.0.24.1-i486-70.1.txzPX$ 1bb15 ALSA_UTI.DEP 1bb2c alsa-utils-1.0.24.2-i486-1.depPX$
Berhadapan dengan format propietary Repository distro Linux menyertakan paket catdoc yang berisi program untuk melihat isi file MS Office $ rpm -ql catdoc /usr/bin/catdoc # Word /usr/bin/catppt # Power Point /usr/bin/wordview # Word /usr/bin/xls2csv # Excel ...