307. 내부 확장·측면 이동 — 피벗(pivot)·터널링의 개념

changseop lee·5일 전

시스템 보안 · 취약점

목록 보기
307/450

시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 7/50편 (전체 307/450)
학습 단계: 측면 이동 기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

피벗(pivot)은 거점 호스트를 경유지(중계)로 삼아, 공격자가 직접 닿지 못하는 내부 네트워크로 접근하는 기법입니다. 터널링은 그 경유를 위한 통로(SSH 터널·포트 포워딩)입니다. 외부 공격자가 내부 깊숙이 도달하는 핵심 수단입니다.

피벗·터널링 개념
 피벗: 공격자 → web01(거점) → 내부망(직접 못 닿는)
   web01을 중계로 db01·내부 세그먼트 접근
 터널링:
   SSH 터널: ssh -L/-D (로컬/다이내믹 포워딩)
   포트 포워딩: 거점 포트 → 내부 호스트 포트
   SOCKS 프록시: 거점을 통한 전 내부 접근

핵심: 거점이 외부-내부를 잇는 중계점이 됨

피벗은 거점 호스트에서 외부(공격자)와 내부(목표) 양쪽으로 연결이 생기는 것이 특징입니다. 포워딩·프록시 프로세스가 흔적입니다.

2. 왜 중요한가

  • 피벗은 외부 공격자가 내부 깊숙한(직접 못 닿는) 자산에 접근하는 핵심 수단입니다.
  • 거점 호스트가 외부 연결 + 내부 다수 연결을 동시에 갖는 것이 피벗 신호입니다.
  • SSH 터널(-L/-D)·포트 포워딩·SOCKS 프록시가 터널링의 흔적입니다.

3. 핵심 명령어 / 설정

기법방법위험
SSH 로컬 포워딩ssh -L내부 포트 노출
SSH 다이내믹ssh -D(SOCKS)전 내부 접근
포트 포워딩socat·iptables중계
역방향 터널ssh -R외부서 내부 접근
정상 터널승인된 관리정상

4. 실습 (실습 예시)

# 피벗·터널링 탐지 (분석 방법)
# SSH 포워딩 옵션 실행
sudo ausearch -k proc_exec,lateral -i --start recent 2>/dev/null | grep -oE 'proctitle=.*ssh.*(-L|-R|-D|-w).*' | tail
# 거점이 외부+내부 양쪽 연결(피벗 신호)
ss -tnp 2>/dev/null | grep -E 'ssh|socat' | awk '{print $5}' | tail
# 포워딩/프록시 프로세스
ss -tlnp 2>/dev/null | grep -E 'socat|ssh' | grep -vE '127.0.0.1'

5. 정상 상태

$ (SSH 포워딩) (없음 또는 승인된 관리 터널)
$ (피벗 연결) (없음)

SSH 포워딩·프록시가 없거나 승인된 관리 터널뿐이고, 외부+내부 양방향 중계 연결이 없는 상태가 정상입니다.

6. 이상 상태

$ (SSH 포워딩)
proctitle="ssh -D 1080 user@web01"  (다이내믹 SOCKS 프록시)
proctitle="ssh -L 3306:db01:3306 web01" (내부 DB 포워딩)
$ (피벗 연결)
web01: 외부(203.0.113.9) 연결 + 내부(db01) 연결 동시
  • ssh -D 1080 SOCKS 프록시 → web01 통해 전 내부 접근(피벗)
  • ssh -L ...db01:3306 → 내부 DB를 공격자에게 포워딩
  • 거점이 외부+내부 양쪽 연결 → 피벗 중계 → 정탐

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

피벗·터널링 분석입니다(가상의 예시).

[공격자] 203.0.113.9
   ↓ (외부 연결)
[거점] web01 ── ssh -D 1080 (SOCKS 프록시)
   ↓ (내부 중계)
[내부망] db01, app01, 10.0.1.0/24 (직접 못 닿던)
 = web01이 외부-내부 중계점(피벗)
[흔적] 포워딩 프로세스 + 양방향 연결
요소해석
ssh -D/-L터널·프록시
외부+내부 연결피벗 중계
거점 경유내부 접근
다수 내부 대상확산

거점의 양방향 연결 + 포워딩 프로세스가 피벗의 지표입니다.

8. SOC 관제 포인트

  • 피벗은 거점을 경유지(중계)로 삼아 내부 깊숙한 자산에 접근하는 기법입니다.
  • 터널링(SSH -L/-D/-R·포트 포워딩·SOCKS)이 피벗의 통로입니다.
  • 거점의 외부+내부 양방향 연결 + 포워딩 프로세스가 핵심 지표입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
  <rule id="106060" level="13">
    <if_sid>106000</if_sid>
    <field name="audit.proctitle" type="pcre2">ssh\s+.*(-D\s+[0-9]+|-L\s+[0-9]|-R\s+[0-9]|-w\s)|socat\s+.*(TCP-LISTEN|tcp-listen).*(fork|TCP:)</field>
    <description>SSH 터널·포트 포워딩(피벗 중계)</description>
    <mitre><id>T1572</id><id>T1090</id></mitre>
  </rule>
</group>

SSH 포워딩·socat 중계가 핵심 지표입니다. 승인된 관리 터널은 예외 처리하고, 거점의 양방향 연결을 네트워크 로그로 보완합니다.

10. 대응 방법

  1. 초기 확인 — SSH 포워딩·프록시 프로세스·거점의 양방향 연결을 확인합니다.
  2. 범위 확인 — 외부+내부 중계·내부 다수 대상·SOCKS 프록시를 확인합니다.
  3. 증거 확보 — 피벗 프로세스·연결 경로를 보존합니다.
  4. 차단/조치 — 피벗 정탐이면 터널 프로세스 종료·거점 격리·내부 접근 범위 조사를 진행합니다.
  5. 재발 방지 — 피벗·터널링 탐지를 운영합니다.

11. 핵심 정리

기법방법
SSH 로컬 포워딩ssh -L
SSH 다이내믹ssh -D(SOCKS)
역방향 터널ssh -R
포트 포워딩socat
면접 포인트"피벗은 거점을 중계로 내부 접근 — 외부+내부 양방향 연결+포워딩이 지표"

12. 다음 편 예고

다음 편 308. 내부 확장·측면 이동 — 내부 확장·측면 이동 판정 기준 에서는 내부 확장·측면 이동 판정 기준을 다루는 내부 확장·측면 이동 판정 기준을 다룹니다.


이전 편: 306. 내부 확장·측면 이동 — 출발지-목적지-계정-시점의 분석 축
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글