【问题标题】:Python watching for process start up?Python 监视进程启动?
【发布时间】:2012-02-05 05:34:43
【问题描述】:

有什么方法可以监视以 python(理想情况下)或 bash 开头的名为“X”的新进程?我知道我可以查看正在运行的进程,但这还不足以满足我的需求。我能想到的唯一想法是如何连接到新进程并注册它,但是如何?

更多背景信息:我是 CCDC 团队 (http://www.nationalccdc.org/) 的一员,也是蓝队的一员。比赛的前提是给学生一个网络来防御专业的渗透测试人员,帮助下一代安全专家变得更好。我想要做的是在 linux 机器上加载这个 python 脚本并观察正在运行的某些命令,这可能只会被红队使用,例如“chattr”命令。理想情况下,我希望能够为脚本提供要观看的进程列表。我可以弄清楚那部分,但不知道如何观察进程产生。

赞赏任何方向。谢谢。

【问题讨论】:

    标签: python process monitor watch spawn


    【解决方案1】:

    我不知道在完全运行的 Linux 系统上通过任何方式启动进程时,不会通知没有 root 权限的进程。如果轮询速度不够快,您将不得不做一些严肃的黑客攻击。

    如果你有root,这是可能的。如果没有,我看不到。

    使用 root,您可以设置在系统范围内替换 fork 和 exec 系统调用,从而为您提供所需的通知。这可能在内核中,也可能是 LD_PRELOAD hack。

    这不仅适用于 Python;即使使用 C 程序,我也不知道“inotify 用于创建进程”。

    【讨论】:

    • 感谢您的指导!这听起来像是我想做的。我们确实拥有这些盒子的 root 访问权限。整个比赛都是通过虚拟机进行的。
    • @Trcx 哦,如果你有 root 权限,你可以实现一个像 SELinux 这样的 MAC 系统并完全排除它们。
    • 问题是我没有如何做到这一点的编程知识,但这就是谷歌的目的。 >_> 谢谢。
    【解决方案2】:

    我还没有测试过这个想法,但是在 Linux 上,每个进程在/proc/<it's process id>/ 下都有一个目录987654323@ 匹配您正在寻找的过程。这只是一个想法,希望对您有所帮助!

    【讨论】:

    • 这也是我的想法。不幸的是,似乎由于 procfs 不是真正的 fs,它不会通知新目录:(
    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    相关资源
    最近更新 更多