问题标签 [rootkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - 需要 Win32 API 拦截项目的指导
好的,首先有一点背景。我已经开始在我的大学从事一个项目,其中一个目标是开发一个模块,该模块将在进程尝试执行以下操作时进行记录:
-创建、删除或修改文件(基本上是文件系统活动) -创建、检测或修改注册表 ID/值
实际上,我们将为此模块指定一个要监视的进程,并且每当该进程尝试执行上面列出的任何活动时,它都会被记录下来。
现在,我正在研究驱动程序开发的基础知识,以及我的 DS 建议的过滤驱动程序。这是我的问题,
实现这一目标的最佳方法是什么,是通过编写某种过滤器驱动程序吗?如果是,那么究竟是什么过滤器驱动程序、文件系统过滤器驱动程序或微过滤器驱动程序或其他什么?或者不知道其他一些技术?
我只需要一点方向,这样我就可以有针对性的研究和实施,因为我没有太多时间做这个项目!
c - cmd 命令 'dir' 使用什么设备?
对不起,不清楚的问题!
您可能知道,命令提示符命令“dir”列出了目录中的所有文件和目录。
我现在正在阅读“颠覆 Windows 内核:Rootkits”。
书中的一个代码示例隐藏了 TCP 连接。它使用挂钩。它使用的部分方法通过使用与其关联的设备对象获取指向TCPIP.sys的指针, “netstat”用于查询当前 TCP 连接的驱动程序。
基本上有一个函数 ,IoGetDeviceObjectPointer()
它接受一个设备名称(对于 TCPIP.sys,该设备是\\DEVICE\\TCP
)并返回一个指向设备驱动程序的指针,在该示例中为 TCPIP.sys。
我想知道是否有人知道“ dir
”命令是否使用设备驱动程序,如果是,设备名称是什么?
linux - 内核恐慌——复制_from_user 失败,kmalloc?
我正在为我的操作系统课程编写一个 rootkit(老师可以接受我在这里寻求帮助)。我的 rootkit 挂钩 sys_read 系统调用以向用户隐藏“魔法”端口。当我将用户缓冲区 *buf(sys_read 的参数之一)复制到内核空间(到名为 kbuf 的缓冲区中)时,我得到内核恐慌/核心转储错误。这可能只是因为中断读取导致系统停止运行,但我想知道是否有人对此有任何看法。
该代码可在线获取。看第 207 行:https ://github.com/joshimhoff/toykit/blob/master/toykit.c
我连接了 getdents 并使用 copy_from_user 将 getdents 结构带入内核空间,效果很好!我不确定阅读有什么不同。
谢谢您的帮助!
c++ - 链接器错误未定义引用调用 PsGetProcess
这是一个在给定 Pid 的情况下隐藏特定进程的代码,但我无法让 PsGetCurrentProcess() 工作,它不断抛出未定义的引用错误,我不知道该怎么做是代码
它一直向我抛出这个错误我不知道该怎么做 C:\Users\Gabriel\Documents\main.o main.cpp:(.text+0xe): undefined reference to ` imp _IoGetCurrentProcess@0'
c - 在 C 中获取函数的地址?
在用户空间中以 root 身份运行此代码时出现段错误。我不明白为什么。我相信我有一个 rootkit,我想检查地址是否与 /boot/System.map-3.2.0-4-amd64 中的地址相同
cat /boot/System.map-3.2.0-4-amd64 | grep "你想要的字符串"
process - 如何检测 Linux 中的隐藏进程
我在某处读到rootkits通过删除它的链接来隐藏一个进程。task list
首先我的问题是它何时从任务列表中删除,如何在内核3.*中安排它?事实上,我想通过比较类似的running
进程task list
和进程来检测隐藏进程runqueue
。
daemon - 可以开发一个程序来查看和访问对文件所做的编辑吗?
我知道键盘记录器和 root 工具包。我知道这些程序有可能知道用户正在按下哪些键以及用户在任何给定时间打开了哪些程序,但是程序(或后台进程)是否有可能知道在一个程序正在执行?
例如,用户在 Photoshop 中并执行以下操作:
- 打开名为mountain.jpg的文件
- 从顶部裁剪 103 像素
- 将对比度增加 50
- 将文件另存为 mountain-EDIT_1.jpg
后台进程(守护进程)能否理解用户运行了 Photoshop 的Open、Crop、Contrast和Save功能?
更具体地说,可以一个后台进程:
- 访问那些未保存的编辑,如裁剪和对比度
- 获取该数据并将其保存在其他位置
此外,如何找到像 Microsoft Word、Photoshop 或 ProTools 这样的程序保存用户所做的每个编辑的位置?
kernel - 通过插入新的二进制格式进行 Rootkit 攻击
一些 rootkit 攻击通过在格式列表中插入新的二进制格式并为内核提供恶意处理程序来实现,该处理程序在每次调用时都会返回错误代码 ENOEXEC。由于新的处理程序插入到格式列表的头部,因此每次执行新进程时都会执行恶意处理程序。系统启动后列表的大小是恒定的,只有在安装新的二进制格式时才会改变。当这种攻击插入新的二进制格式时,它会改变格式列表的长度。我在一篇文章中读过这个。我想知道在内核 3 中也是如此吗?如果是,我如何检查格式列表的长度?我在内核 3.11.4 中找到了这个结构:
是lh
引用的列表formats list
吗?
windows - 如何在 Windows XP 中找到创建具有随机名称的引导启动驱动程序的源?
谈论Windows XP。Comodo Killswitch 在 System Services 部分显示了一个 Boot Start 驱动程序,其中有一个随机的六个字母作为名称(每次重新启动时都是新的(可疑),总是 6 个字母)。Comodo Autorun Analyzer 未显示此驱动程序。Sysinternals Autoruns 未显示此驱动程序。Msconfig 没有显示此驱动程序。这是可疑的。我尝试过的任何防病毒和 antirootkit 软件都没有发现任何恶意软件。注册表中有这些名称的痕迹,但没有任何创建这些注册表项的痕迹。Comodo Killswitch 从不显示其二进制路径,当我尝试在启用加载模块选项卡的情况下启动 Killswitch 时,这些驱动程序不会显示在系统选项卡的服务部分(可疑)。我设法制作了一个内存转储文件 memory.dmp,但找不到打开和读取它的方法。
我怎样才能找到这些注册表项的来源,系统中部署此可疑驱动程序的组件位于何处?
更新:所以,我使用了进程监视器,根据那里的跟踪,似乎注册表中的条目是由 services.exe 创建的。可能是某些软件或恶意软件向 services.exe 提供了这些指令。我想知道如何找出软件的路径,负责services.exe制作的注册表项。