WordPressを調査する

f:id:appleseedj073:20160812012217p:image

WordPressです。

とてもお手軽にサイトを作れるってのでお馴染みのWordPressです。でも、コイツやたらと脆弱性情報界隈を賑やかしてますよw

そんなわけで、実際にWordPressってのがどれだけ攻撃者からお手軽に狙われやすいのか調べてみます。

本日のお品書き

  1. WordPress環境の準備
  2. 調査ツール WPScanについて
  3. 調査

の流れで始めます。

1.WordPress環境の準備

WordPressの環境ってことで、いつも通りグーグル先生にお伺いを立てたらこんなサイトを紹介してくれた。

f:id:appleseedj073:20160812084307p:plainってなんて読むんだろ?w

とりあえずこちらでダウンロードさせてもらえる。

f:id:appleseedj073:20160812085057p:plain

https://bitnami.com/stack/wordpress/virtual-machine

ダウンロードしてきたらVMwareか、VirtualBoxで読み込んであげればOK

読み込んだら起動してやる。

 

f:id:appleseedj073:20160812090458p:plain

こんな感じ起動するので赤字で書いてあるように「bitnami」って入力してログインを完了する。

ubuntuのログインも求められるのでユーザー名「bitnami」とパスワードを入力。ちなみにパスワードは初回起動時に設定しろと言われるのでそこで設定したパスワードを入力。

 

f:id:appleseedj073:20160812090703p:plain

完了するとこんな感じ。あとは、接続先になるのでIPアドレスを確認しておけば準備はおしまい。

 

2.調査ツール WPScanについて

f:id:appleseedj073:20160812121427p:plain

Rubyで書かれたWordPress用の脆弱性スキャンツールで、基本的にKali Linuxを使用していればインストールを意識しなくてもコマンドラインから呼び出して使用できる。

WPScan by the WPScan Team

 

f:id:appleseedj073:20160812122103p:plain

Kali Linuxからコマンドラインで wpscan と入力することで起動。

引数を指定しない状態で入力すると簡単な使い方についての説明が表示される。

 

f:id:appleseedj073:20160812122412p:plain

ヘルプ
wpscan --help

侵入とかはナシでのチェック
wpscan --url www.example.com

50スレッド使って列挙したユーザーへ、パスワードリストを使ってのブルートフォースアタック
wpscan --url www.example.com --wordlist darkc0de.lst --threads 50

「admin」だけに、パスワードリストを使ってのブルートフォースアタック
wpscan --url www.example.com --wordlist darkc0de.lst --username admin

plug-inの表示
wpscan --url www.example.com --enumerate p

テーマの表示
wpscan --url www.example.com --enumerate t

ユーザの表示
wpscan --url www.example.com --enumerate u

Timthumbの表示
wpscan --url www.example.com --enumerate tt

HTTP proxy を使用してのチェック
wpscan --url www.example.com --proxy 127.0.0.1:8118

SOCKS5 proxy を使用してのチェック
wpscan --url www.example.com --proxy socks5://127.0.0.1:9000

カスタム・コンテンツ・ディレクトリの使用
wpscan -u www.example.com --wp-content-dir custom-content

カスタム・プラグインディレクトリの使用
wpscan -u www.example.com --wp-plugins-dir wp-content/custom-plugins

wpscanのアップデート
wpscan --update

デバッグ結果を出力
wpscan --url www.example.com --debug-output 2>debug.log

 

3.調査

 準備ができたので、調査を開始。いちお調査先をNmapで下調べ

