166. 권한 변경 이상 — cron·systemd 파일 권한 변경 탐지

changseop lee·6일 전

시스템 보안 · 취약점

목록 보기
166/450

시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 16/50편 (전체 166/450)
학습 단계: 파일 권한 변경 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

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영역 지속성)을 함께 봐야 전체 흐름이 보입니다.

2. 왜 중요한가

  • cron.d 완화는 root 권한 임의 실행(상승+지속성)의 전형적 경로입니다.
  • systemd 유닛 완화는 서비스 재시작·부팅 시 공격자 코드 실행으로 이어집니다.
  • 사용자 cron(/var/spool/cron) 소유권 변경은 타 사용자 스케줄 탈취입니다.

3. 핵심 명령어 / 설정

대상변경 위험실행 시점
/etc/cron.d/스케줄 변조예약 시
/etc/crontab전역 스케줄예약 시
/var/spool/cron/사용자 cron예약 시
systemd/*.service서비스 변조재시작·부팅
timer 유닛예약 실행타이머

4. 실습 (실습 예시)

# 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

5. 정상 상태

$ (cron/systemd 권한 변경) (없음)
$ (완화된 파일) (없음)

cron·systemd 파일이 적절한 권한(644/600)을 유지하고, 권한 변경 이벤트가 없는 상태가 정상입니다.

6. 이상 상태

$ (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.d 파일 666 완화 → 누구나 스케줄 변조 → root 임의 실행(지속성)
  • service 유닛 o+w → 서비스 변조 → 재시작 시 공격 코드 실행
  • 비관리 계정의 스케줄·서비스 완화 → 정탐

7. 로그 분석 (분석 방법)

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영역과 연계해 지속성을 포착합니다.

8. SOC 관제 포인트

  • cron·systemd 파일 완화는 임의 실행·지속성의 핵심 경로입니다.
  • cron.d·crontab·systemd 유닛의 완화·소유권 변경을 높은 우선순위로 봅니다.
  • 권한 변경(D)과 내용 변경(F)을 연계해 변조→실행까지 추적합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 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영역 지속성 탐지로 이어 추적합니다.

10. 대응 방법

  1. 초기 확인 — 변경된 cron/systemd 파일·주체·시점과 완화 여부를 확인합니다.
  2. 범위 확인 — 완화 직후 내용 변경(FIM)·예약/서비스 실행이 이어졌는지 확인합니다.
  3. 증거 확보 — 권한 변경 이벤트와 대상 파일(권한·내용)을 보존합니다.
  4. 차단/조치 — 권한 원복·악성 스케줄/유닛 제거·세션 종료를 진행합니다.
  5. 재발 방지 — cron/systemd 파일 권한 변경 탐지와 FIM을 함께 운영합니다.

11. 핵심 정리

대상위험
cron.d/crontab스케줄 변조(root 실행)
spool/cron사용자 cron 탈취
systemd service서비스 변조(지속성)
timer예약 실행
면접 포인트"cron/systemd 완화는 지속성 경로 — 권한+내용(FIM) 함께 감시"

12. 다음 편 예고

다음 편 167. 권한 변경 이상 — 로그 파일 권한 변경 탐지 에서는 로그 파일 권한 변경을 다루는 로그 파일 권한 변경 탐지를 다룹니다.


이전 편: 165. 권한 변경 이상 — SSH 관련 파일 권한 변경 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글