시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 43/50편 (전체 143/450)
학습 단계: 로그·설정·환경 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

시스템 로그(/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 분석(방어)이라면, 여기서는 공격자가 시스템 로그에 접근하는 정찰입니다.

2. 왜 중요한가

  • 시스템 로그로 공격자는 자기 지속성(서비스·cron 등록) 흔적이 어디 남았나 확인해, 삭제(G영역)나 회피를 준비합니다.
  • journald는 바이너리 저장이라 선별 삭제가 어렵지만, 설정 변경(A영역 28편 volatile)으로 무력화할 수 있어 공격자가 구조를 조회합니다.
  • 오류 로그에서 서비스 취약점·경로 정보를 얻을 수도 있습니다.

3. 핵심 명령어 / 설정

조회목적
tail /var/log/messages·syslog시스템 기록
journalctlsystemd 저널(llp 31편)
journalctl -u 서비스특정 서비스
grep <자기행위>흔적 확인

4. 실습 (실습 예시)

# 시스템 로그 접근 감사 (실습 예시)
-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

5. 정상 상태

$ 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편 분석). 공격자는 자기 행위 흔적 검색·전수 조회가 특징입니다.

6. 이상 상태

02:17:20 auid=devops ses=12 comm="journalctl" (-u 특정 서비스)
02:17:23 auid=devops ses=12 comm="grep" (sysbak /var/log/messages)
  • journald로 자기 서비스 등록 로그 확인 + messages에서 자기 생성 계정(sysbak) 흔적 검색 → 흔적 확인
  • 지속성(서비스·계정) 흔적이 어느 로그에 남았나 파악 → G영역 변조·회피 준비
  • 인증 로그(C42)에 이어 시스템 로그까지 흔적 확인 → 로그 전반 삭제 범위 파악

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

시스템 로그 흔적 확인 흐름입니다(가상의 예시 로그).

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영역)가 이어지는지 연계합니다.

8. SOC 관제 포인트

  • 시스템 로그 접근 중 자기 행위(계정·서비스) 흔적 검색을 변조 선행으로 봅니다.
  • journald 구조 조회 뒤 설정 변경(A영역 28편 volatile)이 이어지는지 확인합니다.
  • 인증(C42)+시스템(C43) 로그 흔적 확인을 묶어 로그 변조 준비로 봅니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 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)과 연계합니다. 원격 전송 로그로 탐지 신뢰도를 확보합니다.

10. 대응 방법

  1. 초기 확인 — 시스템 로그 접근의 패턴(자기 흔적·전수)·주체를 확인합니다.
  2. 범위 확인 — 접근 뒤 journald 설정 변경·로그 삭제(A영역 28편·G영역)가 이어졌는지 확인합니다.
  3. 증거 확보 — 시스템 로그 접근 흔적(원격 사본)을 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 로그 무결성 점검을 진행합니다.
  5. 재발 방지 — 시스템 로그 접근을 변조 선행 상관에 포함합니다.

11. 핵심 정리

조회목적
tail messages/syslog시스템 기록
journalctl -u서비스 로그
grep 자기행위흔적 확인
구분장애 점검(정상) vs 자기 흔적 검색(정찰)
면접 포인트"시스템 로그 흔적 확인은 지속성 흔적 삭제 범위 파악"

12. 다음 편 예고

다음 편 144. Linux 정보 수집 — 애플리케이션 로그 접근 에서는 애플리케이션 로그 접근인 애플리케이션 로그 접근을 다룹니다.


이전 편: 142. Linux 정보 수집 — 인증 로그 접근 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글