首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能在码头集装箱上执行insmod?

为什么我不能在码头集装箱上执行insmod?
EN

Security用户
提问于 2022-05-02 11:47:19
回答 1查看 508关注 0票数 3

我已经启动了一个非特权的码头容器,并试图启动特权的exec会话。它具有CAP_SYS_MODULE功能,但我仍然不允许在insmod中进行操作。

代码语言:javascript
复制
docker start -it -d --name test ubuntu
docker exec -it --privileged test sh
...
/ # insmod shell.ko
insmod: ERROR: could not insert module reverse-shell.ko: Operation not permitted

然后,我尝试用seccomp不受限制地启动容器,并执行相同的命令,并且它正在工作。

代码语言:javascript
复制
docker start -it -d --security-opts seccomp=unconfined --name test2 ubuntu
docker exec -it --privileged test2 sh
...
/ # insmod shell.ko

现在回到seccomp,我看到它基于moby的默认配置文件阻塞系统,在这里我看到了终量_模块被允许。那么,为什么我的内核模块第一次没有装载seccomp受限容器呢?

EN

回答 1

Security用户

发布于 2022-07-22 13:02:50

这一问题的答案似乎有两件事。首先,当您启动一个非特权容器,然后使用权限进入它时,仍然启用seccomp筛选器。第二个是seccomp配置文件确实阻止了finit_module调用。

下面的输出显示了我认为您在第一次设置中要做的事情的重新创建。使用,可以查看特权exec中被阻塞的系统,我们可以看到(如果您向右滚动很长的路:),FINIT_MODULE被阻塞了。

代码语言:javascript
复制
❯ docker run -d --name test raesene/alpine-containertools
c5c7a7b95ea0e531450b8843c85db0f54f7997ddb8273c8f97ae9bd0376685ab

rorym in  cuilean in  ⛵ kadmin@kubeadm2node () ~
❯ docker exec -it --privileged test /bin/bash
bash-5.1# amicontained
Container Runtime: not-found
Has Namespaces:
    pid: true
    user: false
AppArmor Profile: docker-default (enforce)
Capabilities:
    BOUNDING -> chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read
Seccomp: filtering
Blocked Syscalls (59):
    SYSLOG SETSID USELIB USTAT SYSFS VHANGUP PIVOT_ROOT _SYSCTL ACCT SETTIMEOFDAY MOUNT UMOUNT2 SWAPON SWAPOFF REBOOT SETHOSTNAME SETDOMAINNAME IOPL IOPERM CREATE_MODULE INIT_MODULE DELETE_MODULE GET_KERNEL_SYMS QUERY_MODULE QUOTACTL NFSSERVCTL GETPMSG PUTPMSG AFS_SYSCALL TUXCALL SECURITY LOOKUP_DCOOKIE CLOCK_SETTIME VSERVER MBIND SET_MEMPOLICY GET_MEMPOLICY KEXEC_LOAD ADD_KEY REQUEST_KEY KEYCTL MIGRATE_PAGES UNSHARE MOVE_PAGES PERF_EVENT_OPEN FANOTIFY_INIT NAME_TO_HANDLE_AT OPEN_BY_HANDLE_AT SETNS PROCESS_VM_READV PROCESS_VM_WRITEV KCMP FINIT_MODULE KEXEC_FILE_LOAD BPF USERFAULTFD PKEY_MPROTECT PKEY_ALLOC PKEY_FREE
票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/261672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档