SlideShare una empresa de Scribd logo
1 de 39
CVE-2018-19788
PolicyKitの権限昇格の脆弱性について
@ymzkei5
 PolicyKit に権限昇格の脆弱性が見つかりました。
 A flaw was found in PolicyKit (aka polkit) 0.115 that allows a user
with a uid greater than INT_MAX to successfully execute any
systemctl command.
( https://nvd.nist.gov/vuln/detail/CVE-2018-19788 )
 “unprivileged users with UID > INT_MAX can successfully
execute any systemctl command” 😱
( https://twitter.com/0xdea/status/1070308598146850818 )
こんな脆弱性が話題でした
 PolicyKit に権限昇格の脆弱性が見つかりました。
 A flaw was found in PolicyKit (aka polkit) 0.115 that allows a user
with a uid greater than INT_MAX to successfully execute any
systemctl command.
( https://nvd.nist.gov/vuln/detail/CVE-2018-19788 )
 “unprivileged users with UID > INT_MAX can successfully
execute any systemctl command” 😱
( https://twitter.com/0xdea/status/1070308598146850818 )
こんな脆弱性が話題でした
 おまどん (@ommadawn46)
Linuxの脆弱性(CVE-2018-19788)でワンライナー特権昇格…
攻撃成功には UID > 2147483647 という条件があり、実際に
攻撃される状況が起こることは中々無いだろうけど衝撃的
( https://twitter.com/ommadawn46/status/1071962835847065600 )
こんな脆弱性が話題でした
 おまどん (@ommadawn46)
Linuxの脆弱性(CVE-2018-19788)でワンライナー特権昇格…
攻撃成功には UID > 2147483647 という条件があり、実際に
攻撃される状況が起こることは中々無いだろうけど衝撃的
( https://twitter.com/ommadawn46/status/1071962835847065600 )
こんな脆弱性が話題でした
 おまどん (@ommadawn46)
Linuxの脆弱性(CVE-2018-19788)でワンライナー特権昇格…
攻撃成功には UID > 2147483647 という条件があり、実際に
攻撃される状況が起こることは中々無いだろうけど衝撃的
( https://twitter.com/ommadawn46/status/1071962835847065600 )
こんな脆弱性が話題でした
 興味深い脆弱性だよね。
 だけど、INT_MAXを超えるようなUIDのユーザをあらかじめ追加
しないと攻撃が成立しないなんて。
 ふつうはそんなユーザ作らないよね。
 だいたい、ユーザ追加にはroot権限が必要なんだから、
そもそも現実的な攻撃シナリオじゃないよね。
みんなの反応
 興味深い脆弱性だよね。
 だけど、INT_MAXを超えるようなUIDのユーザをあらかじめ追加
しないと攻撃が成立しないなんて。
 ふつうはそんなユーザ作らないよね。
 だいたい、ユーザ追加にはroot権限が必要なんだから、
そもそも現実的な攻撃シナリオじゃないよね。
 うんうん。そうだよね。うんうn・・・待てよ???
みんなの反応
 みなさん、覚えておいでだろうか。
「SECCON 2018 オンライン予選」 に出題された私の問題
『GhostKingdom』を。
覚えておいでだろうか・・・
 GhostKingdomとは: @ymzkei5 が SECCON 2018 オンラ
イン予選に出題したWeb問。CSSインジェクションで
セッションIDを奪取して、画像アップロード部分の
GhostScript / ImageMagickの脆弱性を使ってOSコマンド
を実行してフラグを取得する。
 OSコマンドが自由に実行できる状況だが、参加者A が
参加者B の邪魔をできないように、UIDを分けている。
 実は、今日 2018年12月18日(火) 時点で、まだ動いていた。
http://ghostkingdom.pwn.seccon.jp/
GhostKingdom
 SECCON 2018 Online GhostKingdom Writeup - SSTエ
ンジニアブログ
( https://techblog.securesky-tech.com/entry/2018/10/31/2 )
 SECCON 2018 Quals - GhostKingdom - こんとろーる
しーこんとろーるぶい
( https://graneed.hatenablog.com/entry/2018/10/28/150722 )
WriteUpを見てみよう
 SECCON 2018 Online GhostKingdom Writeup - SSTエ
ンジニアブログ
( https://techblog.securesky-tech.com/entry/2018/10/31/2 )
 SECCON 2018 Quals - GhostKingdom - こんとろーる
しーこんとろーるぶい
( https://graneed.hatenablog.com/entry/2018/10/28/150722 )
WriteUpを見てみよう
 SECCON 2018 Online GhostKingdom Writeup - SSTエ
ンジニアブログ
( https://techblog.securesky-tech.com/entry/2018/10/31/2 )
 SECCON 2018 Quals - GhostKingdom - こんとろーる
しーこんとろーるぶい
( https://graneed.hatenablog.com/entry/2018/10/28/150722 )
WriteUpを見てみよう
 SECCON 2018 Online GhostKingdom Writeup - SSTエ
ンジニアブログ
( https://techblog.securesky-tech.com/entry/2018/10/31/2 )
 SECCON 2018 Quals - GhostKingdom - こんとろーる
しーこんとろーるぶい
( https://graneed.hatenablog.com/entry/2018/10/28/150722 )
WriteUpを見てみよう
せ、セーフ!?
 実はこの値は、接続元IPアドレスを元に作られて
いる。
 別のとある環境から試してみたところ・・・
はい、アウト。
 別のとある環境から試してみたところ・・・
はい、アウト。
 別のとある環境から試してみたところ・・・
はい、アウト。
 別のとある環境から試してみたところ・・・
はい、アウト。
353xxx5409 >
2147483647
 別のとある環境から試してみたところ・・・
はい、アウト。
353xxx5409 >
2147483647
最大値超えてる。
超えてるよ。。
 Id; systemd-run -t id する Jpeg をコンバートしてみ
た。
ま、まさかroot取れないよね?
 systemd-run -t id する Jpeg をコンバートしてみた。
ま、まさかroot取れないよね?
 systemd-run -t id する Jpeg をコンバートしてみた。
ま、まさかroot取れないよね?
な、なーんだ、大丈
夫じゃん
 でも、なんか悪い予感がする。。。
 結果が見えていないだけかも知れないから、bash
でリバースシェルさせて同じことやってみよう。
ま、まさかroot取れないよね?
 でも、なんか悪い予感がする。。。
 結果が見えていないだけかも知れないから、bash
でリバースシェルさせて同じことやってみよう。
ま、まさかroot取れないよね?
 でも、なんか悪い予感がする。。。
 結果が見えていないだけかも知れないから、bash
でリバースシェルさせて同じことやってみよう。
ま、まさかroot取れないよね?
 でも、なんか悪い予感がする。。。
 結果が見えていないだけかも知れないから、bash
でリバースシェルさせて同じことやってみよう。
ま、まさかroot取れないよね?
な、なーんだ、大丈
夫じゃん part2
 それでも拭えない悪い予感。
 rootリバースシェルを起動する「悪意あるサービス」を
インストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
コネクトバックを待つ
ことしばし
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
まじかよ。。。
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
 それでも拭えない悪い予感。
 リバースシェルを起動する「悪意あるサービス」をイ
ンストールする別のexploitを試してみる。
 標準では、127.0.0.1:8888 にコネクトしにいく仕様だが、
外部に直にコネクトバックするように一部変更。
 ドキドキ。。。
ま、まさかroot取れないよね?
おいおい。。。
 GhostKingdom のサーバは停止しました。
 ログを見てみましたが、12/1以降、画像コンバート
をしていたのは私だけでした。(消されていなけ
れば。)
 私がインストールした以外の怪しいサービスは見
つかりませんでした。
その後
 UIDは常識的な範囲でね★
 OSコマンドを自由に実行させるような脆弱性を持
つサーバを2ヶ月も放置するのは止めよう。
 競技中にroot取られなくてよかった。。
教訓

Más contenido relacionado

Similar a CVE-2018-19788 (and GhostKingdom)

デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
JPCERT Coordination Center
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
yut148atgmaildotcom
 

Similar a CVE-2018-19788 (and GhostKingdom) (20)

FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
 
OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツールOSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツール
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
 
Isaax Public API IoTデバイスを管理する
Isaax Public API IoTデバイスを管理するIsaax Public API IoTデバイスを管理する
Isaax Public API IoTデバイスを管理する
 
React vtecx20171025
React vtecx20171025React vtecx20171025
React vtecx20171025
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とか
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
Google App Engineでできる、あんなこと/こんなこと
Google App Engineでできる、あんなこと/こんなことGoogle App Engineでできる、あんなこと/こんなこと
Google App Engineでできる、あんなこと/こんなこと
 
超お手軽!スマホでLEDを遠隔操作
超お手軽!スマホでLEDを遠隔操作超お手軽!スマホでLEDを遠隔操作
超お手軽!スマホでLEDを遠隔操作
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加する
 
React vtecx20171129
React vtecx20171129React vtecx20171129
React vtecx20171129
 
Let's Encryptについて話す【勉強会資料】
Let's Encryptについて話す【勉強会資料】 Let's Encryptについて話す【勉強会資料】
Let's Encryptについて話す【勉強会資料】
 
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
 
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
デブサミ2015 事例から学ぶAndroidアプリのセキュアコーディング「SSL/TLS証明書検証の現状と対策」
 
IoTLT-Vol92-Wiki-IoT-20221009-1.pptx
IoTLT-Vol92-Wiki-IoT-20221009-1.pptxIoTLT-Vol92-Wiki-IoT-20221009-1.pptx
IoTLT-Vol92-Wiki-IoT-20221009-1.pptx
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
 
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupAmazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
 
ZynqMPのQEMU
ZynqMPのQEMUZynqMPのQEMU
ZynqMPのQEMU
 

CVE-2018-19788 (and GhostKingdom)