[WEB] 웹쉘 공격과 create_function 함수의 취약성

PLURA

Webshell(웹쉘) 개요

웹쉘(Webshell)은 웹 서버에 업로드된 악성 스크립트로, 공격자가 서버를 원격으로 제어할 수 있게 합니다.
이를 통해 서버의 파일 시스템에 접근하고 명령을 실행할 수 있습니다.

주요 기능

  • 파일 관리: 업로드, 다운로드, 수정, 삭제
  • 명령 실행: 서버에서 shell 명령 실행
  • 네트워크 활동: 악성 코드 전파 및 시스템 공격
  • 데이터베이스 접근: 민감한 정보 유출

webshell_attack_and_create_function


Webshell 실행/분석 정보

1

분석 정보

  • MD5: 3cd5c4352b1379bd789ab3de7b76a196
  • SHA-1: 3a728d71ac418a906f9db78ba3fa935736eb02c9
  • SHA-256: ec04ce68129b58837f0b7b720f9dcb453d840f051ef9d1e2f7d197abf4167384

[사진 1] Virustotal Webshell 분석 정보


create_function 함수의 취약성

3

create_function 함수는 PHP에서 익명 함수(Anonymous Function)를 생성하는 기능을 제공합니다.
그러나 보안 취약점으로 인해 점차 사용이 중단되었으며, 최신 PHP 버전에서는 완전히 제거되었습니다.

PHP 버전별 동작 여부

  1. PHP 4.0.1 ~ 7.1.x

    • 정상적으로 사용 가능.
  2. PHP 7.2.0 ~ 7.4.x

    • create_function()은 deprecated 상태로 경고 메시지가 출력되지만, 실행은 가능합니다.
    • 출력 예시:
      Deprecated: Function create_function() is deprecated in /path/to/file.php on line 2
      
  3. PHP 8.0 이상

    • 함수가 완전히 제거되어 실행 시 Fatal Error 발생.
    • 출력 예시:
      Fatal error: Uncaught Error: Call to undefined function create_function() in /path/to/file.php:2
      

대응 방안

PHP 버전 업데이트는 보안 및 성능 강화를 위해 필수적입니다.
특히, create_function 함수의 보안 취약성을 방지하려면 최신 PHP 버전을 사용하는 것이 중요합니다.

최신 버전 업데이트의 이점

  1. 보안 강화: Webshell 공격 및 취약점 방지.
  2. 성능 개선: 웹 애플리케이션 응답 속도 최적화.
  3. 새로운 기능 제공: 최신 문법과 기능 활용 가능.

PHP 8.0 이상으로 업데이트하여 보안과 성능을 유지하며, Webshell과 같은 공격으로부터 시스템을 보호할 수 있습니다.


참고 자료