본문으로 건너뛰기
피드

누군가 WordPress 플러그인 30개를 사들여 전부 백도어를 심었음

security 약 9분
vote
0
댓글
북마크

8년간 운영된 WordPress 플러그인 브랜드 'Essential Plugin'이 Flippa에서 매각된 뒤, 구매자가 30개 이상 플러그인에 백도어를 심었음. 백도어는 8개월간 잠복하다 활성화되어 wp-config.php에 SEO 스팸을 주입했고, C2 도메인을 이더리움 스마트 컨트랙트로 리졸빙하는 정교한 기법을 사용함.

  • 1

    Essential Plugin 브랜드의 30개 이상 WordPress 플러그인이 Flippa에서 수십만 달러에 매각됨

  • 2

    구매자의 첫 SVN 커밋이 곧 백도어 — PHP unserialize() 기반 임의 함수 호출 체인

  • 3

    C2 도메인을 이더리움 스마트 컨트랙트로 리졸빙하여 전통적 도메인 테이크다운 무력화

  • 4

    8개월 잠복 후 2026년 4월 활성화, Googlebot에만 스팸 노출

  • 5

    WordPress.org에 플러그인 소유권 이전 리뷰 메커니즘이 전무함

누군가 WordPress 플러그인 30개를 사들여 전부 백도어를 심었음

  • 신뢰받던 플러그인 포트폴리오가 통째로 무기화됨 — "Essential Plugin"이라는 브랜드의 WordPress 플러그인 30개 이상이 한 명의 구매자에게 넘어간 뒤, 모든 플러그인에 백도어가 심어짐
    • 원래 인도 기반 팀("WP Online Support")이 2015년부터 8년간 운영해온 합법적인 비즈니스였음
    • 매출이 35~45% 감소하자 Flippa(온라인 비즈니스 거래 플랫폼)에 매물로 올림
    • "Kris"라는 신원의 구매자가 6자리 달러(수십만 달러)에 인수. SEO, 암호화폐, 온라인 도박 마케팅 배경
    • Flippa는 이 거래를 2025년 7월 성공 사례로까지 소개함

⚠️주의

> 구매자의 첫 SVN 커밋이 곧 백도어였음. 8개월간 잠복한 뒤 2026년 4월에 활성화됨.

공격 메커니즘이 상당히 정교함

  • 백도어 코드가 wpos-analytics라는 모듈 안에 숨어 있었음 — 원래 합법적인 애널리틱스 옵트인 시스템으로 수년간 동작하던 코드를 악용
    • v2.6.7(2025년 8월 릴리즈)에서 191줄의 코드가 추가됨. 체인지로그에는 "WordPress 6.8.2 호환성 확인"이라고만 적혀 있었음
    • class-anylc-admin.php 파일이 473줄 → 664줄로 늘어남
  • 심어진 코드 3가지가 교과서적인 임의 함수 호출(arbitrary function call) 체인을 구성함
    • fetch_ver_info() — 공격자 서버에 file_get_contents() 호출 후 @unserialize()로 역직렬화
    • version_info_clean() — 역직렬화된 원격 데이터에서 함수명과 인자를 모두 가져와 실행
    • 인증 없는 REST API 엔드포인트 (permission_callback: __return_true)
  • 실제 감염 과정 — 플러그인이 analytics.essentialplugin.com에 연락 → wp-comments-posts.php라는 백도어 파일 다운로드(코어 파일 wp-comments-post.php와 이름이 거의 같음) → wp-config.php에 거대한 PHP 블록 주입
    • 주입된 코드는 스팸 링크, 리다이렉트, 가짜 페이지를 C2(명령·제어) 서버에서 가져옴
    • Googlebot에만 스팸을 보여주고 사이트 소유자에게는 안 보임 — SEO 스팸 공격
    • C2 도메인을 이더리움 스마트 컨트랙트로 리졸빙함. 블록체인 RPC 엔드포인트를 쿼리하는 방식이라 전통적인 도메인 테이크다운이 안 먹힘. 공격자가 스마트 컨트랙트만 업데이트하면 새 도메인으로 바로 전환 가능

