Peneliti keamanan telah mengembangkan implementasi utilitas Sysinternals PsExec yang memungkinkan pemindahan secara lateral dalam jaringan menggunakan satu port yang kurang terpantau, Windows TCP port 135.
PsExec dirancang untuk membantu administrator menjalankan proses dari jarak jauh pada mesin di jaringan tanpa perlu menginstal klien.
Pelaku ancaman juga telah mengadopsi alat tersebut dan sering menggunakannya dalam tahap pasca-eksploitasi serangan untuk menyebar di jaringan, menjalankan perintah pada beberapa sistem, atau menyebarkan malware.
Sementara PsExec asli tersedia di suite utilitas Sysinternals, ada juga implementasi dalam koleksi Impacket kelas Python untuk bekerja dengan protokol jaringan, yang memiliki dukungan untuk SMB dan protokol lain seperti IP, UDP, TCP yang memungkinkan koneksi untuk HTTP, LDAP (Protokol Akses Direktori Ringan), dan Microsoft SQL Server (MSSQL).
Versi asli dan varian Impacket bekerja dengan cara yang sama. Mereka menggunakan koneksi SMB dan didasarkan pada port 445, yang perlu dibuka untuk berkomunikasi melalui protokol berbagi file jaringan SMB.
Mereka juga mengelola layanan Windows (membuat, menjalankan, memulai, menghentikan) melalui Panggilan Prosedur Jarak Jauh (RPC), sebuah protokol yang memungkinkan komunikasi tingkat tinggi dengan sistem operasi.
Namun, untuk fungsionalitas yang diperluas, port 135 diperlukan. Namun, memblokir port ini tidak mencegah aktor ancaman menyelesaikan serangan, oleh karena itu port 445 sangat penting agar PsExec berfungsi.
Karena itu, sebagian besar defender fokus pada pemblokiran port 445, yang penting bagi PsExec untuk menjalankan perintah atau menjalankan file. Ini berfungsi dalam banyak kasus tetapi tidak cukup.
Berdasarkan library Impacket, para peneliti di Pentera, perusahaan yang menyediakan solusi validasi keamanan otomatis, telah membangun implementasi alat PsExec yang hanya berjalan pada port 135.
Pencapaian ini membawa perubahan pada permainan pertahanan karena memblokir hanya port 445 untuk membatasi aktivitas PsExec yang berbahaya tidak lagi menjadi opsi yang dapat diandalkan untuk sebagian besar serangan.
Lazar menambahkan dalam laporan yang dibagikan bahwa perintah dijalankan melalui Lingkungan Komputasi Terdistribusi / Panggilan Prosedur Jarak Jauh (DCE/RPC) dan proses “berjalan terlepas dari outputnya.”
Variasi PsExec dari Pentera menggunakan koneksi RPC yang memungkinkan para peneliti untuk membuat layanan yang menjalankan perintah arbitrer tanpa berkomunikasi melalui port SMB 445 untuk transportasi atau keluaran.
Tidak seperti PsExec asli di suite Sysinternals, varian Pentera memiliki peluang lebih tinggi untuk tergelincir tanpa terdeteksi dalam jaringan karena banyak organisasi mengawasi port 445 dan SMB.
Poin lain yang dibuat Lazar adalah bahwa implementasi PsExec lainnya harus menggunakan SMB karena berbasis file. Varian Pentera tidak memiliki file, kata peneliti, yang akan membuatnya lebih sulit untuk dideteksi.
Penelitian Lazar tentang PsExec menyoroti bahwa sementara kerentanan keamanan seperti PetitPotam [1, 2] dan DFSCoerce telah menarik perhatian pada risiko yang ditimbulkan RPC, mitigasi tidak menekankan pemantauan DCE/RPC tetapi pada pencegahan relai NTLM.
Berdasarkan pengamatan Pentera, memblokir atau memantau lalu lintas RPC bukanlah praktik umum di lingkungan perusahaan. Alasan dalam banyak kasus adalah bahwa para pembela HAM tidak menyadari bahwa RPC dapat menimbulkan risiko keamanan ke jaringan jika dibiarkan tidak dicentang.
Will Dormann, analis kerentanan di CERT/CC, setuju bahwa memblokir port TCP 445 saja tidak cukup untuk memblokir aktivitas jahat yang mengandalkan alat tersebut.
PsExec didasarkan pada koneksi SMB dan RPC, yang memerlukan port 445, 139, dan 135. Namun, Lazar menambahkan bahwa ada implementasi RPC di atas HTTP, yang berarti bahwa PsExec berpotensi dapat bekerja melalui port 80 juga.
Peretas telah menggunakan PsExec dalam serangan mereka untuk waktu yang lama. Geng Ransomware, khususnya, mengadopsinya untuk menyebarkan malware enkripsi file.
Dalam serangan yang berlangsung hanya satu jam, ransomware NetWalker menggunakan PsExec untuk menjalankan muatannya di semua sistem dalam sebuah domain.
Dalam contoh yang lebih baru, geng ransomware Quantum mengandalkan PsExec dan WMI untuk mengenkripsi sistem dalam serangan yang hanya membutuhkan waktu dua jam untuk diselesaikan setelah mendapatkan akses melalui malware IcedID.
Contoh lain adalah dari pelanggaran Cisco yang baru-baru ini diungkapkan, di mana geng ransomware Yanluowang menggunakan PsExec untuk menambahkan nilai registri dari jarak jauh, memungkinkan pelaku ancaman untuk memanfaatkan fitur aksesibilitas yang tersedia di layar masuk Windows.
Sumber: Bleeping Computer