-
취약점 우선순위
- SUID/SGID 바이너리, sudo 권한, root 소유 스크립트, SSH 키, 커널 취약점 등은 권한 상승에 직결되므로 항상 먼저 확인합니다.
- 자동화 툴(린피스, LinPEAS)이 빨간색, 노란색, "취약" 표시로 알려주는 부분이 실제로 exploit 가능성이 높습니다.
-
실제 공격 흐름
- 먼저 웹 취약점(RCE, LFI, SQLi 등)으로 초기 쉘 획득.
- 획득한 권한에서 SUID/SGID, sudo, SSH 키, writable 경로, root 소유 파일, 환경 변수, 커널 버전 등 하나씩 점검.
- 자동화 툴 결과를 읽으면서 "내가 실행할 수 있는 것", "내가 쓸 수 있는 것", "내가 읽을 수 있는 것"을 우선적으로 시도.
-
경험적 판단
- 대부분의 시스템은 SUID/SGID, sudo, SSH 키, 취약한 서비스, 오래된 커널, 잘못된 권한 설정 등에서 뚫립니다.
- 린피스 결과에서 "Exploit 가능", "취약점 있음", "root 소유인데 내가 쓸 수 있음" 같은 부분이 바로 공격 포인트입니다.
-
실전 팁
- 자동화 툴 결과를 빠르게 훑고, 빨간색/노란색/취약점/권한 상승 관련 부분을 우선적으로 시도.
- 실패하면 다음 단계로 넘어가며, 여러 경로를 병행해서 시도.
컨테이너 런(run_container)은 빨간색으로 표시되지 않았지만, SUID/SGID가 붙어 있고, 사용자 추가 파일로 분류되어 있습니다.
린피스에서 빨간색은 "거의 확실한 권한 상승 벡터"를 의미하지만, 빨간색이 아니더라도 SUID/SGID가 붙은 사용자 추가 바이너리는 항상 직접 분석 대상입니다.
빨간색이 아니더라도 다음 이유로 주목해야 합니다.
- SUID/SGID가 붙은 바이너리는 root 권한으로 실행됨
- 시스템 기본이 아닌, 사용자가 추가한 실행 파일은 취약점이 있을 확률이 높음
- 린피스가 "Unknown SUID binary!"로 표시한 것은 자동 진단이 안 됐다는 뜻이므로, 직접 분석해야 함
즉, 빨간색이 아니더라도 SUID/SGID가 붙은 사용자 추가 파일(run_container, run_container.sh 등)은 항상 직접 실행해보고, 취약점(명령어 인젝션, 경로 오염, 환경 변수 오염 등)이 있는지 확인해야 합니다.
정리:
빨간색이 아니어도 SUID/SGID 사용자 추가 파일은 무조건 분석 대상입니다.
자동화 툴이 취약점 여부를 100% 판단하지 못하므로, 직접 확인하는 것이 중요합니다.