かわろぐ

技術、セキュリティ、その他もろもろ

MENU

JoomScan を使って OWASP BWA の古い Joomla! をスキャンしてみる

環境

  • kali linux 2021.2
  • OWASP BWA 1.2 
  • joomscan 0.0.7

JoomScan とは?

以前紹介した、WPScan は Wordpress の脆弱性スキャナでしたが、今回する JoomScan は Wordpressと同じくCMS の Joomla! の脆弱性スキャナです。

これは perl で書かれたツールですね。

JoomScan を使ってみる

最新のJoomla!をスキャンしても脆弱性は全く見つからないとおもうので、以前の記事でセットアップした OWASP BWA に含まれる古いJoomla!をスキャンして見ようと思います。

JoomScan をインストールする

kali linux にはデフォルトでインストールされていないので、以下のコマンドでインストールします。 もしくは joomscan を叩くとインストールするか?と訪ねられるので y を押してもいいです。

$ sudo apt install joomscan

f:id:kawa_xxx:20210718134712p:plain

OWASP BWA の Joomla をスキャンする

以下のコマンドで OWASP BWA の joomla をスキャンします。

スキャン対象は以前の記事でセットアップしたものを流用しています。

$ joomscan -u http://10.0.2.5/joomla

スキャンそのものは1秒もかかわらず終わります。

そして、以下の様にばーっとスキャン結果が出た後にレポートファイルを reports/10.0.2.5/ に保存したぞとプロンプトに表示されます。

f:id:kawa_xxx:20210718134719p:plain

このレポートのフルパスは以下のパスです。

/usr/share/joomscan/reports 

ただし、ここは root でないと書き込めないので、 sudo をつけて実行しないとレポートファイルが出力されません。

ですので、再度 sudo をつけて実施してレポートファイルを出力させます。

検出されたレポートを眺めてみる

出力されたHTML形式のレポートをブラウザで表示させると、以下のように表示されます。

Vulnerability 以下の項目は、 [+] の部分をクリックすると展開され、検知された内容や検知が無かったことが表示されます。

赤文字が何か問題があるのかなと思いましたが、赤文字の部分は特に検知なしで、緑色の部分が検知有りというちょっと逆の色使いになっています。

まぁ、攻撃者の視点で使われるとしたら、緑は攻撃に利用出来る可能性がある検知があるということで合ってはいるのか。

f:id:kawa_xxx:20210718134726p:plain

Joomla のバージョンは1.5と言うのがわかります。

そして、Core Joomla Valnerability には 17個もの脆弱性が列挙されており、Exploit-DBへのリンクもついています。

Joomla! 1.5 Beta 2 - 'Search' Remote Code Execution
EDB : https://www.exploit-db.com/exploits/4212/

Joomla! 1.5 Beta1/Beta2/RC1 - SQL Injection
CVE : CVE-2007-4781
EDB : https://www.exploit-db.com/exploits/4350/

Joomla! 1.5.x - (Token) Remote Admin Change Password
CVE : CVE-2008-3681
EDB : https://www.exploit-db.com/exploits/6234/

Joomla! 1.5.x - Cross-Site Scripting / Information Disclosure
CVE: CVE-2011-4909
EDB : https://www.exploit-db.com/exploits/33061/

Joomla! 1.5.x - 404 Error Page Cross-Site Scripting
EDB : https://www.exploit-db.com/exploits/33378/

Joomla! 1.5.12 - read/exec Remote files
EDB : https://www.exploit-db.com/exploits/11263/

Joomla! 1.5.12 - connect back Exploit
EDB : https://www.exploit-db.com/exploits/11262/

Joomla! Plugin 'tinybrowser' 1.5.12 - Arbitrary File Upload / Code Execution (Metasploit)
CVE : CVE-2011-4908
EDB : https://www.exploit-db.com/exploits/9926/

Joomla! 1.5 - URL Redirecting
EDB : https://www.exploit-db.com/exploits/14722/

Joomla! 1.5.x - SQL Error Information Disclosure
EDB : https://www.exploit-db.com/exploits/34955/

