본문으로 건너뛰기
진석개발
저널 목록으로
Web SecurityPHPFree약 31분

우리 사이트에 뒷문이 남았을까? 웹셸·침입 흔적 셀프 체크

PHP를 고치기 전에 침입당했다면 웹셸이 남을 수 있습니다. 서버에 직접 접속하지 않고 사장님이 볼 수 있는 곳, 서버 회사별 접속 기록 보관 기간, 수상한 파일을 찾았을 때 지우기 전에 할 일을 정리합니다.

글쓴이 Jeensuk Yang
웹셸과 침입 흔적 셀프 체크를 설명하는 따뜻한기술 양진석 대표 일러스트

PHPFree · 웹 보안 · 개선편 03

WordPress · 침입 점검 · 웹셸 PHPFree FIX 03
읽는 시간 약 9분 업데이트 2026.10.24 글 양진석 (따뜻한기술 대표)

이런 분께 권합니다

  • PHP는 고쳤는데 "그 전에 누가 들어오지 않았을까" 마음이 놓이지 않는 분
  • 공유 렌탈 서버를 쓰고 있어서 관리 화면과 파일 관리자 정도만 볼 수 있는 분
  • 무엇을 직접 보고, 무엇을 전문가에게 맡길지 선을 긋고 싶은 분

이 글에서 알 수 있는 것

  • 웹셸이 무엇이고, 왜 PHP를 고쳐도 남는지
  • 오늘 가장 먼저 할 일(접속 기록 내려받기)과 서버 회사별 보관 기간
  • 수상한 것을 찾았을 때 지우기 전에 해야 할 일
걱정스러운 표정으로 이야기를 듣는 양진석 대표
진석 대표의 안내

자물쇠는 바꿨습니다. 그런데 그 전에 누가 열쇠를 복사해 갔다면요?

PHP를 고친 것은 고장 난 자물쇠를 바꾼 일입니다. 하지만 자물쇠를 바꾸기 전에 도둑이 다녀갔다면, 집 안 어딘가에 몰래 만들어 둔 뒷문이 남아 있을 수 있습니다.

겁을 드리려는 이야기가 아닙니다. 대부분의 사장님은 서버 깊은 곳까지 볼 수 없고, 볼 필요도 없습니다. 이 글은 사장님이 직접 볼 수 있는 곳과 전문가에게 맡길 곳 사이에 선을 그어 드립니다.

01What is a web shell

웹셸이란 무엇이고, 왜 PHP를 고쳐도 남을까?

웹셸은 침입한 사람이 서버에 몰래 놓아두는 원격 조종용 파일입니다. PHP를 고치면 새로 들어오는 길은 막히지만, 이미 놓인 파일은 저절로 사라지지 않습니다.

미국 CISA는 웹셸을 서버를 멀리서 조종할 수 있게 올려 두는 프로그램이라고 설명합니다. 공격자는 이것으로 파일을 더하고 지우고, 비밀번호 같은 정보를 빼내기도 합니다.1 한국인터넷진흥원(KISA)도 이번 PHP 취약점이 악용되면 웹셸이 설치될 수 있다고 경고했습니다.2

집에 비유하면 이렇습니다. 자물쇠를 바꾸면 옛 열쇠로는 현관을 열 수 없습니다. 그러나 도둑이 그 전에 뒷마당 쪽에 작은 쪽문을 뚫어 두었다면, 새 자물쇠는 그 쪽문을 알지 못합니다.

  1. 기록 받기: 서버 회사 관리 화면에서 접속 기록(로그)을 오늘 내 컴퓨터로 내려받는다
  2. 관리 화면 보기: WordPress의 사용자 목록과 사이트 건강 화면을 본다
  3. 파일 날짜 보기: 파일 관리자에서 최근에 생기거나 바뀐 PHP 파일을 본다
  4. 공식 검사 쓰기: 서버 회사가 제공하는 검사 기능을 켠다
  5. 수상하면: 지우기 전에 기록하고, 서버 회사와 전문가에게 연락한다

1번은 시간이 지나면 할 수 없게 됩니다. 나머지는 1번을 마친 뒤에 천천히 해도 됩니다.

1번은 오늘 하세요. 셀프 체크 순서를 가리키며 설명하는 양진석 대표
흔적이 보이지 않는다고 해서, 공격받지 않았다고 단정할 수는 없습니다.

