Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2018-15133-PoC — CVE-2018-15133을 위한 Python 익스플로잇으로, 알려진 APP_KEY를 사용하여 암호화된 세션의 안전하지 않은 역직렬화를 통해 취약한 Laravel 애플리케이션에서 원격 코드 실행을 달성합니다. | Kitploit
도구/GitHubGitHub/loaxert/cve-2018-15133-poc
Payload GenerationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

CVE-2018-15133을 위한 Python 익스플로잇으로, 알려진 APP_KEY를 사용하여 암호화된 세션의 안전하지 않은 역직렬화를 통해 취약한 Laravel 애플리케이션에서 원격 코드 실행을 달성합니다.

저장소 보기
49개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2018-15133-PoC

이 Python 스크립트는 CVE-2018-15133 취약점을 기반으로, 안전하지 않은 역직렬화를 통해 취약한 Laravel 애플리케이션에 대해 원격 코드 실행(RCE) 익스플로잇을 구현합니다.

이 익스플로잇은 Laravel(버전 5.5.40 이하, 5.6.0~5.6.29)에서 암호화된 세션이 적절한 검증 없이 자동으로 역직렬화되는 취약점을 이용합니다. 공격자는 Laravel의 APP_KEY에 접근할 수 있으면 악성 페이로드를 암호화하여 서버에서 역직렬화 및 실행되도록 할 수 있습니다.

Laravel 세션 시스템 작동 방식

Laravel은 세션에 대해 세 가지 구성 요소를 가진 대칭 암호화 메커니즘을 사용합니다:

  • IV (Initialization Vector): 각 세션에 대해 생성된 무작위 초기화 벡터

  • Value: AES-128-CBC 또는 AES-256-CBC를 사용하여 암호화된 값

  • MAC: IV + value + APP_KEY에 대해 계산된 메시지 인증 코드(HMAC-SHA256)

프로세스:

  • 세 가지 입력 매개변수를 받습니다: base64로 인코딩된 Laravel APP_KEY, 실행할 명령어, 대상 도메인

  • PHPGGC 도구를 gadget chain Laravel/RCE5와 함께 호출하여 악성 PHP 객체 체인을 생성합니다

  • 피해자 서버에서 실행될 운영 체제 명령어를 구성합니다 (예: system('whoami');)

  • 연결된 gadget이 포함된 직렬화된 PHP 페이로드를 생성합니다

  • base64 페이로드를 바이너리 형식으로 디코딩합니다

  • APP_KEY에서 "base64:" 접두사가 있으면 제거합니다

  • 키가 유효한 base64가 되도록 필요한 패딩을 추가합니다

  • 키를 base64에서 바이트로 디코딩합니다

  • 16바이트 무작위 초기화 벡터(IV)를 생성합니다

  • AES CBC 모드로 키와 IV를 사용하여 페이로드를 암호화합니다

  • 암호화 전에 페이로드에 PKCS7 패딩을 적용합니다

  • IV를 base64로 인코딩합니다

  • 암호문(암호화된 페이로드)을 base64로 인코딩합니다

  • HMAC용 메시지로 IV와 value(base64)를 연결합니다

  • 연결된 메시지를 키를 비밀로 사용하여 HMAC-SHA256으로 MAC을 계산합니다

  • iv, value, mac 세 필드를 가진 JSON 객체를 구성합니다

  • 전체 JSON을 base64로 인코딩합니다

  • curl을 사용하여 laravel_session 쿠키에 페이로드를 담은 HTTP 요청을 구성합니다

  • 대상 도메인으로 요청을 전송합니다

  • Laravel 서버는 쿠키를 받아 base64를 디코딩합니다

  • Laravel은 수신된 IV와 value에 대해 MAC 무결성을 검증합니다

  • Laravel은 자체 APP_KEY를 사용하여 AES-CBC로 내용을 복호화합니다

  • Laravel은 복호화된 내용을 자동으로 역직렬화합니다

  • PHP는 역직렬화된 객체의 __destruct() 또는 __wakeup() 매직 메서드를 호출합니다

  • call_user_func() 또는 eval()로 이어지는 gadget 체인이 트리거됩니다

  • 서버에서 운영 체제 명령어가 실행됩니다

이 익스플로잇은 PHP 매직 메서드 호출을 연결하는 gadget 체인을 사용합니다:

역직렬화 중에 PHP는 자동으로 __destruct() 또는 __wakeup()을 호출하여, eval()에서 임의 코드를 실행하는 체인을 시작합니다.

전제 조건 익스플로잇이 작동하려면 공격자에게 다음이 필요합니다:

  • Laravel APP_KEY (환경 변수 유출, 노출된 S3 버킷, 소스 코드 등을 통해 획득)

  • 기본적으로 역직렬화가 활성화된 취약한 Laravel 버전

  • ./phpggc/ 디렉토리에 설치된 PHPGGC https://github.com/ambionics/phpggc

사용 예시

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
이 명령어는 Laravel이 세션을 역직렬화할 때 whoami를 실행하는 직렬화된 페이로드를 생성합니다.
도구 다운로드