시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 26/50편 (전체 126/450)
학습 단계: 사용자·권한 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
과거 로그인 이력 조회는 공격자가 "정상 사용자는 언제, 어디서 접속하는가" 를 학습하는 정찰입니다. 이 패턴을 알면, 공격자는 정상처럼 보이는 시간·출발지로 접속해 탐지를 피할 수 있습니다(B영역 26편 기준선의 역이용).
과거 로그인 조회
last → 로그인 이력(사용자·출발지·시각)
lastlog → 계정별 마지막 로그인
/var/log/wtmp → 로그인 이력(파일)
공격자의 역이용
"admin1은 평일 09시 192.168.56.5에서 접속" 학습
→ 공격자가 그 시간·대역을 흉내 → B영역 27편 이상 탐지 회피
B영역 25·26편이 방어자의 로그인 분석·기준선이라면, 여기서는 공격자가 같은 정보를 조회해 위장에 쓰는 정찰입니다.
lastlog 조회로 휴면 계정(B영역 33편)을 식별해, 눈에 덜 띄는 계정을 고를 수 있습니다.| 조회 | 정보 |
|---|---|
last | 로그인 이력(사용자·출발지·시각) |
lastlog | 계정별 마지막 로그인(휴면 식별) |
/var/log/wtmp | 이력 파일 |
| 관심 | 정상 패턴·휴면 계정 |
# 과거 로그인 조회 감사 (C04의 recon_activity 공유)
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/last -F auid>=1000 -F auid!=unset -k recon_activity
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/lastlog -F auid>=1000 -F auid!=unset -k recon_activity
-w /var/log/wtmp -p r -k recon_activity
# 세션에서 과거 로그인 조회 (분석 방법)
sudo ausearch -k recon_activity -i --start recent | grep -E 'comm="last"|comm="lastlog"|wtmp' | tail
/var/log/wtmp 읽기는 last 명령이 하므로, 사람 세션의 last/lastlog 실행을 중심으로 봅니다.
$ sudo ausearch -k recon_activity -i --start today | grep 'comm="last"' | tail -1
10:30:02 auid=admin1 ses=8 comm="last" (접속 이력 점검)
관리자가 접속 이력을 점검하는 단발 조회는 정상입니다(B영역 25편 분석 포함).
02:14:20 auid=devops ses=12 comm="last"
02:14:23 auid=devops ses=12 comm="lastlog"
last(이력) + lastlog(계정별 마지막) 연속 조회 → 정상 패턴·휴면 계정 학습패턴 학습 정찰 흐름입니다(가상의 예시 로그).
type=EXECVE ... a0="last"
type=SYSCALL ... auid=devops ses=12 comm="last" key="recon_activity"
type=EXECVE ... a0="lastlog"
| 관찰 | 해석 |
|---|---|
| last | 정상 로그인 패턴 학습 |
| lastlog | 휴면 계정 식별 |
| 접속자 정찰(C24)과 결합 | 위장 전략 수립 |
| ses=12 | 정찰 세션 |
패턴 학습 뒤 위장 접속이 나타나면, B영역 27·28편(이상 로그인·동시 세션)으로 포착합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<rule id="102240" level="7">
<if_group>audit</if_group>
<field name="audit.key">recon_activity</field>
<regex type="pcre2">a0="(last|lastlog)"</regex>
<description>과거 로그인 이력 조회(정상 패턴 학습 정찰)</description>
<mitre><id>T1033</id></mitre>
</rule>
</group>
과거 로그인 조회는 접속·활동 정찰로 묶어 계정 정찰 세트(130편)에 포함합니다.
| 조회 | 정보 |
|---|---|
| last | 로그인 이력(패턴) |
| lastlog | 계정별 마지막(휴면) |
| wtmp | 이력 파일 |
| 구분 | 이력 점검(정상) vs 패턴·휴면 학습(정찰) |
| 면접 포인트 | "과거 로그인 조회는 B영역 기준선을 공격자가 역이용하는 위장 정찰" |
다음 편 127. Linux 정보 수집 — sudo 권한 정보 열람 에서는 권한 확인 정찰의 핵심인 sudo 권한 정보 열람을 다룹니다.
이전 편: 125. Linux 정보 수집 — 현재 세션 조회
📚 시리즈 전체 보기: 시스템 보안 · 취약점