kernel-hook-framework icon indicating copy to clipboard operation
kernel-hook-framework copied to clipboard

crash on x86_64

Open djn3m0 opened this issue 8 months ago • 1 comments

Hi,

Im on VM running XUbuntu 22.04 x64, Linux xubun2204 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux and I loaded hook

I compiled the framework and samples like below,

$ make x86_64 KDIR=/usr/src/linux-headers-5.15.0-107-generic

and loaded in following order,

$ sudo insmod hookFrame.ko
$ sudo insmod hookFrameTest.ko

Then in the logs I started to get following which shows the hook is being installed,

May 28 16:56:37 xubun2204 kernel: [  384.964665] in replaced vfs_open
May 28 16:56:37 xubun2204 kernel: [  384.964676] in replaced vfs_open
May 28 16:56:37 xubun2204 kernel: [  384.964694] in replaced vfs_open
May 28 16:56:37 xubun2204 kernel: [  384.964697] reading /etc/security/pam_env.conf
May 28 16:56:37 xubun2204 kernel: [  384.964701] reading /etc/security/pam_env.conf
May 28 16:56:37 xubun2204 kernel: [  384.964704] in replaced vfs_open
May 28 16:56:37 xubun2204 kernel: [  384.964706] reading /etc/environment
May 28 16:56:37 xubun2204 kernel: [  384.964708] reading /etc/environment
May 28 16:56:37 xubun2204 kernel: [  384.964711] in replaced vfs_open
May 28 16:56:37 xubun2204 kernel: [  384.964713] reading /etc/security/pam_env.conf
May 28 16:56:37 xubun2204 kernel: [  384.964716] reading /etc/security/pam_env.conf

but when I unload,

$ sudo rmmod hookFrameTest.ko

