MRa*_*ser 5 c unix sockets security unix-socket
是否有(兼容的)欺骗(作为root)unix套接字(文件系统套接字)对等凭证的方式,可以通过getsockopt()
选项获得SO_PEERCRED
?
背景:
我需要连接到一个服务器应用程序(我无法修改),它检查UID
通过它连接到它的进程SO_PEERCRED
.我想欺骗信息,以便能够以root 身份连接到应用程序.
UPDATE
为了澄清这个问题:
我在寻找该服务器发现的特定同非侵入性的方式UID
/ GID
.解决方案是鼓励这就需要改变内核(或取内核模块使用的)或更改服务器进程或它的加载/联过程中以任何方式(LD_PRELOAD
,系统调用拦截等).
基本上,该解决方案应该在任何Linux(或一般的unix)服务器上运行时没有任何特殊要求.服务器进程可能已在运行.
Jon*_*ham -1
不会。原因是提供对等点 UID 和 GID 的机制是内核内部的,你无法欺骗内核!内核使用对等点的 PID 来推断对等点的有效凭据。当一侧connect
在套接字上执行 a 操作时,就会发生这种情况。copy_peercred()
请参阅对fromunix_stream_connect()
的调用net/unix/af_unix.c
。没有任何方法可以让对等方更改其发送的数据或套接字,从而使内核相信对等方的 PID 不是原来的 PID。这与 AF_INET 套接字不同,在 AF_INET 套接字中,内核对对等方的进程没有内部了解,只能看到对等方发送的 IP 数据包标头中的数据。
要获得此效果,您唯一能做的就是将对等进程的有效 UID 设置为 root 或您想要的任何 UID/GID,为此您需要 root 密码或sudo
权限。
归档时间: |
|
查看次数: |
3290 次 |
最近记录: |