1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

まだまだ駆け出しだけど、2回目のハッキング攻略頑張ってみた!!

1
Last updated at Posted at 2026-07-13

はじめに

みなさん、こんにちは!
前回は「Potatoマシン」のハッキングを攻略しましたが今回は、「DC-2マシン」という違うマシンを攻略していきたいと思います!
まだまだ難しいことばかりですが、少しずつやっていきます!




1. ターゲットマシンのIPアドレスを特定する

まずは、netdiscoverを使用して同一ネットワーク内のIPアドレスを調査します。

sudo netdiscover -i enp0s3 -r 192.168.56.0/24

スクリーンショット 2026-07-06 123119.png

実行結果から、各マシンのIPアドレスを確認します。

IPアドレス 用途
192.168.56.1 Parrot OS(攻撃マシン)
192.168.56.100 DHCPサーバー
192.168.56.107 DC-2(ターゲットマシン)

続いて、ターゲットマシンのIPアドレスを環境変数に設定します。

export IP=192.168.56.107

スクリーンショット 2026-07-06 123135.png

最後に、作業用ディレクトリを作成します。

mkdir ./vulnhub/dc2

スクリーンショット 2026-07-06 123145.png

以上で、DC-2攻略の準備が完了しました。




2. ポートスキャンとWebサイトの確認

まずは、nmapを使用してターゲットマシンのポートスキャンを実施します。

nmap -sC -sV $IP --open -p-

スクリーンショット 2026-07-06 123457.png

スキャンの結果、以下のポートが開放されていることが確認できました。

ポート番号 サービス
80 HTTP
7744 SSH

続いて、Webサイトへアクセスします。

ブラウザを起動し、以下のURLへアクセスします。

http://192.168.56.107/

スクリーンショット 2026-07-06 123844.png

しかし、このままではWebページを表示することができませんでした。

そこで、/etc/hostsファイルに以下の内容を追加します。

192.168.56.107 dc-2

スクリーンショット 2026-07-06 134232.png

設定後、ブラウザで以下のURLへアクセスします。

http://dc-2/

すると、Webページが正常に表示され、観葉植物をテーマにしたサイトが確認できました。
スクリーンショット 2026-07-06 134323.png




3. Webサイトの探索

まずは、Webサイト内を確認します。

Flag」カテゴリーへアクセスすると、以下のようなページが表示されました。
スクリーンショット 2026-07-06 151551.png

内容を翻訳すると、次のようなことが書かれていました。

  • 一般的なワードリストは役に立たないが、CeWLが有効である。
  • 次のフラグを見るにはログインが必要である。
  • フラグが見つからない場合は、別のユーザーでログインを試すこと。

※ここにFlagページのスクリーンショットを掲載します。

続いて、ターゲットのURLを環境変数に設定します。

export URL="http://$IP:80/"

スクリーンショット 2026-07-06 151724.png

次に、gobusterを使用してアクセス可能なディレクトリを列挙します。

gobuster dir -u $URL -w /usr/share/wordlists/dirb/common.txt

スクリーンショット 2026-07-06 151956.png

実行すると、アクセス可能なディレクトリが一覧表示されました。

続いて、WordPressの管理画面へアクセスします。

http://192.168.56.107/wp-admin/

ログイン画面でユーザー名を変えて認証を試したところ、エラーメッセージに違いがあることを確認しました。

  • ユーザー名:hoge、パスワード:hoge
    • 「ユーザーが存在しない」という内容のエラーメッセージが表示されました。
  • ユーザー名:admin、パスワード:hoge
    • パスワードが誤っているという内容のエラーメッセージが表示されました。

このことから、adminユーザーは存在し、hogeユーザーは存在しないことが分かりました。

スクリーンショット 2026-07-06 152150.png
スクリーンショット 2026-07-06 152209.png




4. WordPressの情報収集とユーザー列挙

さらに情報収集を進めます。

WebサイトにはWordPressが使用されているため、wigを利用して使用されているソフトウェアやバージョンを調査します。

wig $URL

スクリーンショット 2026-07-06 152541.png
スクリーンショット 2026-07-06 152553.png
スクリーンショット 2026-07-06 152607.png

実行すると、WordPressをはじめ、使用されている各ソフトウェアやバージョン情報を確認できました。

続いて、WordPressのユーザーを列挙します。

nmap -p80 --script http-wordpress-users $IP

スクリーンショット 2026-07-06 152909.png

実行結果から、新たに**tom**というユーザーを発見できました。

これまでの調査結果を合わせると、以下の3名のユーザーが存在することが確認できました。

ユーザー名
admin
tom
jerry

これにより、WordPressに存在するユーザーは admin、tom、jerry の3名であることが判明しました。

スクリーンショット 2026-07-06 153039.png




5. CeWLで辞書ファイルを作成し、WordPressの認証情報を調査する

まずは、CeWLを使用してWebサイトから辞書ファイルを生成します。

今回は、CeWLがあらかじめOSにインストールされていたため、そのまま利用しました。

cewl dc-2 -w cewl.txt

生成された辞書ファイルの内容を確認します。

head cewl.txt

これにより、Webサイト内の単語を基にした辞書ファイルを作成できました。

スクリーンショット 2026-07-06 160547.png

続いて、WordPressの認証情報を調査します。

オンラインパスワードクラッカーであるHydraを使用して認証を試行しました。

