시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 11/50편 (전체 161/450)
학습 단계: 파일 권한 변경 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
실행 파일의 권한 변경은 "실행 가능하게 만들기"와 "SUID 설정"이 핵심입니다. 공격자는 업로드한 악성 파일에 실행 권한을 주거나, 정상 바이너리에 SUID를 설정해 상승을 노립니다.
실행 파일 권한 변경
chmod +x /tmp/payload → 업로드 파일 실행 가능화
chmod +x /dev/shm/x → 메모리 경로 실행
chmod 4755 /usr/bin/xxx → SUID 설정(상승, D22)
chmod 777 바이너리 → 변조 가능화
위험: 비표준 경로(+x) / 시스템 바이너리(SUID·변조)
특히 /tmp·/dev/shm·업로드 경로의 파일에 실행 권한을 주는 것은 강한 공격 신호입니다.
chmod +x로 실행 권한을 부여합니다(실행 전 필수 단계).| 변경 | 경로 | 위험 |
|---|---|---|
chmod +x | /tmp,/dev/shm | 높음(페이로드 실행) |
chmod +x | 업로드 경로 | 높음(웹셸 등) |
chmod 4755 | /usr/bin | 높음(SUID 상승) |
chmod 777 | 시스템 바이너리 | 높음(변조) |
chmod +x | 배포 스크립트 | 낮음(정상) |
# 실행 파일 권한 변경 탐지 (분석 방법)
# 비표준 경로 실행 권한 부여
sudo ausearch -k perm_change -i --start recent 2>/dev/null | grep -E 'chmod.*\+x|chmod.*7[0-7][0-7]' | grep -E '/tmp/|/dev/shm/|/var/tmp/' | tail
# 현재 비표준 경로의 실행 파일
find /tmp /dev/shm /var/tmp -type f -perm /111 2>/dev/null
$ (비표준 경로 +x) (없음)
$ (비표준 실행 파일) (없음)
/tmp·/dev/shm 등에 실행 권한 파일이 없고, 배포 경로의 정상 스크립트에만 실행 권한이 있는 상태가 정상입니다.
$ (비표준 경로 +x)
02:30 auid=www-data proctitle="chmod +x /tmp/.x"
$ (비표준 실행 파일)
/tmp/.x
/dev/shm/payload
www-data(웹 서비스 계정)가 /tmp/.x에 실행 권한 → 웹셸·페이로드 실행 준비실행 파일 권한 변경 흐름입니다(가상의 예시 로그).
[업로드] /tmp/.x 생성 (웹 업로드 등)
type=PROCTITLE ... proctitle=chmod +x /tmp/.x auid=www-data key="perm_change"
[이후] /tmp/.x 실행 (프로세스 생성, G영역)
| 관찰 | 해석 |
|---|---|
| chmod +x /tmp/.x | 페이로드 실행 가능화 |
| auid=www-data | 웹 계정(비정상) |
| 숨김·메모리 경로 | 은닉 |
| 이후 실행 | 페이로드 가동 |
업로드 → 실행 권한 → 실행의 흐름을 세션으로 연결해 탐지합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,perm_change,">
<rule id="103090" level="12">
<if_sid>103000</if_sid>
<field name="audit.proctitle" type="pcre2">chmod\s+.*(\+x|[0-7][0-7][1357]|7[0-7][0-7]).*(/tmp/|/dev/shm/|/var/tmp/)</field>
<description>비표준 경로(tmp/shm) 실행 권한 부여</description>
<mitre><id>T1222.002</id><id>T1059</id></mitre>
</rule>
</group>
웹 서비스 계정(www-data)의 실행 권한 부여는 더 높은 레벨로 둡니다(웹셸 가능성).
| 변경 | 위험 |
|---|---|
| +x /tmp·/dev/shm | 페이로드 실행 준비 |
| +x 업로드 경로 | 웹셸 |
| 4755 바이너리 | SUID 상승 |
| 777 바이너리 | 변조 |
| 면접 포인트 | "/tmp·/dev/shm의 chmod +x는 실행 직전 단계 — 강한 신호" |
다음 편 162. 권한 변경 이상 — 디렉터리 권한 변경 탐지 에서는 디렉터리 권한 변경을 다루는 디렉터리 권한 변경 탐지를 다룹니다.
이전 편: 160. 권한 변경 이상 — 설정 파일 권한 변경 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점