I get the following crash log :(

May 28 16:56:37 xubun2204 kernel: [  384.966026] remove hijack target vfs_read
May 28 16:56:37 xubun2204 kernel: [  384.966065] remove hijack target vfs_open
May 28 16:56:37 xubun2204 kernel: [  384.966101] remove hijack target fuse_open_common
May 28 16:56:37 xubun2204 kernel: [  384.966102] unload hook framework test!
May 28 16:56:38 xubun2204 kernel: [  385.210861] BUG: unable to handle page fault for address: ffffffffc09cb0f6
May 28 16:56:38 xubun2204 kernel: [  385.210865] #PF: supervisor instruction fetch in kernel mode
May 28 16:56:38 xubun2204 kernel: [  385.210866] #PF: error_code(0x0010) - not-present page
May 28 16:56:38 xubun2204 kernel: [  385.210868] PGD 108615067 P4D 108615067 PUD 108617067 PMD 11121a067 PTE 0
May 28 16:56:38 xubun2204 kernel: [  385.210871] Oops: 0010 [#1] SMP NOPTI
May 28 16:56:38 xubun2204 kernel: [  385.210873] CPU: 0 PID: 2271 Comm: cpptools Tainted: G           OE     5.15.0-107-generic #117-Ubuntu
May 28 16:56:38 xubun2204 kernel: [  385.210875] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
May 28 16:56:38 xubun2204 kernel: [  385.210876] RIP: 0010:0xffffffffc09cb0f6
May 28 16:56:38 xubun2204 kernel: [  385.210879] Code: Unable to access opcode bytes at RIP 0xffffffffc09cb0cc.
May 28 16:56:38 xubun2204 kernel: [  385.210880] RSP: 0018:ffffa7e945867df8 EFLAGS: 00010206
May 28 16:56:38 xubun2204 kernel: [  385.210881] RAX: 0000000000000016 RBX: ffff8cdf72941800 RCX: 0000000000000016
May 28 16:56:38 xubun2204 kernel: [  385.210882] RDX: 0000000000000000 RSI: 0000000000000016 RDI: ffff8cdf1165b9c0
May 28 16:56:38 xubun2204 kernel: [  385.210882] RBP: ffffa7e945867e38 R08: 0000000000000001 R09: ffff8cdf878be440
May 28 16:56:38 xubun2204 kernel: [  385.210883] R10: 0000000000000001 R11: 0000000000000000 R12: ffff8cdf49c9c300
May 28 16:56:38 xubun2204 kernel: [  385.210884] R13: 00007ff7c0765368 R14: 0000000000000400 R15: 0000000000000000
May 28 16:56:38 xubun2204 kernel: [  385.210885] FS:  00007ff7c0767da0(0000) GS:ffff8ce035e00000(0000) knlGS:0000000000000000
May 28 16:56:38 xubun2204 kernel: [  385.210886] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 28 16:56:38 xubun2204 kernel: [  385.210887] CR2: ffffffffc09cb0cc CR3: 000000016e6de000 CR4: 0000000000750ef0
May 28 16:56:38 xubun2204 kernel: [  385.210899] PKRU: 55555554
May 28 16:56:38 xubun2204 kernel: [  385.210900] Call Trace:
May 28 16:56:38 xubun2204 kernel: [  385.210901]  <TASK>
May 28 16:56:38 xubun2204 kernel: [  385.210903]  ? show_trace_log_lvl+0x1d6/0x2ea
May 28 16:56:38 xubun2204 kernel: [  385.210907]  ? show_trace_log_lvl+0x1d6/0x2ea
May 28 16:56:38 xubun2204 kernel: [  385.210909]  ? ksys_read+0xb5/0xf0
May 28 16:56:38 xubun2204 kernel: [  385.210912]  ? show_regs.part.0+0x23/0x29
May 28 16:56:38 xubun2204 kernel: [  385.210913]  ? __die_body.cold+0x8/0xd
May 28 16:56:38 xubun2204 kernel: [  385.210914]  ? __die+0x2b/0x37
May 28 16:56:38 xubun2204 kernel: [  385.210915]  ? page_fault_oops+0x13b/0x170
May 28 16:56:38 xubun2204 kernel: [  385.210917]  ? search_exception_tables+0x61/0x70
May 28 16:56:38 xubun2204 kernel: [  385.210920]  ? kernelmode_fixup_or_oops+0xa2/0x120
May 28 16:56:38 xubun2204 kernel: [  385.210921]  ? __bad_area_nosemaphore+0x15d/0x1a0
May 28 16:56:38 xubun2204 kernel: [  385.210922]  ? bad_area_nosemaphore+0x16/0x20
May 28 16:56:38 xubun2204 kernel: [  385.210923]  ? do_kern_addr_fault+0x62/0x80
May 28 16:56:38 xubun2204 kernel: [  385.210925]  ? exc_page_fault+0xe7/0x170
May 28 16:56:38 xubun2204 kernel: [  385.210927]  ? asm_exc_page_fault+0x27/0x30
May 28 16:56:38 xubun2204 kernel: [  385.210929]  ksys_read+0xb5/0xf0
May 28 16:56:38 xubun2204 kernel: [  385.210931]  __x64_sys_read+0x19/0x20
May 28 16:56:38 xubun2204 kernel: [  385.210932]  x64_sys_call+0x1dba/0x1fa0
May 28 16:56:38 xubun2204 kernel: [  385.210935]  do_syscall_64+0x56/0xb0
May 28 16:56:38 xubun2204 kernel: [  385.210937]  ? exit_to_user_mode_prepare+0x96/0xb0
May 28 16:56:38 xubun2204 kernel: [  385.210939]  ? syscall_exit_to_user_mode+0x35/0x50
May 28 16:56:38 xubun2204 kernel: [  385.210940]  ? x64_sys_call+0x1e54/0x1fa0
May 28 16:56:38 xubun2204 kernel: [  385.210941]  ? do_syscall_64+0x63/0xb0
May 28 16:56:38 xubun2204 kernel: [  385.210942]  ? syscall_exit_to_user_mode+0x35/0x50
May 28 16:56:38 xubun2204 kernel: [  385.210943]  ? x64_sys_call+0x1dba/0x1fa0
May 28 16:56:38 xubun2204 kernel: [  385.210944]  ? do_syscall_64+0x63/0xb0
May 28 16:56:38 xubun2204 kernel: [  385.210945]  ? irqentry_exit+0x1d/0x30
May 28 16:56:38 xubun2204 kernel: [  385.210946]  ? sysvec_apic_timer_interrupt+0x4e/0x90
May 28 16:56:38 xubun2204 kernel: [  385.210947]  entry_SYSCALL_64_after_hwframe+0x67/0xd1

Please tell me if I'm doing anything wrong.

Thanks

djn3m0 avatar May 28 '24 16:05 djn3m0