침투 2시간 만에 관리자 권한 탈취: AI 에이전트를 등에 업은 PHP2Shell 취약점 공격과 실무 대응책

기본 PHP 환경의 허점을 파고드는 PHP2Shell 취약점과 자율형 AI 해킹 결합 사례가 포착되었습니다. 실제 피해 사례와 공격 메커니즘, 3단계 긴급 방어선을 정리했습니다.

발행일: 2026.10.26

핵심 수치 및 실무 비용 요약
실무 검증 데이터
권한 장악 소요 시간
2시간 이내

초기 침투부터 2차 인증 키 및 비밀번호 해시 탈취까지

식별된 글로벌 표적
216개 서버

한국·미국·일본 등 전 세계 공공·물류·금융 핵심망

임시 차단 조치
설정 1줄 비활성화

session.upload_progress.enabled 설정을 즉시 Off로 전환

핵심 판정

별도 패치 전이라도 세션 업로드 진행률 기능을 끄는 단 한 줄의 설정 변경만으로도 원격 코드 실행 공격의 90% 이상을 현장에서 즉시 차단할 수 있다.

유럽 정부망이 2시간 만에 뚫린 사건의 전말과 자율형 AI 해킹의 충격

유럽의 한 정부 기관 서버가 침해사고를 당했다. 공격자가 웹 취약점을 통해 내부로 침투한 뒤 계정 비밀번호 해시와 2차 인증(MFA) 비밀 키를 빼내는 데 걸린 시간은 단 2시간에 불과했다. 공격자는 곧바로 윈도우 액티브 디렉터리(AD) 환경으로 침투하기 위해 NTLM 릴레이 터널을 뚫고 최상위 관리자 권한 획득을 시도했다. 과거 숙련된 전문 해커가 며칠에 걸쳐 수동으로 진행하던 정찰과 횡단 이동(Lateral Movement) 과정을 상용 소프트웨어가 알아서 처리하듯 순식간에 끝마친 것이다.

글로벌 보안 분석팀 팔로알토 네트웍스 유닛 42는 침해된 엔드포인트에서 매우 특이한 흔적을 확인했다. 공격자가 내린 터미널 명령어들이 기계가 읽기 쉬운 전용 구분자(==SHELLUSER==, ==PASSWD== 등)로 감싸져 있었다. 해커 개인이 일일이 화면을 보며 키보드를 두드린 것이 아니라, 자율형 인공지능(Agentic AI) 에이전트가 쉘 출력을 파싱해 다음 행동을 실시간으로 추론하고 연속 명령을 실행하도록 파이프라인을 짰다는 결정적 증거다.

이번 공격의 입구가 된 통로는 ‘PHP2Shell’로 이름 붙여진 원격 코드 실행 취약점(CVE-2026-109618 및 CVE-2026-109619)이다. 이 취약점은 전 세계 수많은 웹 서비스의 뼈대를 이루는 PHP의 기본 설정 환경에서 곧바로 작동한다. 사이버 보안 위협 분석 기관 싸이퍼마(CYFIRMA)에 따르면, 북한 연계 조직(라자루스 계열)으로 추정되는 공격자들은 21개에 달하는 거점 노드를 구축하고 전 세계 216개 미패치 서버를 은밀하게 훑고 있다.

공격자들은 보안 탐지망의 임계치 경보를 피하고자 요청 횟수를 억제하는 ‘저속 스캐닝(Low-and-Slow)’ 기법을 썼다. 조금이라도 차단 징후가 보이면 노드를 즉시 교체하며 추적을 따돌렸다. 한국, 미국, 일본, 유럽 등 전 세계의 공공, 금융, 항공, 물류, 제조 인프라가 이 표적 목록에 그대로 노출되어 있다.

PHP2Shell과 AI 에이전트 결합 공격 진행 절차

취약점 악용부터 인프라 전체 장악까지의 4단계 메커니즘

1

1단계: 저속 스캔 및 침투

탐지 임계치를 우회하는 저속 요청으로 취약한 PHP 서버를 자동 식별

2

2단계: 힙 메모리 파괴

세션 업로드 기능에 과도한 폼 필드 값을 주입해 원격 명령 실행 달성

3

3단계: AI 에이전트 자율 정찰

터미널 출력을 정형 데이터로 파싱해 2차 인증 키와 패스워드 해시 자동 탈취

4

4단계: 내부망 장악 시도

NTLM 릴레이 터널을 구축하고 액티브 디렉터리 도메인 관리자 권한 획득 추진

실제 숫자로 검증한 PHP2Shell 취약점 팩트 비교 매트릭스

