PyShell adalah alat baru yang dibuat untuk karunia bug, peretasan etis, penguji penetrasi, atau tim merah. Alat ini membantu Anda untuk mendapatkan antarmuka seperti shell di server web untuk diakses dari jarak jauh. Tidak seperti kulit web lainnya, tujuan utama alat ini adalah menggunakan kode sesedikit mungkin di sisi server, terlepas dari bahasa yang digunakan atau sistem operasi server.
Daftar default dengan shell yang disertakan dengan PyShell ada di bawah. Dan seperti yang Anda lihat, ada juga dukungan untuk WordPress!
Jadi ini terlihat menarik. File wordpress.zip adalah plugin WordPress berbahaya yang menempatkan pintu belakang ke dalam instalasi WordPress dan memungkinkan untuk berkomunikasi dengan shell PyShell.
WordPress.zip default cukup tidak terdeteksi oleh sebagian besar solusi antivirus saat penulisan ini. Saat mengunggah file wordpress.zip ke VirusTotal yang memindai file menggunakan 58 mesin perangkat lunak antivirus yang berbeda, hasilnya adalah sebagai berikut:
Hanya satu mesin AV yang mendeteksi pintu belakang dan Tencent-nya. Dan jika kita melihat lebih dekat ke plugin ada dua file:
•plugin.php
•shell.php
Dan mereka cukup lurus ke depan dan mudah diubah dan membuatnya semakin tidak terdeteksi. Misalnya nama plugin adalah PyShell dan membuatnya cukup jelas jika ada yang melakukan penyelidikan forensik.
Anda dapat mengunduh PyShell di sini:
•https://github.com/JoelGMSec/PyShell
Menguji PyShell
Pertama kita mulai dengan mengkloning repo dari Github dan menginstal persyaratannya. Pengujian kami dilakukan di Kali Linux 2022.1:
git clone https://github.com/JoelGMSec/PyShell
cd PyShell
pip install -r requirements.txt
python pyshell.py
Dan jika semuanya berfungsi, kita akan melihat sesuatu seperti ini:
Langkah selanjutnya adalah mengunggah file plugin wordpress.zip ke instalasi WordPress kita. Untuk mengunggah plugin baru, pengguna harus memiliki peran Admin Super. Cara mendapatkan peran Super Admin atau akses ke instalasi WordPress tidak termasuk dalam panduan ini.
Jadi, langkah pertama adalah mengunggah plugin. Ini dilakukan jika Anda menavigasi ke Plugins -> Add New lalu tekan Upload Plugin di bagian atas layar. Tidak perlu mengaktifkan plugin, pintu belakang tetap berfungsi.
Ini terlihat bagus! URL ke pintu belakang sekarang terlihat seperti ini:
https://site.com/wp-content/plugins/wordpress/shell.php
Karena nama filenya adalah wordpress.zip, slug/subfoldernya adalah wordpress. Dan karena shell.php ada di file wordpress.zip, url pintu belakang akan diakhiri dengan shell.php
Jadi, mari jalankan pyshell dan uji apakah mungkin untuk berkomunikasi dengan pintu belakang. Baris perintah akan menjadi seperti ini:
python pyshell.py
https://site.com/wp-content/plugins/wordpress/shell.php
get
Tetapi ada kesalahan: HTTPSConnectionPool(host='scanme.wpsec.com', port=443): Percobaan ulang maksimum terlampaui dengan url: /wp-content/plugins/wordpress/shell.php?code=whoami (Disebabkan oleh SSLError( SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] verifikasi sertifikat gagal: sertifikat telah kedaluwarsa (_ssl.c:1129)')))
Ini karena sertifikat SSL/TLS scanme.wpsec.com telah kedaluwarsa. Untuk memperbaiki masalah ini, kami membuat permintaan tarik ke tim pyshell dan sekarang berfungsi:
Itu saja untuk saat ini! Dalam posting blog berikutnya kami mencari cara untuk mendeteksi backdoor pyshell. Seperti biasa, kami menyarankan untuk menggunakan pemindai kerentanan WordPress gratis kami untuk mencegah penyusupan.