ITセキュリティに関するクラスでは、生徒に特権の昇格を示したいと思います。そのために、私はMetasploit Frameworkのexploit/linux/local
リストを調べて、(とりわけ) exploit/linux/local/sock_sendpage
を2009年8月から見つけました。
VM with 32-bit Ubuntu Server 9.04( http://old-releases.ubuntu.com/releases/9.04/ubuntu-9.04-server-AMD64。 iso )2009年4月から。uname -r
は2.6.28-11-generic
をくれます。エクスプロイトの説明によると
2001年5月以降のすべてのLinux 2.4/2.6バージョンが影響を受けると考えられています。2.4.4から2.4.37.4まで。 2.6.0から2.6.30.4まで
だから私がセットアップしたUbuntuサーバーはデモンストレーションに適しているようです。しかし、私はそれを機能させることができませんでした。
サーバーに(通常の)ユーザーを追加すると、SSHアクセスが機能します。 Metasploitフレームワーク内から、auxiliary/scanner/ssh/ssh_login
を使用してSSHセッションを作成できます。しかし、エクスプロイトを実行すると、
[*] Writing exploit executable to /tmp/mlcpzP6t (4069 bytes)
[*] Exploit completed, but no session was created.
DEBUG_EXPLOIT
をtrueに設定しても、それ以上の情報は得られません。 /tmp
は、同じくMetasploit SSHセッション内からの書き込みです。
$ sessions -c "touch /tmp/test.txt"
[*] Running 'touch /tmp/test.txt' on Shell session 1 ([redacted])
$ sessions -c "ls -l /tmp"
[*] Running 'ls -l /tmp' on Shell session 1 ([redacted])
total 0
-rw-r--r-- 1 [redacted] [redacted] 0 2016-03-28 09:44 test.txt
また、WriteableDir
をサーバー上のユーザーのホームディレクトリに設定しようとしましたが、何も変更しませんでした。ここで何が欠けていますか?このバージョンのUbuntuサーバー(故意に更新していません)は脆弱ではありませんか?
9.04リリース サポートされていた 2010年10月23日まで。発見された脆弱性は 報告された 2009年8月でした。このリリースがまだ最新でサポートされていたため、 、ISOにパッチが適用され、ダウンロードしたのは脆弱ではなくなったバージョンです。
さらに、あなたはそれが脆弱ではないことをかなりうまく示しているようです。結局のところ、エクスプロイトを試したところ、失敗したようです。
新しいエクスプロイトを試してみませんか? CVE-2013-2094 のようなもの buntuにも影響します など。
これは特定のクエリには答えませんが、生徒に表示するためのより多くのプライベートESCの選択肢を提供します...
また、次の2つの管理者の設定ミスにより、 'nixでプライベートescが発生する可能性があります(' nixボックスを誤って設定して、プライベートescを許可する可能性のある方法は他にもたくさんあるので、これを食欲のかじりと考えてください) ....
root/rootグループ(_find / -uid 0 -perm -4000 -type f 2>/dev/null
_および_find / -uid 0 -perm -2000 -type f 2>/dev/null
_)が所有するsuidおよびguidバイナリ。それらが低特権ユーザーによる変更を許可するために誰でも書き込み可能かどうかを確認します。それらが存在するフォルダーは、低レベルの特権ユーザーによって書き込み可能です-ライブラリパスインジェクションの可能性があります。それらが使用するライブラリーについてはどうですか-変更できるライブラリーです:次のコマンドのいずれかを使用して、バイナリー内の_DT_RPATH
_および_DT_RUNPATH
_ ELFヘッダーの値を確認します。
objdump -x
_ ...readelf -a
_ ...scanelf
(PaXから)elfdump
(Sunから)readelf -a binary | grep PATH
_sudoers
欠陥
NOPASSWD
-ユーザーが画面のロックを忘れた場合、ローカルの攻撃者がこのアクセスを使用して、オペレーティングシステム内で特権をエスカレートする可能性があります
Sudoersに実行可能ファイルがありません-_/etc/sudoers
_ファイルの一部の実行可能ファイルが存在しません。実行可能ファイルが作成されると、Sudoを介してrootとして実行できるため、特権の昇格が可能になります。
孤立したSudoersエントリ-_/etc/sudoers
_ファイルには、対応するアカウントが_/etc/passwd
_ファイルで構成されていない孤立したエントリが多数含まれている場合があります。孤立した名前のいずれかを使用してユーザーが作成された場合、完全なrootアクセスに特権を昇格させる手段がユーザーに提供されます。
一部のプログラムはSudoに含めることはできません-vi
のように、_:e
_を使用するか、 Ctrlo _:w
_にアクセスするには、_/etc/shadow
_を使用します。
Sudoersファイルで誤って考えられた/誤ったコマンドの使用-sudoersにhttpd
がよく見られる-そのため、sudoアクセス権を持つ低特権ユーザーとして、そのコマンドだけを実行してみてください(_Sudo -l
_または_Sudo -ll
_はユーザーが実行できることを示します):_Sudo /usr/bin/httpd -t /etc/shadow
_とエラーを確認します。
sudoersで言及されているコマンドとファイルのファイルパーマは弱い-ルートが所有するsuidおよびguidビットバイナリに関する私の以前の段落を参照