8
Defense Evasion
Bagian Defense Evasion memuat 28 tool dalam satu tabel Name|Description|URL yang menempati README.md:227-2541. Judul ## Defense Evasion langsung diikuti baris header tabel, tanpa subjudul ### di antaranya README.md:224-2262, berbeda dari Initial Access yang dipecah menjadi Brute Force dan Payload Development. Di daftar isi, bagian ini muncul sebagai satu entri tunggal README.md:143.
Halaman ini menyusun ulang 28 baris tersebut menurut lapisan deteksi yang dinetralkan, bukan menurut urutan aslinya. Hasilnya lima kelompok: 6 tool pada lapisan userland dan AMSI, 5 tool yang mengakhiri proses pengaman, 5 tool yang menyentuh telemetri dan kernel, 9 tool berupa loader dan teknik injeksi, serta 3 tool yang memanipulasi artefak PE.
Peta tool ke lapisan pertahanan
Setiap tool di bagian ini bisa dipetakan ke satu lapisan pertahanan yang ingin dinetralkannya, dari hook di ruang pengguna sampai callback di kernel.
graph TD
subgraph L1["Userland: hook ntdll dan AMSI"]
RefleXXion
SharpUnhooker
NtdllUnpatcher
firewalker
SharpBlock
NetLoader
end
subgraph L2["Proses AV/EDR"]
unDefender
Backstab
KillDefenderBOF
Blackout
EDRFreeze["EDR-Freeze"]
end
subgraph L3["ETW, event log, dan kernel callback"]
EDRSandBlast
BlockETW
EvtMute
Phant0m
EDRSilencer
end
subgraph L4["Loader, injeksi, dan direct syscall"]
SPAWN
DarkLoadLibrary
AtomLdr
PoolPartyBof
ShellGhost
InlineExecuteAssembly["InlineExecute-Assembly"]
InlineExecutePE["Inline-Execute-PE"]
BOFNET["BOF.NET"]
FindObjectsBOF["FindObjects-BOF"]
end
subgraph L5["Artefak PE dan memory scanner"]
Mangle
SigFlip
AceLdr
end
L1 --> SCAN["Hook userland dan memory scanner"]
L2 --> SCAN
L4 --> SCAN
L5 --> SCAN
L3 --> NS["Sensor berhenti mengirim telemetri"]
style L1 fill:#2d7d46,color:#fff
style L2 fill:#dc2626,color:#fff
style L3 fill:#f59e0b,color:#000
style L4 fill:#8b5cf6,color:#fff
style L5 fill:#336791,color:#fff
style SCAN fill:#2d7d46,color:#fff
style NS fill:#dc2626,color:#fff
%% fig: Pemetaan tool Defense Evasion ke lapisan pertahanan
%% desc: Lima kelompok tool dihubungkan ke dua keluaran, yaitu alat deteksi yang tetap buta dan sensor yang berhenti mengirim telemetri.Warna pada diagram mengikuti fungsi: hijau untuk lapisan userland yang dipulihkan, merah untuk tool yang mengakhiri proses pengaman, kuning untuk tool yang menyentuh telemetri, ungu untuk loader dan injeksi, serta biru untuk manipulasi artefak PE.
Lapisan userland: hook dan AMSI
Enam tool bekerja di dalam ruang pengguna. RefleXXion membantu mem-bypass user-mode hook yang dipasang AV/EPP/EDR, sedangkan SharpUnhooker memulihkan hive API pada ntdll.dll, kernel32.dll, user32.dll, advapi32.dll, dan kernelbase.dll. NtdllUnpatcher disajikan sebagai contoh kode untuk menguji deteksi blue team terhadap malware yang mem-bypass userland hook EDR.
| Tool | Yang dinetralkan | Ringkasan README |
|---|---|---|
RefleXXion | user-mode hook AV/EPP/EDR | utility untuk membantu bypass hook di ruang pengguna |
SharpUnhooker | hive API ntdll.dll, kernel32.dll, user32.dll, advapi32.dll, kernelbase.dll | unhook otomatis berbasis C# |
NtdllUnpatcher | hook userland EDR | contoh kode untuk menguji deteksi blue team |
firewalker | hook FireWalker | library untuk menambah kemampuan bypass hook ke kode yang sudah ada |
SharpBlock | DLL proyeksi aktif EDR | mencegah entry point dieksekusi |
NetLoader | AMSI dan Windows Defender | memuat binary C# dari path atau URL, menambal AMSI saat runtime |
Mematikan proses pengaman
Kelompok kedua tidak memulihkan apa pun, melainkan mengakhiri atau membekukan proses antimalware. unDefender memakai symbolic link native dan NT path, Backstab membunuh proses yang dilindungi antimalware, KillDefenderBOF adalah PoC Beacon Object File dari KillDefender, Blackout memakai BYOVD, dan EDR-Freeze menaruh proses EDR atau antimalware dalam keadaan koma.
| Tool | Mekanisme yang disebut README |
|---|---|
unDefender | abusing native symbolic links dan NT paths |
Backstab | kill proses yang dilindungi antimalware |
KillDefenderBOF | Beacon Object File PoC dari KillDefender |
Blackout | kill proses antimalware terproteksi lewat BYOVD |
EDR-Freeze | proses EDR atau antimalware dibuat koma |
⚠️ Kelima baris ini hanya menyebut aksi, tanpa langkah pemulihan. Setelah proses pengaman berhenti, host kehilangan sensor sampai dijalankan ulang oleh operator, jadi jalankan hanya pada host uji.
Telemetri: ETW, event log, dan kernel callback
EDRSandBlast adalah satu-satunya tool di bagian ini yang menyentuh kernel: ia memakai vulnerable signed driver untuk mem-bypass deteksi EDR berupa kernel callback dan ETW TI provider, sekaligus proteksi LSASS README.md:2284. Empat tool lain memotong jalur telemetri di titik berbeda.
graph LR
P["Proses dengan provider ETW"] --> S["Sesi ETW"]
S --> L["Windows Event Log service"]
L --> SRV["Server EDR"]
BlockETW -.->|"blokir telemetri dalam proses"| P
EvtMute -.->|"saring event yang dilaporkan"| S
Phant0m -.->|"matikan event log"| L
EDRSilencer -.->|"blokir laporan lewat WFP"| SRV
style P fill:#8b5cf6,color:#fff
style S fill:#f59e0b,color:#000
style L fill:#f59e0b,color:#000
style SRV fill:#336791,color:#fff
style BlockETW fill:#dc2626,color:#fff
style EvtMute fill:#dc2626,color:#fff
style Phant0m fill:#dc2626,color:#fff
style EDRSilencer fill:#dc2626,color:#fff
%% fig: Titik potong telemetri ETW sampai server EDR
%% desc: Event mengalir dari proses ke sesi ETW, ke Windows Event Log service, lalu ke server EDR, dan tiap tool memotong satu ruas alur itu.| Tool | Titik potong | Ringkasan README |
|---|---|---|
EDRSandBlast | kernel callback dan ETW TI provider | memakai vulnerable signed driver, juga menyerang proteksi LSASS |
BlockETW | telemetri ETW di dalam proses | assembly .NET 3.5/4.5 untuk memblokir telemetri |
EvtMute | event yang dilaporkan Windows event logging | menerapkan filter pada event tersebut |
Phant0m | Windows event log | event log killer |
EDRSilencer | jalur laporan ke server | memakai Windows Filtering Platform (WFP) untuk memblokir agen EDR |
Loader, injeksi, dan direct syscall
Kelompok terbesar berisi sembilan tool yang mengubah cara payload masuk ke proses, sehingga hook dan memory scanner tidak melihat pola yang biasa. SPAWN men-spawn sacrificial process dengan Arbitrary Code Guard, BlockDll, dan PPID spoofing. InlineExecute-Assembly menjalankan assembly .NET di dalam proses sebagai pengganti modul fork and run, dan Inline-Execute-PE menjalankan executable unmanaged di Beacon. DarkLoadLibrary menyediakan LoadLibrary untuk operasi offensive, sementara AtomLdr adalah DLL loader dengan fitur evasive.
| Tool | Peran | Ringkasan README |
|---|---|---|
SPAWN | sacrificial process | spawn proses dengan ACG, BlockDll, dan PPID spoofing lalu inject shellcode |
BOF.NET | runtime BOF | runtime .NET agar BOF bisa ditulis langsung dalam .NET |
InlineExecute-Assembly | eksekusi assembly .NET | in-process, alternatif fork and run execute-assembly |
Inline-Execute-PE | eksekusi PE | menjalankan executable unmanaged di Beacon |
DarkLoadLibrary | pemuatan DLL | LoadLibrary untuk operasi offensive |
AtomLdr | DLL loader | loader dengan fitur evasive lanjutan |
PoolPartyBof | injeksi proses | memakai Windows Thread Pools |
ShellGhost | shellcode di memori | membuat shellcode tidak terlihat dari awal sampai akhir proses |
FindObjects-BOF | enumerasi proses | direct system call untuk mencari modul atau process handle |
Artefak PE dan memory scanner
Tiga tool terakhir bekerja pada berkas atau image sebelum dijalankan. Mangle memanipulasi aspek compiled executable (.exe atau DLL) agar lolos EDR, SigFlip menambal PE bertanda tangan authenticode tanpa merusak signature, dan AceLdr adalah UDRL Cobalt Strike untuk evasion memory scanner.
| Tool | Objek yang diubah | Ringkasan README |
|---|---|---|
Mangle | compiled executable .exe atau DLL | memanipulasi aspek berkas agar tidak terdeteksi EDR |
SigFlip | PE bertanda tangan authenticode | patch tanpa membatalkan atau merusak signature |
AceLdr | image di memori | UDRL untuk evasion memory scanner |
Catatan penulisan bagian ini
Dua baris pada bagian ini punya cacat format yang perlu diketahui saat menyalin tabel. Phant0m menyisakan satu spasi sebelum pipa penutup README.md:2385, dan baris ShellGhost ditulis tanpa pipa penutup sama sekali README.md:2516. Keduanya tetap terbaca sebagai satu baris tabel oleh parser Markdown, tetapi penulisan baris baru sebaiknya mengikuti konvensi pada Struktur Daftar dan Konvensi Penulisan.
Packer dan obfuscator seperti inceptor, mortar, dan ProtectMyTooling juga menargetkan AV/EDR, tetapi barisnya tidak berada di bagian ini melainkan di Payload Development README.md:80-827 dan dibahas pada Initial Access dan Delivery. Pembahasan BOF sebagai runtime berada di halaman Command and Control.