Persistence dengan netsh

I am a information security professional with interest mainly in defenses/ blue teaming. I enjoy leisure running 🏃♂️ and PC games.
Search for a command to run...

I am a information security professional with interest mainly in defenses/ blue teaming. I enjoy leisure running 🏃♂️ and PC games.
No comments yet. Be the first to comment.
Guide on setting up detection pipeline with Github Action

Indonesia leak, ransomware, and data breach monitoring

Leveraging AWS lambda and sigma for CloudTrail monitoring

Thoughts on starting cloud-centric detection assessment

This article is an excerpt from my piece originally published on cdef.id. You can read the full article here. Indicators of Compromise (IOCs) are simply evidence that a cyber intrusion has occurred. They are the digital breadcrumbs left behind by att...

Sebagai sebuah blog yang mengaku blog forensik, malu rasanya tidak pernah menulis tentang forensik. Tadi pagi ketika membaca thisweekin4n6, ada artikel yang cukup menarik, yaitu teknik menggunakan netsh dalam melakukan persistence. Netsh sendiri secara default terinstall di Windows, sehingga teknik ini merupakan teknik yang cukup menarik untuk dibahas walaupun sudah lama beredar.
Netsh adalah command line utility yang memiliki fitur untuk melihat dan memodifikasi konfigurasi network (local dan remote). Selain fungsi utama tersebut, ternyata netsh memiliki fitur untuk menambahkan dll untuk di-load ketika netsh dijalankan. Fitur yang satu ini dapat digunakan untuk melakukan persistence, dan disebut dengan helper.
buat dan upload payload
tulisan ini hanya bicara mengenai persistence, oleh karena itu kita tidak akan membahas detail mengenai dua hal tersebut. Anda yang tertarik dapat meriset lebih jauh. Yang termudah dan paling umum adalah dengan membuat payload via msfvenom. Untuk kepentingan tulisan ini, maka payload kita akan disebut dengan payload.dll
tulis registry untuk menjalankan netsh
anda dapat menjalankan netsh melalui registry key berikut (atau dengan berbagai registry key lain)
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v namakey /t REG_SZ /d "C:\Windows\System32\netsh"
lalu tambahkan helper ke netsh, melalui perintah di command line windows:
netsh add helper payload.dll
setelah ini, makan setiap restart, perintah pertama (di registry) akan menyalakan netsh, namun netsh yang secara otomatis me-load helper yang merupakan payload kita.
untuk mendeteksi persistence ini, ada dua registry key yang bisa dipantau. pertama registry terkait persistence standar (kita menggunakan Run, seperti contoh di atas):
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
serta registry terkait helper netsh, yang bisa dilihat di
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NetSh
bagi anda pengguna sysmon, maka dapat menambahkan line berikut (khusus untuk dua key di atas)
<RuleGroup name="" groupRelation="or">
<RegistryEvent onmatch="include">
<TargetObject name="T1060" condition="contains">CurrentVersion\Windows\Run</TargetObject> <!--Windows: [ https://msdn.microsoft.com/en-us/library/jj874148.aspx ] -->
<TargetObject condition="begin with">HKLM\Software\Microsoft\Netsh</TargetObject> <!--Windows: Netsh helper DLL [ https://attack.mitre.org/wiki/Technique/T1128 ] -->
</RegistryEvent>
</RuleGroup>
atau gunakan sysmon config swiftonsecurity (link di akhir tulisan).
Keuntungan utama dari persistence ini adalah netsh merupakan perintah yang cukup sering ditemui pada Windows, terutama server, sehingga melihat sebuah key menjalankan netsh dapat dengan mudah terlewat. Lebih jauh key konfigurasi helper netsh termasuk yang jarang dipantau.