web-dev-qa-db-ja.com

自分のネットワークデーモンに接続するとはどういう意味ですか?

私は現在、overthewire.orgから盗賊ウォーゲームをやっています(ハッキングスキルを向上させるために行うことができるさまざまなタスクを備えたWebサイトであることを知らない人のために)。以前にやったのですが、かなり早く行き詰まり、ネタバレを使って爆破しました。それについての良い部分は、それが「再生可能性」と呼ばれるように、多くの余地を残すことです。 xDは今bandit20にいて、実行可能ファイルを使用する必要があります。

/home/bandit20/suconnect
usage: ./suconnect <port number>

「TCPを使用してローカルホストの指定されたポートに接続します。反対側から正しいパスワードを受信すると、次のパスワードが返送されます。」

私の最初の反応は、nmapを引き出して、開いているポートを探すことでした。開いているものと、echoを実行しているものとopensslを見つけたものがあります。実行中のサービスに関係なく、合計5つのポートが開いていました。また、ps -alxを使用して、別の6番目のポートでリッスンしているバックグラウンドで実行されているnetcatを見つけました。

今、タスクの説明は言う:

[ファイル]は、コマンドライン引数として指定したポートでローカルホストに接続します。次に、接続から1行のテキストを読み取り、それを前のレベルのパスワード(bandit20)と比較します。パスワードが正しければ、次のレベル(bandit21)のパスワードを送信します。注:独自のネットワークデーモンに接続して、思ったとおりに機能するかどうかを確認してください

予想される構文を使用して、見つかった6つのポートすべてを試しましたが、いずれも何も返しませんでした。私はネタバレのあるブログで、次のような古い説明をウェブサイトで見つけました。

このレベルを超えるには、2回ログインする必要があります。1回はsetuidコマンドを実行し、もう1回はsetuidが接続するネットワークデーモンを起動します。

私は2回sshingして、それらすべてのポートとバイナリを使用して2番目のウィンドウでリッスンしようとしましたが、何もしませんでした。問題は、バイナリを実行した後、空白のコマンドラインが表示されますが、入力内容に関係なく、出力が表示されないことです。ファイルで文字列を使用しましたが、接続できない、間違ったパスワード、正しいパスワードなどの失敗メッセージが表示されますが、何も表示されません。

このような状況では、解決策を渡されるのではなく、根底にある概念をもっと理解したいと思います。自分のネットワークデーモンに接続することの意味がわかりません(YouTubeでグーグルで検索してみましたが、ネットワークデーモンとは何か、またはネットワークデーモンに接続することの意味がよくわかりません)。また、2つの端末を実行する必要があるのは、それを取り出したので大したことのように思えましたが、このシナリオでは、どのように実行するのか、何を実行するのかがわかりません。また、ローカルホストのポートをリッスンするために、netcatを使用しましたが、他に何か良いものがあるかどうか、または他のものを使用することになっているのかどうかはわかりません。

フィードバックは大歓迎です、ありがとう:)

4
johndoe

なんとか答えを見つけたと言いたかっただけです。ローカルホストはローカルデーモンであり、ローカルホストに接続するということは、2つのnetcatを実行することを意味します。1つはポートでリッスンし、もう1つはポートに接続します。

7
johndoe