PHP2Shell 취약점은 복잡한 서드파티 플러그인이나 커스텀 코드가 아닌, PHP 엔진 자체의 내장 기능에서 발생한다. 공격자는 파일 업로드 진행 상황을 추적하는 기능(session.upload_progress)을 파고든다. 웹 서버가 폼 필드 이름을 읽어 들이는 과정에서 메모리 복사를 반복하는데, 이때 정교하게 크기를 맞춘 요청을 보내 메모리 제한(memory_limit)을 초과하도록 만든다.

이로 인해 메모리 할당 실패가 유도되면서 내부 해시 테이블이 깨지고, 공격자가 원하는 메모리 주소에 악성 쉘코드를 올릴 수 있게 된다. 보안 모니터링 플랫폼 Datadog에 따르면 공격자는 운영체제의 메모리 보호 기법(ASLR)을 우회해야 하는 기술적 난관이 있지만, 크래시를 유도하며 주소를 찾는 자동화 공격 코드가 이미 다크웹과 깃허브 등에 빠르게 번진 상태다.

현재까지 확인된 핵심 취약점 3종과 위험도는 아래와 같다.

구분 항목CVE-2026-109618CVE-2026-109619CVE-2026-115560 (신규 경고)
영향받는 환경기본 설정 상태의 PHP 8.x 계열 전반폼 데이터 파싱 처리 엔진특수 직렬화 핸들러 런타임 변경 환경
공격 성공 조건세션 업로드 진행 기능 활성화힙 메모리 고갈 유발 요청 전송ini_set()으로 핸들러를 동적 변경
원격 코드 실행(RCE)가능 (시스템 권한 획득)가능 (단독 또는 연계 실행)가능 (특정 코드 조합 환경에 한정)
공격 난이도보통 (공개 PoC 존재)보통 (익스플로잇 도구화 진행)높음 (애플리케이션 코드 조건 필요)
현장 식별 징후POST 500 에러 및 아파치 워커 크래시메모리 고갈 시스템 로그 기록직렬화 예외 및 프로세스 비정상 종료
글로벌 표적 규모216개 이상 확인 (확산 중)공통 영향권조사 진행 중

수동 침투 테스트 vs AI 에이전트 결합 해킹의 속도 격차

초기 침투 후 내부망 장악까지 소요되는 실무 시간 비교

숙련된 공격자의 수동 침투 AI 결합 자율 공격
내부 권한 및 2FA 키 탈취 숙련된 공격자의 수동 침투 24–48시간 vs AI 결합 자율 공격 2시간 미만 (약 92% 시간 단축)
24–48시간
2시간 미만
엔드포인트 정찰 및 명령 파싱 숙련된 공격자의 수동 침투 수시간 소요 vs AI 결합 자율 공격 실시간 초단위 (실시간 자동화)
수시간 소요
실시간 초단위
IP 차단 회피 노드 순환 숙련된 공격자의 수동 침투 수동 프록시 교체 vs AI 결합 자율 공격 API 연동 즉시 교체 (탐지망 무력화)
수동 프록시 교체
API 연동 즉시 교체

위 덤벨 차트에서 볼 수 있듯이, AI 에이전트가 결합된 최신 사이버 공격은 방어자가 로그를 들여다보고 이상 징후를 알아차리기도 전에 내부 장악을 완료한다. 수작업에 의존하던 전통적인 침투 테스트나 침해사고 대응 체계로는 이 속도를 따라잡을 수 없다.

인프라 운영팀과 비즈니스 현장에 닥친 3대 파급력

이번 취약점은 단순히 웹페이지 하나가 변조되는 수준의 사고로 끝나지 않는다. 결제 관문, 공공 행정 포털, 물류 관제 시스템 등 미션 크리티컬 인프라의 백엔드 서버를 직접 겨냥하기 때문에 기업 실무 전반에 막대한 피해를 입힌다.

운영 비용: 긴급 침해사고 조사와 인프라 전면 재감사 비용 발생

취약점에 노출된 호스트는 단순히 웹 서버 프로세스만 재시작한다고 해결되지 않는다. 공격자가 이미 시스템에 파고들어 비밀번호 해시와 2차 인증 비밀 키를 빼돌렸다면, 전사 액티브 디렉터리의 모든 계정 비밀번호를 강제 초기화하고 다중 인증 토큰을 전면 재발급해야 한다. 외부 침해사고 대응 전문 업체를 투입해 포렌식 조사를 수행하고 망 분리 상태를 전수 검증하는 과정에서 서버 1대당 수천만 원에 달하는 긴급 감사 비용과 외부 용역비가 즉각 발생한다.

