Tautan ke semua bagian:Bagian 1. Mendapatkan akses awal (Akses Awal)Bagian 2. EksekusiBagian 3. Fastening (Kegigihan)Bagian 4. Eskalasi PrivilegeBagian 5. Pertahanan EvasionBagian 6. Mendapatkan kredensial (Akses Kredensial)Bagian 7. PenemuanBagian 8. Gerakan LateralTugas utama mengamankan akses adalah untuk memastikan kehadiran konstan dalam sistem yang diserang, karena akses dapat hilang karena restart sistem yang diserang, kehilangan kredensial, atau memblokir alat akses jarak jauh karena mendeteksi serangan.
Penulis tidak bertanggung jawab atas konsekuensi yang mungkin dari penerapan informasi yang ditetapkan dalam artikel, dan juga meminta maaf atas kemungkinan ketidakakuratan yang dibuat dalam beberapa formulasi dan ketentuan. Informasi yang dipublikasikan adalah pengungkapan kembali gratis konten MITER ATT & CK .Metode untuk memastikan keteguhan dalam sistem dapat dibagi menjadi 3 kategori:
- Pembuatan akun yang tidak sah atau pencurian kredensial yang ada;
- Instalasi tersembunyi dan peluncuran alat akses jarak jauh;
- Membuat perubahan pada konfigurasi sistem yang diserang dengan bantuan yang memungkinkan untuk menjalankan banyak kode berbahaya. Kode berbahaya dapat diluncurkan secara otomatis setiap kali sistem melakukan booting atau setiap pengguna masuk ke sistem, meluncurkan layanan yang dimodifikasi atau jahat, meluncurkan program tertentu oleh pengguna, atau memulai proses memperbarui sistem atau perangkat lunak pihak ketiga.
Selanjutnya, teknik penguncian akses yang ditawarkan oleh ATT & CK disajikan.
Sistem: Linux, macOS
Hak: Pengguna, Administrator
Deskripsi: Penyerang dapat menyematkan kode dalam file ~ / .bash_profile dan ~ / .bashrc (
dirancang untuk membuat lingkungan pengguna di OS ), yang akan dieksekusi ketika pengguna log in atau memulai shell baru. File ~ / .bash_profile dieksekusi ketika pengguna login, ~ / .bashrc dieksekusi ketika shell dibuka secara interaktif. Ketika seorang pengguna login (secara lokal atau jarak jauh, misalnya melalui SSH) dengan nama pengguna dan kata sandi, ~ / .bash_profile dijalankan sebelum undangan pengguna dikembalikan. Setelah itu, setiap kali shell baru terbuka, ~ / .bashrc dieksekusi.
Pada macOS, Terminal.app sedikit berbeda karena meluncurkan shell login default setiap kali jendela terminal dibuka, sehingga memanggil ~ / .bash_profile setiap kali.
Rekomendasi perlindungan: Memberikan hak untuk memodifikasi file ~ / .bash_profile dan ~ / .bashrc hanya untuk administrator yang berwenang.
Sistem: Windows
Hak: Administrator
Deskripsi: Aplikasi aksesibilitas (pembesar layar, keyboard di layar, dll.) Dapat diluncurkan menggunakan kombinasi tombol sebelum pengguna masuk ke sistem. Seorang penyerang dapat mengganti file startup dari program-program ini atau mengubah cara mereka diluncurkan dan membuka konsol perintah atau mendapatkan pintu belakang tanpa masuk.
- C: \ Windows \ System32 \ sethc.exe - diluncurkan 5 kali lipat dengan menekan tombol Shift;
- C: \ Windows \ System32 \ utilman.exe - diluncurkan dengan menekan kombinasi Win + U.
Di WinXP dan versi yang lebih baru, sethc.exe dan utilman.exe dapat diganti, misalnya, dengan cmd.exe, maka ketika Anda menekan kombinasi tombol yang diinginkan, cmd.exe dimulai sebelum memasuki Windows dengan hak istimewa Sistem.
Di Vista dan versi yang lebih baru, Anda perlu mengubah kunci registri yang mengkonfigurasi cmd.exe atau program lain sebagai debugger, misalnya, untuk ultiman.exe. Setelah mengedit registri dan menekan kombinasi tombol yang diinginkan pada layar login atau saat menghubungkan ke host melalui RDP, cmd.exe dengan hak sistem akan dieksekusi.
Ada juga program Windows yang dapat digunakan untuk menerapkan teknik serangan ini:
- C: \ Windows \ System32 \ osk.exe;
- C: \ Windows \ System32 \ Magnify.exe;
- C: \ Windows \ System32 \ Narrator.exe;
- C: \ Windows \ System32 \ DisplaySwitch.exe;
- C: \ Windows \ System32 \ AtBroker.exe.
Rekomendasi keamanan: Konfigurasikan awal otentikasi jaringan wajib untuk pengguna jarak jauh sebelum membuat sesi RDP dan menampilkan layar login (
diaktifkan secara default di Windows Vista dan yang lebih baru ). Gunakan Remote Desktop Gateway untuk mengelola koneksi dan mengkonfigurasi keamanan RDP.
Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: DLL yang ditentukan dalam nilai kunci AppCertDLL dimuat ke dalam setiap proses yang memanggil fungsi API yang sering digunakan:
CreateProcess, CreateProcessAsUser, CreateProcessWithLoginW, CreateProcessWithTokenW, WinExec . Nilai kunci AppCertDLLs dapat disalahgunakan dengan menyebabkan DLL jahat memuat dan menjalankan proses tertentu. AppCertDLL disimpan dalam kunci registri berikut:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager .
Rekomendasi perlindungan: Gunakan semua cara yang mungkin untuk memblokir perangkat lunak yang berpotensi berbahaya dan mengunduh DLL yang tidak dikenal, seperti AppLocker dan DeviceGuard.
Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: DLL yang ditentukan dalam nilai kunci AppInit_DLLs dimuat ke dalam setiap proses yang memuat user32.dll. Dalam praktiknya, ini hampir setiap program.
AppInit_DLL disimpan dalam kunci registri berikut:
- HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows;
- HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows.
Nilai kunci AppInit_DLLs dapat disalahgunakan untuk melampaui hak istimewa dengan memuat DLL jahat dan memulai proses tertentu. Fungsionalitas AppInit_DLL dinonaktifkan di Windows 8 dan yang lebih baru saat Secure Boot diaktifkan.
Rekomendasi perlindungan: Pertimbangkan untuk menggunakan versi OS tidak lebih awal dari Windows 8 dan mengaktifkan boot aman. Gunakan segala macam cara untuk memblokir perangkat lunak yang berpotensi berbahaya dan mengunduh DLL yang tidak dikenal, seperti AppLocker dan DeviceGuard.
Sistem: Windows
Hak: Administrator
Deskripsi: Infrastruktur / Kerangka Kerja Kompatibilitas Aplikasi Microsoft Windows dibuat untuk memastikan kompatibilitas program dengan pembaruan Windows dan perubahan kode OS. Sistem kompatibilitas menggunakan apa yang disebut shim ("gasket") - perpustakaan yang bertindak sebagai penyangga antara program dan OS. Menggunakan cache shim, sistem menentukan kebutuhan untuk gasket shim (disimpan sebagai database .sdb). Berbagai file .sdb menyimpan berbagai prosedur untuk memotong kode aplikasi, memprosesnya, dan kemudian mengarahkannya ke OS. Daftar semua shim-gasket yang diinstal oleh installer (sdbinst.exe) disimpan secara default di:
- % WINDIR% \ AppPatch \ sysmain.sdb ;
- HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ InstalledSDB .
Database shim khusus disimpan di:
- % WINDIR% \ AppPatch [64] \ Kustom;
- HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Kustom .
Untuk memastikan perlindungan dalam mode pengguna, kemampuan untuk mengubah kernel OS dengan menggunakan shim-gasket dikecualikan, dan hak administrator diperlukan untuk menginstalnya. Namun, beberapa bantalan shim dapat digunakan untuk memintas Kontrol Akun Pengguna (UAC), injeksi DLL, menonaktifkan
Pencegahan Eksekusi Data dan
Penanganan Pengecualian Srtucture , serta mencegat alamat memori. Seorang penyerang yang menggunakan shim-gasket dapat meningkatkan hak istimewa, menginstal backdoors, menonaktifkan perlindungan OS, seperti Windows Defender.
Rekomendasi perlindungan: Tidak ada banyak cara untuk mencegah shiming Aplikasi. Menonaktifkan kompatibilitas aplikasi tidak disarankan untuk menghindari masalah dengan stabilitas OS. Microsoft telah merilis
KB3045645 , yang akan menghapus flag "auto-elevate" di file sdbinst.exe untuk mencegah penggunaan sistem shim untuk memintas UAC.
Sistem: Windows
Hak: Administrator
Deskripsi: DLL Paket Otentikasi Windows dimuat oleh proses Otoritas Keamanan Lokal (LSA) saat startup sistem dan memberikan dukungan untuk beberapa proses login dan beberapa protokol keamanan OS. Penyerang dapat menggunakan mekanisme autorun LSA dengan menempatkan tautan ke file biner di kunci registri berikut:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Paket Otentikasi: [binary target] .
[Target binary] akan diluncurkan oleh sistem ketika
Paket Otentikasi diunduh.
Rekomendasi perlindungan: Di Windows 8.1, Windows Server 2012 R2 dan LSA yang lebih baru, Anda dapat membuatnya berfungsi sebagai proses yang dilindungi (PPL) menggunakan kunci registri:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = DWORD: 00000001 ,
yang mengharuskan semua DLL yang dimuat oleh LSA ditandatangani dengan sertifikat digital Microsoft.
Sistem: Windows
Hak: Pengguna, Administrator, Sistem
Deskripsi: Layanan Transfer Intelligent Latar Belakang Windows (BITS) adalah mekanisme untuk mentransfer file secara tidak sinkron melalui Component Object Model (COM) menggunakan bandwidth rendah. BITS biasanya digunakan oleh pembaru, pengirim pesan instan dan aplikasi lain yang lebih suka bekerja di latar belakang tanpa mengganggu pengoperasian aplikasi jaringan lainnya. Tugas transfer file direpresentasikan sebagai tugas BITS yang berisi antrian dari satu atau lebih operasi file. Antarmuka untuk membuat dan mengelola tugas BITS tersedia di alat PowerShell dan BITSAdmin. Penyerang dapat menggunakan BITS untuk mengunduh, meluncurkan, dan kemudian membersihkan setelah mengeksekusi kode berbahaya. Tugas BITS disimpan secara mandiri dalam basis data BITS, sementara sistem tidak membuat file atau entri registri baru, seringkali BITS diizinkan oleh firewall. Menggunakan tugas BITS, Anda dapat memperoleh pijakan dalam sistem dengan membuat tugas panjang (secara default 90 hari) atau dengan memanggil program sewenang-wenang setelah selesainya tugas atau kesalahan BITS (termasuk setelah mem-boot ulang OS).
Rekomendasi perlindungan: BITS adalah fungsionalitas OS standar, penggunaannya sulit dibedakan dari aktivitas jahat, oleh karena itu vektor perlindungan harus diarahkan untuk mencegah peluncuran alat jahat di awal rantai serangan. Menonaktifkan BITS sepenuhnya dapat menghentikan pembaruan perangkat lunak yang sah, namun, Anda dapat mempertimbangkan membatasi akses ke antarmuka BITS untuk pengguna dan grup akses tertentu, dan Anda juga dapat membatasi masa tugas BITS, yang ditetapkan dengan mengubah kunci berikut:
- HKEY_LOCAL_MACHINE \ Software \ Kebijakan \ Microsoft \ Windows \ BITS \ JobInactivityTimeout;
- HKEY_LOCAL_MACHINE \ Software \ Kebijakan \ Microsoft \ Windows \ BITS \ MaxDownloadTime .
Sistem: Linux, Windows
Hak: Administrator, sistem
Deskripsi: Bootkit adalah jenis malware yang dapat mengubah sektor boot dari hard drive, termasuk Master Boot Record (MBR) dan Volume Boot Record (VBR). Penyerang dapat menggunakan Bootkit untuk berlabuh pada sistem di bawah OS. MBR - bagian dari kereta api, yang dimuat segera setelah selesainya inisialisasi perangkat keras Bios. Seorang penyerang dengan akses untuk menulis ulang MBR dapat mengganti kode bootloader dengan yang jahat. VBR adalah partisi hard disk yang menerima kendali proses boot dari MBR. Dengan analogi dengan opsi untuk menulis ulang MBR, penyerang dapat menjalankan kode berbahaya pada tahap boot sistem.
Rekomendasi perlindungan: Menggunakan alat kontrol integritas MBR dan VBR. Menggunakan Modul Platform Tepercaya (TPM) dan Boot Aman.
Sistem: Windows, Linux, macOS
Hak: Pengguna
Deskripsi: Sebagai aturan, plugin memiliki semua akses dan hak yang bisa didapatkan oleh browser. Plugin berbahaya dapat diinstal dengan mengunduh aplikasi jahat yang disamarkan sebagai program yang sah menggunakan teknik rekayasa sosial, phishing, atau penyerang yang telah membahayakan sistem. Plugin berbahaya dapat membuka situs web di latar belakang, mencuri informasi yang dimasukkan pengguna di browser, termasuk kredensial, untuk digunakan sebagai penginstal alat administrasi jarak jauh (RAT) dan perbaikan ke sistem.
Rekomendasi perlindungan: Instal plugin hanya dari sumber yang dapat diandalkan. Kontrol plugin yang diinstal menggunakan Kebijakan Grup. Cegah pemasangan plugin oleh pengguna biasa. Inventarisasi dan pemantauan plugin yang dipasang.
Sistem: Windows
Hak: Pengguna, administrator, sistem
Deskripsi: Penyerang dapat memodifikasi asosiasi file untuk menjalankan perintah sewenang-wenang. Pilihan asosiasi file dengan aplikasi disimpan dalam registri Windows dan dapat diedit oleh pengguna, administrator, dan program yang memiliki akses ke registri. Aplikasi dapat memodifikasi asosiasi untuk menjalankan program sewenang-wenang. Parameter asosiasi sistem disimpan dalam registri:
HKEY_CLASSES_ROOT \. [Extension] , misalnya,
HKEY_CLASSES_ROOT \ .txt . Berbagai perintah terdaftar sebagai subbagian:
HKEY_CLASSES_ROOT \ [handler] \ shell \ [action] \ [command] , misalnya:
- HKEY_CLASSES_ROOT \ txtfile \ shell \ open \ [command];
- HKEY_CLASSES_ROOT \ txtfile \ shell \ print \ [command];
- HKEY_CLASSES_ROOT \ txtfile \ shell \ printto \ [command];
di mana
[perintah] adalah perintah yang akan dieksekusi ketika membuka file dengan ekstensi yang ditentukan.
Keamanan Praktik Terbaik
: Ikuti
rekomendasi Microsoft untuk asosiasi file. Gunakan semua cara yang mungkin untuk memblokir perangkat lunak yang berpotensi berbahaya, seperti AppLocker dan DeviceGuard.
Sistem: Windows
Hak: Sistem
Deskripsi: Beberapa penjahat cyber dapat menggunakan alat-alat canggih untuk kompromi komponen komputer dan menginstal firmware jahat pada mereka yang akan menjalankan kode berbahaya di luar sistem operasi atau bahkan firmware sistem utama (Bios). Teknik ini terdiri dari mem-flash komponen komputer yang tidak memiliki sistem pemeriksaan integritas bawaan, misalnya, hard drive. Perangkat dengan firmware jahat dapat menyediakan akses konstan ke sistem yang diserang meskipun terjadi kegagalan dan penimpaan hard disk. Teknik ini dirancang untuk mengatasi perlindungan perangkat lunak dan kontrol integritas.
Sistem: Windows
Hak: Pengguna
Deskripsi: Microsoft Component Object Model (COM) adalah teknologi untuk membuat perangkat lunak berdasarkan komponen yang berinteraksi dari suatu objek, yang masing-masing dapat digunakan dalam banyak program secara bersamaan. Penyerang dapat menggunakan COM untuk menyuntikkan kode berbahaya yang dapat dieksekusi alih-alih yang sah dengan menangkap tautan dan tautan COM. Untuk mencegat objek COM, Anda perlu mengganti tautan ke komponen sistem yang sah di registri Windows. Panggilan lebih lanjut ke komponen ini akan mengeksekusi kode berbahaya.
Rekomendasi perlindungan: Tindakan pencegahan untuk mencegah serangan ini tidak dianjurkan, karena objek COM adalah bagian dari OS dan diinstal pada perangkat lunak sistem. Memblokir perubahan pada objek COM dapat memengaruhi stabilitas OS dan perangkat lunak. Vektor perlindungan disarankan untuk memblokir perangkat lunak berbahaya dan berpotensi berbahaya.
Sistem: Windows, Linux, macOS
Hak: Administrator
Deskripsi: Penyerang dengan akses yang memadai dapat membuat akun lokal atau domain untuk konsolidasi lebih lanjut dalam sistem. Perintah pengguna jaringan juga dapat digunakan untuk membuat akun.
Rekomendasi keamanan: Penggunaan otentikasi multi-faktor. Konfigurasikan pengaturan keamanan pada server penting, konfigurasikan kontrol akses, firewall. Melarang penggunaan akun administrator domain untuk melakukan operasi harian selama penyerang dapat memperoleh informasi akun. Penyerang yang membuat akun di sistem hanya bisa mendapatkan akses terbatas ke jaringan jika tingkat akses diblokir dengan benar. Akun mungkin hanya diperlukan untuk mengamankan akses ke sistem terpisah.
Sistem: Windows
Hak: Pengguna, Administrator, Sistem
Deskripsi: Teknik ini terdiri dari mengeksploitasi kelemahan dalam algoritma untuk menemukan oleh aplikasi file DLL yang mereka perlukan untuk bekerja (
MSA2269637 ). Seringkali, direktori pencarian DLL adalah direktori kerja program, sehingga penyerang dapat mengganti sumber DLL dengan yang jahat dengan nama file yang sama.
Serangan jarak jauh pada pencarian DLL dapat dilakukan ketika program menginstal direktori saat ini di direktori jarak jauh, misalnya, berbagi jaringan. Juga, penyerang dapat secara langsung mengubah metode mencari dan memuat DLL dengan mengganti file .manifest atau .local, yang menggambarkan parameter pencarian DLL. Jika program yang diserang bekerja dengan tingkat hak istimewa yang tinggi, maka DLL jahat yang dimuat olehnya juga akan dieksekusi dengan hak yang tinggi. Dalam hal ini, teknik ini dapat digunakan untuk meningkatkan hak istimewa dari pengguna ke administrator atau Sistem.
Rekomendasi perlindungan: Mencegah pemuatan DLL jarak jauh (diaktifkan secara default di Windows Server 2012+ dan tersedia dengan pembaruan untuk XP + dan Server 2003+). Mengaktifkan mode pencarian aman untuk DLL, yang membatasi direktori pencarian ke direktori seperti
% SYSTEMROOT% sebelum melakukan pencarian DLL di direktori aplikasi saat ini.
Mengaktifkan Mode Pencarian DLL Aman:
Konfigurasi Komputer> [Kebijakan]> Template Administratif> MSS (Legacy): MSS: (SafeDllSearchMode) Mengaktifkan mode pencarian DLL Aman.Kunci registri yang sesuai:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ SafeDLLSearchMode.Pertimbangkan untuk mengaudit sistem yang dilindungi untuk memperbaiki kekurangan DLL menggunakan alat seperti PowerUP di PowerSploit. Jangan lupa tentang memblokir perangkat lunak berbahaya dan berpotensi berbahaya, serta mengikuti
rekomendasi Microsoft .
Sistem: macOS
Hak: Pengguna
Deskripsi: Teknik ini didasarkan pada
kerentanan dalam algoritme pencarian perpustakaan dinamis dylib pada macOS dan OS X.Intinya adalah untuk menentukan dylib yang dimuat oleh aplikasi yang diserang dan kemudian menempatkan dylib versi berbahaya dengan nama yang sama di direktori kerja aplikasi. Ini akan menyebabkan aplikasi memuat dylib, yang terletak di direktori kerja program. Dalam hal ini, Dylib berbahaya akan dieksekusi dengan hak akses aplikasi yang diserang. Kiat Keamanan: Cegah pengguna dari menulis file ke direktori pencarian dylib. Kerentanan audit menggunakan Dylib Hijacking Scanner dari Objective-See.Sistem: Hak Windows :Deskripsi Pengguna : Penyerang dapat menggunakan layanan jarak jauh eksternal organisasi, seperti VPN, Citrix, dan WinRM, untuk mengamankan diri mereka dalam jaringan yang diserang. Akses ke layanan dapat dilakukan menggunakan akun yang valid yang diperoleh menggunakan teknik untuk mengarahkan pengguna ke situs palsu (pharming), atau pada tahap kompromi jaringan.Rekomendasi Perlindungan:Membatasi akses ke layanan jarak jauh menggunakan sakelar yang dikelola secara terpusat, menggunakan VPN. Larangan akses jarak jauh langsung ke jaringan internal melalui penggunaan proxy, gateway dan firewall. Menonaktifkan layanan yang dapat digunakan dari jarak jauh, seperti WinRM. Penggunaan otentikasi dua faktor. Memantau aktivitas penggunaan layanan jarak jauh di luar jam kerja.Sistem: Hak Windows : Pengguna, AdministratorKeterangan: Inti dari teknik ini adalah untuk mengganti file yang dapat dieksekusi yang diluncurkan secara otomatis oleh berbagai proses (misalnya, ketika OS boot up atau pada waktu tertentu, jika hak atas file yang dapat dieksekusi dikonfigurasi dengan salah). Setelah spoofing, file jahat akan diluncurkan dengan hak proses, jadi jika proses memiliki tingkat akses yang lebih tinggi, penyerang akan dapat meningkatkan hak istimewa. Dalam teknik ini, penyerang dapat mencoba untuk memanipulasi file biner layanan Windows.Varian lain dari serangan dikaitkan dengan kurangnya algoritma dalam pekerjaan installer yang mengekstraksi sendiri. Selama proses instalasi, installer sering membongkar berbagai file yang berguna, termasuk .dll dan .exe, ke direktori% TEMP%, namun, mereka mungkin tidak mengatur izin yang sesuai untuk membatasi akses ke file yang tidak dibongkar, yang memungkinkan penyerang melakukan spoofing file dan, sebagai hasilnya, tingkatkan hak istimewa atau bypass kontrol akun, sebagai beberapa installer dijalankan dengan hak istimewa yang diperluas.Rekomendasi Perlindungan:Pembatasan hak akun sehingga hanya administrator yang dapat mengelola layanan dan berinteraksi dengan file biner yang digunakan oleh layanan. Nonaktifkan opsi eskalasi hak istimewa UAC untuk pengguna standar. Pengaturan UAC disimpan dalam kunci registri berikut:- [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System] .
Untuk secara otomatis menolak permintaan peningkatan hak istimewa, Anda harus menambahkan kunci:- "ConsentPromptBehaviorUser" = dword: 00000000.
Untuk mengontrol pekerjaan installer, Anda perlu menambahkan kunci:- "EnableInstallerDetection" = dword: 00000001 , yang akan memerlukan kata sandi untuk menginstal program.
Sistem: Windows, Linux, macOSHak: Deskripsi Pengguna:Penyerang dapat menggunakan kemampuan untuk menyembunyikan file dan folder agar tidak menarik perhatian pengguna. Di Windows, pengguna dapat menyembunyikan file menggunakan perintah attrib. Cukup menentukan atribut + h <nama file> untuk menyembunyikan file atau "+ s" untuk menandai file sebagai sistem. Dengan menambahkan parameter "/ S", utilitas attrib akan menerapkan perubahan secara rekursif. Di Linux / Mac, pengguna dapat menyembunyikan file dan folder hanya dengan menentukan "." Di awal nama file. Setelah itu, file dan folder akan disembunyikan dari aplikasi Finder dan seperti utilitas "ls". Di macOS, file dapat ditandai dengan UF_HIDDEN, yang akan menonaktifkan visibilitasnya di Finder.app, tetapi tidak akan mencegah file tersembunyi terlihat di Terminal.app. Banyak aplikasi membuat file dan folder tersembunyi agar tidak mengacaukan ruang kerja pengguna. Sebagai contohUtilitas SSH membuat folder .ssh tersembunyi yang menyimpan daftar host dan kunci pengguna yang dikenal.Rekomendasi perlindungan: Mencegah kemungkinan menggunakan teknik ini sulit karena fakta bahwa menyembunyikan file adalah fitur standar OS.Sistem: Hak Windows : Administrator,Deskripsi Sistem : Fungsi Windows API biasanya disimpan dalam DLL. Teknik mengaitkan adalah mengalihkan panggilan ke fungsi API dengan:- Hook prosedur - prosedur yang dibangun ke dalam OS yang mengeksekusi kode ketika berbagai peristiwa dipanggil, misalnya, menekan tombol atau menggerakkan mouse;
- Modifikasi ke tabel alamat (IAT), yang menyimpan pointer ke fungsi API. Ini akan memungkinkan Anda untuk "menipu" aplikasi yang diserang, memaksanya untuk meluncurkan fungsi jahat;
- Direct change of function (splicing), di mana 5 byte pertama dari fungsi diubah, alih-alih transisi ke fungsi jahat atau fungsi lain yang ditentukan oleh penyerang dimasukkan.
Seperti halnya suntikan, penyerang dapat menggunakan hooking untuk mengeksekusi kode berbahaya, menutupi eksekusi, mengakses memori dari proses yang diserang dan meningkatkan hak istimewa. Penyerang dapat menangkap panggilan API yang menyertakan parameter yang berisi data otentikasi. Hooking biasanya digunakan oleh rootkit untuk menyembunyikan aktivitas berbahaya dalam sistem.Rekomendasi Perlindungan:Intersepsi kejadian di OS adalah bagian dari operasi normal sistem, sehingga segala pembatasan fungsi ini dapat berdampak buruk terhadap stabilitas aplikasi yang sah, seperti perangkat lunak anti-virus. Upaya untuk mencegah penggunaan teknik intersepsi perlu fokus pada tahap awal rantai serangan. Anda dapat mendeteksi aktivitas kait berbahaya dengan memantau panggilan ke fungsi SetWindowsHookEx dan SetWinEventHook, menggunakan detektor rootkit, dan menganalisis perilaku proses yang tidak normal.Sistem: Hak Windows : Administrator,Deskripsi Sistem : Hypervisor dapat dikompromikan oleh penyerang dan menyembunyikan rootkit dari sistem tamu.Rekomendasi keamanan: Cegah akses jahat ke akun istimewa yang diperlukan untuk menginstal dan mengonfigurasi hypervisor.Sistem: Hak Windows : Administrator,Deskripsi Sistem : Mekanisme Opsi Eksekusi File Gambar (IFEO) memungkinkan Anda untuk menjalankan debugger program alih-alih program, yang sebelumnya ditentukan oleh pengembang dalam registri:- HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Opsi Eksekusi File Gambar / [dieksekusi]
- HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\[executable] ,, [executable] β .
Seperti injeksi, nilai [yang dapat dieksekusi] dapat disalahgunakan dengan menjalankan kode arbitrer untuk meningkatkan hak istimewa atau mendapatkan pijakan dalam sistem. Program jahat dapat menggunakan IFEO untuk memintas perlindungan dengan mendaftarkan debugger yang mengarahkan dan menolak berbagai sistem dan aplikasi keamanan.Rekomendasi perlindungan: Teknik yang dijelaskan didasarkan pada penyalahgunaan alat pengembangan OS biasa, sehingga pembatasan apa pun dapat menyebabkan ketidakstabilan perangkat lunak yang sah, misalnya, aplikasi keamanan. Upaya untuk mencegah penggunaan teknik injeksi IFEO perlu difokuskan pada tahap awal rantai serangan. Untuk mendeteksi serangan tersebut dengan menggunakan proses pemantauan bendera Debug_process danProses Debug_only_ini_ .Sistem: Linux, macOSHak: RootKeterangan: Modul kernel yang dapat diunduh (LKM) adalah program khusus yang dapat dimuat dan dibongkar dari kernel tanpa perlu reboot sistem secara lengkap. Misalnya, LKM termasuk driver perangkat. Penyerang dapat memuat LKM jahat menggunakan berbagai rootkit. Biasanya, rootkit tersebut pecah, file, proses, aktivitas jaringan, log audit palsu, menyediakan backdoors. Seperti LKM pada macOS, ada yang disebut KEXT yang dimuat dan dibongkar dengan perintah kextload dan kextunload.Rekomendasi Perlindungan:Gunakan alat deteksi rootkit Linux: rkhunter, chrootkit. Batasi akses ke akun root, yang diperlukan untuk memuat modul ke dalam kernel. Gunakan kontrol akses paksa SELinux.Sistem: macOSHak: Deskripsi Pengguna : File Mach-O berisi sejumlah header yang digunakan untuk melakukan operasi tertentu saat mengunduh file biner. Header LC_LOAD_DYLIB dalam binari Mach-O memberi tahu OS yang dylib pustaka untuk memuat. Perubahan pada tajuk akan membatalkan tanda tangan digital, namun, penyerang dapat menghapus perintah LC_CODE_SIGNATURE dari file biner dan sistem tidak akan memverifikasi tanda tangan itu benar ketika diunduh.Rekomendasi perlindungan: Semua binari harus ditandatangani dengan ID Pengembang Apple yang benar, dan daftar putih aplikasi dikompilasi berdasarkan hash yang diketahui.Sistem: Hak Windows : Administrator,Deskripsi sistem : Otoritas Keamanan Lokal (LSA) - subsistem Windows yang menyediakan otentikasi pengguna. LSA mencakup beberapa DLL saling terhubung dinamis yang berjalan dalam proses LSASS.exe. Penyerang dapat menyerang LSASS.exe dengan mengganti atau menambahkan driver LSA tidak sah dan kemudian mengeksekusi kode arbitrer. Teknik ini diterapkan pada malware Pasam dan Wingbird, yang βmemuntahkanβ DLL yang dimodifikasi yang digunakan untuk memuat LSASS. Dalam kasus ini, kode berbahaya dijalankan sebelum DLL tidak sah menyebabkan kerusakan dan layanan LSASS mogok berikutnya.Rekomendasi Perlindungan: Di Windows 8.1 dan Server 2012 R2, aktifkan perlindungan LSA dengan mengaktifkan kunci yang ditentukan:- HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = dword: 00000001.
Perlindungan ini memastikan bahwa plugin dan driver yang dimuat LSA ditandatangani secara digital oleh Microsoft. Pada Windows 10 dan Server 16, aktifkan Penjaga Kredensial Windows Defender untuk menjalankan lsass.exe di lingkungan virtual yang terisolasi. Untuk mengurangi risiko pustaka berbahaya memuat ke lsass.exe, aktifkan mode pencarian DLL yang aman:- HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ SafeDllSearchMode.
Sistem: macOSHak: Pengguna, administratorKeterangan: Teknik ini terdiri dari menyalahgunakan fungsi membuat dan memulai oleh pengguna. Peluncuran Agen - layanan autorun di tingkat pengguna. Ketika setiap pengguna masuk ke sistem, launchd memuat parameter Agen Peluncuran dari file * .plist. File Plist memiliki struktur XML dan berisi instruksi yang memberi tahu launchd executable mana dan kapan harus diluncurkan. File Plist dapat ditemukan di direktori berikut:- / Sistem / Perpustakaan / LaunchAgents;
- / Perpustakaan / LauncAgents;
- $ Home / Library / LaunchAgents.
Penyerang juga dapat menutupi nama-nama Agen Peluncuran berbahaya menggunakan nama-nama program yang sah. Misalnya, Komplex Trojan membuat agen peluncuran: $ HOME / Library / LaunchAgents / com.apple.updates.plist.Rekomendasi perlindungan: Menggunakan Kebijakan Grup, konfigurasikan pembatasan pada pengguna yang membuat Agen Peluncuran. Membuat Agen Peluncuran melibatkan pemuatan atau pembuatan file plist pada disk, jadi fokuskan upaya pertahanan Anda pada tahap awal serangan.Sistem: macOSHak: AdministratorKeterangan: Teknik ini terdiri dalam mengubah parameter dari layanan tingkat peluncuran sistem - Luncurkan Daemon, ditentukan dalam file-file plist, oleh penyerang. Ketika sistem melakukan boot, proses Launchd memuat parameter layanan (daemon) dari file plist yang terletak di direktori berikut:- / Sistem / Perpustakaan / LaunchDeamons;
- / Library / LaunchDeamons.
Luncurkan Daemon dapat dibuat dengan hak administrator, tetapi berjalan di bawah akun root, sehingga penyerang dapat meningkatkan hak istimewa. Izin file plist harus di-root: sementara, skrip atau program yang ditentukan di dalamnya mungkin memiliki izin yang kurang ketat. Oleh karena itu, penyerang dapat memodifikasi file yang dapat dieksekusi yang ditentukan dalam plist, dan dengan demikian memodifikasi layanan sistem saat ini untuk mengamankan sistem atau meningkatkan hak istimewa. KiatKeamanan: Batasi hak pengguna sehingga hanya administrator yang berwenang yang dapat membuat Daemon Peluncuran. Pertimbangkan untuk memantau bagaimana file plist dibuat di sistem Anda menggunakan aplikasi seperti KnockKnock.Sistem: hak macOS : Pengguna,Deskripsi Administrator : Launchctl - utilitas untuk mengelola layanan Launchd. Menggunakan Launchctl, Anda dapat mengelola layanan sistem dan pengguna (LaunchDeamons dan LaunchAgents), serta menjalankan perintah dan program. Launchctl mendukung sub-perintah baris perintah yang interaktif atau dialihkan dari input standar:launchctl submit -l [labelname] - / Path / ke / hal / untuk / menjalankan '' arg "'' arg" '' arg "'' arg".Memulai dan memulai kembali layanan dan daemon, penyerang dapat mengeksekusi kode dan bahkan mem-by-by-whitelist jika launchctl adalah proses yang diotorisasi, namun layanan pemuatan, pembongkaran dan pemuatan ulang dan daemon mungkin memerlukan hak yang lebih tinggi.Rekomendasi Perlindungan:Membatasi hak pengguna untuk membuat Agen Peluncuran dan meluncurkan Launch Deamons menggunakan Kebijakan Grup. Menggunakan aplikasi KnockKnock, Anda dapat menemukan program yang menggunakan launchctl untuk mengelola Launch Agents dan Launch Deamons.Sistem: Linux, macOSHak: Pengguna, administrator, rootKeterangan: Penyerang dapat membuat tugas pada sistem yang diserang untuk memulai program yang tidak sah ketika sistem melakukan booting atau sesuai jadwal. Sistem Linux dan Apple mendukung beberapa metode untuk menjadwalkan peluncuran tugas latar belakang periodik: cron, at, launchd. Tidak seperti Windows Task Scheduler, penjadwalan tugas pada sistem Linux tidak dapat dilakukan dari jarak jauh, kecuali untuk menggunakan sesi jarak jauh seperti SSH.Rekomendasi perlindungan: Membatasi hak pengguna untuk membuat tugas terjadwal, memblokir utilitas sistem dan perangkat lunak lain yang dapat digunakan untuk menjadwalkan tugas.Sistem: hak macOS :Deskripsi Pengguna : Penyerang untuk mengamankan diri mereka dalam sistem dapat mengkonfigurasi kode mereka untuk mulai secara otomatis menggunakan item login (pengaturan pengguna untuk startup aplikasi di setiap login). Item Login yang dibuat menggunakan Kerangka Manajemen Layanan tidak ditampilkan dalam pengaturan sistem dan hanya dapat dihapus melalui aplikasi di mana mereka dibuat. Pengguna hanya dapat mengelola Item Login tersebut yang ditampilkan dalam pengaturan sistem. Pengaturan untuk Item Login tersebut disimpan dalam file plist di direktori pengguna:~ / Library / Preferences / com.apple.loginitems.plist.Aplikasi yang merupakan bagian dari Item Login dapat menampilkan jendela yang terlihat oleh pengguna saat startup, tetapi Anda dapat menyembunyikannya menggunakan opsi "Sembunyikan".Rekomendasi Perlindungan: Batasi hak pengguna untuk membuat Item Masuk. Perlu dicatat bahwa menahan tombol shift selama login mencegah aplikasi untuk memulai secara otomatis. Kontrol pengaturan Item Login ( Pengaturan Sistem β Pengguna dan Grup β Elemen Login ).Sistem: Windows, macOSDeskripsi: Untuk melakukan konsolidasi dalam sistem, penyerang dapat menggunakan kemampuan untuk membuat skrip logon baru atau memodifikasi yang sudah ada - skrip yang dijalankan setiap kali pengguna atau grup pengguna tertentu masuk ke sistem. Jika penyerang memperoleh akses ke skrip logon pada pengontrol domain Windows, maka ia dapat memodifikasinya untuk mengeksekusi kode pada semua sistem dalam domain untuk "memindah-mindahkan" jaringan. Bergantung pada pengaturan hak akses ke file skrip logon (biasanya skrip tersebut disimpan di \\ [DC] \ NETLOGON \ ), penyerang mungkin memerlukan kredensial lokal atau administratif.Di Mac, skrip logon ( Login / Logout Hook), tidak seperti Item Masuk, yang diluncurkan dalam konteks pengguna, dapat dijalankan sebagai root.Rekomendasi Keamanan: Membatasi hak administrator untuk membuat skrip login. Identifikasi dan pemblokiran perangkat lunak yang berpotensi berbahaya yang dapat digunakan untuk memodifikasi skenario login.Sistem: Hak Windows : Administrator,Deskripsi Sistem : Untuk berulang kali meluncurkan kode berbahaya dalam suatu sistem, penyerang dapat mengubah konfigurasi layanan yang ada menggunakan utilitas sistem atau alat untuk berinteraksi dengan Windows API. Penyerang dapat dengan sengaja merusak atau membunuh layanan untuk permohonan selanjutnya dari program yang dimodifikasi atau perintah pemulihan layanan. Menggunakan layanan yang ada adalah salah satu teknik penyamaran yang membuatnya sulit untuk mendeteksi aktivitas berbahaya. Informasi tentang konfigurasi layanan Windows, termasuk jalur ke program dan perintah untuk memulai dan memulihkan layanan, disimpan dalam registri:- Layanan HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ .
Anda dapat mengubah konfigurasi layanan menggunakan utilitas konsol sc.exe dan Reg.Rekomendasi perlindungan: Membatasi hak pengguna dan grup untuk mengubah konfigurasi layanan, memberikan hak hanya kepada administrator yang berwenang. Memblokir perangkat lunak yang berpotensi berbahaya. Untuk mempelajari perubahan dalam layanan sistem untuk mengidentifikasi upaya untuk mengamankan penyerang dalam sistem, Anda dapat menggunakan utilitas Sysinternals Autoruns.Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: Penyerang dapat mengeksekusi kode menggunakan utilitas konsol Netsh bawaan, yang memungkinkan ekstensi DLL dimuat untuk memperluas fungsionalitas:
netsh> tambahkan helper [jalur DLL]Informasi tentang perpustakaan terdaftar yang digunakan oleh netsh disimpan dalam registri:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NetShBeberapa klien VPN perusahaan dan utilitas jaringan dapat menggunakan netsh.exe, memulainya atas nama System, dalam situasi ini, penyerang dapat mendaftarkan atau memodifikasi DLL tambahan yang akan dieksekusi ketika klien VPN menggunakan netsh. Alat untuk menerapkan jenis serangan ini disertakan dengan
CobaltStrike (kerangka uji penetrasi).
Kiat Keamanan: Blokir perangkat lunak yang berpotensi berbahaya menggunakan alat seperti AppLocker.
Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: Beri nama akses ke sistem, penyerang dapat membuat layanan baru dan mengkonfigurasinya untuk memulai secara otomatis. Nama layanan dapat ditutup menggunakan nama khusus untuk sistem operasi. Layanan dapat dibuat dengan hak administrator, tetapi dijalankan atas nama Sistem. Layanan dapat dibuat dari baris perintah, menggunakan alat akses jarak jauh dengan interoperabilitas dengan Windows API, atau menggunakan alat manajemen Windows dan PowerShell standar.
Rekomendasi keamanan: Batasi hak pengguna untuk membuat layanan baru sehingga hanya administrator yang berwenang yang dapat melakukan ini. Terapkan AppLocker dan
Kebijakan Pembatasan Perangkat Lunak .
Sistem: Windows
Hak: Pengguna, Administrator
Deskripsi: Beberapa mekanisme kerja MS Office dapat digunakan untuk mengeksekusi kode ketika menjalankan aplikasi kantor dan, sebagai hasilnya, untuk memberikan penyerang dengan keteguhan mereka dalam sistem:
β’ Menyematkan makro VBA berbahaya ke templat Office dasar. Word menggunakan templat Normal.dotm:
C: \ Users \ [Username] \ AppData \ Roaming \ Microsoft \ Templates \ Normal.dotm .
Tidak ada templat default di Excel, namun Anda bisa menambahkannya secara manual dan akan dimuat secara otomatis:
C: \ Users \ [Username] \ AppData \ Roaming \ Microsoft \ Excel \ XLSTART \ Personal.xls .
Implementasi serangan hanya dimungkinkan jika opsi "
Jalankan semua makro " diaktifkan di Office Trust Center:
HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ [Version] \ [Application] \ Security \ VBAWengingat: 1;β’ Menempatkan tautan DLL di bagian tes Office dari registri Windows menyebabkan DLL yang ditentukan dijalankan setiap kali aplikasi Office dimulai:
HKEY_CURRENT_USER \ Software \ Microsoft \ Office Test \ Special \ Perf \ [Default]: [Tentukan path ke DLL];β’ Menambahkan add-on ke aplikasi Office dengan kode berbahaya yang akan dieksekusi ketika aplikasi yang diserang dimulai.
Keamanan Praktik Terbaik : Ikuti
praktik terbaik Microsoft saat mengonfigurasi pengaturan keamanan makro . Untuk mencegah pengoperasian mekanisme Tes Office, buat bagian yang ditentukan dalam registri dan tetapkan izin Read-Only untuk mencegah akses ke sana tanpa hak administrator. Jika memungkinkan, nonaktifkan add-in Office, jika Anda membutuhkannya, kemudian ikuti
rekomendasi Microsoft saat mengatur pekerjaan mereka.
Sistem: Windows
Hak: Pengguna, administrator, sistem
Deskripsi: Teknik mencegat jalur adalah menempatkan file yang dapat dieksekusi di direktori tempat aplikasi akan meluncurkannya, bukan file target. Seorang penyerang dapat menggunakan metode berikut:
- Jalur yang tidak ada. Jalur ke file yang dapat dieksekusi layanan disimpan dalam kunci registri dan dapat memiliki satu atau beberapa ruang, misalnya, C: \ Program Files \ service.exe , jika penyerang membuat file C: \ Program.exe dalam sistem, maka Windows akan memulainya alih-alih memproses jalur. file target layanan.
- Konfigurasi variabel lingkungan salah. Jika dalam variabel PATH jalur C: \ contoh mendahului c: \ Windows \ System32 dan file C: \ example \ net.exe ada , maka ketika perintah net dipanggil, C: \ example \ net.exe akan dieksekusi, dan bukan c: \ Windows \ System32 \ net.exe .
- Intersepsi pesanan pencarian (Pencarian urutan pembajakan). Ketika path lengkap ke file yang dapat dieksekusi tidak ditentukan, Windows, sebagai suatu peraturan, mencari file dengan nama yang ditentukan dalam direktori saat ini, kemudian mencari direktori sistem. Misalnya, file "example.exe", ketika dieksekusi, mulai cmd.exe dengan argumen untuk mengeksekusi perintah net use. Penyerang dapat menempatkan file net.exe di direktori lokasi example.exe dan itu akan diluncurkan bukannya utilitas c: \ Windows \ System32 \ net.exe . Selain itu, jika penyerang menempatkan file net.com di direktori dengan file net.exe, maka Windows akan menjalankan net.com sesuai dengan urutan eksekusi yang ditentukan dalam variabel sistem PATHEXT.
Intersepsi urutan pencarian file juga digunakan untuk mengeksekusi DLL menggunakan teknik DLL Pencarian Hijacking .Rekomendasi keamanan: Tanda kutip menunjukkan jalur yang ditentukan dalam file konfigurasi, skrip, variabel PATH, pengaturan layanan, dan pintasan. Ingat urutan pencarian file yang dapat dieksekusi dan gunakan hanya path lengkap. Bersihkan kunci registri lama yang tersisa dari perangkat lunak jarak jauh sehingga tidak ada kunci yang tersisa di registri yang mengarah ke file yang tidak ada. Menetapkan larangan penulisan oleh pengguna sistem ke direktori root C: \ dan direktori sistem Windows, membatasi izin menulis ke direktori dengan file yang dapat dieksekusi.
Sistem: macOS
Hak: Pengguna, Administrator
Deskripsi: Penyerang dapat memodifikasi file plist dengan menentukan di dalamnya kode mereka sendiri untuk dieksekusi dalam konteks pengguna lain. File properti plist yang terletak di
/ Library / Preferences dijalankan dengan privilege yang ditinggikan, dan file plist dari
~ / Library / Preferences dijalankan dengan privilege pengguna.
Kiat Keamanan
: Cegah file plist agar tidak dimodifikasi dengan membuatnya hanya baca.
Sistem: Linux, macOS
Hak: Pengguna
Deskripsi: Penyerang dapat menggunakan metode Port Knocking untuk menyembunyikan port terbuka yang mereka gunakan untuk terhubung ke sistem.
Tip
Keamanan: Menggunakan firewall stateful dapat mencegah beberapa opsi Port Knocking diimplementasikan.
Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: Penyerang dapat mengatur eksekusi DLL sewenang-wenang atas nama Sistem setiap kali Windows melakukan booting menggunakan penyalahgunaan pengaturan Print Manager (Spoolsv.exe). Untuk berinteraksi dengan perangkat cetak, Spoolsv.exe menggunakan apa yang disebut monitor port - ini adalah perpustakaan DLL yang menggunakan perintah tingkat rendah untuk dikirim ke perangkat cetak melalui LAN, USB, LPT atau antarmuka COM. DLL di atas disimpan dalam
C: \ windows \ system32 dan terdaftar di registri:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Monitor .
Port Monitor dapat diinstal menggunakan AddMonitor API atau langsung dengan mengedit kunci registri di atas.
Rekomendasi perlindungan: Atur pemblokiran perangkat lunak yang berpotensi berbahaya dan gunakan alat kontrol peluncuran aplikasi.
Sistem: macOS
Hak: root
Deskripsi: Penyerang dapat menambahkan kode ke file
/etc/rc.common yang akan dieksekusi setiap kali sistem melakukan booting sebagai root. Rc.common adalah skrip yang berjalan saat boot OC, dan merupakan cikal bakal Launch Agents dan Launh Deamons. Ini adalah teknologi yang ketinggalan zaman untuk program autostart, tetapi masih didukung pada macOS dan OS X.
Rekomendasi Keamanan: Batasi hak pengguna untuk mengedit file rc.common.
Sistem: macOS
Hak: Pengguna
Deskripsi: Pada sistem yang dimulai dengan
OS X 10.7 (Lion) , penyerang dapat mengatur eksekusi file jahat setiap kali OS di-boot ulang. Teknik ini didasarkan pada penyalahgunaan fungsi restart aplikasi setelah me-reboot sistem. Menggunakan alat yang dibangun ke dalam GUI, pengguna dapat memberi tahu sistem aplikasi mana yang harus dimulai kembali jika OS reboot. Pengaturan ini disimpan dalam file plist:
- ~ / Library / Preferences / com.apple.loginwindow.plist;
- ~ / Library / Preferences / ByHost / com.apple.loginwindows. *. Plist.
Seorang penyerang dapat memodifikasi file-file di atas untuk mengeksekusi kode berbahaya setiap kali sistem di-reboot.
Rekomendasi perlindungan: Fungsi restart aplikasi dapat dinonaktifkan menggunakan perintah konsol:
default write -g ApplePersistence -bool no .
Selain itu, menahan tombol shift selama boot mencegah aplikasi memulai secara otomatis.
Sistem: Windows, Linux, macOS
Hak: Pengguna, Administrator, Sistem
Deskripsi: Penyerang dapat secara bersamaan menggunakan beberapa alat akses jarak jauh dengan protokol kontrol yang berbeda untuk mendiversifikasi risiko deteksi. Jadi, jika salah satu alat akses jarak jauh terdeteksi dan diblokir, tetapi pihak yang membela belum mengidentifikasi semua alat penyerang, maka akses jarak jauh ke jaringan yang diserang masih akan dipertahankan. Penyerang juga dapat mencoba untuk mendapatkan akses ke akun yang valid dari layanan korporat jarak jauh, seperti VPN, untuk mendapatkan akses alternatif ke sistem jika memblokir alat dasar akses jarak jauh. Menggunakan web-shell juga merupakan salah satu cara untuk mengakses jaringan dari jarak jauh melalui server web.
Rekomendasi perlindungan: Pantau keberadaan dan pemblokiran peluncuran alat akses jarak jauh yang dikenal di jaringan Anda (AmmyAdmin, Radmin, RemotePC, VNC, dll.), Gunakan alat untuk mengontrol peluncuran aplikasi dan memblokir perangkat lunak yang berpotensi berbahaya. Pengenalan sistem IDS dan IPS yang mendeteksi malware tertentu menggunakan tanda tangan akan mengurangi kemungkinan serangan yang berhasil, tetapi seiring waktu, penyerang akan memodifikasi alat mereka untuk mengubah tanda tangan dan, sebagai hasilnya, mem-bypass sistem IDS dan IPS.
Sistem: Windows
Hak: Pengguna, Administrator
Deskripsi: Penyerang dapat menambahkan "tombol run" atau tautan ke folder Startup di registri Windows untuk meluncurkan file berbahaya ketika pengguna masuk ke sistem. Program ini akan dieksekusi dengan hak pengguna saat ini. Penyerang dapat menutupi kunci startup di registri sehingga mereka terlihat seperti bagian dari program yang sah.
Menjalankan kunci disimpan dalam kunci registri berikut:
- HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run;
- HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce;
- HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run;
- HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce.
Rekomendasi perlindungan: Identifikasi dan pemblokiran perangkat lunak yang berpotensi berbahaya, pemantauan perubahan pada folder Startup dan cabang registri yang tercantum di atas.
Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: Penyerang dapat memodifikasi komponen arsitektur untuk menandatangani dan memverifikasi tanda tangan digital kode Windows untuk memotong cara mengendalikan peluncuran program yang memungkinkan hanya kode yang ditandatangani untuk dijalankan. Untuk membuat, menandatangani, dan memverifikasi tanda tangan file dari berbagai format di Windows, apa yang disebut
Subject Interface Package (SIP) digunakan - spesifikasi perangkat lunak yang unik untuk setiap jenis file, di mana interaksi antara fungsi API yang memulai pembuatan, perhitungan dan verifikasi tanda tangan dan secara langsung file. Validitas tanda tangan dikonfirmasi oleh yang disebut
Trust Provider - ini adalah komponen perangkat lunak OS yang melakukan berbagai prosedur terkait dengan perhitungan dan verifikasi tanda tangan digital.
Metode serangan populer:
- Modifikasi kunci DLL dan FuncName di bagian CryptSIPDllGetSignedDataMsg :
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ OID \ EncodingType 0 \ CryptSIPDllGetSignedDataMsg \ [SIP_GUID] .
Ini dilakukan untuk mengganti pustaka DLL yang menyediakan fungsi CryptSIPDllGetSignedDataMSG , yang mengembalikan sertifikat digital yang disandikan dari file yang ditandatangani. Fungsi palsu selalu dapat mengembalikan nilai tanda tangan valid yang sebelumnya dikenal (misalnya, tanda tangan Microsoft untuk file sistem yang dapat dieksekusi) saat menggunakan SIP yang dimodifikasi. Penyerang dapat mencoba menerapkan satu tanda tangan yang valid untuk semua file, namun, kemungkinan besar, ini akan mengarah pada pembatalan tanda tangan, karena hash yang dikembalikan oleh fungsi tidak akan cocok dengan hash yang dihitung dari file. - Modifikasi tombol DLL dan FuncName di bagian:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ OID \ EncodingType 0 \ CryptSIPDllVerifyIndirectData / [SIP_GUID] .
Ini dilakukan untuk mengganti pustaka DLL yang menyediakan fungsi CryptSIPDllVerifyIndirectData , yang memeriksa hash yang dihitung dari file dengan hash yang ditentukan dalam tanda tangan digital dan mengembalikan hasil verifikasi (Benar / Salah). Dengan demikian, penyerang dapat memastikan verifikasi file yang berhasil menggunakan SIP yang dimodifikasi. Nilai kunci di atas dapat mengarahkan ke fungsi yang sesuai dari pustaka yang ada, sehingga menghilangkan kebutuhan untuk membuat file DLL baru pada disk. - Modifikasi tombol DLL dan FuncName di bagian:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ Providers \ Trust \ FinalPolicy / [GUID Penyedia Percaya] .
Tujuannya adalah untuk mengganti pustaka DLL yang menyediakan fungsi FinalPolicy untuk Penyedia Percaya tertentu, yang menerjemahkan, menganalisis tanda tangan, dan membuat keputusan tentang kepercayaan. Mirip dengan CryptSIPDllVerifyIndirectData, nilai kunci di atas dapat mengarahkan ulang ke DLL yang ada.
Penting untuk dicatat bahwa serangan yang dijelaskan pada mekanisme kepercayaan Windows dapat diimplementasikan menggunakan teknik Pembajakan Pesanan Penelusuran DLL.Rekomendasi perlindungan: Pastikan bahwa pengguna sistem yang dilindungi tidak dapat memodifikasi kunci registri yang terkait dengan komponen SIP dan Trust Provider. Pertimbangkan untuk menghapus SIP yang tidak perlu dan usang. Gunakan segala macam cara untuk memblokir unduhan DLL jahat, misalnya, yang dibangun ke dalam Windows AppLocker dan DeviceGuard.
Sistem: Windows
Hak: Pengguna, Administrator, Sistem
Deskripsi: Utilitas seperti at, schtasks, dan Windows Task Scheduler dapat digunakan untuk menjadwalkan program dan skrip untuk dijalankan pada tanggal dan waktu tertentu. Tugas dapat dijadwalkan pada sistem jarak jauh, asalkan RPC digunakan untuk otentikasi dan printer dan berbagi file diaktifkan. Menjadwalkan tugas pada sistem jarak jauh membutuhkan hak administrator. Seorang penyerang dapat menggunakan eksekusi kode jauh untuk mendapatkan hak istimewa Sistem atau untuk memulai proses di bawah akun tertentu.
Rekomendasi perlindungan: Batasi hak pengguna. Penggunaan alat, seperti modul PowerUP di PowerSploit, yang dapat digunakan untuk menemukan kelemahan dalam resolusi tugas yang dijadwalkan. Menonaktifkan kemampuan untuk memulai tugas atas nama Sistem, menonaktifkan opsi "
Izinkan operator server untuk menjadwalkan tugas " dalam kebijakan keamanan, dan mengaktifkan pengaturan "
Penetapan Hak Pengguna: Tingkatkan Prioritas Penjadwalan ".
Sistem: Windows
Hak: Pengguna
Deskripsi: Penyerang dapat menggunakan pengaturan screen saver untuk meluncurkan malware setelah beberapa saat tanpa aktivitas pengguna.
Aplikasi Windows Screensaver (scrnsave.exe) terletak di
C: \ Windows \ System32 , bersama dengan screensaver lain yang termasuk dalam unit OS dasar. Penyerang dapat memanipulasi parameter splash screen di
kunci registri
HKEY_CURRENT_USER \ Control Panel \ Desktop :
- SCRNSAVE.EXE - tentukan path ke file executable berbahaya;
- ScreenSaveActivr - setel nilai ke "1" untuk mengaktifkan screen saver;
- ScreenSaverISSecure - setel nilai ke "0" sehingga sistem tidak memerlukan kata sandi untuk membuka kunci desktop Windows setelah mematikan screen saver;
- ScreenSaverTimeout - mengatur periode tidak aktif sebelum memulai screen saver.
Rekomendasi perlindungan: Blokir kemampuan untuk menjalankan file * .scr dari lokasi yang tidak standar. Kelola pengaturan screensaver Anda menggunakan Kebijakan Grup, yang melarang perubahan lokal pada pengaturan screensaver Anda.
Sistem: Windows
Hak: Administrator
Deskripsi: Penyerang dapat mengonfigurasi kode berbahaya yang akan dieksekusi setiap kali sistem di-boot atau fungsi AddSecurityPackage API dipanggil dengan menambahkan Penyedia Dukungan Keamanan (SSP) palsu ke konfigurasi Otoritas Keamanan Lokal (LSA). SSP - modul program (DLL) yang berisi satu atau lebih skema otentikasi dan kriptografi yang dimuat ke dalam proses LSASS saat startup sistem. SPP DLL memiliki akses ke kata sandi terenkripsi dan teks biasa yang disimpan di Windows. Konfigurasi SPP disimpan dalam dua kunci registri:
- HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ Paket Keamanan ;
- HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ OSConfig \ Paket Keamanan .
Rekomendasi perlindungan: Di Windows 8.1, Windows Server R2 dan versi OS yang lebih baru, Anda harus mengaktifkan mode yang dilindungi LSA (Process Protect Light - PPL), di mana semua file SPP DLL harus ditandatangani secara digital oleh Microsoft:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ RunAsPPL = dword: 00000001Sistem: Windows
Hak: Administrator, Sistem
Deskripsi: Jika izin pengguna dan grup memungkinkan mengubah nilai kunci di registri Windows yang menyimpan pengaturan layanan, penyerang dapat langsung memodifikasi kunci yang menyimpan path ke file yang dapat dieksekusi untuk meluncurkan layanan atau menggunakan berbagai alat manajemen layanan - sc.exe, PowerShell atau Reg. Penyerang juga dapat mengubah parameter yang terkait dengan kegagalan layanan, misalnya, FailureCommand, yang menunjukkan perintah yang akan dieksekusi jika terjadi kegagalan layanan atau kerusakan yang disengaja. Parameter layanan disimpan dalam layanan
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ .
Rekomendasi perlindungan: Pastikan bahwa pengguna sistem yang dilindungi tidak dapat mengubah kunci dalam registri yang menyimpan parameter komponen sistem. Gunakan semua cara yang mungkin untuk memblokir perangkat lunak yang berpotensi berbahaya, misalnya, Windows AppLocker.Sistem: Hak Windows : Pengguna, AdministratorKeterangan: Penyerang dapat membuat pintasan baru dan tautan simbolik yang disamarkan sebagai program yang sah atau memodifikasi jalur di pintasan yang ada sehingga alat-alat mereka berjalan alih-alih aplikasi asli.Rekomendasi keamanan: Batasi hak pengguna dan grup, seperti Administrator, untuk membuat tautan simbolis menggunakan GPO:Konfigurasi Komputer> [Kebijakan]> Pengaturan Windows> Pengaturan Keamanan> Kebijakan Lokal> Penugasan Hak Pengguna: Membuat tautan simbolik.Gunakan alat untuk memblokir perangkat lunak yang berpotensi berbahaya dan Kebijakan Pembatasan Perangkat Lunak.Sistem: hak macOS : AdministratorKeterangan: Penyerang dapat menggunakan usang, tetapi masih bekerja di macOS Sierra, mekanisme autostart untuk aplikasi menggunakan StartupItems untuk mengkonfigurasi peluncuran kodenya dengan hak akses root pada saat boot. StartupItems adalah direktori di / Library / Startupitems , skrip perintah, dan file properti StartupParameters.plist. File skrip dan properti harus di bagian atas hierarki: / Library / Startupitems / [MyStartupItem] .Rekomendasi perlindungan: Karena mekanisme StartupItems sudah usang, larangan menulis ke direktori / Library / Startupitems / akan memungkinkan Anda menghindari membuat item startup.Sistem: Hak Windows : Administrator,Deskripsi Sistem : Terutama penyerang canggih dapat memodifikasi atau merefleksikan Bios, UIFI atau UFI, untuk memastikan kemungkinan menginstal pembaruan firmware jahat dan memperbaikinya dalam sistem.Rekomendasi perlindungan: Arahkan vektor perlindungan untuk mencegah penyerang mengakses akun istimewa yang diperlukan untuk menerapkan teknik yang dijelaskan. Pertimbangkan kebutuhan dan penerapan Modul Platform Tepercaya (TPM) dalam sistem yang dilindungi . Pertimbangkan kebutuhan untuk menggunakan alat eksternal untuk memantau dan menganalisis keamanan firmware sistem, misalnya, Kerangka CHIPSEC .Sistem: Hak Windows : Administrator,Deskripsi Sistem : Penyerang dapat mendaftar sebagai penyedia waktu (Penyedia Waktu) DLL jahat yang akan mengeksekusi ketika sistem memulai atau mengubah konfigurasi Windows Time Server (W32Time). Parameter penyedia waktu disimpan dalam registri:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time \ TimeProviders .Untuk mendaftarkan penyedia waktu, Anda akan memerlukan hak administrator, tetapi akan dieksekusi dalam konteks akun layanan lokal.Rekomendasi Perlindungan:Pertimbangkan untuk menggunakan GPO untuk mengonfigurasi pemblokiran perubahan pada pengaturan W32Time. Gunakan segala macam cara untuk memblokir unduhan DLL jahat, misalnya, yang dibangun ke dalam Windows AppLocker dan DeviceGuard.Sistem: Linux, macOSHak: Pengguna, administratorKeterangan: Perintah trap digunakan untuk melindungi skrip dari gangguan ( ctrl + c, ctrl + d, ctrl + z , dll.). Jika skrip menerima sinyal interupsi yang ditentukan dalam argumen perintah trap, maka ia memproses sinyal interupsi sendiri, sementara shell tidak akan memproses sinyal seperti itu. Penyerang dapat menggunakan perangkap untuk mendaftarkan kode yang akan dieksekusi ketika shell menerima sinyal interupsi tertentu.Rekomendasi Perlindungan:Penggunaan teknik ini sulit dicegah, karena penyerang menggunakan mekanisme standar OS. Vektor perlindungan harus ditujukan untuk mencegah tindakan jahat pada tahap awal serangan, misalnya, pada tahap pengiriman atau pembuatan file berbahaya dalam sistem.Deskripsi: Penyerang dapat mencuri kredensial pengguna atau akun layanan tertentu menggunakan kredensial akses, menangkap kredensial dalam proses intelijen menggunakan rekayasa sosial. Kredensial yang dikompromikan dapat digunakan untuk mem-bypass sistem kontrol akses dan mendapatkan akses ke sistem jarak jauh dan layanan eksternal, seperti VPN, OWA, Remote Desktop, atau untuk mendapatkan hak yang lebih tinggi pada sistem dan area spesifik jaringan. Jika skenario berhasil, penyerang dapat menolak malware untuk membuatnya sulit dideteksi. Selain itu, penyerang dapat membuat akun menggunakan nama dan kata sandi yang telah ditentukan untuk mempertahankan akses cadangan jika ada upaya yang gagal untuk menggunakan cara lain.Rekomendasi perlindungan: Terapkan kebijakan kata sandi, ikuti rekomendasi untuk merancang dan mengelola jaringan perusahaan untuk membatasi penggunaan akun istimewa di semua tingkat administrasi. Pemeriksaan rutin domain dan akun lokal dan hak-hak mereka untuk mengidentifikasi mereka yang dapat memungkinkan penyerang mendapatkan akses luas. Memantau aktivitas akun menggunakan sistem SIEM.Sistem: Windows, Linux, macOSKeterangan: Web Shell dapat digunakan oleh penyerang sebagai gateway untuk mengakses jaringan Anda atau akses berlebihan ke sistem yang diserang, sebagai mekanisme cadangan untuk pengamanan dalam hal deteksi dan pemblokiran saluran akses utama ke lingkungan yang diserang.Rekomendasi Perlindungan:Pastikan bahwa server web eksternal Anda diperbarui secara berkala dan tidak ada kerentanan yang diketahui yang memungkinkan penyerang mengunggah file atau skrip ke server dengan eksekusi selanjutnya. Verifikasi bahwa izin akun dan grup dengan hak manajemen server tidak cocok dengan akun di jaringan internal yang dapat digunakan untuk masuk ke server web, meluncurkan shell Web, atau menyematkan ke server Web. Web Shell sulit dideteksi karena mereka tidak memulai koneksi dan sisi server mereka bisa kecil dan tidak berbahaya, misalnya, versi PHP dari shell Web Chopper China terlihat seperti sebuah baris:[? php eval ($ _POST ['password']);]Sistem: Hak Windows : Administrator,Deskripsi Sistem : WMI Event Subscription adalah fungsi yang memungkinkan administrator untuk mengkonfigurasi penerimaan notifikasi acara (termasuk yang telah terjadi pada sistem jarak jauh, diikuti dengan eksekusi otomatis semua tindakan (menjalankan skrip, aplikasi dll.) Penyerang, untuk mendapatkan pijakan dalam sistem, dapat menyalahgunakan fungsi yang dijelaskan di atas dengan mengatur langganan untuk acara-acara seperti jam sistem atau waktu operasi komputer, diikuti dengan eksekusi kode ketika acara ini terjadi.Rekomendasi Perlindungan:Pastikan hanya akun administrator yang memiliki hak untuk terhubung dari jarak jauh ke WMI, dan dalam sistem yang dilindungi tidak ada kebetulan akun administrator sistem dengan akun istimewa lainnya. Menonaktifkan WMI dapat menyebabkan ketidakstabilan sistem, oleh karena itu, memerlukan penilaian awal dari kemungkinan konsekuensi negatif.Sistem: Hak Windows : Administrator,Deskripsi Sistem : Dengan memodifikasi dalam registri parameter DLL tambahan yang digunakan oleh Winlogon.exe, penyerang dapat memastikan bahwa DLL jahat berulang kali dieksekusi untuk memperbaiki sistem. Parameter Winlogon disimpan di bagian:- β’ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon
- β’ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon
Beberapa subbagian yang rentan diketahui:- Winlogon \ Notify - Menentukan DLL yang menangani acara Windows
- Winlogon \ Userinit - menunjuk ke file userinit.exe, program inisialisasi pengguna yang dijalankan ketika pengguna masuk ke sistem;
- Winlogon \ Shell - menunjuk ke file explorer.exe, shell sistem yang mengeksekusi ketika pengguna log on ke sistem.
Rekomendasi perlindungan: Pastikan hanya administrator yang berwenang yang dapat mengubah pengaturan Winlogon. Gunakan segala macam cara untuk memblokir unduhan DLL jahat dan program yang berpotensi berbahaya, misalnya, yang dibangun di dalam Windows AppLocker dan DeviceGuard.