325. 내부 확장·측면 이동 — 웹 애플리케이션 피벗 탐지

changseop lee·2026년 10월 8일

시스템 보안 · 취약점

목록 보기
325/450

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

선행 학습

1. 개념

외부에 노출된 웹 애플리케이션은 내부망으로 가는 관문이라, 공격자는 웹 서버를 발판(피벗)으로 삼아 내부에 요청을 중계합니다. 웹셸·SSRF(서버 측 요청 위조)·내부 API 악용이 주요 경로입니다.

웹 애플리케이션 피벗
 웹셸: 웹 서버에서 내부로 명령·요청 중계
 SSRF: 웹 앱이 공격자 지정 내부 주소로 요청
   → 내부 서비스·메타데이터(169.254.169.254) 접근
 내부 API: 웹 서버의 내부 서비스 호출 악용

핵심: 외부 웹 서버 → 내부망 요청 중계

웹 서버는 외부와 내부 양쪽에 연결되므로 피벗에 이상적입니다. 웹 서버 프로세스가 내부 주소로 비정상 연결을 하는 것이 핵심 신호입니다.

2. 왜 중요한가

  • 웹 서버는 외부·내부 양쪽 연결을 가져 내부망 피벗의 관문이 됩니다.
  • SSRF는 웹 앱이 공격자가 지정한 내부 주소·클라우드 메타데이터로 요청하게 합니다.
  • 웹셸은 웹 서버 권한으로 내부 명령·요청을 중계합니다.

3. 핵심 명령어 / 설정

피벗 경로방식위험
웹셸명령·요청 중계높음
SSRF내부 주소 요청높음
메타데이터169.254.169.254높음(클라우드 키)
내부 API내부 서비스 호출높음
정상 요청외부 API만정상

4. 실습 (실습 예시)

# 웹 애플리케이션 피벗 탐지 (분석 방법)
# 웹 서버 프로세스의 내부 주소 연결(SSRF·피벗)
sudo ausearch -k lateral,net_conn -i --start recent 2>/dev/null | grep -E 'comm="(nginx|apache2|php-fpm|node)"' | grep -E 'addr=(10\.|192\.168\.|169\.254\.169\.254)' | tail
# 웹 접근 로그의 SSRF·메타데이터 시도
sudo grep -iE 'url=|redirect=|169\.254\.169\.254|localhost:|internal' /var/log/nginx/access.log 2>/dev/null | tail

5. 정상 상태

$ (웹→내부 연결) (없음 또는 정상 백엔드 연결)
$ (SSRF/메타데이터) (없음)

웹 서버가 정상 백엔드(지정된 DB·API)에만 연결하고, 내부 임의 주소·메타데이터 요청이 없는 상태가 정상입니다.

6. 이상 상태

$ (웹→내부 연결)
comm="php-fpm" addr=10.0.0.50 dport=22 (웹 서버가 내부 SSH로)
comm="nginx" addr=169.254.169.254 (클라우드 메타데이터 요청)
$ (SSRF/메타데이터)
GET /fetch?url=http://169.254.169.254/latest/meta-data/ (SSRF)
  • 웹 서버 프로세스가 내부 임의 주소(10.0.0.50:22)로 연결 → 피벗
  • SSRF로 클라우드 메타데이터(169.254.169.254) 요청 → 자격증명 탈취
  • 웹 서버의 내부 요청 중계 → 측면 이동 → 정탐

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

웹 애플리케이션 피벗 분석입니다(가상의 예시).

[외부] 공격자
   ↓ (웹셸/SSRF)
[웹 서버] 외부+내부 양쪽 연결
   ↓ (내부로 중계)
웹 서버 → 10.0.0.x 내부 서비스 요청
   ↓ (메타데이터)
169.254.169.254 → 클라우드 자격증명 탈취
 = 외부 웹 서버를 발판으로 내부 피벗
관찰해석
웹→내부 연결피벗 중계
SSRF내부 요청 위조
메타데이터클라우드 키
웹셸명령 중계

웹 서버 프로세스의 내부 임의 주소 연결이 웹 피벗의 지표입니다.

8. SOC 관제 포인트

  • 웹 애플리케이션은 외부·내부 양쪽 연결을 가져 내부망 피벗의 관문이 됩니다.
  • 웹셸·SSRF·내부 API 악용으로 웹 서버가 내부에 요청을 중계합니다.
  • 웹 서버 프로세스의 내부 임의 주소·메타데이터 연결이 핵심 신호입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
  <rule id="106240" level="13">
    <if_sid>106000</if_sid>
    <field name="audit.comm" type="pcre2">^(nginx|apache2|httpd|php-fpm|node|python)$</field>
    <field name="audit.addr" type="pcre2">^(169\.254\.169\.254|10\.|192\.168\.)</field>
    <description>웹 서버 프로세스의 내부·메타데이터 연결(웹 피벗·SSRF)</description>
    <mitre><id>T1090</id><id>T1552.005</id></mitre>
  </rule>
</group>

웹 접근 로그의 SSRF 파라미터와 웹 서버 아웃바운드 연결을 상관합니다. 정상 백엔드 연결은 기준선 예외로 둡니다.

10. 대응 방법

  1. 초기 확인 — 웹 서버 프로세스의 내부·메타데이터 연결과 접근 로그를 확인합니다.
  2. 범위 확인 — 웹셸·SSRF·내부 API 악용·메타데이터 탈취를 확인합니다.
  3. 증거 확보 — 웹 서버 아웃바운드 연결·접근 로그·요청 파라미터를 보존합니다.
  4. 차단/조치 — 웹 피벗 정탐이면 웹셸 제거·SSRF 패치·클라우드 키 교체를 진행합니다.
  5. 재발 방지 — 웹 애플리케이션 피벗 탐지를 운영합니다.

11. 핵심 정리

피벗 경로방식
웹셸명령·요청 중계
SSRF내부 주소 요청
메타데이터클라우드 키 탈취
내부 API내부 서비스 호출
면접 포인트"웹 서버는 외부+내부 관문 — 웹 서버의 내부 임의 주소 연결이 피벗 신호"

12. 다음 편 예고

다음 편 326. 내부 확장·측면 이동 — 원격 복사(scp·rsync) 기반 도구 전송 탐지 에서는 원격 복사(scp·rsync) 기반 도구 전송을 다루는 원격 복사 기반 도구 전송 탐지를 다룹니다.


이전 편: 324. 내부 확장·측면 이동 — 데이터베이스를 통한 측면 이동 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글