Apr 28, 2015

Injecting Executable File

Selamat Malam. Pada kesempatan kali ini, seperti tertera pada Title saya ingin bercerita sedikit mengenai Injeksi Executable File. Duh, saya malah jadi bingung dengan “Injeksi Executable File”, enaknya nyebutnya apa yah ?. Dah pokoknya gini, kita mencoba memasukan sebuah proses ke dalam sebuah executable file, sehingga proses yang kita inginkan bisa ter-eksekusi ketika aplikasi di jalankan. Pada tulisan kali ini saya menggunakan Windows XP SP3 yang terinstall pada VMWare, dan OllyDBG. Kita akan mencoba menginjeksi NOTEPAD.EXE bawaan dari Windows XP, bukan karena apa-apa karena saya juga cuman ngopi dari internet tak uji coba trus bikin tutorial dengan bahasa Indonesia hehe.
Saya sudah mencoba teknik ini di Windows 8.1 64bit, dan tidak berhasil, karena : ada kemungkinan file NOTEPAD.EXE di Windows 8.1 beda atau saya menggunakan OllyDBG yang 32bit ?. Wis pokokenya begitu lah, saya blom berhasil untuk Windows 8.1.
Boleh Curhat dikit yak,. Tentunya boleh dong wkwkwkwk,. Asli lagi mumet banget nich malam. Masalahnya sepele, client minta file log dari sebuah aplikasi di kirim ke server, ntah bagaimanapun caranya dan menggunakan jalan apa pun. Lah file log dikirim ke server menggunakan aplikasi yang menggunakan file log tersebut ?. lah kalau aplikasi jalan tentunya file log-nya kan dalam posisi open terbuka, OK kalau cuman bikin kopinan kirim ke ke server, tetapi ada sebuah proses yang tidak bisa saya ceritakan yang intinya kalau saya tidak menghapus file log ketika log telah dikirim ke server, maka aplikasi akan berulang tak hingga. Yak mumet. Tapi ya udah, dari pada mumet-mumet trus mimik-mimik mendingan mumet trus bikin orang lain ikut mumet, kan asik biar bisa ikutan sama-sama mumet. Wkwk
Ok, kita mulai saja. Pertam-tama kita copy-kan dulu file NOTEPAD.EXE yang berada pada C:\Windows\NOTEPAD.EXE ke Desktop.

Buka file NOTEPAD.EXE dengan OllyDBG.

Cari lokasi kosong. Ngga tahu semua aplikasi atau tidak, tetapi banyak aplikasi yang saya buka dengan OllyDBG dia mempunyai free space yang bisa kita gunakan untuk memasukan apapun dari string, sampai dengan perintah program. Biasanya lokasi kosong tersebut ada di bagian akhir program, jadi scroll down OllyDBG sampai anda menemukan lokasi yang cocok dengan selera anda, tidak harus sama dengan saya.

Pada tulisan ini saya ingin (meskipun sebenere bukan keinginan saya, cuman di tutorial yang saya baca contohnya begitu) menampilkan sebuah MessageBox yang bertuliskan “Injected”. Anda bisa memasukan string apapun, tapi kalau bisa jangan telalu panjang, karena kalau terlalu panjang Ibu-Ibu katanya gak suka, tapi kalau terlalu lebar katanya lagi Bapak-Bapak yang gak minat. Tulis pada sebuah kertas string yang ingin anda tampilkan, kemudia hitung banyak karakternya termasuk spasi. Untuk contoh string “Injected” terdapat 8 karakter, sehingga click salah satu baris di Lokasi Kosong, kemudian drag sebanyak 8 baris, atau sesuiakan dengan string yang ingin ditampilkan.

Kemudian click kanan pada area yang telah dipilih dan pilih dari menu “Binary” > “Edit”.

Dari Windows Editor yang muncul, ketikan karakter yang ingin anda tampilkan.

Click “OK” dan tekan CTRL+A untuk melakukan analisis code.

Kemudian pada beberapa baris di bawahnya masukan code Assembly berikut:

PUSH 0               ; nampilkan MessageBox dengan OK button
PUSH 1008748       ; alamat relatif memory string berada   
PUSH 1008748           ; alamat relatif memory string berada      
PUSH 0                 ; Nggak make Icon
CALL MessageBoxA ; Panggil MessageBox

Tulis dan catat baik-baik alamat dari perintah PUSH 0 yang pertama, dalam tulisan ini adalah 1008752.

Kemudian click kanan pada baris yang kosong dan pilih menu “Go To” > “Origin”, untuk kembali ke entry point atau baris pertama kali aplikasi di jalankan.

Setelah kita di kembalikan lagi ke Entry Point, Drag beberapa baris yang ada di mulai dari Entry Point kebawah, kemudian click kanan dan pilih menu “Copy” > “To clipboard”.

Setelah itu, Paste Code yang sebelumnya telah di Copy ke Notepad. Dalam hal ini berarti Notepad yang berada pada C:\Windows.

Balik lagi ke OllyDBG, rubah baris pada Entry Point yang dalam tulisan ini adalah PUSH 70, menjadi JMP 1008752.

Buka kembali Notepad tempat kita menyimpan baris code dari Entry Point tadi, dan bandingkan perubahan yang terjadi pada baris mana saja.

Balik lagi ke baris di mana tadi di awal kita membuat string, dan masukan kode sehingga terlihat seperti berikut

PUSH 70 dan PUSH 1001898 adalah baris yang ter-replace pada saat kita memasukan PUSH 1008752, tepat di bawahnya kita beri perintah JMP 10073A4 agar kita balik lagi ke baris tepat di bawah baris yang ter-replace. Kemudian click kanan pada baris yang berwarna merah, atau baris yang telah mengalami perubahan pilih “Copy to Executable” > “All Modifications”.

Pilih “Copy All” pada MessageBox yang tampil, akan tampil sebuah Windows baru, click kanan pada area yang berwarna hitam, dan pilih  “Backup” > “Save data to file” dan beri nama NOTEPAD1.EXE. Jalankan file NOTEPAD1.EXE dan kita akan mendapatkan sebuah MessageBox.


Terima Kasih, semoga Tidak bermanfaat, dan selamat ketemu kembali di tulisan-tulisan lain yang lebih membosankan.



Powered by Blogger.

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search