시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 35/50편 (전체 135/450)
학습 단계: 프로세스·서비스·파일 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
서비스 목록(C34)보다 깊게, systemd 유닛 파일의 구조·경로를 조회하는 정찰입니다. 공격자는 유닛 파일이 어디에 있고(/etc/systemd/system), 어떻게 작성되는지 파악해 악성 유닛 등록(지속성, F영역) 위치를 물색합니다.
systemd 구조 조회
systemctl cat 서비스 → 유닛 파일 내용(작성 예시 학습)
ls /etc/systemd/system/ → 유닛 파일 위치
systemctl list-unit-files → 유닛 파일 목록
~/.config/systemd/user/ → 사용자 유닛(B영역 40편)
목적: 악성 유닛을 어디에·어떻게 등록할지 파악 (지속성 준비)
A영역 27편(systemd 보안 옵션)·linsec 30편(악성 systemd 탐지)이 방어라면, 여기서는 공격자가 등록 위치·방법을 조회하는 정찰입니다.
~/.config/systemd/user)·linger(B영역 40편) 경로 조회는 일반 권한 지속성 준비입니다.| 조회 | 정보 |
|---|---|
systemctl cat 서비스 | 유닛 내용(작성 학습) |
ls /etc/systemd/system/ | 유닛 위치 |
systemctl list-unit-files | 유닛 목록 |
~/.config/systemd/user/ | 사용자 유닛(B영역 40편) |
# systemd 구조 조회 감사 (실습 예시)
-w /etc/systemd/system -p r -k recon_svc
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/systemctl -F a1="cat" -k recon_svc
# 세션에서 유닛 구조 조회 (분석 방법)
sudo ausearch -k recon_svc -i --start recent | grep -E 'systemd/system|a1="cat"' | tail
$ sudo ausearch -k recon_svc -i --start today | grep 'systemd/system' | tail -1
10:10:02 auid=admin1 ses=8 comm="systemctl" a1="cat" (유닛 점검)
관리자가 서비스 유닛을 점검·수정하며 systemctl cat을 보는 것은 정상입니다(A영역 27편 점검 포함).
02:15:50 auid=devops ses=12 comm="systemctl" a1="cat" a2="httpd"
02:15:52 auid=devops ses=12 comm="ls" (대상 /etc/systemd/system/)
systemctl cat httpd) 내용 확인 + 유닛 디렉터리 조회 → 악성 유닛 작성 준비systemd 구조 정찰 → 지속성 준비 흐름입니다(가상의 예시 로그).
type=EXECVE ... a0="systemctl" a1="cat" a2="httpd"
type=SYSCALL ... auid=devops ses=12 comm="systemctl" key="recon_svc"
type=PATH ... name="/etc/systemd/system/" nametype=NORMAL
[이후 가능] /etc/systemd/system/<악성>.service 생성 (A영역 13편 100200, F영역)
| 관찰 | 해석 |
|---|---|
| systemctl cat | 유닛 작성 학습 |
| ls /etc/systemd/system | 등록 위치 |
| 이후 유닛 생성 | 지속성(F영역) |
| ses=12 | 지속성 정찰 |
유닛 조회 직후 유닛 파일 생성(A영역 13편 100200)이 나타나면 지속성 확보로 연계 탐지합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<rule id="102340" level="7">
<if_group>audit</if_group>
<field name="audit.key">recon_svc</field>
<regex type="pcre2">a1="cat"|/etc/systemd/system</regex>
<description>systemd 유닛 구조 조회(지속성 등록 정찰)</description>
<mitre><id>T1543.002</id></mitre>
</rule>
</group>
T1543.002(Systemd Service)에 매핑됩니다. 유닛 조회 + 생성(A영역 13편 100200)을 상관하면 지속성 준비→확보를 포착합니다.
| 조회 | 정보 |
|---|---|
| systemctl cat | 유닛 작성 학습 |
| ls /etc/systemd/system | 등록 위치 |
| 사용자 유닛 경로 | 일반 권한 지속성 |
| 구분 | 유닛 점검(정상) vs 등록 위치·방법 물색(정찰) |
| 면접 포인트 | "기존 유닛 조회는 정상처럼 위장한 악성 유닛 작성의 준비" |
다음 편 136. Linux 정보 수집 — cron 관련 정보 수집 에서는 예약 작업 지속성 정찰인 cron 관련 정보 수집을 다룹니다.
이전 편: 134. Linux 정보 수집 — 서비스 목록 조회
📚 시리즈 전체 보기: 시스템 보안 · 취약점