일본 JPCERT/CC와 KISA는 같은 말을 합니다. 그래서 셀프 체크 결과와 상관없이 비밀번호와 연동 키는 바꾸라고 권합니다.2·3

진석 대표의 정리셀프 체크는 '안전 증명서'가 아니라 '이상 신호 찾기'입니다. 찾으면 전문가를 부르고, 못 찾아도 열쇠는 바꿉니다.

02Do this today

오늘 가장 먼저 할 일은 무엇일까?

서버 회사 관리 화면에서 접속 기록(로그)을 내 컴퓨터로 내려받는 일입니다. 기록은 정해진 기간이 지나면 지워지기 때문입니다.

가게의 방범 카메라도 며칠이 지나면 옛 영상 위에 새 영상을 덮어씁니다. 무슨 일이 있었는지 나중에 보려면, 덮어쓰기 전에 영상을 따로 옮겨 두어야 합니다. 서버의 접속 기록(누가 언제 어느 주소에 들어왔는지 적힌 출입 기록)도 같습니다.

KISA는 적어도 취약점 정보가 새어 나간 10월 20일 이후의 기록 전체를 보고, 가능하면 그 이전까지 확인하라고 권합니다.2 그런데 기록을 남겨 두는 기간은 서버 회사마다 크게 다릅니다.

서버 회사관리 화면에서 받을 수 있는 기록
카페24'웹/FTP 로그'에서 오늘로부터 1일~7일 전 것만 선택 가능4
Xserver서버 패널 '액세스 로그'에서 지난 30일분. 보관 설정을 켜면 더 오래 남음5
Lolipop전날부터 90일분을 압축 파일로 내려받음. 하이스피드·엔터프라이즈 플랜은 이 기능을 쓸 수 없음6
ConoHa WING화면에는 접속 기록 최근 100줄만 보임. 로그 보존 설정에서 내 컴퓨터로 받음7
Sakura Internet'저장하기'에 체크해 둔 경우에만 남음(최대 24개월)8
KEY POINT카페24는 일주일 전 기록까지만 받을 수 있습니다. 10월 20일 무렵의 기록이 필요하다면 서둘러야 합니다.

WordPress.org도 침입이 의심될 때 가장 먼저 할 일은 '기록'이라고 말합니다. 무엇을, 언제 봤는지, 최근에 무엇을 바꿨는지 적어 두라는 것입니다.9

진석 대표의 정리지금 다 읽지 못해도 괜찮습니다. 내려받아 두기만 하면, 나중에 전문가가 읽을 수 있습니다. 기록은 받아 두는 사람의 것입니다.

03What you can check

서버에 직접 접속하지 않고 사장님이 볼 수 있는 곳은?

WordPress 관리 화면, 서버 회사의 파일 관리자, 내려받은 접속 기록, 그리고 서버 회사의 공식 검사 기능입니다.

병원에 가지 않아도 체온은 잴 수 있습니다. 체온계가 병명을 알려 주지는 않지만, 병원에 갈지 말지는 알려 줍니다. 아래 항목도 그런 체온계입니다.

  1. 사용자 목록: WordPress 관리 화면의 사용자 목록에 모르는 관리자가 없는지 봅니다. 새 사용자가 생긴 것은 WordPress.org가 꼽는 해킹 흔적 가운데 하나입니다.9·10
  2. 사이트 건강: '도구 → 사이트 건강 → 정보'에서 설치된 플러그인·테마와 사용자 수를 봅니다. 보기만 하는 화면이라 눌러도 바뀌는 것은 없습니다.11
  3. 파일 날짜: 파일 관리자의 '갱신 일시' 칸을 봅니다.12 사진을 올리는 업로드 폴더(wp-content/uploads)에 PHP 파일이 있거나, 최근에 바뀐 PHP 파일·.htaccess 파일이 있다면 수상한 신호입니다.2·9
  4. 접속 기록: 짧은 시간에 몰린 전송(POST) 요청, 그 뒤에 이어진 서버 오류(HTTP 500)가 있는지 봅니다.2·3
  5. 웹 방화벽 기록: Lolipop·ConoHa WING·카페24는 관리 화면에서 웹 방화벽(WAF)이 막은 기록을 보여 줍니다.13·14·15
  6. 공식 검사: Xserver는 변조·악성코드를 확인하는 '사이트 시큐리티'를 일부 플랜에서 한 사이트까지 무료로 제공합니다.16 Sakura Internet은 매일 감시해 메일로 알려 주는 유료 변조 감지를 따로 신청받습니다.17 한국 중소기업이라면 KISA의 '내서버돌보미'로 웹셸 유무를 점검받을 수 있습니다.18
