HITCON 101 - HOOKING 輕鬆做 SYSCALL 輕鬆學 / 劉哲豪, Dylandy === ### 寫個 Kernel Module - User Space -> system call -> kernel Space - 換掉 function pointer (hooking system call table) 就可以做很多事情 - Kernel Module - 可掛載至 linux kernel - 基本上都會是以 kernel mode 執行 - Kernel Space 從 `PAGE_OFFSET` 開始放 - 檢查第 `_NR_close` 的值是否為 `system_close` 的 address - Locate system call table - 透過 `_exit` symbol 找到 ro_data 的起始點,再從後方找到 system call table ### 替換 system call - 插入 kernel module,替換 system call,之後整台機器的所有該 system call 都會變成你可控的邏輯 - 但 system call table 是 RO - Modify PTE (software solution) - disable WP in CR0 (hardware solution) - [簡報網址](https://drive.google.com/file/d/1fChGwOaTAOBywGC6h8-ZEmHJsLXeugFB/view?usp=sharing) ###### tags: `HITCONCMT2019`,`HITCONCMT`,`HITCON`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up