【VulnHub】 vulnOSv2 - walkthrouth

VulnHubの VulnOSv2 を実施

VulnOS: 2 ~ VulnHub

VulnOSは侵入テストのスキルを向上させるために仮想イメージとしてまとめられた一連の脆弱なオペレーティングシステムです。

  • これはバージョン2です 

そこまで難易度が高くない問題とのこと

 

初期偵察

・netdiscoverでIPアドレスを特定

netdiscover -r 192.168.23.0/24

IPアドレスは192.168.23.131

f:id:driasandlions55:20190215135246p:plain

 

・公開されているポートを確認

nmap -sV -p- -A -n 192.168.23.131
 

f:id:driasandlions55:20190215135322p:plain

以下の情報を取得

  • OPENポートは22,80,6667
  • ubuntu
  • Apache 2.4.7
  • OpenSSH 6.6.1p1

 

・Webページにアクセスしてみる

f:id:driasandlions55:20190215135442p:plain

f:id:driasandlions55:20190215135458p:plain

 

ページをたどっていき"Documentation"のページを見ると、

ソースコードに文字列が記載されている。

よく見ると反転することで管理画面へのアクセス(jabcd0cs)と

ユーザ/パスワード(guest/guest)が記載されている

f:id:driasandlions55:20190215135802p:plain

 
・記載されているドキュメント管理ページにアクセスしguest/guestでログイン

f:id:driasandlions55:20190215140029p:plain


f:id:driasandlions55:20190215140100p:plain

ログイン後のページを見るとOpendocMan v1.2.7であることがわかった。
OpendocMan v1.2.7のexploitコードを検索したところexploitdbにあるPoCが引っ掛かった。

www.exploit-db.com

どうやらOpenDocManv1.2.7にはSQLインジェクション脆弱性(CVE-2014-1945)が
あるようだ。
OpenDocManの1.2.7.2より前の"ajax_udf.php"におけるSQLインジェクション脆弱性により、リモートの攻撃者は"add_value"パラメータを介して任意のSQLコマンドを実行することができます。

 

侵入

SQLに関連する調査ツールsqlmapを使用する。
 
dbとtableの一覧を調査する。
投入コマンド
※オプションにlevel5を指定する必要があった デフォルトはlevel0

f:id:driasandlions55:20190215141413p:plain

・sqlmapの結果
    dbの一覧

f:id:driasandlions55:20190215141939p:plain

    tableの一覧 ※一部抜粋

f:id:driasandlions55:20190215152716p:plain

 
・"db:jabcd0cs"にある"table:odm_user"からユーザ情報が得られそうなので中身を参照
投入コマンド
 

f:id:driasandlions55:20190215143223p:plain

webminユーザとguestユーザのpasswordハッシュを得ることができた。
 
・webminユーザのユーザ名とハッシュ値からパスワードを解読
passwordハッシュはMD5であった。
MD5は以下のようなサイトで簡単に解読できてしまう。

hashkiller.co.uk

 

f:id:driasandlions55:20190215143427p:plain

サイトで確認するとwebmin1980であった。
 
・得られたパスワードはOpendocMainのパスワードであったが
   パスワードの使いまわしに期待して、sshでログインしてみる

f:id:driasandlions55:20190215143500p:plain

ログイン成功
 
・ログインできたのでSUIDで権限昇格できそうなコマンドがあるか確認
投入コマンド
find / -perm -u=s -type f 2 >/dev/null
 

f:id:driasandlions55:20190215143712p:plainto

特に権限昇格に使えそうなものはなかった
 
・OS情報を収集する。

f:id:driasandlions55:20190215150140p:plain

unameコマンドの結果より、ubuntu 3.13.0-24-genericであることがわかったので、
"ubuntu 3.13.0-24"でgoogle検索を行う。
 

f:id:driasandlions55:20190215151537p:plain

Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation

 

上記のページがヒット、下記脆弱性をつくexploitコードが存在する
CVE-2015-1328 : Ubuntulinux パッケージの overlayfs の実装における root アクセス権を取得される脆弱性

 

・exploitコードをダウンロードしてkali linuxの/var/www/htmlにソースを置き、

侵入したサーバからwgetしてコンパイルを行う。

gcc 37292.c -o 37292

f:id:driasandlions55:20190215151740p:plain

 コンパイルしたexploitを実行しrootに権限昇格することが出来、flag.txtを参照することができた。