처리 지연: 시스템 크래시로 인한 비즈니스 중단과 트랜잭션 마비

보안 분석 기관 릴리아퀘스트(ReliaQuest)의 랩 분석 결과에 따르면, 이 공격은 웹 서버의 메모리를 강제로 소모시키는 과정에서 필연적으로 웹 워커(Worker) 프로세스를 강제 종료시킨다. 공격자가 익스플로잇 코드를 주입하는 동안 아파치나 Nginx 같은 웹 서버는 500 내부 서버 오류를 뿜어내며 뻗어버린다. 대규모 결제나 공공 예약이 몰리는 피크 시간대에 이러한 공격이 집중되면 고객 트랜잭션이 중단되고 복구까지 수시간 동안 서비스 지연 사태가 벌어진다.

공급망 안정성: 대외 API 연계 시스템 셧다운과 연쇄 침해 위험

싸이퍼마가 확인한 공격 표적 216개에는 공항, 물류 플랫폼, 온라인 거래 시스템 등 공급망의 핵심 축을 담당하는 인프라가 대거 포함되어 있다. 만약 물류 플랫폼 서버 하나가 탈취당해 내부망 접근 터널이 열리면, 해당 플랫폼과 전용선 또는 VPN으로 연결된 파트너 기업의 내부망까지 위협에 노출된다. 특히 NTLM 릴레이를 통한 도메인 관리자 권한 획득 시도는 하나의 작은 웹 서버 취약점이 그룹사 전체 인프라 장악으로 번지는 징검다리가 될 수 있음을 의미한다.

방어막 구축과 모니터링 선도 기업들의 기술적 완충벽

공격의 전개 속도가 위협적인 것은 사실이지만, 공격의 발판이 되는 취약점의 구조를 정확히 이해하면 당장 패치를 적용하기 어려운 레거시 환경에서도 효과적인 방어벽을 세울 수 있다.

PHP 기본 설정 vs 보안 완화 설정 대조

세션 업로드 진행 기능 비활성화를 통한 방어 효과

기본값 운영 환경

공격 위험 노출
  • • session.upload_progress.enabled = On 상태 유지
  • • 악의적인 대용량 폼 필드 이름 주입 시 메모리 고갈 발생
  • • 아파치 워커 크래시 및 힙 메모리 주소 조작 허용
  • • 원격 쉘 획득 후 내부망 횡단 이동 가능

긴급 설정 적용 환경

공격 표면 원천 차단
  • • session.upload_progress.enabled = Off 로 변경
  • • 세션 업로드 파싱 로직 자체가 동작하지 않음
  • • 메모리 할당 실패 오류 유발 원천 무력화
  • • 서비스 무중단 상태에서 안전하게 공식 패치 대기
에디터 종합 판정: 코드 수정 없이 php.ini 설정 파일 1줄 수정 후 서비스 리로드만으로 공격 벡터의 90% 이상을 차단할 수 있다.

현재 공식 PHP 재단과 글로벌 인프라 보안 팀들이 검증한 방어 조치는 명확하다.

  • 업로드 진행률 기능 비활성화: 파일 업로드 시 실시간 진행 상태를 웹 브라우저에 표시해 주는 기능(session.upload_progress)을 실무에서 적극적으로 쓰는 곳은 드물다. 대다수 현대식 웹 애플리케이션은 자바스크립트 기반의 프론트엔드 비동기 통신(XHR/Fetch)으로 업로드 진행률을 처리하기 때문이다. 따라서 php.ini 파일에서 session.upload_progress.enabled = Off로 변경하기만 해도 이번 취약점의 진입로 자체가 완전히 닫힌다.
  • 웹 서버 에러 시퀀스 모니터링: 릴리아퀘스트 연구진이 밝혀낸 시그니처를 방화벽과 통합 로그 시스템에 등록해야 한다. 공격이 들어올 때 나타나는 공통적인 징후는 명확하다. 특정 엔드포인트로 향한 대량의 POST 요청 뒤에 즉시 HTTP 500 에러가 발생하고, PHP 에러 로그에 Allowed memory size exhausted 및 힙 오염 경고가 뜨며, 뒤이어 웹 서버 워커 프로세스가 종료되는 패턴이다. 이 세 가지 연속 이벤트가 포착되면 해당 IP를 네트워크 레벨에서 즉시 격리해야 한다.
  • 더미 파일 업로드 탐지 룰 배포: 디퓨즈드 사이버(Defused Cyber)가 허니팟을 통해 포착한 바에 따르면, 공격자들은 실제 악성코드를 심기 전에 p2s-rider 같은 특수 마커를 포함한 빈 껍데기 요청을 먼저 보내 취약 여부를 탐색한다. 웹 애플리케이션 방화벽(WAF)에서 해당 문자열 패턴이나 비정상적으로 긴 폼 필드 키를 가진 멀티파트 요청을 사전 차단 규칙으로 등록하면 초기 정찰 단계를 무력화할 수 있다.