Joomla! - Spam Mail Relay
EDB : https://www.exploit-db.com/exploits/15979/

Joomla! 1.5/1.6 - JFilterInput Cross-Site Scripting Bypass
EDB : https://www.exploit-db.com/exploits/16091/

Joomla! < 1.7.0 - Multiple Cross-Site Scripting Vulnerabilities
EDB : https://www.exploit-db.com/exploits/36176/

Joomla! 1.5 < 3.4.5 - Object Injection Remote Command Execution
CVE : CVE-2015-8562
EDB : https://www.exploit-db.com/exploits/38977/

Joomla! 1.0 < 3.4.5 - Object Injection 'x-forwarded-for' Header Remote Code Execution
CVE : CVE-2015-8562 , CVE-2015-8566
EDB : https://www.exploit-db.com/exploits/39033/

Joomla! 1.5.0 Beta - 'pcltar.php' Remote File Inclusion
CVE : CVE-2007-2199
EDB : https://www.exploit-db.com/exploits/3781/

Joomla! Component xstandard editor 1.5.8 - Local Directory Traversal
CVE : CVE-2009-0113
EDB : https://www.exploit-db.com/exploits/7691/

おわりに

古いCMSは狙われ安いので、自分が管理している物にはこのようなツールをうまく使いながら、安全に管理するようにして行きたいですね。

参考文献

OWASP Juice Shop を VirtualBox にセットアップしてみる

今回はOWASP Juice Shop というモダンなやられアプリをローカルに構築して、CTF機能のスコアボードへアクセスするまでをまとめました。

環境

  • VirtualBox
  • Vagrant
  • OWASP Juice Shop 12.8.0

OWASP Juice Shop って?

OWASP BWAや OWASP BadStore、 Metasploitable3 などと同じく、脆弱性が作り込まれた、攻撃を練習するためのやられWebアプリです。

2021年現在も積極的にリリースがなされており、node.js で作られている最もモダンなやられアプリです。

VirtualBox にセットアップする

Githubに様々な環境へのセットアップ方法がまとまっています。今回はローカルのVirtualBoxにセットアップしたいので、Vagrantの章を見ます。

セットアップ手順はとても簡単。ソースコードをクローンして、以下のコマンドを叩くだけです。

$ git clone https://github.com/bkimminich/juice-shop.git
$ cd juice-shop
$ cd vagrant
$ vagrant up

VirtualBox の仮想マシンが起動してきたら、ブラウザで次のIPにアクセスします。

http://192.168.33.10:3000/

f:id:kawa_xxx:20210626211509p:plain

他の脆弱なやられアプリからするととてもナウい感じがしています。

Juice Shop の CTF 機能のスコアボードを探してみる

CTF機能があるようなので、それをやってみようと思います。が、どうやらまずはスコアボードを探すところから始まっているようです。

URLが http://192.168.33.10:3000/#/login このように #/hogehoge になるのでここに何らかの文字列を入れればスコアボードにたどり着けるのでは無いかと推測します。

Chrome のDevToolsにすべてのファイルを検索出来る機能があるので、それを利用してスコアボードのURLを特定出来る情報が無いか調べて見ます。まずはとりあえず boardで検索かけてみます。

f:id:kawa_xxx:20210626211519p:plain

結構ヒットしますね。ヒットしたところをざざーっと眺めていくと、path の中に score-board と言うのがありました。新規登録画面で使われる register なども周辺にあるので、おそらくこれでしょう。

と言う事でこれを #/ の後に付けてアクセスすると、スコアボードが表示されました。スコアボードを探すのもチャレンジになっていたのですね。青文字で You successfully solved a challenge: Score Board (Find the carefully hidden 'Score Board' page.)と表示されました。

f:id:kawa_xxx:20210626211533p:plain

今後はこの Juice Shop もセキュリティツールの検証に利用しつつ、このCTFも一つづつトライして行ってみたいと思います。

参考文献

Uniscan を使って RCE を探してみる

利用している Metasploitable3 の環境の構築方法はこの記事を参照ください。 このuniscanは、大量の攻撃リクエストを発するので、自分の管理下の環境か許可を得た環境で実施しましょう。

