セキュリティ技術者見習い備忘録

セキュリティ見習いが勉強作業記録をメモする場所

【VulnHub】hackfest2016: Quaoar -Walkthrough-

はじめに

今回は以下のVM

今回はVMware Workstation(NAT)を使った。起動後の画面に記載のあるように、以下それぞれのフェーズで1つずつ、計3つのflagがあるとのこと。

  1. Get a shell
  2. Get root access
  3. There is a post exploitation flag on the box

f:id:ztetez:20190210211823p:plain

今回は、上記3つを見出しにして記載する。

Get a shell

ターゲットのIPアドレスの特定から。(攻撃側(kali linux)のIPアドレスは192.168.196.129)

#netdiscover -r 192.168.196.0/24

  • -r:スキャン範囲の指定。デフォルトでは、192.168.0.0/16。

f:id:ztetez:20190429015359p:plain

続いてポートスキャン。

#nmap -sV -A -p- 192.168.196.130

  • -sV:バージョンスキャン
  • -A:詳細情報取得
  • -p-:フルポートスキャン

f:id:ztetez:20190210212037p:plain

22番(ssh)、53番(dns)、80番(http)、139番(netbios-ssn)、143番(imap)、445番(smb),993番(imaps)、995番(pop3s)がopen。

ブラウザで80番へアクセス。

f:id:ztetez:20190210212401p:plain

dirbでリンクされていないコンテンツの調査。

#dirb http://192.168.196.129

f:id:ztetez:20190210212527p:plain

色々出てきた。wordpressという文字列もある。まずはrobots.txtへ。

f:id:ztetez:20190210213952p:plain

  Allowに記載のある/wordpress/は以下のような画面。左下にはログインページへのリンクもある。

f:id:ztetez:20190210214020p:plainwordpress脆弱性診断ツールであるwpscanを使う。

#wpscan --url http://192.168.196.130/wordpress -e u

  • --url:URLの指定
  • -e u:ユーザ名の列挙

f:id:ztetez:20190210214421p:plain

f:id:ztetez:20190210214437p:plain

 「admin」、「wpuser」というユーザがいることが分かった。ログインページのリンクよりログインページに移動し、Username「admin」、Password「admin」を試行したら入れた。

f:id:ztetez:20190210215100p:plain

 metasploitでwordpressのexploit codeを探す。shellを奪うには、以下が使えそう。

f:id:ztetez:20190210215523p:plain

判明したアカウント情報などを用いて以下のように設定。

f:id:ztetez:20190210215621p:plain

実行すると、meterpreterセッションが確立できた。現在のユーザ名はwww-data。bashを使うために以下を実行。

meterpreter>shell
python -c "import pty; pty.spawn('/bin/bash')" 

 /home/wpadminにflagを発見。

f:id:ztetez:20190210221206p:plain

 Get root access

rootへの権限昇格を目指す。sudoで実行できるコマンドやSUIDが設定されたファイルを探したが見つからなかった。wordpressの設定ファイル的なものを探していたら、以下のサイトを発見。

wp-config.php の編集 - WordPress Codex 日本語版

wp-config.phpファイルはWordPress のインストールを行なう上で最も重要なファイルの一つです。このファイルは WordPress のファイルディレクトリのルート直下に置かれ、中にはMySQLデータベースへの接続情報などサイトの基礎となる詳細な構成情報が含まれます。

とのこと。/var/www/wordpress配下にあるwp-config.phpを確認すると、上記記載通りMySQLのアカウント情報があった。(しかもroot)

f:id:ztetez:20190210224142p:plain

このアカウント情報でsshへアクセス成功。/rootにflagを発見。

f:id:ztetez:20190210224327p:plain

There is a post exploitation flag on the box

3つ目のflagを探す。post exploitationとは侵入を成功した後の行動(例えば横感染、永続化)を指す。ファイル名が「flag」で始まるものを探してみた。

#find / -name flag*

f:id:ztetez:20190212233621p:plain
出てきた2つは既に上記で見つけたもの。3つ目のflag.txtはなさそうなので何かのファイルの中にflagの記載があると予想できる。永続化だとcronが考えられる。/etc/cron.dに「php5」というファイルが存在。中を確認し、3つ目のflagを発見。

f:id:ztetez:20190210225646p:plain