Program ini dirancang untuk memuat kode shell 32-bit atau 64-bit dan memungkinkan eksekusi atau debugging. Selain itu, dapat menghasilkan file PE yang dapat dieksekusi berdasarkan shellcode yang diinginkan. Hal ini dapat memudahkan pengujian karena biner keluaran dapat digunakan oleh alat rekayasa balik standar (yaitu IDA Pro (bahkan gratis) dan debugger).
Biner rilis tersedia. Anda dapat melihat demo alat ini di YouTube
Program ini menyediakan beberapa opsi untuk bekerja dengan kode shell Anda, diatur berdasarkan penggunaannya.
Argumen global
Men-debug kode shell
Membuat File PE
Satu-satunya argumen yang diperlukan adalah menyediakan jalur ke file yang berisi kode shell Anda. Anda melakukannya dengan menggunakan argumen -f
. Ini akan disalin ke memori dan dieksekusi. Selain itu, Anda dapat menggunakan argumen -ep
untuk menyesuaikan titik masuk sebesar X byte. Hal ini memungkinkan kode shell yang tidak memulai eksekusi di awal gumpalan biner. Terakhir, -bp
menentukan apakah breakpoint harus dimasukkan sebelum kode shell. Ini akan dilakukan melalui byte 0xCC
, yang merupakan INT3. Hal ini memungkinkan Anda untuk menjalankan program di bawah debugger, mendefinisikan argumen baris perintah yang sesuai. Memasukkan breakpoint akan memungkinkan debugger menghentikan eksekusi sebelum kode shell dijalankan. Jika Anda tidak menjalankan debugger, jangan masukkan breakpoint karena akan menyebabkan program mogok.
Anda dapat menggunakan argumen -pe
untuk menghasilkan file PE yang pada dasarnya membungkus kode shell. Shellcode ditempatkan di bagian .text
. Titik masuk didefinisikan sebagai awal bagian, kecuali argumen -ep
digunakan. Argumen ini akan menentukan offset dari awal bagian dan digunakan untuk memperbarui titik masuk file PE (yaitu bidang AddressOfEntry). Selain itu, argumen -64
dapat digunakan untuk menghasilkan file PE 64-bit, kemungkinan besar untuk kode shell 64-bit. File PE yang dihasilkan dapat dianalisis melalui alat rekayasa balik umum seperti IDA Pro, Ghidra atau debugger seperti x32dbg/WinDbg/etc.
Jika argumen -d digunakan, SCLauncher akan membuat bagian baru bernama .content dan menyalin konten file ke bagian ini. Bagian ini akan mengikuti bagian .text .
Jika Anda memiliki kode shell yang belum dalam keadaan biner, Anda dapat menggunakan CyberChef untuk mengonversi kode shell tersebut dan mengunduhnya sebagai file.
Berikut adalah contoh shellcode dari Exploit-DB yang diubah menjadi konten biner di CyberChef.
Program ini dimaksudkan untuk dikompilasi dengan compiler C/C++ dari Microsoft. Anda dapat menggunakan Developer Command Prompt
setelah menginstal versi gratis/komunitas untuk dikompilasi menggunakan cl
. Contoh dari perintah ini adalah:
cl sclauncher.c
Ini akan menghasilkan sclauncher.exe
yang dapat dieksekusi.