【悪用厳禁】権限昇格攻撃で使われる攻撃手段
セキュリティを学んでる中で思い出す言葉が「彼を知り己を知れば百戦殆からず」という孫氏の兵法の有名なフレーズです。
攻撃者の攻撃手段を知り、サービスの不備や問題点を潰していくというのはまさに当てはまっていると思います。
なんかハッカーのイメージが暗い部屋でカチャカチャやってる感じから諸葛亮孔明みたいな軍師のように思えてきました。
前回学んだこと
前回はWebの不備を突いた攻撃手法を学びました。
権限昇格攻撃とは
ソフトウェアの脆弱性を利用したエクスプロイト攻撃のうち、ユーザーの権限を不正に昇格させて悪用することを権限昇格攻撃といいます。
IPAにWordPressの脆弱性を利用した権限昇格攻撃の概要が掲載されています。
WordPress.org が提供する WordPress は、オープンソースのCMS(コンテンツマネジメントシステム)です。
WordPress には、REST API の処理に起因する脆弱性が存在します。
本脆弱性が悪用された場合、遠隔の第三者によって、サーバ上でコンテンツを改ざんされる可能性があります。
攻撃手法を試してみる
実際に攻撃するととんでもないことになるので、Envaderの仮想環境を利用します。
4つの攻撃方法について試すことができます。
問題1
サーバに存在する別のユーザのユーザ名を回答して下さい。
これは普通にcat
コマンドでパスワードディレクトリを表示することで確認することができます。
cat /etc/passwd
これは誰もが読めてしまいます。
問題2
問題1で見つけたユーザのファイルもしくはディレクトリには権限設定の不備があります。
該当するファイルもしくはディレクトリの絶対パスを回答して下さい。
※ディレクトリの場合絶対パスの最後にスラッシュ(/)は必要ありません。
ホームディレクトリがどこにあるかはすでにわかっていますので、そこに対してls -la
コマンドで隠しファイルと権限の不備がないかを調べます。
ls -la /home/redavne
なんかとんでもないものに権限777が設定されてましたw
問題3
問題2で見つけた不備をもとに問題1で見つけたユーザのホームディレクトリに存在するsecretを取得して下さい。
これはもうその接続方法で接続してしまえばいいわけです。
ヒントにでかでかとほぼ答えが書いてありますw
問題2のディレクトリには書き込み権限がありますので、ssh-keygen
で公開鍵を作っちゃいます。
そうなるとパスワード不要でssh接続できてしまうという寸法です。
問題4
rootユーザのホームディレクトリにあるsecret.txtを読んでsecretを取得して下さい。
こちらの問題が権限昇格攻撃のキモとなります。
sudoコマンドを使って使えるコマンドを探すと…って感じです。
宣伝みたいになっていましますが、この問題は実際にEnvaderで解いてみてください。
無料ですしなんか全く知らなかった世界に踏み込んだ感があって楽しいですよ!
問題引用:権限昇格について
学んだこと
- 権限脆弱性を探す方法
- 脆弱性のあるユーザーに対する攻撃方法
不備があるとごく一般的な方法で調べることができることを理解しました。
参考資料
Discussion