環境

  • kali linux 2021.2
  • uniscan
  • Metasploitable3

Uniscan とは?

ツールの説明ページによると、簡単なリモートファイルインクルージョン、ローカルファイルインクルード、リモートコードエグゼキューションを探すスキャナです。

Uniscan をセットアップする

デフォルトではインストールされていない

kali linux の Bear Metal の Installer からダウンロード出来るイメージでセットアップした状態では、 uniscan はインストールされていませんでした。

以下のコマンドでインストールするか、 uniscan とターミナルで入力すると、入っていないけどインストールするか?と聞かれるので、こちらからインストールしても良いですね。

$ sudo apt install uniscan

f:id:kawa_xxx:20210620142334p:plain

動作には管理者権限が必要

このツールは以下のスクリーンショットにあるとおり、通常のユーザ権限では実行できません。

f:id:kawa_xxx:20210620142342p:plain

Metasploitable3 をスキャンしてみる

サイトをクロールして、ブラインドSQLインジェクションやローカルファイルインクルージョン、XSSなどを順番にテストしている様子でした。完了までにすごい時間が掛かります。

実行中のプロンプトに表示される表示でSQLインジェクションの残りリクエストが9000以上あり、放置することを決めましたw

結果として私の環境では完了まで、10時間以上掛かりました。

HTML形式のレポートを眺める

完了したよ!と言う表示の後に html レポートを report/[ホスト名].html に保存したよ!と表示が出たがこれどこのレポート配下だろう?と悩みました。

同じ悩みを持っている人はいるようで、 kali linux のフォーラムに全く同じ疑問の投稿がありました。

出力されたHTMLレポートは、 /usr/share/uniscan/report にあるようです。

出力されたHTMLファイルには、コンソールに表示されていた物とほとんど同じ内容が記載されています。

  • スタート時間
  • ターゲットの情報
  • クローリングして見つかったドメインやメールアドレス
  • ダイナミックスキャンの結果見つかった脆弱性
  • スキャンの完了時間

f:id:kawa_xxx:20210620142347p:plain

今後もkali linux のツールを使って遊んで行きたいとおもいます。

セキュリティツールの実験台に OWASP BWA をセットアップする

Kali Linux に含まれる様々な Web 系のスキャンツールを試すために、OWASP BWA をセットアップしたのでそのときの記録をまとめます。

2015年以降更新されていませんが、脆弱性を試すので更新されていない方がよいですね。

環境

  • OWASP BWA 1.2
  • Oracle Virtual Box 6.1.22

OWASP BWA とは?

OWASP BWA (Broken Web Applications)とは、脆弱性を抱えたWebアプリや、古いバージョンのCRM等が多数収められた、セキュリティの学習者向けの仮想マシンイメージです。

セットアップ方法

ダウンロードしてVirtualBox にインポートする

Oracle VirtualBox はダウンロードしインストールされている前提で話を進めます。もしインストール出来ていなければそちらからインストールしてください。

まず、sourceforge からOVA ファイルをダウンロードしてきます。

ダウンロードが終わったら OVA ファイルをダブルクリックすると、以下の画面のように VirtualBox が立ち上がりインポートの画面が出てきます。

f:id:kawa_xxx:20210617232415p:plain

すべてデフォルトのままで、インポートボタンを押すとvm と言う名前の仮想マシンが登録されます。

あとでわからなくならないように名前を owasp bwa 等に変更しておきましょう。

ネットワークの設定を変更する

今回の記事ではセットアップするだけですが、次回以降 WPScan やJoomScan等で遊ぶので、同じく仮想マシンとして存在している KaliLinux からも通信出来るように、ネットワークの設定を変更しておきます。

以下スクリーンショットのように、ネットワークアダプタを NATネットワークに変更しておきます。

f:id:kawa_xxx:20210617232424p:plain

起動してIPを確認する

OWASP WBA の仮想マシンを起動すると、プロンプトに脆弱だからホストオンリーかNATのネットワークで使って!という注意書きとともに、仮想マシンに割り当てられたIP、ログインするためのIDとパスワードが表示されています。

