Backdooring WordPress menggunakan PyShell



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.


Isi dari file-file tersebut adalah sebagai berikut, PHP-code:


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:




Sekarang kita bisa melakukan perintah seperti id, who, whoami, pwd. Anda juga dapat mengunduh dan mengunggah file menggunakan perintah unduh dan unggah. Jika kita ingin mengambil kata sandi MariaDB/MySQL dari file wp-config.php, kita dapat menjalankan perintah ini:


Tentu saja komunikasi kami yang sangat bising dapat dengan mudah dideteksi dengan melihat log. Jadi kami sarankan untuk mengubah get to post, baik di file shell.php maupun saat menjalankan perintah pyshell.py. POST http-permintaan tidak dicatat secara default di log akses server web.

Contoh entri file log server web saat menggunakan metode GET untuk pintu belakang:



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.

Posting Komentar

Lebih baru Lebih lama

Popular Items