시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 43/50편 (전체 143/450)
학습 단계: 로그·설정·환경 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
시스템 로그(/var/log/messages·syslog·journald)는 서비스 시작·오류·커널·cron 실행 등 시스템 전반의 기록입니다. 공격자는 여기서 시스템 활동을 학습하거나, 자신의 행위(서비스 등록·cron 실행)가 남긴 흔적을 확인합니다.
시스템 로그 접근
cat/tail /var/log/messages → 시스템 기록(Rocky)
cat/tail /var/log/syslog → 시스템 기록(Ubuntu)
journalctl → systemd 저널(llp 31편)
journalctl -u <서비스> → 특정 서비스 로그
grep <자기행위> messages → 자기 흔적 확인
용도: 시스템 구조·오류 학습 / 자기 서비스·cron 등록 흔적 확인(G영역 선행)
llp 12·31편이 시스템 로그·journald 분석(방어)이라면, 여기서는 공격자가 시스템 로그에 접근하는 정찰입니다.
| 조회 | 목적 |
|---|---|
tail /var/log/messages·syslog | 시스템 기록 |
journalctl | systemd 저널(llp 31편) |
journalctl -u 서비스 | 특정 서비스 |
grep <자기행위> | 흔적 확인 |
# 시스템 로그 접근 감사 (실습 예시)
-w /var/log/messages -p r -k recon_log
-w /var/log/syslog -p r -k recon_log
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/journalctl -F auid>=1000 -F auid!=unset -k recon_log
# 시스템 로그 접근 패턴 (분석 방법)
sudo ausearch -k recon_log -i --start recent | grep -E 'messages|syslog|journalctl' | tail
$ sudo ausearch -k recon_log -i --start today | grep messages | tail -1
10:40:02 auid=admin1 ses=8 comm="tail" name="/var/log/messages" (장애 점검)
관리자가 장애·서비스 로그를 점검하는 것은 정상입니다(llp 12편 분석). 공격자는 자기 행위 흔적 검색·전수 조회가 특징입니다.
02:17:20 auid=devops ses=12 comm="journalctl" (-u 특정 서비스)
02:17:23 auid=devops ses=12 comm="grep" (sysbak /var/log/messages)
시스템 로그 흔적 확인 흐름입니다(가상의 예시 로그).
type=EXECVE ... a0="journalctl" a1="-u" a2="dbus-update"
type=SYSCALL ... auid=devops ses=12 comm="journalctl" key="recon_log"
type=EXECVE ... a0="grep" a1="sysbak" a2="/var/log/messages"
| 관찰 | 해석 |
|---|---|
| journalctl -u | 자기 서비스 흔적 |
| grep sysbak messages | 자기 계정 흔적 |
| 전반 로그 검색 | 삭제 범위 파악 |
| ses=12 | 시스템 로그 정찰 |
흔적 확인 뒤 journald 설정 변경(A영역 28편)·로그 삭제(G영역)가 이어지는지 연계합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<rule id="102420" level="7">
<if_group>audit</if_group>
<field name="audit.key">recon_log</field>
<regex type="pcre2">(messages|syslog)|a0="journalctl"</regex>
<description>시스템 로그 접근(흔적 확인 정찰)</description>
<mitre><id>T1070</id></mitre>
</rule>
</group>
시스템 로그 접근은 G영역(로그 변조)·A영역 28편(journald)과 연계합니다. 원격 전송 로그로 탐지 신뢰도를 확보합니다.
| 조회 | 목적 |
|---|---|
| tail messages/syslog | 시스템 기록 |
| journalctl -u | 서비스 로그 |
| grep 자기행위 | 흔적 확인 |
| 구분 | 장애 점검(정상) vs 자기 흔적 검색(정찰) |
| 면접 포인트 | "시스템 로그 흔적 확인은 지속성 흔적 삭제 범위 파악" |
다음 편 144. Linux 정보 수집 — 애플리케이션 로그 접근 에서는 애플리케이션 로그 접근인 애플리케이션 로그 접근을 다룹니다.
이전 편: 142. Linux 정보 수집 — 인증 로그 접근 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점