-   Linux - Kernel (
-   -   location of syscall_table in Ubuntu 11.10 (

omega341991 01-20-2013 09:53 PM

location of syscall_table in Ubuntu 11.10
I would like to know the location of the syscall_table.S file so that I can modify the system calls table. I found the pointer to system calls in the file unistd.h.
But from the information that i obtained, I also need the location of file syscall_table to modify/add system calls...Does anyone know the solution?

sundialsvcs 01-21-2013 08:46 AM

Solution: "Don't do that." Don't attempt to do that.

omega341991 01-21-2013 12:06 PM

that is not an option. This is my final year project. I am doing "Rootkit Detection" as the project and hence needs to modify the libraries and system calls to create the rootkit. Is there another way?

bsat 01-21-2013 12:09 PM

Be very careful if you want to add/modify system calls.Preferably do it on a test system and not on your main system

You can see the link below for the steps

omega341991 01-21-2013 12:16 PM

I am using a virtual machine to be safe. By the way, is it possible to execute multiple commands when only 1 command is actually invoked by modifying the system call table?
eg: calling open() calls open() and some other system call at the same time

Is is possible to implement the above said feature?

sundialsvcs 01-21-2013 09:48 PM

Then I would suggest putting in a kernel-module ... say a virtual device driver ... that can by some means (e.g. an "ioctl" call) install and remove the simulated-rootkit that you want to detect. The device doesn't have to do anything; cabbage the null-device. But you will need to have somewhere to vector the syscalls to, and the means to reflect the incoming call to the proper vector. It will, furthermore, need to do the swap atomically. Code that is "fully part of the kernel" can do that.

(I also suggest that you look around to see what others have already done.)

All times are GMT -5. The time now is 02:58 AM.