本文整理了一下NC在渗透测试中能够用到的一些常见功能。
NETCAT
NETCAT被人们称为网络工具中的瑞士军刀,体积小但功能强大。它能通过TCP和UDP在网络中读写数据,在两台电脑之间建立链接并返回两个数据流。
通过NC我们能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。
今天我们主要来看看在渗透测试中能够帮到我们的一些功能。
输入nc -h 我们可以看到nc的帮助信息:
关于NC的安装:
①kali下自带netcat,无需安装
②centos7可使用yum安装:yum install -y nc
③windows安装:
Part.2
基本功能
Telnet功能
首先nc可以实现telnet功能:
//-n 跟ip地址 -v显示详细信息
尝试连接80端口:
通过以上操作,可以检测目标是否开启某项服务,并且能够获取到服务的banner。
文本传输功能
server:nc -l -p +port
client:nc -nv +ip +port
例如使用win7充当服务器端:
// -l 进入监听模式 -p 指定监听端口
使用netstat查看一下端口状态:
//已监听4444端口
使用kali进行连接,并发送消息:
windows端成功接收到消息:
windows端发送123123:
kali同样可以接收:
利用该功能,可以用来进行审计信息发送。
例如kali可以向服务器端发送任意本地信息:
//读取并发送ip.txt文本内容
服务器端已收到ip.txt内容:
文件传输功能
(1)客户端向服务端传输
服务器端将监听内容保存为1.txt
客户端传输文件,如passwd文件:
// -q 1 传递结束后1s退出文件
服务端已接收到文件:
//可以传输其他类型的文件,不一定是文本文件
(2)服务端向客户端传递文件
服务器端传输任意文件:
客户端接收:
客户端成功接收文件:
(3)传输目录
传输目录的方法和传输文件一样,只需要先将文件压缩即可。
服务器端传递vulhub文件目录:
客户端接收:
成功接收目标目录文件:
端口扫描
NC还可以对目标主机进行端口扫描。
(1)扫描TCP端口:
//-z 调用扫描模式
同时使用wireshark抓包:
//可以看到发送SYN包进行探测
(2)扫描UDP端口:
//-zu 扫描udp
远程克隆硬盘
在对一台被入侵计算机进行取证工作时,可以使用NC先克隆硬盘。
此处为硬件块级别的备份,即使原本被标记删除的文件,也会拷贝过来,做数据还原。
接收端先监听,并设置克隆后的硬盘:
目标服务器,克隆本地sda硬盘:
Part.3
远程控制
远程控制
NC最重要的功能就是远程控制。
(1)正向远程控制
服务器端:
//-c bash 连接通过bash shell,windows使用-c cmd
客户端:
客户端直接输入操作指令:
//返回指令执行结果
(2)反向远程控制
服务器端依然开启监听:
//此时不指定shell
客户端远程连接:
//windows改为-c cmd
此时使用服务器远程控制客户端:
反向连接适用于边界防火墙对外部连接开启阻断的情况下。
攻击者监听服务器方的一个端口,服务器通过反向连接主动连接过来,绕过边界防火墙对外部主动连接的阻断。