Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
lsm_bpf_check_argc0 — LSM BPF 模块,用于阻止类似 pwnkit(CVE-2021-4034)的漏洞利用 | Kitploit
工具/GitHubGitHub/evdenis/lsm_bpf_check_argc0
防御工具Archived
GitHubevdenis/lsm_bpf_check_argc0

lsm_bpf_check_argc0

LSM BPF 模块,用于阻止类似 pwnkit(CVE-2021-4034)的漏洞利用

查看仓库
2124年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

BUILD

检查 ARGC0 LSM BPF

一个简单的 LSM BPF 程序,用于阻止 argc == 0 的程序执行,例如 pwnkit(CVE-2021-4034)。 它所做的仅仅是检查所有 exec*() 系统调用是否以 argc >= 1 被调用。 该检查基于 Ariadne Conill 的 补丁。

LSM BPF 演示

如何构建

root@kitploit:~
# 在 Ubuntu 上
$ sudo apt-get install libc6-dev-i386 libbpf0 libbpf-dev

# 在 Fedora 35 上
$ sudo dnf install clang bpftool libbpf-devel glibc-devel.i686 glibc-devel.x86_64

$ make

如何安装

运行:

root@kitploit:~
$ sudo make DESTDIR=/usr install
# 将执行以下命令
# sudo cp src/load_check_argc0_lsm /usr/sbin
# sudo cp share/check_argc0_lsm.service /etc/systemd/system/

# 之后您可以启用该服务
$ sudo systemctl daemon-reload
$ sudo systemctl enable check_argc0_lsm.service
$ sudo systemctl start check_argc0_lsm.service

测试:

root@kitploit:~
$ strace ./test/trigger
...
execve("/usr/bin/pkexec", NULL, NULL)   = -1 EINVAL (无效参数)

$ sudo journalctl -u check_argc0_lsm.service
Feb 10 13:27:08 purple systemd[1]: 已启动针对 argc == 0 执行的 LSM BPF 保护。
Feb 10 13:27:13 purple load_check_argc0_lsm[89177]: TIME     PID     PROCESS          CALLING
Feb 10 13:27:13 purple load_check_argc0_lsm[89177]: 13:27:13 89194   trigger          /usr/bin/pkexec

如何测试

BPF LSM(5.7)和 BPF ringbuf(5.8)需要 Linux 内核 >= 5.8。

root@kitploit:~
# 程序将启动,附加一个 LSM BPF,并监控日志
$ sudo ./src/load_check_argc0_lsm
TIME     PID     PROCESS          CALLING
12:59:21 85689   trigger          /usr/bin/pkexec

可以使用 trigger 程序来测试一切是否正常工作:

root@kitploit:~
$ strace ./test/trigger
...
execve("/usr/bin/pkexec", NULL, NULL)   = -1 EINVAL (无效参数)
下载工具