Slide 1

Slide 1 text

Re: SQLiから始めるRCE生活 2023/07/21 OSCP勉強会 #3 きとう

Slide 2

Slide 2 text

自己紹介 なまえ • きとう、てきとう、tkito • Twitter: @tkito しゅみ • ゲームしたり海に潜ったり徳を積んだり 2 おしごと • 企業でSOCの中の人とかIRとか Re: SQLiから始めるRCE生活

Slide 3

Slide 3 text

おことわり Re: SQLiから始めるRCE生活 3 今回はたぶん小ネタです

Slide 4

Slide 4 text

あらすじ Re: SQLiから始めるRCE生活 4 リモートコード実行したい! 楽してシェル取りたい!

Slide 5

Slide 5 text

シェルが取れるまで Re: SQLiから始めるRCE生活 5 Reconで空いてるポートを探す Webサーバが立ってる SQLインジェクションできる データを抜き出す シェルゲット! 別の攻略ポイントを探す くじけずに頑張る データを使って試行錯誤

Slide 6

Slide 6 text

シェルが取れるまで Re: SQLiから始めるRCE生活 6 Reconで空いてるポートを探す Webサーバが立ってる SQLインジェクションできる データを抜き出す シェルゲット! 別の攻略ポイントを探す くじけずに頑張る データを使って試行錯誤 めんどい!

Slide 7

Slide 7 text

シェルが取れるまで Re: SQLiから始めるRCE生活 7 Reconで空いてるポートを探す Webサーバが立ってる SQLインジェクションできる データを抜き出す シェルゲット! 別の攻略ポイントを探す くじけずに頑張る データを使って試行錯誤 ショートカットしたい!

Slide 8

Slide 8 text

そんなんできるの? できる。そう、Microsoft SQL Serverならね。 Re: SQLiから始めるRCE生活 8 xp_cmdshellっていう すごいやつがいるんだ

Slide 9

Slide 9 text

xp_cmdshell • Microsoft SQL Serverにある機能 • https://learn.microsoft.com/ja-jp/sql/relational-databases/system-stored-procedures/xp-cmdshell- transact-sql?view=sql-server-ver16 Re: SQLiから始めるRCE生活 9 正気か!?

Slide 10

Slide 10 text

xp_cmdshell • こんな感じで実行できる Re: SQLiから始めるRCE生活 10

Slide 11

Slide 11 text

xp_cmdshell • PowerShellも実行できる Re: SQLiから始めるRCE生活 11

Slide 12

Slide 12 text

そんなやばいもの放置していていいの????? • 安心してください、デフォルトでは無効です • https://learn.microsoft.com/ja-jp/sql/database-engine/configure-windows/xp-cmdshell-server- configuration-option?view=sql-server-ver16 Re: SQLiから始めるRCE生活 12

Slide 13

Slide 13 text

ほっと一安心…? …その場で設定変更して実行できちゃう Re: SQLiから始めるRCE生活 13

Slide 14

Slide 14 text

攻撃が成功する条件 • WebアプリにSQLインジェクションの脆弱性がある • DBのユーザがSysAdmin権限である • 設定の変更にはSysAdmin権限が必要 • デフォルトではxp_cmdshellの実行にも管理者権限が必要 • 一般ユーザでも実行できるようにする設定は可能 Re: SQLiから始めるRCE生活 14

Slide 15

Slide 15 text

まとめ&おわりに • SQLiでもRCEしたい!(別のタイトル候補) • xp_cmdshellという最高のコマンド • デフォルトでは無効だけれどSQL文書いて有効にできる • SysAdmin権限が必要 • Microsoft SQL Serverを使う際にはユーザの権限に気を付けましょう Re: SQLiから始めるRCE生活 15

Slide 16

Slide 16 text

おしまい きとう @tkito 16