f:id:kawa_xxx:20210617232430p:plain

今回はWebの脆弱性を試す環境を構築しているだけなので、表示されているIPに Kali Linux からアクセスしてみましょう。

どのようなWebアプリがあるのか?

プロンプトに表示されていたIPアドレスにブラウザでアクセスしてみると、以下のスクリーンショットのような、収録されている脆弱で古いWebアプリへのリンク集になっています。

f:id:kawa_xxx:20210617232436p:plain

試しにWordpressのリンクをクリックしてみると、Broken WordPress というサイトが表示されました。

f:id:kawa_xxx:20210617232444p:plain

これで、各種Web系スキャンツールに合わせた環境の準備ができました。今後各種セキュリティスキャナで遊んで行きたいと思います。

whatweb スキャナーで Metasploitable3 をスキャンする

今回は Kali Linux に含まれているツールの中で whatweb というWebサイトを調べるスキャナツールについて調べて見たこと、やってみたことをまとめます。

利用している Metasploitable3 の環境の構築方法はこの記事を参照ください。

環境

  • kali linux 2021.2
  • whatweb 0.5.5
  • Metasploitable3

whatweb スキャナーとは?

whatweb スキャナーとは、対象サイトのWebサーバー、CMS、Javascriptライブラリなどを識別するツールです。

Chrome拡張機能でいうと Wappalyzer ですかね。

Metasploitable3 をスキャンしてみる

いくつかのオプションを付けて、Metasploitable3のUbuntuサーバをスキャンしてみます。

オプション無し

まずは、対象のサーバーのURLやアドレスのみを指定します。

バッチリ、ApacheであることとそのバージョンとUbuntuで有ることがわかりますね。

f:id:kawa_xxx:20210606213726p:plain

アグレッシブスキャン

マニュアルではプラグインと一致すると追加リクエストが送信されると書いてありましたが、Metasploitable ではオプションなしと結果の出力には特に変化がありませんでした。

自分の管理下になく、許可を受けてないサーバーに対しては使わないようにしましょう。

f:id:kawa_xxx:20210606213733p:plain

結果を詳細に表示

-v を付けて詳細に表示させてみると、レポートのような形式で表示されます。

そのほかにもマニュアルをみると、XML形式やJSON形式、MongoDBへ出力するなど多数の方法が実装されています。

f:id:kawa_xxx:20210606213739p:plain

kali linux にはまだまだいろいろなツールが含まれているので、少し時間を取って調べて見ようと思います。

Metasploitable3 を nmap でスキャンしてみる

前回の記事でセットアップした Metasploitable3 に対して Kali linux からスキャンをしてどんなサービスが動いているか調べてみたので方法をまとめておきます。

Metasploitable3 の脆弱性一覧

Metasploitable3 にある脆弱性の一覧は以下にまとまっているので、答え合わせように。 https://github.com/rapid7/metasploitable3/wiki/Vulnerabilities

Network の設定

Metasploitable3 には 172.28.128.1/24 のIPが設定されています。Host Network Managerの初期設定だと異なるアドレス帯になっているので、Metasploitable3 に合うように設定を変えます。

設定変更後の Host Network Manager の設定内容は以下のとおりです。このアダプタをKali Linux にも2つ目のNICとして設定すれば準備完了です。

f:id:kawa_xxx:20210507215607p:plain

Ubuntu サーバをスキャンしてみる

まずは nmapにてUbuntu サーバに対してどんなポートが空いていて、どのようなサービスが動いるかを以下のコマンドで調査します。

nmap -sV -Pn -p- 172.28.128.3

f:id:kawa_xxx:20210507215614p:plain

結果は上記の通りで、9ポートが空いておりそれぞれサービスが動いている事が確認できました。ProFTPDやOpenSSH、ApacheにMySQL。。。大体バージョンも推定出来ていますね。

Windows Server をスキャンしてみる

次に同じく nmap にて WindowsServer に対してどんなポートが空いていて、どのようなサービスが動いるかを以下のコマンドで調査します。

