LKM && hack sys_execve
kratochvil jiri
kratochvil na dbsystem.com
Čtvrtek Březen 6 10:17:38 CET 2003
Potreboval bych logovat vsechny spustene/spoustejici se aplikace. Mysle
jsem ze jednoduce zahakuju sys_execve. Ale nejak mi to nechce fungovat.
Mam dotaz na zkusene kernel harcovniky kde muze byt problem?
Kdyz provolam puvodni exec tak to krashne na bad IP - a podle vypisu je
v nem vzdycky hodnota 23?
<hacked_exec>
extern void* sys_call_table[];
struct pt_regs;
int (*orig_execve) (const char *, const char *[], const char *[], struct pt_regs *regs);
int hacked_execve(const char *filename, const char *argv[], const char *envp[],struct pt_regs *regs)
{
printk("Hacked execve called\n");
return (*orig_execve)(filename, argv, envp, regs);
}
static int __init hexec_init(void)
{
orig_execve = sys_call_table[SYS_execve];
sys_call_table[SYS_execve] = hacked_execve;
printk("exec hack loaded :))\n");
return 0;
}
static void __exit hexec_cleanup(void)
{
printk("exec hack goodbye :))\n");
sys_call_table[SYS_execve] = orig_execve;
}
module_init(hexec_init);
module_exit(hexec_cleanup);
</hacked_exec>
Další informace o konferenci Linux