알아 둘 한계: 접속 기록에는 요청의 '내용'이 남지 않습니다. 그래서 이번 공격에 쓰인 특정 항목(PHP_SESSION_UPLOAD_PROGRESS)은 접속 기록만으로는 확인할 수 없고, 볼 수 있는 것은 의심 정황까지입니다.19 또 ConoHa WING의 '네트 de 진단'은 취약점 진단이지, 이미 들어온 흔적을 찾는 검사는 아닙니다.20

진석 대표의 정리보다가 모르는 것이 나오면 그 자리에서 멈추고 화면을 찍어 두세요. 셀프 체크의 일은 판단이 아니라 발견입니다.

04Leave it to experts

사장님이 직접 보기 어려운 것은 무엇일까?

서버 안에서 지금 돌고 있는 프로그램, 사용자 화면에 보이지 않는 파일, 메모리에 남은 흔적입니다. 공유 렌탈 서버의 일반 계정으로는 이곳을 볼 수 없습니다.

KISA와 로그프레소, CISA, 중국 치안신 CERT는 웹 서버가 sh·bash 같은 명령 실행 프로그램이나 다운로드 도구를 실행한 흔적, 알 수 없는 외부 연결을 확인하라고 합니다.2·19·21·22 미국 보안 기업 VulnCheck는 웹셸을 웹 폴더가 아니라 서버의 세션 파일에 심으려 한 시도를 보고했습니다.23 파일 관리자에 보이지 않는다고 없는 것은 아닐 수 있다는 뜻입니다.

사장님이 직접전문가에게
접속 기록 내려받기실행 중인 프로그램·외부 연결 확인
사용자 목록·사이트 건강 보기세션 파일·요청 내용 조사
파일 날짜 보기, 화면 기록메모리 증거 확보, 침입 경로 분석
서버 회사 공식 검사 켜기삭제·초기화·복원 시점 판단

진석 대표의 정리모든 것을 혼자 보려 하지 않아도 됩니다. 사장님이 할 일은 기록을 지켜 두고, 맡길 사람을 정하는 것까지입니다.

05If you find something

수상한 파일을 찾았다면, 바로 지워도 될까?

바로 지우지 마세요. 먼저 기록하고, 접속 기록을 지켜 두고, 서버 회사에 연락한 다음 지웁니다.

사건 현장은 치우기 전에 사진부터 찍습니다. 치우고 나면 어디로 들어왔는지 알 길이 없어지고, 같은 길로 다시 들어올 수 있기 때문입니다.

자료마다 말이 조금 다릅니다. CISA의 2015년 안내는 웹셸을 찾으면 지우라고 하고,1 Xserver와 Sakura Internet은 뒷문이 남을 수 있다며 수상한 파일만이 아니라 전체를 지우는 쪽을 권합니다.10·24 반면 KISA와 JPCERT/CC, 안랩은 증거를 먼저 보존하라고 합니다.2·3·25 그래서 이 글은 순서를 이렇게 정리합니다.

  1. 기록: 무엇을 언제 봤는지 적고 화면을 찍습니다.9
  2. 보존: 접속 기록을 내려받아 둡니다. KISA는 서버를 끄거나 재시작하지 말고 외부 접속만 막으라고 합니다. 재시작하면 메모리에 남은 흔적이 사라지기 때문입니다.2
  3. 연락: 서버 회사에 먼저 알립니다. 공유 서버라면 같은 서버의 다른 사이트에도 영향이 있을 수 있습니다.9
  4. 신고: 한국은 KISA 보호나라의 '침해사고 신고'나 전화 118,26 일본은 JPCERT/CC의 웹 양식이나 메일로 알립니다. JPCERT/CC는 원칙적으로 전화 신고는 받지 않습니다.27
  5. 정리: 그다음에 삭제·초기화·백업 복원을 합니다. 어느 날짜로 되돌릴지는 Xserver의 안내대로 직접 꼼꼼히 확인합니다.10
  6. 열쇠 교체: 데이터베이스·관리자 비밀번호와 외부 서비스 연동 키(API 키)를 바꿉니다. 흔적이 나온 서버라면 반드시 바꿉니다.2

