21일 차: PATH 하이재킹 & Cron 악용 — 자동화 함정 🕵️♂️
Source: Dev.to
PATH 하이재킹: 순서의 힘
Linux는 $PATH 변수에 나열된 디렉터리를 검색하여 프로그램을 찾습니다. 루트 소유 스크립트가 절대 경로 없이 tar를 호출하면 $PATH에서 처음 발견되는 tar가 실행됩니다.
익스플로잇
# 악성 스크립트 `tar`를 쓰기 가능한 디렉터리(예: /tmp)에 배치
export PATH=/tmp:$PATH # /tmp를 PATH 앞에 추가결과
특권 스크립트가 tar를 실행할 때 /tmp에 있는 가짜 tar가 호출되어 루트 쉘을 얻을 수 있습니다.
크론 잡 익스플로잇
Cron은 Linux 스케줄러입니다. /etc/crontab(또는 다른 시스템 크론탭)에서 참조되는 스크립트가 전 세계에 쓰기 가능(-rwxrwxrwx)하면, 공격자는 이를 수정해 루트 권한으로 임의의 명령을 실행할 수 있습니다.
인젝션
echo "/bin/bash" >> /usr/local/bin/backup.sh페이로드
다음 예약 실행(보통 1분 이내) 시점에 삽입된 명령이 루트 권한으로 실행됩니다.
크론에서 와일드카드 인젝션
크론 잡이 와일드카드를 사용할 때, 예를 들어:
tar -czf backup.tar.gz /home/user/*공격자는 --checkpoint=1과 같이 명령줄 옵션처럼 보이는 파일명을 가진 파일을 만들 수 있습니다. 이러한 파일들이 프로그램에 전달되어 의도하지 않은 코드를 실행하게 만들 수 있습니다.
Follow the author’s journey: #1HourADayJourney