Sebagian besar tim keamanan menganggap persimpangan NTFS dan tautan simbolik sebagai fitur sistem file khusus. Mereka membiarkan satu direktori mengarah ke direktori lain, seperti pintasan yang dianggap nyata oleh OS. Mereka ada untuk kompatibilitas ke belakang, manajemen penyimpanan, hal-hal yang jarang muncul di SOC. Namun mereka memiliki properti yang membuatnya menarik dari sudut pandang ofensif: setiap pengguna dapat membuatnya.
Tidak diperlukan hak istimewa admin, dan tidak ada izin khusus selain akses tulis ke folder target.
Kami menemukan bahwa dengan mengarahkan persimpangan kembali ke direktori induknya, penyerang dapat membuat loop rekursif yang menghasilkan jalur file tak terbatas secara efektif. Alat yang mencoba memindai direktori secara rekursif, termasuk produk EDR, dapat mengikuti putaran tersebut dan tidak pernah selesai.
File berbahaya yang berada di folder yang sama tidak diperiksa, sehingga menciptakan teknik yang kami juluki GhostTree.
Bagaimana persimpangan NTFS bekerja
Jalur file Windows adalah bagian mendasar dari sistem operasi, tetapi memiliki kompleksitas. Sementara sebagian besar pengguna berinteraksi dengan struktur folder sederhana, sistem file NTFS memperkenalkan kemampuan tingkat lanjut seperti persimpangan dan tautan simbolik.
Fitur-fitur ini memiliki tujuan yang sah, seperti mengalihkan direktori, menjaga kompatibilitas dengan aplikasi lama yang mengharapkan file berada di lokasi tertentu, atau mengatur ulang file tanpa memindahkannya secara fisik.
Persimpangan adalah jenis titik reparse NTFS yang mengalihkan satu direktori ke direktori lain. Membuatnya hanya memerlukan izin menulis dan satu perintah di CMD:
mklink /J C:LinkToFolder C:TargetFolder
Ini menciptakan persimpangan bernama “LinkToFolder” yang secara transparan menunjuk ke “TargetFolder.” Aplikasi apa pun yang mengakses file melalui persimpangan melihat konten direktori target seolah-olah itu lokal.
Namun ada satu kendala yang penting di sini. Sistem Windows klasik menerapkan panjang jalur maksimum 260 karakter, yang berakar pada perangkat lunak lama dan desain sistem file.
Secara teknis dimungkinkan untuk memperluas batas ini hingga 32.767 karakter melalui kunci registri, namun banyak aplikasi dan utilitas tidak dilengkapi untuk menangani jalur melebihi 260.
Meskipun NTFS mendukung jalur yang lebih panjang, penggunaan praktisnya tetap dibatasi oleh perangkat lunak yang ada. Batasan tersebut menentukan seberapa dalam loop rekursif dapat berjalan, dan berapa banyak jalur unik yang dapat dihasilkan GhostTree.
Apa yang tidak Anda ketahui bisa menyakiti Anda.
Melindungi data sensitif dimulai dengan visibilitas — mengetahui di mana informasi Anda berada, siapa yang dapat mengaksesnya, dan bagaimana informasi tersebut digunakan.
Platform Keamanan Data Varonis secara otomatis mengunci paparan, terus memantau aktivitas di seluruh SaaS, IaaS, lokal, dan basis data, serta mendeteksi dan merespons ancaman orang dalam, ransomware, dan penyalahgunaan AI.
Cabang Hantu
GhostBranch adalah teknik yang lebih sederhana dari kedua teknik tersebut. Setiap pengguna dapat membuat persimpangan folder, mengatur nama dan tujuan persimpangan. Pertimbangkan struktur folder ini:
C:Parentprogram.exe
Jalankan perintah:
mklink /J C:ParentChild C:Parent
Ini menciptakan perulangan logis dengan mengarahkan folder anak kembali ke folder induknya. Direktori anak sekarang berisi semua yang dilakukan induknya, termasuk dirinya sendiri. Hasilnya adalah jumlah jalur valid yang tidak terbatas ke file yang sama:
C:ParentChildProgram.exe C:ParentChildChildProgram.exe C:ParentChildChildChildChildProgram.exe
Karena loop, Anda dapat menambahkan beberapa folder “Anak” ke jalurnya, dan itu tetap valid. Setiap jalur ini menghasilkan eksekusi yang sama.
Pohon Hantu
GhostTree dibangun berdasarkan konsep GhostBranch dengan membuat beberapa folder anak, bukan satu. Misalnya, Anda dapat membuat dua folder anak:
mklink /J C:ParentChild1 C:Parent mklink /J C:ParentChild2 C:Parent
Sekarang setiap level di jalur dapat bercabang melalui Child1 atau Child2, dan keduanya berputar kembali ke induknya. Hal ini memungkinkan berbagai jalur:
C:ParentChild1Program.exe C:ParentChild2Program.exe C:ParentChild1Child1Program.exe C:ParentChild1Child2Program.exe
Perhitungan jalur
GhostBranch dan GhostTree menghasilkan jalur yang dapat diperluas hingga panjang maksimum yang diizinkan Windows. Perbedaannya terletak pada keragaman jalur, yang mana folder anak tambahan GhostTree mengubah banyak hal.
Cabang Hantu
Di Windows, panjang jalur tradisional maksimum adalah 260 karakter. Untuk memaksimalkan jumlah direktori, seseorang dapat membuat folder satu huruf (misalnya, “P”) langsung di bawah drive C: dan menggunakan file executable bernama 1.exe.
Contoh jalur meliputi:
C:P1.exe C:PP1.exe C:PPP...1.exe
Konfigurasi ini memungkinkan sekitar 126 struktur direktori unik karena keterbatasan panjang jalur.
Pohon Hantu
Metode GhostTree memperkenalkan dua folder induk, “P” dan “B”, berbeda dengan struktur folder tunggal yang digunakan sebelumnya. Contohnya meliputi:
C:B1.exe C:PB1.exe C:PBPB...1.exe
Meskipun kedalaman maksimumnya tetap sekitar 126 folder, setiap level dapat diberi nama “P” atau “B”, yang secara efektif menciptakan struktur seperti pohon biner. Dengan konfigurasi ini, setiap node mewakili jalur yang berbeda, dan jumlah total node yang mungkin dihitung sebagai:
2^126 ≈ 8.5 × 10^37
Seberapa besar itu? Ini jauh lebih besar daripada jumlah butiran pasir di Bumi (8,5 × 10^18) atau bahkan atom di tubuh Anda (10^27).
Mengapa hal ini penting bagi para pembela HAM
Hanya dengan dua baris kode, pengguna dapat menghasilkan jalur valid tanpa akhir, sehingga tidak mungkin menyelesaikan pemindaian direktori induk dengan perintah dir secara rekursif. Hal yang sama berlaku untuk produk EDR yang memindai folder untuk mencari file berbahaya. Penyerang menempatkan malware di direktori induk, menyiapkan struktur GhostTree, dan folder yang memuatnya menjadi tidak dapat dipindai. Pemindaian macet. File berbahaya tidak diperiksa.
Kami menguji teknik ini terhadap Windows Defender dan mengonfirmasi bahwa teknik ini dapat digunakan untuk menghindari pemindaian folder.
Kami melaporkan masalah ini ke Microsoft. Tiket ditutup dengan penjelasan bahwa “melewati Pembela tidak melewati batas keamanan.” Masalah ini kemudian diperbaiki.
Teknik seperti GhostTree adalah pengingat bahwa pemindaian titik akhir hanyalah satu lapisan pertahanan. Memantau aktivitas sistem file pada lapisan data menangkap apa yang terlewatkan oleh pemindai, termasuk pembuatan persimpangan yang tidak wajar dan struktur direktori rekursif yang seharusnya tidak ada dalam operasi normal.
Varonis memantau pola akses file dan mendeteksi aktivitas anomali semacam ini di seluruh sistem file dan infrastruktur cloud.
Jadwalkan demo Anda hari ini.
Disponsori dan ditulis oleh Pahlawan.