8개월 잠복 → 6시간 44분 만에 감염

  • 백도어는 2025년 8월에 심어졌고, 2026년 4월 5~6일에 활성화됨
    • 작성자는 939개의 quicksave 스냅샷을 추적하여 타임라인을 복원
    • 일일 restic 백업에서 wp-config.php를 8개 날짜별로 추출, 바이너리 서치로 감염 시점 특정
    • 감염 윈도우: 2026년 4월 6일, UTC 04:22 ~ 11:06 (6시간 44분)

중요

> WordPress.org의 강제 업데이트(v2.6.9.1)는 폰홈 메커니즘만 비활성화했을 뿐 wp-config.php의 악성 코드는 건드리지 않음. 감염된 사이트는 여전히 Googlebot에 스팸을 뿌리고 있었음.

WordPress.org가 하루 만에 30개 이상 플러그인을 영구 폐쇄

  • 2026년 4월 7일, Essential Plugin 저자의 모든 플러그인이 한꺼번에 영구 폐쇄됨
    • Countdown Timer Ultimate, Popup Anything on Click, WP Testimonial with Widget, WP Team Showcase and Slider 등 30개 이상
    • 저자 검색 시 결과 0건, analytics.essentialplugin.com{"message":"closed"} 반환
  • 발견자는 자신이 관리하는 사이트 전체를 스캔 — 22개 고객 사이트에서 12개의 Essential Plugin 플러그인 발견, 10개를 패치
    • 패치 방법: wpos-analytics/ 디렉터리 삭제, 메인 플러그인 PHP의 로더 함수 제거, 버전 -patched 범프
    • 패치된 zip 파일을 B2에 영구 호스팅하여 공유 중

이건 처음 있는 일이 아님

  • 2017년에도 동일한 수법이 있었음 — "Daley Tias"라는 가명의 구매자가 20만 설치의 Display Widgets 플러그인을 $15,000에 사서 대출 스팸 주입. 최소 9개 플러그인을 같은 방식으로 장악
  • WordPress 플러그인 마켓플레이스의 구조적 문제
    • 플러그인 소유권 이전 시 리뷰나 플래그 메커니즘이 없음
    • 사용자에게 "소유자 변경" 알림이 가지 않음
    • 새 커미터에 대한 추가 코드 리뷰도 없음
    • Plugins Team은 발견 후 빠르게 대응했지만, 백도어가 심어진 시점부터 발각까지 8개월이 걸림
  • WordPress 사이트 관리하고 있다면: 위에 나열된 26개 플러그인 슬러그 검색 → 발견 시 패치 또는 삭제, wp-config.php 확인 필수

기술 맥락

  • 이 공격의 핵심은 PHP의 unserialize() 취약점이에요. unserialize()에 외부 입력을 넣으면 임의 객체를 생성할 수 있고, 그 객체의 매직 메서드가 실행되면서 사실상 RCE(원격 코드 실행)가 가능해져요. PHP 보안에서 "신뢰할 수 없는 데이터를 절대 unserialize하지 마라"는 건 기본 중의 기본인데, 이 백도어가 딱 그걸 노린 거예요
  • C2 도메인을 이더리움 스마트 컨트랙트로 리졸빙하는 건 꽤 신선한 기법이에요. 보통 악성코드의 C2 서버를 차단하려면 도메인을 싱크홀링하거나 테이크다운 요청을 하는데, 블록체인에 올라간 스마트 컨트랙트는 누구도 일방적으로 수정하거나 삭제할 수 없거든요. 공격자 입장에서는 트랜잭션 하나로 C2 주소를 교체할 수 있어서 회복탄력성이 매우 높아요
  • 공급망 공격(supply chain attack)이 소프트웨어 생태계 전반의 이슈로 부상한 건 npm의 event-stream 사건(2018년) 이후부터인데, WordPress 플러그인 생태계는 그보다 더 취약한 구조예요. npm은 최소한 2FA와 퍼블리시 권한 관리가 있지만, WordPress.org의 SVN 기반 플러그인 저장소는 소유권 이전에 대한 거버넌스가 사실상 없어요. "신뢰받는 브랜드를 사서 악용한다"는 공격 벡터를 플랫폼 차원에서 막을 장치가 없는 셈이에요
  • 발견자가 사용한 백업 포렌식 기법도 참고할 만해요. 일일 백업에서 특정 파일을 날짜별로 추출한 뒤 바이너리 서치로 변조 시점을 좁혀가는 접근이거든요. 보안 사고 대응(IR)에서 "언제 감염됐는가"를 특정하는 게 가장 중요한데, 정기 백업이 있으면 이렇게 체계적으로 접근할 수 있어요

