これまでに行ったいくつかの侵入テストでは、通常、Netcatを使用してリバースシェルを作成し、ターゲットマシンでコマンドを実行しました。現在、SSHクライアントを使用してこれを行うのが好きな人が多いようです。私はより多くの情報を調査していて、どちらかといえば、Netcatを使用するほうが良いように見えます。これは、多くのネットワークがセキュリティ上の理由でSSHがインストールされていないか、ファイアウォールがSSH通信を妨げていることが原因です。
では、NetcatとSSHクライアントでリバースシェルを使用するのが適切なのはいつなのでしょうか。それぞれの長所と短所は何ですか?ありがとうございました。
主な違いは、「SSHトンネル」がクライアントからサーバーへの暗号化であることです。 netcat
は、そこに書き込んだり読み取ったりしたもの(またはより高レベルのプロトコル)の暗号化されていない接続です。
信頼できる環境でこれを行う場合は、netcat
で十分です。また、上位レベルのプロトコルになんらかの暗号化機能があれば十分です。それ以外の場合は、SSHトンネル(別名TCP転送)を使用してコミュニケを秘密に保ちます。
また、ssh
コマンドに慣れている人もいるので、SSHを使用してからnetcat
構文を学習します。