진석 대표의 정리지우는 일은 5분이면 됩니다. 하지만 지운 것은 되돌릴 수 없습니다. 서두를 일은 '기록 받기'이고, 천천히 할 일은 '지우기'입니다.

06About free scripts

인터넷에 도는 '점검 스크립트'를 써도 될까?

출처를 모르는 스크립트는 쓰지 않는 것이 좋습니다. 점검 도구처럼 보이는 것이 새로운 공격 통로가 될 수 있기 때문입니다.

안랩은 GitHub에 올라온 '방어 도구' 가운데 서버 최고 권한(root)으로 한 번에 설치되는 것이 보안 도구를 가장한 공격 경로가 될 수 있다고 경고했습니다. 쓸 수밖에 없다면 코드를 직접 읽고 격리된 환경에서만 실행하라고 합니다.25 VulnCheck도 GitHub에 공격 시연 저장소가 수백 개 쏟아졌지만 진짜는 아주 적었다고 밝혔습니다.23

모르는 사람이 "이 열쇠면 다 열립니다"라며 건네는 열쇠로 우리 집 문을 열어 보지는 않습니다. 서버 회사가 공식으로 제공하는 검사 기능이나, WordPress.org가 소개하는 검사 도구처럼 출처가 분명한 것을 쓰세요.9

진석 대표의 정리불안할 때일수록 '빨리 끝내 준다'는 말에 손이 갑니다. 그럴 때 한 번 멈추는 것이 가장 좋은 보안입니다.

FAQ

웹셸·침입 흔적 셀프 체크에 관해 자주 묻는 질문

셀프 체크에서 아무것도 나오지 않으면 안전한가요?

그렇다고 단정할 수는 없습니다. JPCERT/CC와 KISA 모두 흔적이 없어도 공격받지 않았다고 볼 수 없다고 하므로, 비밀번호와 연동 키는 바꿔 두세요.

업로드 폴더에 PHP 파일이 있으면 해킹된 건가요?

수상한 신호이지만 그것만으로 단정할 수는 없습니다. 지우지 말고 화면을 찍어 두고, 서버 회사나 사이트를 만든 곳에 확인을 부탁하세요.

카페24를 쓰고 있다면 무엇부터 하나요?

'웹/FTP 로그'에서 받을 수 있는 기록을 오늘 모두 내려받으세요. 카페24는 일주일 전 기록까지만 선택할 수 있습니다.