nmap -sV -Pn -p- 172.28.128.101

f:id:kawa_xxx:20210507215620p:plain

Ubuntuサーバよりも多く20ポートが空いておりそれぞれサービスが動いている事が確認できました。

まとめ

今回はMetasploitableへ nmap でスキャンだけでしたが、かなり多くのサービスが動いていることがわかりました。

次回は Ubuntu サーバに注目して root を取ってみたいと思います。

サイバーセキュリティ レッドチーム実践ガイド

サイバーセキュリティ レッドチーム実践ガイド

  • 作者:Peter Kim
  • 発売日: 2019/01/29
  • メディア: Kindle版

Metasploitable3 をローカルで立ち上げるまで

環境

  • MacBookPro
  • VirtualBox 6.1.6
  • Vagrant 2.2.7

事前準備

まずは必要なものをインストールして行きましょう。

Metasploitable3を起動する

Githubのクイックスタートの通り以下のコマンドを入力します。

mkdir metasploitable3-workspace
cd metasploitable3-workspace
curl -O https://raw.githubusercontent.com/rapid7/metasploitable3/master/Vagrantfile && vagrant up

結構ダウンロードに時間がかかります。Ubuntu の方だけで私の自宅の回線では30分くらいかかりました。WindowsServer の方も合わせるとダウンロードだけで1時間以上かかっている計算ですかね。Ubuntu の仮想マシンが立ち上がると、次はWindowsServer2008の仮想マシンをダウンロードが始まります。

WindowsServer が起動するのかと思ったら仮想マシンの作成が完了したら以下のようなインターフェイス周りのエラーが発生しました。

A host only network interface you're attempting to configure via DHCP
already has a conflicting host only adapter with DHCP enabled. The
DHCP on this adapter is incompatible with the DHCP settings. Two
host only network interfaces are not allowed to overlap, and each
host only network interface can have only one DHCP server. Please
reconfigure your host only network or remove the virtual machine
using the other host only network.

検索してみると、既知の問題の様子でした。しかもMetasploitable3 の問題ではなく Vagrant の問題の様子。

解決方法はというと、Adapter2を手動追加してみてもだめでした。同じエラーが出たあとにAdapter2がけされている。そりゃそうですね。Vagrant の問題なので。

f:id:kawa_xxx:20200509152035p:plain:w400

上記の Issue の中にあったモンキーパッチを Metasploitable3 の Vagrant ファイルに適用して起動してみます。

class VagrantPlugins::ProviderVirtualBox::Action::Network
  def dhcp_server_matches_config?(dhcp_server, config)
    true
  end
end

すると動いた!!WindowsServer が起動すると、PowerShellスクリプトを動かしたり結構セットアップに時間がかかる様子です。起動が終わるとこんな感じ。

f:id:kawa_xxx:20200509152040p:plain:w400

次回は、Kali Linuxからスキャンをしてみたいと思います。

ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習

ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習

  • 作者:IPUSIRON
  • 発売日: 2018/12/07
  • メディア: 単行本(ソフトカバー)

Wowhonyepot のログを StackDriver Logging から GCS に保存する

前回の記事では、Wowhoneypot のログを StackDriver Logging へ出力できる様に設定しました。 しかし、それだけではログは長期間保存されません。公式ドキュメントによると30日しか保持されないようです。 長期保存するためにはGoogle Cloud Strage(以下 GCS)へ転送する必要があるようです。

StackDriver Logging から GCS に転送する方法

エクスポートを作成で簡単に転送できる。タグで wowhoneypot とつけてあるので、それを選択して設定すれば syslog などと混ざることなく wowhoneypot のログだけを GCS へ転送できます。

f:id:kawa_xxx:20181006215856p:plain

GCSから見えるログ

StackDriver Logging から転送されたログは、JSON形式で1時間毎のファイルに分けられて保存されていきます。

f:id:kawa_xxx:20181006215859p:plain

さて、これでログも長期間保存されるようになったので、あとは BigQuery か ElasticSearch などに突っ込んで分析するだけですね!