시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 44/50편 (전체 144/450)
학습 단계: 로그·설정·환경 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
애플리케이션 로그(웹 access/error, DB, 앱 로그)는 시스템 로그보다 민감한 운영 데이터를 담기도 합니다: URL에 담긴 토큰·세션ID, 사용자 활동, 쿼리, 오류 스택(경로·버전). 공격자는 여기서 추가 자격증명·공격 표면을 수집합니다.
앱 로그 접근
cat /var/log/httpd/access_log → 요청 URL(토큰·파라미터)
cat /var/log/httpd/error_log → 오류(경로·스택·버전)
cat /var/log/mysql/*.log → DB 로그(쿼리·연결)
앱 자체 로그(/var/www/.../logs) → 앱 활동·세션
위험: access_log의 URL 토큰·세션ID, error_log의 경로·버전 노출
C39(설정 파일)가 "설정의 자격증명"이라면, 여기서는 "로그에 흘러든 민감 데이터"입니다. 웹 보안 영역(기존 웹 300편)과도 연결됩니다.
| 조회 | 민감 정보 |
|---|---|
access_log | URL 토큰·세션·파라미터 |
error_log | 경로·스택·버전 |
| DB 로그 | 쿼리·연결 |
| 앱 로그 | 세션·활동 |
# 앱 로그 접근 감사 (실습 예시)
-w /var/log/httpd -p r -k recon_log
-w /var/log/nginx -p r -k recon_log
-w /var/log/mysql -p r -k recon_log
# 앱 로그 접근 패턴 (분석 방법)
sudo ausearch -k recon_log -i --start recent | grep -E 'access_log|error_log|mysql|httpd|nginx' | tail
$ sudo ausearch -k recon_log -i --start today | grep access_log | tail -1
10:50:02 auid=admin1 ses=8 comm="tail" name="/var/log/httpd/access_log" (트래픽 점검)
관리자가 웹 트래픽·오류를 점검하는 것은 정상입니다. 공격자는 토큰·세션 검색, 서비스 계정의 로그 열람이 특징입니다.
02:17:30 auid=devops ses=12 comm="grep" (token /var/log/httpd/access_log)
02:17:33 auid=devops ses=12 comm="cat" name="/var/log/httpd/error_log"
token 검색 → URL에 노출된 토큰·세션ID 탈취 시도앱 로그 정찰 흐름입니다(가상의 예시 로그 — 토큰 값은 가림).
type=EXECVE ... a0="grep" a1="token" a2="/var/log/httpd/access_log"
type=SYSCALL ... auid=devops ses=12 comm="grep" key="recon_log"
[access_log 예시 - 민감값 마스킹]
192.168.56.50 - - [02/Oct/2026:01:00:00] "GET /api?token=<masked> HTTP/1.1" 200
| 관찰 | 해석 |
|---|---|
| grep token access_log | 토큰·세션 탈취 |
| cat error_log | 경로·버전 수집 |
| 서비스 계정 열람 | 비정상 접근 |
| ses=12 | 앱 로그 정찰 |
로그에서 토큰·세션을 다룰 때는 값을 마스킹해 분석하고, 보고서에 원문을 남기지 않습니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,credential,">
<rule id="102430" level="8">
<if_group>audit</if_group>
<field name="audit.key">recon_log</field>
<regex type="pcre2">(access_log|error_log|/var/log/(httpd|nginx|mysql))</regex>
<description>애플리케이션 로그 접근(토큰·세션 수집 정찰)</description>
<mitre><id>T1552.001</id></mitre>
</rule>
</group>
앱 로그에서 토큰 검색은 자격증명 수집으로 분류하고, E영역·웹 보안 영역과 연계합니다.
| 조회 | 민감 정보 |
|---|---|
| access_log | URL 토큰·세션 |
| error_log | 경로·버전·스택 |
| DB 로그 | 쿼리·연결 |
| 구분 | 트래픽 점검(정상) vs 토큰·세션 검색(정찰) |
| 면접 포인트 | "URL에 남은 토큰은 로그만 봐도 탈취 — 값은 마스킹해 분석" |
다음 편 145. Linux 정보 수집 — 설정 파일 접근 종합 분석 에서는 5단계를 마무리하는 설정 파일 접근 종합 분석을 다룹니다.
이전 편: 143. Linux 정보 수집 — 시스템 로그 접근 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점