阅读:2394回复:8
关于进程隐藏的问题
上次看到关于进程隐藏的问题,我曾经写过一个程序通过修改内核进程来隐藏进程,在2K/XP下没问题了。
后来看到了ROOTKIT上的KLISTER,通过枚举线程调度连表来查看进程觉得很不错,可惜他只能用于2K。 那XP/2003下该如何呢??后来看老外说可以挂钩SWAPCONTEXT来获得调度的线程,据说是个不错的方法,于是 做了个例子,比较郁闷的是那些PROCESS OFFSET PID等各个OS下都不同,只能硬编码,把各个调度的线程的进程信息 保存下来,这样只要线程被调度就可以查看出来,奇怪的是在2K下有问题,我发现在2K下的PsSetCreateProcessNotifyRoutine 的PCREATE_PROCESS_NOTIFY_ROUTINE CALLBACK函数传来的ProcessId是错误的,导致2K下不能正常显示,而在 XP/2003下则没问题,比较郁闷,不过基本上应该可以检测显示那些隐藏的进程,大家可以测试看看。 通过INSTALLER把MYKLISTER的驱动加载,然后运行KLISTER来显示进程,IDT可以用来显示IDT表,HIDEPROC是我写的进程隐藏程序。 可以在2K/XP下不被发现,但可以被我的KLISTER显示,大家可以测试看看。 |
|
|
沙发#
发布于:2005-02-03 08:12
不错
|
|
|
板凳#
发布于:2005-02-03 09:23
使用了一下KLISTER,感觉很不错,隐藏的进程一览无余。
可喜看不到里面,呵呵 |
|
|
地板#
发布于:2005-02-03 10:25
你也可以用DBGVIEW来查看不断进行切换的进程及线程......
|
|
|
地下室#
发布于:2005-02-03 16:39
上次看到关于进程隐藏的问题,我曾经写过一个程序通过修改内核进程来隐藏进程,在2K/XP下没问题了。 没有源码?可以讨论一下,既然挂钩SWAPCONTEXT,为什么要用PsSetCreateProcessNotifyRoutine,PsSetCreateProcessNotifyRoutine干什么? 如果以你的矛戳你的盾,又如何?即用你的隐藏进程方法隐藏,你的显示进程能否看见? |
|
|
5楼#
发布于:2005-02-03 16:53
wowocock已经说了,他的隐藏(HIDEPROC)自己是可以用它的察看(KLISTER)看到的,呵呵。
|
|
|
6楼#
发布于:2005-02-04 10:55
上次看到关于进程隐藏的问题,我曾经写过一个程序通过修改内核进程来隐藏进程,在2K/XP下没问题了。 既然用到了硬编码,也就虱子多了不怕痒了,我的解决方案是,由于在fs:124处存有当前线程指针,我用硬件调试寄存器设置一个在此处的写粘着调试点,我在这里做着板凳等着,得到线程指针后在转换为进程指针。这样如何? |
|
|
7楼#
发布于:2005-02-08 11:37
如何?
|
|
|
8楼#
发布于:2005-03-09 16:28
wowocock已经说了,他的隐藏(HIDEPROC)自己是可以用它的察看(KLISTER)看到的,呵呵。 wowocock,可以把你那个HIDEPROC的源码给大家共享一下吗?谢谢 |
|