시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 20/50편 (전체 320/450)
학습 단계: 원격 실행·서비스 악용
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 원격 호스트의 스케줄러(cron·at·systemd timer)에 작업을 등록해, 예약된 시점에 명령을 실행하거나 지속성을 확보합니다. 측면 이동으로 접근한 호스트에 스케줄 작업을 심어 원격 실행·재감염을 자동화합니다.
스케줄러 기반 원격 실행·측면 이동
원격 호스트에 cron/at/timer 등록(F영역 지속성 + 원격)
→ 예약 시점에 명령 실행(즉시 아님)
측면 이동 후 각 호스트에 스케줄 심기 → 확산 자동화
at 예약: 일회성 지연 실행(흔적 적음)
핵심: 측면 이동한 호스트에 스케줄 작업 배포
F19(cron 지속성)가 단일 호스트 관점이라면, 여기서는 측면 이동으로 접근한 다수 호스트에 스케줄을 배포하는 확산 관점에 집중합니다.
| 스케줄러 | 용도 | 위험 |
|---|---|---|
| 원격 cron 등록 | 주기 실행·지속성 | 높음 |
| at 예약 | 지연 일회성 실행 | 높음(은밀) |
| systemd timer | 주기 실행 | 높음 |
| 다수 호스트 배포 | 확산+지속성 | 높음 |
| 정상 배치 등록 | 승인 작업 | 정상 |
# 스케줄러 기반 원격 실행 탐지 (분석 방법)
# 원격 세션(sshd)에서 cron/at 등록
sudo ausearch -k proc_exec,persist,lateral -i --start recent 2>/dev/null | grep -E 'ppid_comm="sshd"' | grep -E 'comm="(crontab|at|systemctl)"' | tail
# at 예약 작업(지연 실행)
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'comm="at"|proctitle=.*at ' | tail
$ (원격 스케줄 등록) (없음 또는 정상 배포 배치)
원격 스케줄 등록이 정상 배포 배치에 그치고, 원격 세션 발 cron/at 등록이 없는 상태가 정상입니다.
$ (원격 스케줄 등록)
ppid_comm="sshd" comm="crontab" (원격 세션에서 cron 등록)
ppid_comm="sshd" proctitle="at now + 1 hour" (지연 실행 예약)
→ 여러 호스트에서 반복 등록
스케줄러 기반 원격 실행 분석입니다(가상의 예시).
[측면 이동] web01 → db01 SSH (G09)
↓ (원격 스케줄 등록)
db01: sshd → crontab (cron 지속성 등록, F19)
↓ 반복 (다수 호스트)
app01, file01에도 같은 스케줄 배포
↓ (예약 시점)
각 호스트에서 명령 실행(확산+지속성 자동화)
| 관찰 | 해석 |
|---|---|
| sshd→crontab | 원격 cron 등록 |
| at 예약 | 지연 실행 |
| 다수 호스트 | 확산 배포 |
| 예약 실행 | 지속성 |
원격 세션 발 스케줄 등록 + 다수 호스트 배포가 확산 신호입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
<rule id="106190" level="13">
<if_sid>106000</if_sid>
<field name="audit.ppid_comm">sshd</field>
<field name="audit.comm" type="pcre2">^(crontab|at|batch|systemctl)$</field>
<description>원격 세션에서 스케줄러 등록(측면 이동+지속성 배포)</description>
<mitre><id>T1021.004</id><id>T1053</id></mitre>
</rule>
</group>
F영역 지속성 룰(cron·systemd)과 원격 세션(sshd 부모)을 결합해 측면 이동+지속성을 포착합니다. 정상 배포는 예외 처리합니다.
| 스케줄러 | 용도 |
|---|---|
| 원격 cron | 주기 실행·지속성 |
| at 예약 | 지연 일회성(은밀) |
| systemd timer | 주기 실행 |
| 다수 호스트 배포 | 확산+지속성 |
| 면접 포인트 | "측면 이동 후 스케줄 배포는 확산+지속성 — 원격 세션 발 cron/at이 신호" |
다음 편 321. 내부 확장·측면 이동 — WinRM·RPC·SMB 유사 프로토콜 이동 탐지 에서는 WinRM·RPC·SMB 유사 프로토콜 이동을 다루는 WinRM·RPC·SMB 유사 프로토콜 이동 탐지를 다룹니다.
이전 편: 319. 내부 확장·측면 이동 — 원격 명령 실행(remote exec) 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점