nmap -v -A 192.168.10.15(調査対象WordPress

 

f:id:appleseedj073:20160812142351p:plain

80番ポートが空いていて、WordPress 4.5.3ってバージョンまでわかる結果が表示された。Nmap優秀w

WordPressが動いているWebサイトだと確認が取れたのでWPScanで調査開始。

wpscan --url '192.168.10.15' --enumerate

f:id:appleseedj073:20160812143900p:plain

f:id:appleseedj073:20160812143947p:plain

f:id:appleseedj073:20160812144027p:plain

f:id:appleseedj073:20160812144056p:plain

こんな感じの結果が表示される。今回、enumerateに引数を与えなかったので、全て表示されている。

プラグイン、ユーザ情報などなどが丸見え。

ちなみに表示の中で[!]で始まってるところが脆弱性情報。これをググれば、どんな脆弱性なのかがわかる。

 

せっかくなのでWPScanの攻撃的な側面としてのブルートフォースアタックも試してみる。先ほどと同じサイトにユーザを追加して、よくある脆弱なパスワードを設定した。そして、よく使われるパスワードをまとめたワードリストを用意してブルートフォースを仕掛けてみる。

wpscan --url '192.168.10.15' --wordlist ~/passlist --threads 50

※本気でブルートフォースしてみたら、時間がかかりすぎたのでパスワードを書き込んだpasslistを用意して実行

f:id:appleseedj073:20160812155049p:plain

 WPScanの機能でユーザを探し出し、ブルートフォースでパスワードまで抽出することができた。

WPScan恐るべし・・・。脆弱性のスキャンだけじゃなくパスワードまで取れるとは(; ̄O ̄)

 

せっかくだからWordPressをバージョンアップして、再度スキャンしてみた。

f:id:appleseedj073:20160812163056p:plain

f:id:appleseedj073:20160812163123p:plain

f:id:appleseedj073:20160812163151p:plain

先ほどのノーガード状態に比べるとだいぶマシになった様子。これくらいの状況で運用できるのがベターなのかな?

 

WordPress脆弱性を放置するのが、とても危険なのは理解している。でも、みんなわかっていてもバージョンアップできない理由があるという事を沖縄で学んだ。「脆弱性があるからパッチを当ててください」「バージョンアップして下さい」って言う方は簡単だけど、サイトを運営している人からするとパッチを当てた影響の確認や、バージョンアップした結果の互換性の問題などを検証し考慮しないといけない。

セキュリティについて発信していくなら、「脆弱性が見つかりましたから速やかにアップデートをして下さい」だけでなく、アップデート出来ないならば回避策なんかを提案できると良いのかな?と考える今日この頃でありました。

マクニカよ!私は帰ってきた!! MNCTF2016 writeup

『待ちに待った時が来たのだ!
多くの英霊が無駄死にで無かったことの証の為に・・・
再びジオンの理想を掲げる為に!
星の屑成就のために!
ソロモンよ!私は帰ってきた!! 』

f:id:appleseedj073:20160625231816j:plain

金曜日の朝、品川に着いた時はこんな気分でしたよw

まぁ、結果としてはガトーに吹っ飛ばされた側でしたねw

 

忘れないうちにwriteupしておきます。

サイトも公開されたのでやり直しを兼ねてね。

http://mnctf.info/mnctf2016/

 

今年は昨年よりも会場が広く感じました。

会場に入ると正面のスクリーンにでっかく「MNCTF」の文字がwww

f:id:appleseedj073:20160709224815j:plain

相変わらずオシャレなTOPページですね。

 

f:id:appleseedj073:20160709223812p:plain

今年の問題はこんな感じでした。

全体的な感想としては、多くの参加者さんが「昨年より簡単」みたいなことを言われていたのですが、私個人的には昨年より苦戦した感じですねw

あと、昨年の問題は凌さんがほとんど手がけていたようですが、今年の問題は何人かで手分けをして作成されたそうです。そのせいなのか?問題の雰囲気が昨年とはだいぶ違った感じがしました。自分としては2015の問題が好きですね。

 

ではwriteupてきな・・・

※あくまで私の個人的な解答方法です。手順がまどろっこしいとか、無駄が多いとかは多々あると思いますが、そこら辺はご愛嬌ということでw

点呼

昨年と同じ。「MNCTF2016」と入力して点呼完了。

暗号新聞

クロスワード。昨年よりは難易度も規模も小さめ。

f:id:appleseedj073:20160709230805p:plain

 ヨコの鍵

 タテの鍵

f:id:appleseedj073:20160709231103p:plain

同一集団1〜5

ドメイン調査。対象ドメインWHOIS登録情報から同一攻撃者が保持している他のドメインを調査して解答。

f:id:appleseedj073:20160709233339p:plain

 shinobot.comをaguse.jpで調査すると、まず1個目のドメインをゲット。

f:id:appleseedj073:20160709233450p:plain

そのままwhoisでも調査するとメールアドレスを無事ゲット。ゲットしたメールアドレスをググったら他のドメインもゲット!

難読記録

正規表現・・・。これは本番では解答できなかった( ;  ; )

説明を聞いたんだけど途中までしか理解できなく・・・というか全部をメモしなかったw

そんなわけで、ググりながら正規表現を完成させてみました。

問題より条件が

  • 先頭は「AD」から始まる(ドメイン名)
  • そのあとに16進数が6文字続く
  • 英字はすべて大文字

という感じなので「AD\[0-9A-F]{6}」と組み立てて入力すると・・・

f:id:appleseedj073:20160710000729p:plain

ログの中にADAABBCCDDというのが混入していて余計に抽出してしまってる。そこでもう一度ググりました。で、見つけたこのサイトを参考にして正規表現に追加しました。いらないDDの部分を除去する内容を追加して「AD\[0-9A-F]{6}(?!DD)」として上手くいきました。

超持株会

f:id:appleseedj073:20160710004353p:plain

株購入のページでデータの改ざんをして第三者に買わせるような感じ。ページを確認すると株は100口までしか買えないし、ログインしているのは買わせたい人とは違う。ということで「burpsuite」を起動して途中のパラメータを改ざんしてみる。

f:id:appleseedj073:20160710004406p:plain

burpsuiteで途中のデータを確認して、

f:id:appleseedj073:20160710004546p:plain

IDを「A20050023」にstockを「1000」変更して送ればフラグゲット。

権限昇格

問題からダウンロードしてきたファイルを「BinText」で見てみる。

f:id:appleseedj073:20160717222300p:plain

文字列の中に「MS16_032」というのを発見する。これをググればCVE番号もすぐに見つかる。

【2016/07/17 Update 当初利用していた「Strings」というGUIツールが入手出来ないという指摘があったので「BinText」に変更】

一行挿入

これもjavaの難読化が解けなくて本番ではダメだった。

まずは、問題の難読化されている不審なスクリプトを難読化を解除してくれる便利なサイトに投げる。

Online JavaScript beautifier

すると・・・

f:id:appleseedj073:20160710005342p:plain

こんな風に表示される。読めるw

userAgentが「ShinoBrowser 1.0.0.1」だと何かありそうな感じなのでuserAgentを「ShinoBrowser 1.0.0.1」に変更して接続すると違うサイトに誘導される。そのサイトを答えたらフラグゲット。

超標的型

これも本番では出来なかった。問題より入手した検体を動的解析しようにも起動しないし、当然表層解析でも面白い答えは出てこない。最後の手段でIDAを使って静的解析をすると

f:id:appleseedj073:20160710010300p:plain

「答えはコンピュータ名です。」というのが見つかる。

このコメントの前後で呼ばれている関数を見てみると

f:id:appleseedj073:20160710010406p:plain

何かをくみ上げてる感じが・・・(落ち着いて見ればわかるw)

これを文字コード表で調べてみると端末名になった!

丸文字文

当然、これもできてません。そしてこれを書いてる今でもできてませんw

多分、この丸で囲まれている文字を普通の文字に直して変換系のサイトに投げてやればいいんだと思うけど・・・ちょっと難しい。俺には

 

まとめ

いろいろとCTFは参加させてもらっているけど、マクニカのCTFが一番業務に直結するスキルだと思ってる。だから、なおさら解けないと悔しい( ;  ; )

そして今回一番の驚きは、毎回問題に登場している「てしがわら」さんが実在していた!w てっきり株式会社マクニキと同じ架空の人物だと思ってたのに(⌒▽⌒)

 

そしてCTFに参加しただけなのに参加賞が半端ないレベルで驚いた!本当にもらっていいのかな?逆にここから問題でるの?って思ってしまったりw

 

本当にマクニカさんに感謝です。あと、セッションの合間にいろいろと情報提供してくださった凌さんにもこの場を借りてお礼申し上げます。ありがとうございました。創作意欲が湧いてきました!w

 

f:id:appleseedj073:20160710011315j:plain

CTF参加賞で頂いた書籍と、懇親会の後に頂いたお菓子

 

来年も参加するぞ!たとえ仕事をサボってでもw

Re:ゼロから始めるMNCTF2015 writeup

俺のエミリアたんはどこだ?

f:id:appleseedj073:20160707222114j:plain

俺のレムりんはどこだ?

f:id:appleseedj073:20160707222142j:plain

俺の人生、もうだいぶ詰んでるよ。

後輩が、どんどん俺の役職を抜いていくよ。

もう落ちるとこまで落ちてるよ。

いつになったら死に戻りできるの?

 

 

 

f:id:appleseedj073:20160707222257g:plain

これが現実なんだね・・・。

 

さて、そんなことは置いておいて「リゼロ」のヒロインはやっぱりレムだよねw

 

本題です。

明日、2016/07/08はマクニカさんのイベントがあって、そこでCTFがある日です。

www.macnica.net

今年も参加させていただきます。せっかく参加させていただくので昨年の内容をさらっとおさらいします。

 

f:id:appleseedj073:20160707222947p:plain

こんな感じのサイト

それぞれにシナリオがあって問題があります。内容的に仕事でインシデントレスポンスをしていると7割くらいは簡単に行けるかな?って感じです。

  • 点呼

 練習問題です。フラグを入力しておしまい。

  • 早期警戒

 ハッシュ値からマルウェアを特定して通信先を入力します。Virustotalやmalwrといったサイトを使って調べる。Virustotal使って調べたけど「SHINOBOT」って表示された時は震えたw

  • 情報漏洩

 WireSharkを使ってpcapファイルを解析。とりあえず「Follow TCP Stream」したらzipファイルを送ってるのがわかったのでファイルを取り出して中身確認したらフラグ発見。

  • 端末感染

 Proxyログから不正な通信をしているIPアドレスを割り出す。何が不正なのかわからなくてExcel使って数の多いアドレスを削っていったら当該アドレスを発見。

 後日、Excelを使わない方法で再度抽出したらめっちゃ簡単だったw

linuxでコマンド

「cat proxylog.csv | sed 's/,/ /g' | awk '{print $3,$5,$6,$7,$8,$9,$10}' | sort | uniq -c | sort」を叩くと

f:id:appleseedj073:20160707224706p:plain

 

  • 隠蔽検体

 渡されるファイルは、画像ファイル。マルウェアが隠されているようなのでバイナリエディタで覗くと、データの最後に「PK」とか「malware.exe」という文字を発見。画像ファイルの中にzipファイルが隠されていそうなのでファイルを先頭から目grepしたらPKから始まるところを発見。前の部分を削除して綺麗なzipにして展開するとmalware.exeが出てくる。

  • 書込文書

 マルウェアをもらうので解析。とりあえず表層解析してみるとCドライブ直下に何かやらかしてくれている様子なので動かしてみた。そしたら思いっきり「flag」とか書いてあるファイルが配置されてたw

  • 不正使用

 実行ファイルをもらうので動かすけど反応無し。てか一瞬何か動いたw コマンドプロンプトに食わせたら表示が出て終了。ライセンスキーを引数で入れろっていう。表層解析で文字列抽出をかけてみたら思いっきりライセンスキーらしきもの発見w

  • 昇進試験

 クロスワードパズル

  • 脆弱会社

 SQLインジェクションが利用できて、unionでテーブルをくっつけるらしいのだがコマンドがややこしくて無理w writeupに書いてあったsqlmapを使う方法がわかりやすかった。sqlmap使ったら見事に秒殺www

f:id:appleseedj073:20160707231117p:plain

  • 強固暗号

 既知平文攻撃。pkcrackを使って攻撃すると簡単にパスワードをクラックできたし・・・。

f:id:appleseedj073:20160707230850p:plain

  • 内部犯行

 これはwriteup読んでもイマイチわからなかったw

 

昨年のCTFでは、ちょー微妙な順位だったから今年はもう少し説明しやすい順位になれるように頑張るっす!

Armitageともう少し深い関係になってみる

f:id:appleseedj073:20160625222726j:plain

誰も待ってませんねw

 

今回、色々あってセキュリティ業界から足を洗おうと思っていたんだけど、出来過ぎな後輩達のおかげでやり直すことができました。マジ感謝です。

 

俺の面倒くさいグチに付き合ってくれて、「セキュリティに関する情報収集はもうやめた」と言ったら「ヘビースモーカーの禁煙くらいあてにならない」と一蹴してくれた後輩w

休んだ時に体調を気遣ってメールをしてきた時に、実は仮病で欠勤しただけと伝えたのに「たまには休んだ方が良い」「この案件はこちらで処置する」など責めるどころかフォローしてくれた後輩(T ^ T)

本当にありがとうございました。

 

叫べるならば叫びたい気分です。


ソロモンよ。私は帰ってきた!

こんな感じにwww

 

てなわけで本題に入ります。

ちょっと前にArmitageの始め方をやってみました。今回はその続き。

 

ra66itblog.hateblo.jp

 

環境

 

攻撃準備

やられサーバ(Metasploitable)

  • IP:192.168.100.200

攻撃側(Kali Linux)

  • IP:192.168.100.1

 

攻撃開始

Armitageを起動してみるとこんな感じにやられサーバが出てくるはず。

f:id:appleseedj073:20160625233449p:plain

出てこなかったらscanするなりダイレクトに追加してあげてね。

 

f:id:appleseedj073:20160625233720p:plain

まだ、scanが不十分だからOSもわからないし、サブメニューも選択できるものが少ない。

 

f:id:appleseedj073:20160625234024p:plain

ここでメニューから「Host」➡︎「Nmap Scan」➡︎「Intence Scan」を選択する。

 

f:id:appleseedj073:20160625234126p:plain

調査するIPアドレスの範囲を聞いてくるけど今回は単発なんで範囲指定なしで、個別に。

 

f:id:appleseedj073:20160625234535p:plain

スキャン完了!OSの判別も出来た様子。

 

f:id:appleseedj073:20160625234732p:plain

最初よりもサブメニューの項目が増えた。

 

調査が終わったので次は攻撃に・・・

f:id:appleseedj073:20160625234931p:plain

メニューから「Attacks」➡︎「Find Attacks」を選択する。

 

f:id:appleseedj073:20160625235033p:plain

ちょっと待つとこんな魅力的なメッセージをくれます。「Happy hunting!」なんてまさにArmitageさんのデレですw

f:id:appleseedj073:20160625235325p:plain

サブメニューに「Attack」の項目が増えてます。(Metasploitableだからやたら攻撃可能なものが出てくるw)

 

f:id:appleseedj073:20160625234931p:plain

今度は「Attacks」➡︎「Hail Mary」を選択する。

 

f:id:appleseedj073:20160625235543p:plain

一回起動したらHail MaryはめっちゃいっぱいのExploitを仕掛けるよ・・・的なこと言ってるんで「はい」をクリック。

 

f:id:appleseedj073:20160626000252p:plain

色々と攻撃を繰り出している様子・・・

 

f:id:appleseedj073:20160626000303p:plain

プログレスバーに合わせてコンソール画面もバタバタしてますw

 

f:id:appleseedj073:20160626000322p:plain

攻撃が成功してくるとターゲットのアイコンが変わりますw

この演出が好きですwww

 

f:id:appleseedj073:20160626000336p:plain

最後にセッションをまとめるのか30秒ほど待つように言われて終了。

 

f:id:appleseedj073:20160626000347p:plain

f:id:appleseedj073:20160626000828p:plain

7つセッションを貼ることができた。

 

f:id:appleseedj073:20160626000906p:plain

サブメニューからも確認出来る。

「Interact」は端末に侵入できる。

「Upload」は読んで字のごとくw

「Pass Session」セッションを増やせる。

「Post Modules」モジュールを送り込める。

「Disconnect」セッションの終了。

 

f:id:appleseedj073:20160626001547p:plain

f:id:appleseedj073:20160626001601p:plain

「Interact」してみると確実に相手の端末に侵入できていることが確認出来る。

 

f:id:appleseedj073:20160626001423p:plain

「Pass Session」をすると新しくSessionを貼ってくれる。

 

f:id:appleseedj073:20160626001525p:plain

8番目が増えた。

 

 Hail Maryを使用しなくてもAttackは可能です。

試しにお決まりのircへの攻撃を敢行してみる。

f:id:appleseedj073:20160626001843p:plain

「Find Attack」の後にサブメニューから「Attack」➡︎「irc」➡︎「unreal_ircd_3281_backdoor」を選択。

 

f:id:appleseedj073:20160626002015p:plain

Metasploitを使った時と同じように攻撃が実行されてセッションが貼られる。

 

f:id:appleseedj073:20160626002111p:plain

サブメニューに9番目のセッションが確認出来る。

 

f:id:appleseedj073:20160626002147p:plain

このセッションに対してInteractするとこんな感じ。

 

 

GUIだからやっぱり厨二病ココロをくすぐるw

でも、MetasploitとかのCUIでなれていると何となく不便にも感じる。とりあえず厨二病ハッカーでも使える代物なんで脆弱性を放置するのはやめたほうがいいねw

 

f:id:appleseedj073:20160626002449j:plain

「Safari:ユーザー調査」に釣られてみた【6/13 18:20更新】

色々とサイトを見て回ってるとたまに釣られるのよね。ネットを回遊してたら一本釣りみたいな?w

f:id:appleseedj073:20160613054850j:image

 

今回、釣られたのは「safariのユーザー調査」

なんかアンケート調査に協力すると「何か」を獲得するチャンスを得られるらしい…。(回りくどい)

これが、そのアドレス。

h○○p://cqbzz.stream.0076.pics/(アタマを伏せ字にしたからダイレクトには飛ばないハズ)

 

先ずはVirusTotalで確認したけど、特に面白い結果は返して来なかった(T . T)

f:id:appleseedj073:20160613122519p:image

表示されるサイトはこんな感じ。

f:id:appleseedj073:20160613063611p:image

「おめでとうございます。〜に選ばれました!」の類は「iPhone7のモニター」以来w

OK押すとアンケートが始まるので、適当に処理して行く。

f:id:appleseedj073:20160613063924p:image

f:id:appleseedj073:20160613063937p:image

f:id:appleseedj073:20160613063953p:image

f:id:appleseedj073:20160613064005p:image

何でもいいから、全て答えると回答を送信してるらしき演出がw

f:id:appleseedj073:20160613064214p:image

演出が終わると以下の画面に

f:id:appleseedj073:20160613064237p:image

一昨日も昨夜もアンケートしたけど、毎回獲得できた!それに何度見ても「本日限り」で「在庫数1」www

 

せっかくだから誘導してる「ここをクリック」をクリック!

f:id:appleseedj073:20160613071931p:image

何かサインアップとか言い始めた…w

あれ?プレゼントじゃないの?www (しかも、スマホだから縦長…。撮り間違えたw)

誘導先もVirusTotalに投げてみた。

f:id:appleseedj073:20160613072150p:image

おもしろくなーい。( ´Д`)y━・~~

 

2016/06/13 1500更新

Maltegoに最初のユーザー調査サイトを投げて調査してみた。

f:id:appleseedj073:20160613145651p:image

すると、IPとかドメインが出てきて、ドメインを深堀したらマルウェアが紐付いてきた!

あら?もしかして危ない系のサイトですか?(笑) 

 

2016/06/13 1820更新

最終的に誘導されるKAZUMEDIAとか言うところは普通なのかなー。それよりもそこに誘導を仕掛けてくる「ユーザー調査」がヤバそう。

Maltegoで、掘り下げるとやたらとハッシュ値が出てくる。そして、そのハッシュ値VirusTotalに投げたら該当あり…。何なんだろな?みんなで使ってるドメインなのかな?

黒板アート 完結編?

昨日の予告が気になって今朝も黒板アートを見に来たら…
まだ、仕上げ途中だった!
f:id:appleseedj073:20160527065408j:image


f:id:appleseedj073:20160527065443j:image
こういうの見るの初めてだったから作業に魅入ってしまいました。

しばらく作業を見届けていたら完成を迎えました。

ドラクエも30周年…

そりゃ年取るよね(^◇^;)

http://ra66itblog.hateblo.jp/entry/2016/05/24/065822

http://ra66itblog.hateblo.jp/entry/2016/05/26/070120

黒板アートのその後

昨日、こんなツイートを見たので気になった。


ま、朝は時間に余裕があるから観に行ってきた。

f:id:appleseedj073:20160526065752j:image
見事に消えてた(笑)

f:id:appleseedj073:20160526065814j:image
パノラマで全体を撮ってみた!

f:id:appleseedj073:20160526065846j:image
この前、見忘れていた「ロトの黒板消し」!

黒板アートって綺麗だけど、こうやってアッサリ消えちゃうのが儚い(;_;)



f:id:appleseedj073:20160526070024j:image
明日、何かあるの!?