SOURCES

  1. CISA 「Compromised Web Servers and Web Shells - Threat Awareness and Guidance」(TA15-314A, 2015년 11월 10일, 2017년 8월 9일 개정) cisa.gov
  2. KISA 보호나라 「PHP 보안취약점(PHP2Shell) 관련 기업 보안 대응 수칙」(2026년 10월 22일) boho.or.kr
  3. JPCERT/CC 주의 환기 JPCERT-AT-2026-0033(일본어, 2026년 10월 22일) jpcert.or.jp
  4. 카페24 「웹 로그 및 FTP 접속 로그를 확인할 수 있나요?」(작성일 표기 없음) help.cafe24.com
  5. Xserver 「アクセスログ」 매뉴얼(일본어, 작성일 표기 없음) xserver.ne.jp
  6. Lolipop 「アクセスログ解析の利用方法」 매뉴얼(일본어, 작성일 표기 없음) lolipop.jp
  7. ConoHa WING 「エラーログ・アクセスログを確認する」(일본어, 작성일 표기 없음) support.conoha.jp
  8. Sakura Internet 「アクセスログを設定し管理したい(Webalizer)」(일본어, 작성일 표기 없음) help.sakura.ad.jp
  9. WordPress.org 「FAQ My site was hacked」(2026년 7월 26일 갱신) wordpress.org
  10. Xserver 「不正アクセス(ファイルの改ざん、不正なファイル設置)について」(일본어, 작성일 표기 없음) xserver.ne.jp
  11. WordPress.org 「Site Health screen」(2026년 7월 12일 갱신) wordpress.org
  12. Xserver 「ファイルマネージャ利用方法」 매뉴얼(일본어, 작성일 표기 없음) xserver.ne.jp
  13. Lolipop 「WAFの設定方法」 매뉴얼(일본어, 작성일 표기 없음) lolipop.jp
  14. ConoHa WING 「WAFの設定をする」(일본어, 작성일 표기 없음) support.conoha.jp
  15. 카페24 「보안 설정」(작성일 표기 없음) help.cafe24.com
  16. Xserver 「XServer サイトセキュリティ(プレミアム・ビジネスプラン)」 매뉴얼(일본어, 작성일 표기 없음) xserver.ne.jp
  17. Sakura Internet 「申込方法を知りたい」(Web 변조 감지, 일본어, 작성일 표기 없음) help.sakura.ad.jp
  18. KISA 보호나라 「중소기업 홈페이지 보안강화」(작성일 표기 없음) boho.or.kr
  19. 로그프레소 「PHP 원격 코드 실행 취약점(PHP2Shell) 대응 권고」(2026년 10월 21일) logpresso.com
  20. ConoHa WING 「ネットde診断について」(일본어, 작성일 표기 없음) support.conoha.jp
  21. CISA 「Critical Vulnerabilities in PHP Require Immediate Patching」(2026년 10월 21일, 10월 23일 개정) cisa.gov
  22. 奇安信 CERT 「PHP远程代码执行漏洞(CVE-2026-109618/CVE-2026-109619)安全风险通告」(중국어, 2026년 10월 21일, 安全内参 전재) secrss.com
  23. VulnCheck 「PHP2Shell Vulnerabilities: CVE-2026-109618 and CVE-2026-109619」(2026년 10월 21일) vulncheck.com
  24. Sakura Internet 「不正ファイル設置が確認された場合の対応と復旧手順」(일본어, 작성일 표기 없음) help.sakura.ad.jp
  25. AhnLab ASEC 「GitHub php2shell 저장소 분석」(2026년 10월 22일) asec.ahnlab.com
  26. KISA 보호나라 「신고하기 > 침해사고 신고」(작성일 표기 없음) boho.or.kr
  27. JPCERT/CC 「インシデント対応依頼」(일본어, 작성일 표기 없음) jpcert.or.jp
PHPFree 개선편

전체 순서는 가이드에서, 단계별 자세한 방법은 각 편에서 정리합니다.

  1. PHP 취약점 대처 가이드: 확인부터 PHP 탈피까지
  2. PHP를 올렸더니 화면이 하얗게 변했다면? 원인과 되돌리는 법
  3. PHP 버전, 어디서 보고 어떻게 바꿀까? 서버 회사별 방법
  4. 우리 사이트에 뒷문이 남았을까? 웹셸·침입 흔적 셀프 체크 (이 글)
  5. WordPress를 정적 사이트로 옮기면? 방법과 비용

흔적의 종류는 위험편 「패치 전에 이미 들어왔다면? 공격의 흔적 세 가지」에서 더 자세히 다룹니다.

PHPFree 30초 체크 · 무료

지켜야 할 문을 줄이는 길도 있습니다.

사이트 주소만 넣으면 PHP 사용 여부와 서버 회사의 대응 상황을 바로 알려 드립니다. 해당되지 않는다면 "지금은 옮기지 않아도 됩니다"라고 그대로 알려 드립니다.

무료로 30초 체크하기

결과를 보고 상담이 필요하시면 따뜻한기술에 문의하기

최종 수정 2026년 10월 24일

함께 읽기

WordPress 정적 사이트 이전의 방법과 비용을 설명하는 따뜻한기술 양진석 대표 일러스트
Web Security약 28분

WordPress를 정적 사이트로 옮기면? 방법과 비용

WordPress 회사 사이트를 정적 사이트로 옮기는 세 가지 방법, Cloudflare·Netlify·Vercel 등 올릴 곳의 무료 범위와 요금, 문의 폼·검색의 대체 수단, 옮기지 않는 편이 나은 경우까지 정리합니다.

서버별 PHP 버전 확인과 변경 방법을 설명하는 따뜻한기술 양진석 대표 일러스트
Web Security약 30분

PHP 버전, 어디서 보고 어떻게 바꿀까? 서버 회사별 방법

WordPress 사이트 건강 화면에서 진짜 PHP 버전을 보는 법, PHP2Shell 뒤 지금 바꿔야 하는지, Xserver·Lolipop·ConoHa WING·카페24·가비아 등 서버 회사별 변경 메뉴와 데이터가 지워지는 함정을 정리합니다.