Unixファイルシステムに関するパズル[閉じる]

Unixファイルシステムに関するパズル[閉じる]

1年前に見たクイズに質問がありました。この問題を解決しようとしていました。他のすべてはプログラミングに関連していますが、これはUnixファイルの権限に関連しています。以下はシナリオです。

SSHサーバーのログイン名とパスワードが提供されます。ssh your-username@server-addr

あなたの使命は、名前付きファイルを探して/home/abc/chekmeコンテンツを検索することです。

SSHリモートサーバーにログインすると、そのls -lログインに権限がないことを示す0つのファイルが表示されますが、ls -l上記のファイルを実行すると、rootユーザー、グループ、および名前に読み取り権限が付与されていることがわかります。グループのメンバーはですchekme

権限がなく、グループのメンバーではないため、ファイルを読み取ることができません。ファイルの閲覧中に/etc/group名前付きグループがあり、chekmeそのグループに1人のユーザーだけが追加されたことがわかりました。ユーザー名はguest

ここで私のGUIDをグループのGUIDに変更し、グループに自分自身を追加し、ユーザーsuとして実行しようとしguestましたが、最初の2つはrootアクセスが必要で、suゲストはユーザーパスワードを実行するため、これらのいずれも機能しませんでした.

今どうすればいいですか?

ログイン資格情報の実際の問題:

ファイル:/home/hacker-weekly/そろばん

したがって、「/home/hacker-weekly/abacus」ファイルを読み、そこにファイルの内容をコミットする必要があります。

まだログイン資格情報を取得していない場合は、以下の「ログイン資格情報を取得」ボタンをクリックして取得してください。その後、次のコマンドを実行してマシンにログインできます。

ssh "ユーザー名"@"サーバーアドレス"

ヒント:UNIXベースのシステムのファイル権限について慎重に考えてください。

ログイン資格情報サーバー: ec2-175-41-164-254.ap-southeast-1.compute.amazonaws.com ユーザー名: ashwinscongo パスワード: ab12d6H

グループ名はabacusで、このグループのユーザーはguestです。 /etc/passwrdを試しましたが、何も見つけられませんでした。

ベストアンサー1

方法:

$ ls -l /home/hacker-weekly/abacus
-r--r----- 1 root abacus 373 Nov 12  2012 /home/hacker-weekly/abacus
$ id
uid=1554(gilles) gid=1555(gilles) groups=1555(gilles)

abacusしたがって、root権限を取得するか、グループ権限を取得する必要があります。しかし、どのように?

ヒント(ステップ1):権限を高める方法は?

完全なソリューション(ステップ1):

存在してはいけないsetuidまたはsetgid実行可能ファイルを見つける:
    find / -xdev -perm /4000 -ls 2> / dev / null
2つの可能な候補があります:/usr/local/abacusと/usr/bin/hacker-weekly - abacus 。後者を実行すると、SSH 秘密鍵が印刷されます。

ヒント(ステップ2):このファイルを使用する最も確実な方法は、別のアカウントにログインすることです。どのアカウント?

完全なソリューション(ステップ2):

/etc/passwdを見て、どのアカウントがあるかを確認します(システムアカウントと参加者を除く)。 abacus グループのメンバーを見つけるには、/etc/passwd および /etc/group を確認してください。ついにゲストがいました。
そのため、秘密鍵を ~/.ssh/id_rsa にコピーし、権限を正しく設定してから ssh guest@localhost を使用してください。ビンゴ。


<広告>

この種のコンテンツが好きなら、旗をつかむゲームとしてsec.se (セキュリティスタック交換) CTFチーム(組織の詳細についてはメタポストを参照してください)が、UNIXよりも多くのネットワーキング、リバースエンジニアリング、および暗号化が関連しています。

おすすめ記事