113. Linux 정보 수집 — ARP·neighbor 테이블 조회

changseop lee·6일 전

시스템 보안 · 취약점

목록 보기
113/310

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

선행 학습

1. 개념

ARP/neighbor 테이블은 "이 서버가 최근 통신한 인접 호스트" 의 목록입니다. 공격자는 이를 보고 같은 네트워크에 어떤 장비가 살아 있는지, 다음 표적이 무엇인지 파악합니다. 스캔보다 조용한 정찰입니다(패킷을 거의 생성하지 않음).

ARP/neighbor 조회
 ip neigh            → neighbor 테이블(IP↔MAC, 상태)
 arp -a              → (구형) ARP 캐시
 /proc/net/arp       → ARP 테이블(파일)

드러나는 것
 192.168.56.1  (게이트웨이)
 192.168.56.20 (최근 통신 호스트 → 살아있는 장비)
 10.10.20.30   (내부망 호스트 → 다음 표적 후보)

ARP 캐시는 이미 통신한 장비만 담겨 능동 스캔보다 흔적이 적지만, 그만큼 "실제 연결된 장비"라는 신뢰도 높은 정보를 줍니다.

2. 왜 중요한가

  • ARP 테이블은 능동 스캔 없이 인접 호스트를 알려줘, 공격자가 조용히 다음 표적을 고르는 데 유용합니다.
  • 내부망 NIC가 있는 서버의 ARP 조회는 내부 호스트 식별 → H영역 확산 정찰입니다.
  • ARP 조회 자체는 네트워크 트래픽을 거의 만들지 않아, 서버 내부 감사(auditd) 가 주 탐지 수단입니다.

3. 핵심 명령어 / 설정

조회정보
ip neighneighbor(IP↔MAC·상태)
arp -a(구형) ARP 캐시
/proc/net/arpARP 테이블(파일)
관심내부망 인접 호스트

4. 실습 (실습 예시)

# ARP 조회 감사 (실습 예시)
-w /proc/net/arp -p r -k recon_net
-a always,exit -F arch=b64 -S execve -F path=/usr/sbin/arp -F auid>=1000 -F auid!=unset -k recon_net

# 세션에서 ARP 조회와 인접 호스트 식별 (분석 방법)
sudo ausearch -k recon_net -i --start recent | grep -E 'neigh|arp' | tail

5. 정상 상태

$ sudo ausearch -k recon_net -i --start today | grep -E 'neigh|arp' | tail -1
10:44:02 auid=admin1 ses=8 comm="ip" a1="neigh"  (연결 문제 점검)

관리자가 네트워크 연결 문제를 점검하며 ARP를 보는 단발 조회는 정상입니다.

6. 이상 상태

02:13:10 auid=devops ses=12 comm="ip" a1="neigh"
02:13:12 auid=devops ses=12 comm="cat" name="/proc/net/arp"
  • neighbor 테이블 + ARP 파일 연속 조회 → 인접 호스트 목록 수집
  • 내부망(10.10.20.x) 호스트가 테이블에 있으면 → 확산 표적 후보 식별
  • 라우팅(C12)에 이어 인접 호스트 정찰 → 네트워크 구조 파악 심화

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

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

type=EXECVE ... a0="ip" a1="neigh"
type=SYSCALL ... auid=devops ses=12 comm="ip" key="recon_net"
type=PATH ... name="/proc/net/arp" nametype=NORMAL
관찰해석
ip neigh최근 통신 호스트
/proc/net/arpARP 캐시 전체
내부망 호스트 포함확산 표적 식별
ses=12네트워크 정찰 세션

ARP로 식별한 호스트에 대한 접속·스캔이 네트워크 측에 나타나면 능동 정찰로 전환된 것입니다(294. Port Scan).

8. SOC 관제 포인트

  • ARP/neighbor 조회는 라우팅(C12)과 묶어 인접 호스트 정찰로 봅니다.
  • 내부망 호스트가 포함된 ARP 조회는 H영역 확산 정찰로 주시합니다.
  • ARP 조회 후 식별 호스트 접속·스캔으로 전환되는지 네트워크 로그로 확인합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <rule id="102120" level="7">
    <if_group>audit</if_group>
    <field name="audit.key">recon_net</field>
    <regex type="pcre2">a1="neigh"|/proc/net/arp</regex>
    <description>ARP/neighbor 테이블 조회(인접 호스트 정찰)</description>
    <mitre><id>T1016</id></mitre>
  </rule>
</group>

ARP 정찰은 네트워크 정찰 세트 상관(120편)에 포함합니다.

10. 대응 방법

  1. 초기 확인 — ARP 조회의 연속성·주체와 식별된 인접(특히 내부망) 호스트를 확인합니다.
  2. 범위 확인 — 식별 호스트 접속·스캔으로 전환됐는지 네트워크 로그와 교차 확인합니다.
  3. 증거 확보 — 세션 조회 흐름과 네트워크 로그를 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 내부 접근 점검을 진행합니다.
  5. 재발 방지 — ARP 정찰을 네트워크 정찰 상관에 포함합니다.

11. 핵심 정리

조회정보
ip neigh최근 통신 호스트
/proc/net/arpARP 캐시
특징능동 스캔보다 조용함(실연결 장비)
구분연결 점검(정상) vs 인접 호스트 수집(정찰)
면접 포인트"ARP 조회는 스캔 없이 조용히 인접 표적을 고르는 정찰"

12. 다음 편 예고

다음 편 114. Linux 정보 수집 — DNS 설정 정보 조회 에서는 이름 해석 정찰인 DNS 설정 정보 조회를 다룹니다.


이전 편: 112. Linux 정보 수집 — IP 주소·라우팅 정보 수집
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글