티스토리 뷰

Forensic/Artifact

Linux Artifact

Noctis41 2025. 3. 3. 08:19

리눅스 시스템에서는 다양한 로그 및 아티팩트가 저장되며, 이를 분석하여 시스템의 활동 내역을 파악하고 침해 사고 대응을 할 수 있습니다. 특히 디지털 포렌식 및 보안 분석에서 리눅스 아티팩트는 중요한 정보를 제공합니다.


1. 접속 기록 관련 아티팩트

(1) wtmp

  • 설명: wtmp 파일은 사용자의 로그인 및 로그아웃 기록, 그리고 시스템의 부팅 및 종료 시간 등을 저장하는 바이너리 로그 파일입니다. 이를 통해 특정 계정이 언제 접속하고 종료했는지, 그리고 시스템이 예기치 않게 종료되었는지 확인할 수 있습니다.

파일 위치: /var/log/wtmp

last -f /var/log/wtmp
  • 예시 :특정 사용자에 대한 기록을 조회하려면 아래 명령어를 사용합니다:
last -f /var/log/wtmp | grep username
  • strings 명령어를 활용하면 바이너리 데이터에서 사람이 읽을 수 있는 문자열을 추출할 수 있습니다:
strings /var/log/wtmp | less
  • 관련 도구 및 명령어: last, strings, hexdump, utmpdump

(2) btmp

  • 설명: btmp 파일은 로그인 실패 시도를 기록합니다. 브루트포스 공격이나 특정 계정에 대한 반복적인 침입 시도를 탐지하는 데 유용합니다.
  • 파일 위치: /var/log/btmp
  • 예시  :
last -f /var/log/btmp
  • 특정 계정(root)에서 실패한 로그인 시도를 필터링하려면 아래 명령어를 사용할 수 있습니다:
lastb | grep 'root'
  • 관련 도구 및 명령어 : lastb, strings

(3) utmp

  • 설명 : 현재 로그인한 사용자 정보 및 시스템의 상태를 저장합니다. 공격자가 현재 시스템에 접속해 있는지 실시간으로 확인할 때 유용합니다.
  • 파일 위치: /var/run/utmp

예시  :

who
w
  • w 명령어를 사용하면 사용자의 로그인 시간, 접속한 터미널, 실행 중인 프로세스 등을 확인할 수 있습니다.
  • 분석 도구 및 명령어 : who, w, finger, utmpdump

(4) lastlog

  • 설명 : 각 사용자의 마지막 로그인 시간을 기록하며, 오랫동안 사용되지 않은 계정을 식별할 때 활용됩니다.
  • 파일 위치: /var/log/lastlog
  • 예시  :
lastlog
  • 최근 30일 동안 로그인하지 않은 사용자를 확인하려면 아래 명령어를 사용할 수 있습니다:
lastlog -b 30
  • 관련 도구 및 명령어 : lastlog, grep

2. 시스템 로그 관련 아티팩트

(5) messages

  • 설명 : 시스템의 일반적인 이벤트를 기록하는 로그입니다. 이 로그는 시스템의 상태, 오류, 서비스 실행 내역 등을 포함하며, 시스템 장애나 문제 해결 시 중요한 정보를 제공합니다.
  • 파일 위치: /var/log/messages
  • 예시  :
tail -f /var/log/messages
  • 특정 키워드(예: 오류)를 포함한 로그를 확인하려면:
grep -i 'error' /var/log/messages
  • 관련 도구 및 명령어 : cat, grep, tail, logwatch

(6) secure

  • 설명 : SSH 로그인, sudo 실행 내역, 계정 변경 등의 보안 이벤트를 기록합니다. 원격 로그인 시도나 불법적인 계정 접근을 분석하는 데 필수적인 로그입니다.
  • 파일 위치: /var/log/secure
  • 예시  :
grep 'Failed password' /var/log/secure
  • 관련 도구 및 명령어 : grep, logwatch, awk

(7) cron

  • 설명 : 주기적으로 실행되는 크론 작업(cron jobs)의 실행 내역을 기록합니다. 백도어 실행 여부를 점검하거나 자동화된 작업을 분석할 때 유용합니다.
  • 파일 위치: /var/log/cron
  • 예시  :
cat /var/log/cron | less
  • 관련 도구 및 명령어 : crontab, cat, grep

(8) boot.log

  • 설명 : 시스템이 부팅될 때 발생하는 이벤트를 기록합니다. 시스템이 정상적으로 부팅되었는지, 또는 부팅 중 오류가 발생했는지 확인하는 데 사용됩니다.
  • 파일 위치: /var/log/boot.log
  • 예시  :
cat /var/log/boot.log | less
  • 관련 도구 및 명령어 : cat, grep, dmesg

(9) dmesg

  • 설명 : 커널의 부팅 과정과 하드웨어 관련 이벤트를 기록하며, 시스템 부팅 시 초기화된 장치 목록, 드라이버 로딩 상태 등을 포함합니다. 하드웨어 오류나 커널 패닉 분석에 필수적입니다.
  • 파일 위치: /var/log/dmesg
  • 예시  :
dmesg | grep 'error'
  • 관련 도구 및 명령어 : dmesg, journalctl

(10) faillog

  • 설명 : faillog 파일은 계정의 로그인 실패 횟수와 마지막 로그인 실패 시각을 기록합니다. 이를 통해 계정이 비정상적으로 여러 번 로그인 시도를 당했는지 확인할 수 있습니다.
  • 파일 위치: /var/log/faillog
  • 예시  :
faillog
  • 관련 도구 및 명령어 : faillog, awk, cut

(11) auth.log

  • 설명 : auth.log 파일은 사용자 로그인, 인증 관련 이벤트 및 sudo 실행 내역을 저장합니다. 특히 원격 로그인 시도나 인증 실패 로그를 확인하는 데 중요합니다.
  • 파일 위치: /var/log/auth.log
  • 예시  :
grep 'authentication failure' /var/log/auth.log
  • 관련 도구 및 명령어 : grep, logwatch, ausearch

(12) audit.log

  • 설명 : audit.log는 시스템에서 발생한 보안 관련 이벤트를 기록하는 중요한 로그입니다. 시스템 콜 모니터링, 파일 액세스, 보안 정책 변경 등 보안 감사에 필수적인 정보를 포함하고 있습니다.
  • 파일 위치: /var/log/audit/audit.log
  • 예시  :
ausearch -m USER_LOGIN
  • 관련 도구 및 명령어 : ausearch, auditctl