103. Linux 정보 수집 — hostname·시스템 식별 정보 조회 탐지

changseop lee·6일 전

시스템 보안 · 취약점

목록 보기
103/310

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

선행 학습

1. 개념

호스트명·머신 식별자는 공격자가 "이 서버가 조직에서 어떤 역할인가" 를 파악하는 단서입니다. 호스트명 규칙(예: rocky9-web01, db-prod-02)에서 역할·환경(운영/개발)·위치를 추정할 수 있습니다.

시스템 식별 정보
 hostname / hostnamectl   → 호스트명, OS, 커널, 가상화 여부(Chassis)
 /etc/hostname            → 호스트명 파일
 /etc/machine-id          → 고유 머신 ID
 /sys/class/dmi/.../product_name → 하드웨어·가상화 제품명

호스트명 규칙이 의미를 담고 있을수록(web/db/prod) 공격자에게 유용한 정보가 됩니다. 이는 A영역 34편(배너·버전 노출 최소화)과 같은 "정보 노출" 관점입니다.

2. 왜 중요한가

  • 호스트명으로 역할을 파악하면, 공격자는 다음 표적(DB·내부 서버) 을 정하는 데 활용합니다(H영역 내부 확장의 사전 정찰).
  • hostnamectl은 호스트명·OS·커널·가상화 여부를 한 번에 주므로, 공격자가 선호하는 통합 조회입니다.
  • 머신 ID·DMI 정보는 가상화 환경(VMware 등)·클라우드 식별에 쓰여, 공격자가 환경을 특정하는 데 활용합니다.

3. 핵심 명령어 / 설정

조회주는 정보
hostname / /etc/hostname호스트명(역할 추정)
hostnamectl호스트명+OS+커널+Chassis(가상화)
/etc/machine-id고유 머신 ID
/sys/class/dmi/id/product_name제품명(VMware/KVM 등)
dmidecode(root)상세 하드웨어

4. 실습 (실습 예시)

# 식별 정보 조회 감사 (실습 예시)
-w /etc/hostname   -p r -k recon_sysinfo
-w /etc/machine-id -p r -k recon_sysinfo
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/hostnamectl -F auid>=1000 -F auid!=unset -k recon_cmd

# 세션에서 식별 정보 조회가 OS·커널과 연속됐는지 (분석 방법)
sudo ausearch --session 12 -i 2>/dev/null | grep -E 'hostname|machine-id|product_name|os-release|uname' | tail

5. 정상 상태

$ sudo ausearch -k recon_cmd -i --start today | grep hostnamectl | tail -1
10:30:02 auid=admin1 ses=8 comm="hostnamectl"  (신규 서버 설정 확인)

관리자가 서버 구성·점검 중 호스트명을 확인하는 단발 조회는 정상입니다.

6. 이상 상태

02:11:48 auid=devops ses=12 comm="hostnamectl"
02:11:50 auid=devops ses=12 comm="cat" name="/etc/machine-id"
02:11:52 auid=devops ses=12 comm="cat" name="/sys/class/dmi/id/product_name"
  • 호스트명+머신ID+제품명(가상화)을 연속 조회 → 환경·역할 특정 정찰
  • 앞선 OS·커널 조회(C01·C02)에 이어짐 → 시스템 정보 정찰의 연속
  • product_name 조회로 VMware 등 가상화 환경까지 특정하려는 의도

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

식별 정보 정찰 흐름입니다(가상의 예시 로그).

type=SYSCALL ... auid=devops ses=12 comm="hostnamectl" key="recon_cmd"
type=PATH ... name="/etc/machine-id" nametype=NORMAL
type=SYSCALL ... auid=devops ses=12 comm="cat" key="recon_sysinfo"
type=PATH ... name="/sys/class/dmi/id/product_name"
관찰해석
hostnamectl통합 식별 정보
machine-id 읽기고유 식별자 수집
product_name가상화·하드웨어 특정
OS·커널과 연속환경 완전 특정 정찰

8. SOC 관제 포인트

  • 식별 정보 조회는 OS·커널 조회와 묶어 시스템 정보 정찰 세트로 봅니다.
  • hostnamectl·머신ID·DMI 연속 조회는 환경 특정 정찰 신호입니다.
  • 호스트명 노출 자체를 줄이는 것(A영역 34편)도 방어의 일부입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <rule id="102020" level="7">
    <if_group>audit</if_group>
    <field name="audit.key">recon_sysinfo</field>
    <regex type="pcre2">/etc/machine-id|/sys/class/dmi/</regex>
    <description>머신 식별·하드웨어 정보 조회</description>
    <mitre><id>T1082</id></mitre>
  </rule>
</group>

식별 정보 조회는 C01의 연속 조회 상관(102000)에 포함해 정찰로 격상합니다.

10. 대응 방법

  1. 초기 확인 — 식별 정보 조회의 종류·연속성·주체를 확인합니다.
  2. 범위 확인 — 식별 정찰 뒤 네트워크·내부 탐색(C111~, H영역)으로 이어졌는지 확인합니다.
  3. 증거 확보 — 세션 조회 흐름과 흔적을 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 연계하고 호스트명 노출을 점검합니다.
  5. 재발 방지 — 식별 정보 조회를 시스템 정보 정찰 상관에 포함합니다.

11. 핵심 정리

조회주는 정보
hostnamectl호스트명+OS+커널+가상화
machine-id고유 머신 ID
DMI product_name하드웨어·가상화 제품
구분단발(정상) vs OS·커널과 연속(정찰)
면접 포인트"호스트명 규칙이 역할을 드러내면 공격자의 표적 선정 정보가 된다"

12. 다음 편 예고

다음 편 104. Linux 정보 수집 — uptime·시스템 가동 상태 조회 분석 에서는 시스템 상태를 보는 uptime·시스템 가동 상태 조회 분석을 다룹니다.


이전 편: 102. Linux 정보 수집 — 커널 정보 확인 흔적 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글