WordPress 플러그인 생태계의 소유권 이전에 대한 거버넌스 부재가 반복적으로 공급망 공격에 악용되고 있음. npm의 event-stream 사건과 같은 맥락이지만, WordPress는 2FA나 퍼블리시 권한 관리조차 부족해서 더 심각한 구조적 문제를 안고 있음.

댓글

댓글

댓글을 불러오는 중...

security

엘에이 경찰, 사생활 침해 논란 끝에 플록 번호판 감시 계약 종료

엘에이 경찰이 번호판 인식 카메라 업체 플록 세이프티와의 3년 계약을 연장하지 않기로 했어. 시민권, 프라이버시, 데이터 보관과 공유 문제를 해결하지 못했다는 게 핵심 이유야. 플록은 미국 전역에 최소 8만 대 카메라망을 깔아 경찰과 연방기관이 차량을 추적할 수 있게 해왔고, 오탐·보안 사고·이민 단속 악용 의혹까지 겹치며 압박이 커졌어.

security

크로미움 148부터 Math.tanh 한 번으로 운영체제 지문이 새는 문제

크로미움 148 이후 V8이 Math.tanh 계산을 자체 구현 대신 운영체제의 수학 라이브러리에 맡기면서, 같은 입력값도 리눅스·맥·윈도우에서 마지막 비트가 달라지는 지문 신호가 생겼다. 이 차이는 User-Agent로 맥이라고 주장하면서 리눅스 수학 결과를 내는 식의 위장을 바로 들키게 만든다. CSS 삼각함수와 웹 오디오까지 보면 브라우저 수학 경로가 꽤 복잡하게 갈라지고, 제대로 흉내 내려면 실제 운영체제 라이브러리의 비트 단위 동작까지 맞춰야 한다.

security

출입통제도 클라우드 구독제로 간다…제로트러스트·AI 분석이 승부처

기업 출입보안이 사업장별 서버를 두는 방식에서 클라우드 기반 서비스형 출입통제(ACaaS)로 옮겨가고 있다. 시장은 2026년 17억8000만 달러에서 2030년 31억9000만 달러로 커질 전망이고, 제로트러스트·모바일 인증·AI 출입 분석·스마트빌딩 통합이 핵심 경쟁 포인트로 꼽힌다.

security

AWS·구글 클라우드, 양자컴퓨터 대비해 암호 체계 갈아엎는 중

AWS와 구글 클라우드가 양자컴퓨터 시대를 대비해 기존 공개키 암호와 양자내성암호를 함께 쓰는 하이브리드 전환을 시작했다. 핵심 배경은 지금 훔친 암호문을 나중에 양자컴퓨터로 푸는 ‘선수집·후해독’ 공격이고, 국내도 통신·금융·국방 등 5개 분야에 45억원을 투입해 실증에 들어간다.

security

보안 점검 맡긴 AI 에이전트가 악성코드를 직접 실행할 수 있다는 경고

AI 보안 에이전트가 저장소를 검사하다가 README 같은 문서에 숨은 프롬프트 인젝션에 속아 악성 바이너리를 실행할 수 있다는 연구가 나왔다. 클로드 코드와 코덱스의 자동 모드처럼 승인 없이 명령을 수행하는 구성에서 문제가 재현됐고, 여러 모델과 공급업체를 가로질러 같은 패턴이 통했다는 점이 핵심이다.