시스템 관리자가 즉시 가동해야 할 3단계 방어선

지금 이 순간에도 전 세계를 대상으로 한 자동화 스캐닝이 계속되고 있다. 인프라와 서비스를 총괄하는 실무진은 판박이형 정기 보안 점검을 기다리지 말고, 다음의 3단계 방어선을 즉각 가동해야 한다.

1차 방어선: 즉각적인 환경 설정 변경과 공개 자산 취약점 스크리닝

가장 먼저 취해야 할 조치는 외부 인터넷에 공개된 모든 PHP 서버의 설정 파일을 확인하는 일이다. 진단 도구(예: 오픈소스로 공개된 Xint 스캐너)를 활용해 외부에서 접근 가능한 웹 서버가 PHP2Shell에 노출되어 있는지 즉시 전수 조사를 실시한다.

조사 결과와 무관하게 모든 웹 서버의 php.ini 설정에서 세션 업로드 진행 기능(session.upload_progress.enabled)을 Off로 변경하고 웹 서버 데몬을 리로드한다. 이 작업은 서비스 중단 없이 수 분 내에 완료할 수 있으며, 취약점의 실행 통로를 물리적으로 없애는 가장 확실한 응급조치다. 신규 경고된 CVE-2026-115560 방지를 위해 애플리케이션 코드 내에서 ini_set() 함수를 통해 세션 직렬화 핸들러를 동적으로 바꾸는 로직이 있는지도 함께 검색해 제거해야 한다.

2차 방어선: Active Directory 및 NTLM 인증 터널 격리

웹 서버 침투가 발생하더라도 사내 내부망 전체로 피해가 번지지 않도록 망간 경계를 재정비해야 한다. 웹 애플리케이션 서버가 위치한 DMZ 대역에서 내부 도메인 컨트롤러(DC)로 향하는 LDAP, SMB, NTLM 통신을 원칙적으로 차단하거나 최소한으로 제한한다.

특히 익명 사용자의 LDAP 질의를 전면 불허하도록 도메인 컨트롤러 설정을 변경하고, 외부 접점 서버에서는 NTLM 인증 자체를 비활성화하거나 계정 보호 그룹(Protected Users)을 적용해야 한다. 이렇게 조치해 두면 공격자가 웹 쉘을 획득하더라도 액티브 디렉터리 권한을 탈취해 도메인 전체를 장악하는 연쇄 사고를 원천적으로 막을 수 있다.

3차 방어선: AI 에이전트 자동화 명령 패턴과 웹서버 에러 시퀀스 모니터링

보안 관제 센터(SOC)와 인프라 운영팀은 모니터링 룰셋을 최신 공격 패턴에 맞게 업데이트해야 한다. 엔드포인트 탐지 및 대응(EDR) 시스템에 ==SHELLUSER==, ==PASSWD==와 같은 기계 파싱용 구분자 문자열이 쉘 실행 인자나 프로세스 출력으로 생성되는지 감시하는 룰을 긴급 배포한다.

동시에 웹 서버 로그에서 단시간에 반복되는 POST 500 에러와 아파치/PHP 워커 크래시 로그를 연계 분석하는 경보 규칙을 가동한다. 공격자가 임계치 기반 차단을 우회하기 위해 저속 스캔을 쓰더라도, 특정 서버에서 크래시가 연쇄적으로 발생한다면 이는 AI 에이전트가 침투를 위해 메모리 주소를 맞추고 있는 과정일 가능성이 매우 높다. 이상 징후 발생 즉시 해당 호스트를 망에서 격리하고 세션 인증 키를 폐기하는 자동 격리 파이프라인을 구축해야 한다.

주간 뉴스레터

테크 & 비즈니스 데이터 주간 브리핑

새로 검증된 소프트웨어 분석과 실무 유의점, 최신 공급망 지표를 매주 정리해 드립니다.

언제든 1클릭으로 구독을 해지할 수 있습니다. 스팸 메일은 보내지 않습니다.

* 본 리포트의 링크를 통해 가입 시 수수료를 지급받을 수 있으나, 실측 데이터와 평가에는 일체 영향을 주지 않습니다.