시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 16/50편 (전체 166/450)
학습 단계: 파일 권한 변경 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
cron과 systemd는 "예약·자동 실행"을 담당해, 공격자의 지속성(persistence) 확보에 자주 악용됩니다. 관련 파일의 권한이 완화되면 공격자가 스케줄·서비스를 변조해 root로 임의 실행할 수 있습니다.
cron/systemd 파일과 권한 변경 위험
/etc/cron.d/*, /etc/crontab 완화 → 스케줄 변조(root 실행)
/var/spool/cron/* 완화·소유변경 → 사용자 cron 변조
/etc/systemd/system/*.service 완화 → 서비스 변조(지속성)
~/.config/systemd/user/* 완화 → 사용자 서비스
위험: 완화 → 내용 변조(FIM) → 예약/부팅 시 실행
권한 변경(D영역)과 내용 변경(F영역 지속성)을 함께 봐야 전체 흐름이 보입니다.
| 대상 | 변경 위험 | 실행 시점 |
|---|---|---|
/etc/cron.d/ | 스케줄 변조 | 예약 시 |
/etc/crontab | 전역 스케줄 | 예약 시 |
/var/spool/cron/ | 사용자 cron | 예약 시 |
systemd/*.service | 서비스 변조 | 재시작·부팅 |
| timer 유닛 | 예약 실행 | 타이머 |
# cron/systemd 파일 권한 변경 탐지 (분석 방법)
sudo ausearch -k perm_change,perm_critical -i --start recent 2>/dev/null | grep -E 'cron|systemd|spool/cron' | tail
# 현재 완화된 cron/systemd 파일
find /etc/cron.d /etc/systemd/system /var/spool/cron -type f -perm /022 2>/dev/null
$ (cron/systemd 권한 변경) (없음)
$ (완화된 파일) (없음)
cron·systemd 파일이 적절한 권한(644/600)을 유지하고, 권한 변경 이벤트가 없는 상태가 정상입니다.
$ (cron/systemd 권한 변경)
02:55 auid=www-data proctitle="chmod 666 /etc/cron.d/0hourly"
02:56 auid=devops proctitle="chmod o+w /etc/systemd/system/app.service"
cron/systemd 권한 변경 흐름입니다(가상의 예시 로그).
type=PROCTITLE ... proctitle=chmod 666 /etc/cron.d/0hourly auid=www-data key="perm_change"
[이후] cron.d/0hourly 내용 변경(FIM) → 악성 명령 추가
[예약 실행] 해당 명령 root로 실행(지속성)
| 관찰 | 해석 |
|---|---|
| chmod 666 cron.d | 스케줄 완화 |
| auid=www-data | 웹 계정(비정상) |
| 이후 내용 변경 | 악성 명령(FIM) |
| 예약 실행 | root 지속성 |
완화 → 내용 변조(FIM) → 예약 실행의 흐름을 F영역과 연계해 지속성을 포착합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,perm_change,">
<rule id="103140" level="12">
<if_sid>103000</if_sid>
<field name="audit.proctitle" type="pcre2">(chmod|chown).*(/etc/cron|/var/spool/cron|/etc/systemd/system|\.service|\.timer)</field>
<description>cron/systemd 파일 권한·소유권 변경(지속성 경로)</description>
<mitre><id>T1053.003</id><id>T1543.002</id></mitre>
</rule>
</group>
cron/systemd 완화 후 내용 변경은 FIM(D41)·F영역 지속성 탐지로 이어 추적합니다.
| 대상 | 위험 |
|---|---|
| cron.d/crontab | 스케줄 변조(root 실행) |
| spool/cron | 사용자 cron 탈취 |
| systemd service | 서비스 변조(지속성) |
| timer | 예약 실행 |
| 면접 포인트 | "cron/systemd 완화는 지속성 경로 — 권한+내용(FIM) 함께 감시" |
다음 편 167. 권한 변경 이상 — 로그 파일 권한 변경 탐지 에서는 로그 파일 권한 변경을 다루는 로그 파일 권한 변경 탐지를 다룹니다.
이전 편: 165. 권한 변경 이상 — SSH 관련 파일 권한 변경 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점