SSTによる安全なWebサイト運営のためのセキュリティ情報

エンジニアブログ
  • shareSNSでシェア
  • Facebookでシェアする
  • Xでシェアする
  • Pocketに投稿する
  • はてなブックマークに投稿する

「CODE BLUE 2018」参加レポート(岩間編)

こんにちは、スプラトゥーン2のやりすぎでJoyConが壊れてあまり仕事する気になれないウデマエ A+程度の岩間です。

はじめに

11月1日, 2日にかけて CODE BLUE 2018 に参加してきました。
どのセッションも各方面のスペシャリストによる講演で非常に濃密な内容でした。
ここでは私が聴講してたいくつかのセッションについて簡単に書きたいと思います。

 

イッテキタヨー

イッテキタヨー

Breaking Parser Logic: Take Your Path Normalization off and Pop 0days Out!

BLACKHATやDEFCONなどでも講演を行っているオレンジ・サイ氏の講演でした。去年もSSRFに関するレポートを発表しており、webの脆弱性診断を行う身として楽しみにしていたセッションでした。
今回はパスのパーサと正規化にある矛盾についてフォーカスを当てた内容でした。

そもそも正しいパスのパーサを実装することが難しく、脆弱性が発見され、それを修正したとしてもコード全体のレビューが不足していることもあるようです。
脆弱性が確認されると対策のための回避策やコード修正などが行われると思いますが、変更されたコード以外の整合性まで確認しきれず、結果として(コード修正のよって実装された)セキュリティフィルタに矛盾が生じるようです。

いくつかの事例を紹介されており、そのうちの1つ Nginx off-by-slash failのスライドは、以前私も検証した事があり馴染みあるものでした。
この問題は、location ディレクティブで指定したパス(正規表現なし)の最後尾に / が 付いていないルールでaliasが使われている場合、locationで指定したパスと同階層をパストラバーサルできるという問題です。
内部の詳細なロジックは置いとくとして、/ を指定しないだけで意図しない挙動になってしまうので、気が付かずに設定している人は多いかもしれませんね。

パーサのロジックまでは調べるのは、普段の業務においてあまりないのですが、これを機会にロジックの理解を深め診断にコミットしていきたいと思います。

CODEBLUE用のスライドはまだ公開されていないようですが、BHUSAやDEFCONで発表された資料はすでに公開されている(内容も余り変わりない)ので、気になる方は以下のURLからご確認ください。

https://i.blackhat.com/us-18/Wed-August-8/us-18-Orange-Tsai-Breaking-Parser-Logic-Take-Your-Path-Normalization-Off-And-Pop-0days-Out-2.pdf

4G基地局からのスマートフォンのファジング

LTE網などの知識や技術は全くないのですが、興味本位で聴講しました。
基地局ってDIYできるんですね・・・、聞いててビックリしました。
専用の検証機の場合、約1500万円もするそうですが、DIYで作るとざっくり30万円ぐらいだそうです。(質疑応答で聞いた内容なので、正しい数字ではないようです)

偽装した基地局を被害者に使用させ、ファジングしたデータを流すことで被害者のスマートフォンを強制的にエマージェンシーモードに移行できるようです。
スマートフォンがDIYで作成した基地局を認識し、繋がった後、エマージェンシーモードになる過程のデモ動画も発表していました。

今回はエマージェンシーモードにさせる脆弱性を取り上げていましたが、それ以外にもどのようなバグや脆弱性があるのか気になりました。
このような研究をしている企業は少ない印象ですので非常に興味深かった内容でした。

Windowsのセキュリティ機能のbypass ~ たった1つの願いを叶えるために ~

MBSDの小河氏によるWindows標準のセキュリティ機能をバイパスしてアプリケーションを起動させる手法に関する講演でした。

最初英語で話されたので少し驚きました。
日本の方ですが、講演は全て綺麗で流暢で完璧な英語でのプレゼンでした。

前提として、WindowsのクライアントPCもしくはWindowsサーバを操作できる状態において横断的侵害(lateral movelent)をするためのバイパス手法であり、侵入前やエクスプロイトに関する説明は今回の講演には含まれていません。

bypassの話の前に、Windowsを守る仕組みとして以下の技術が紹介されていました。

  • AppLocker
  • software restriction policy
  • windows defender
  • UAC

アプリケーションの実行を制限したい場合、AppLockerを使用することで、発行元、ファイルパス、ファイルのハッシュにもとづき、Windows標準のインストーラやスクリプト、DLL、パッケージアプリケーションなどの実行の制限を簡単に設定することができるそうです。

セキュリティ担当者としては、設定が容易なので便利なのですがAppLockerなどでアプリケーション起動が制限されている場合においても制限を迂回する方法があるようです。
簡単なbypass事例として、IEが制限されている場合でもHTMLヘルパー(hh.exe)の引数にURLを入れて実行するだけで、IEを使わなくてもブラウズできるというものでした。

hh http://www.securesky-tech.com

hh.exeの注意点で、直接HTTPSのサイトを見に行くとアクセスできないようです。なのでHTTPからリダイレクトしてHTTPSにアクセスする必要があります。

 

hh.exeでSST見てみた

hh.exeでSST見てみた

 

もっと高度な既知の手法としてPowershell without Powershellというものがあり、アンインストール時にPSを実行させるプログラムを書いてコンパイルし、それをアンインストールすることでPSを実行させるというものがありました。

また、既知の手法だけでなくインストールオプションでcmd.exeを実行させるようなexeファイルを用意し、それをMSIファイルに変更させて実行することでAppLockerをバイパスするという新しい手法も紹介しておりました。

こちらの手法も、自分で検証できそうなので時間があるときにやってみたいと思います。

ちなみにサブタイトル?の たった1つの願いを叶えるために と言うのは、紹介された手法によってAppLockerはバイパスされてしまうため、どうにかならないかとMicrosoft Security Response Center(MSRC)に問い合わせした結果、「AppLockerのバイパスは、Microsoft Security Response Center(MSRC)の基準を満たしていない」という無慈悲な回答に掛けたものっぽいです。(かなしみ)

CTF

5Fの会場では、CODEBLUE CTFだけでなくブース企業が主催するプチCTFも開催されていました。私も聴講の間の休憩時間などを利用して参加してみましたが、片手間で解けるほど簡単ではありませんでした(笑)
LINEさん主催のCTFにあったEasy Djangoの問題は解きたかった・・・。

CTF会場のふいんき

CTF会場のふいんき

 

おわりに

どのセッションも非常に濃い内容で、普段触れる事のない分野の話も聞くことができ、非常に有意義な二日間でした。
講演を聞いて終わりにするのではなく、これを足掛かりとして自分の中で整理し、自分でも検証すすめ研鑽を重ねたいと思います。

  • shareSNSでシェア
  • Facebookでシェアする
  • Xでシェアする
  • Pocketに投稿する
  • はてなブックマークに投稿する

この記事の筆者

筆者