次を使用してサーバー側でシェルを生成できることはわかっています:
nc -l 1111 -e /bin/bash
しかし、クライアント側でシェルを生成したいのです。
私は次のことを試しました:nc 127.0.0.1 1111 | /bin/bash
動作しますが、実行されたコマンドの出力は表示されません。
そこで質問なのですが、netcat を使用してクライアント側でシェルを生成する方法はあるのでしょうか?
答え1
私の環境では動作するようですが、netcat のバージョンによって異なります。Debian では 2 つがパッケージ化されています: "netcat-伝統的" そして "netcat-openbsd前者は-e
クライアント モードとサーバー モードの両方をサポートしますが、後者はまったくサポートしません。
$ nc.traditional localhost 1234 -e /bin/bash
$ nc.openbsd localhost 1234 -e /bin/bash
nc.openbsd: invalid option -- 'e'
私の OSX でもサポートされていません。
をサポートしていない netcat でこれを実行する必要がある場合は-e
、次のようなものが必要になる場合があります。2 つのプログラム間で双方向パイプを作成するにはどうすればよいですか?