スクリーンショット 2026-07-06 161531.png

実行結果から、以下の認証情報を確認できました。

ユーザー名 パスワード
jerry adipiscing
tom parturient

これにより、jerrytomの認証情報を取得できたことが確認できました。




6. WordPressへログインし、SSHアクセスを試みる

取得した認証情報を使用して、WordPressのダッシュボードへログインします。

今回は、jerryユーザーでログインしました。

ログイン後、「Pages」→「All Pages」 を開くと、**「Flag2」**というタイトルのページが存在していることを確認できます。

スクリーンショット 2026-07-06 161815.png
スクリーンショット 2026-07-06 161917.png

Flag2の内容を確認すると、WordPressの脆弱性を攻撃できないのであれば、別の侵入口を探すべきというヒントが記載されていました。

WordPress以外で利用可能なサービスはSSHであるため、SSHへのログインを試みます。

まずは、jerryユーザーでSSHログインを試しました。

ssh jerry@$IP -p 7744

しかし、認証に失敗しログインすることはできませんでした。

スクリーンショット 2026-07-06 162043.png

続いて、tomユーザーでSSHログインを試します。

ssh tom@$IP -p 7744

tomユーザーでは正常にSSHログインすることができました。

スクリーンショット 2026-07-06 162320.png




7. tomユーザーの権限を調査する

SSHでtomユーザーとしてログインした後、実行可能なコマンドを確認します。

まず、現在のユーザー情報を確認するためにwhoamiidコマンドを実行しましたが、どちらも使用できませんでした。

whoami
id

続いて、現在使用しているシェルを確認します。

echo $SHELL

スクリーンショット 2026-07-06 162539.png

実行結果から、制限付きシェルである**rbash**が使用されていることが分かりました。

さらに、tomユーザーのホームディレクトリを確認すると、以下のファイルとディレクトリが存在していました。

  • flag3.txt
  • usr

最後に、flag3.txtの内容を確認するためにcatコマンドを実行しました。

cat flag3.txt

しかし、catコマンドは使用できず、制限付きシェルによって実行が制限されていることが確認できました。

スクリーンショット 2026-07-06 162658.png

  • whoamiidコマンドの実行結果
  • echo $SHELLの実行結果
  • ホームディレクトリの内容
  • cat flag3.txtの実行結果




8. rbashの制限を回避し、基本コマンドを実行できる環境を構築する

tomユーザーでログインした状態では、rbash(Restricted Bash)が使用されているため、多くのコマンドが制限されています。

そこで、viを利用して通常のシェルへ切り替えます。

vi

vi起動後、以下のコマンドを入力します。

:set shell=/bin/sh
:shell

スクリーンショット 2026-07-13 100742.png

実行すると、通常のシェルのプロンプトが表示されます。

これにより、rbashからshへの切り替えに成功し、rbashによる機能制限を回避できます。

その後、環境変数PATHを再設定することで、制限されていた基本コマンドを実行できるようになります。

スクリーンショット 2026-07-13 104024.png

  • viの起動画面
  • :set shell=/bin/shおよび:shellの実行結果
  • shへ切り替わった後のプロンプト
  • PATHを再設定後に基本コマンドが利用できることを確認した画面




9. jerryユーザーへ切り替え、sudoの設定を確認する

rbashの制限を回避した後、suコマンドを使用してjerryユーザーへ切り替えます。

su jerry

パスワードには、取得済みの認証情報を入力します。

adipiscing

スクリーンショット 2026-07-13 104606.png

ログイン後、ホームディレクトリを確認すると、flag4.txtファイルが存在していました。

内容を確認すると、**「まだ最後のフラグが残されており、そのヒントはここにはない」**という内容が記載されていました。

スクリーンショット 2026-07-13 104740.png

続いて、sudoで実行可能なコマンドを確認します。

sudo -l

実行結果から、**/usr/bin/git**については、パスワードなしでsudo実行できることが分かりました。

これは権限昇格につながる重要な情報です。

スクリーンショット 2026-07-13 104823.png




10. gitを利用して権限昇格を行う

sudo -lの実行結果から、/usr/bin/gitはパスワードなしで実行できることが分かりました。

この権限を利用して、git経由でシェルを起動します。

sudo git -p help config

gitのヘルプ画面が表示されたら、以下を入力します。

!/bin/sh

すると、root権限のシェルが起動し、プロンプトが表示されます。

これにより、gitを利用した権限昇格に成功しました。

最後に、rootユーザーのホームディレクトリへ移動します。

cd /root

ここから、rootユーザーのみがアクセスできるファイルや最終フラグを確認できます。

スクリーンショット 2026-07-13 105254.png

  • sudo git -p help configの実行結果
  • !/bin/shを入力した画面
  • rootシェルを取得した画面
  • /rootディレクトリへ移動した画面

ちなみにこの終了画面を翻訳してみるとこんな感じです。


「よくやりました!

おめでとうございます!!!

ツイートを送ってくれたり、フィードバックを提供してくださった皆さん、本当にありがとうございました。とても感謝しています。

このCTFを楽しんでいただけたなら、@DCAU7 宛てにツイートしてください。」





終わりに

これで、「DC-2マシン」の攻略は以上です!
初見なので分からないところもたくさんありましたが、なんとか最後までできました!
次回も攻略がんばって行きます!:)
最後までご覧いただき、ありがとうございました!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?