netcatを使用してlocalhostでバインドシェルを設定しましたが、「-e」フラグに問題がある

netcatを使用してlocalhostでバインドシェルを設定しましたが、「-e」フラグに問題がある

私はnetcatを使ってバインドシェルをホストする「サーバー」を設定する必要がある簡単な練習をしようとしています。私のローカルホストから。 Ubuntu 20.04を実行しています。

私はフォローアップをしています。これチュートリアルには次の簡単な行があります。

nc -nvlp 5555 -e /bin/bash

しかし、これをコピーして貼り付けると、netcatは-eフラグのために混乱します。

netcat: invalid option -- 'e'

フラグを削除して-eもあまり役に立ちません。この場合、netcatは単に使用説明書を印刷します。私はどこで間違っていますか?

編集する

私のnetcatのバージョンを確認してください。

ask@Garsy:~$ netcat -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)

答え1

すべてのバージョンにnetcatこの-e {command}オプションが含まれているわけではありません。たとえば、私のバージョンのDebianからman netcat私がインストールしたOpenBSD派生文書(参考文献を参照)によると、次のようになります。

これにはまたはオプションはありませんが、-cファイル記述子をリダイレクトして接続を確立した後でもコマンドを実行できます。ポートを開いて接続しているすべての人がサイトで任意のコマンドを実行できるようにするのは危険ですので、ここに注意してください。本当にこれを行う必要がある場合は、次の例を参照してください。-enetcat

次に、いくつかの例でコマンドリダイレクトを実装する方法を示します。

関連情報