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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-61882-Oracle-E-Business-Suite-Pre-Auth-RCE-Exploit — Oracle E-Business Suite(버전 12.2.3~12.2.14)의 심각한 사전 인증 원격 코드 실행(RCE) 취약점으로 인해 공격자가 악의적인 HTTP 요청을 통해 취약한 서버에 대한 완전한 제어권을 획득할 수 있으며, 현재 실제 환경에서 적극적으로 악용되고 있습니다. | Kitploit
도구/GitHubGitHub/adityabhatt3010/cve-2025-61882-oracle-e-business-suite-pre-auth-rce-exploit
Vulnerability AnalysisExploitationForensicsWeb SecurityThreat IntelligenceIncident ResponseLog Analysis
GitHubadityabhatt3010/cve-2025-61882-oracle-e-business-suite-pre-auth-rce-exploit

CVE-2025-61882-Oracle-E-Business-Suite-Pre-Auth-RCE-Exploit

Oracle E-Business Suite(버전 12.2.3~12.2.14)의 심각한 사전 인증 원격 코드 실행(RCE) 취약점으로 인해 공격자가 악의적인 HTTP 요청을 통해 취약한 서버에 대한 완전한 제어권을 획득할 수 있으며, 현재 실제 환경에서 적극적으로 악용되고 있습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-61882 - Oracle E-Business Suite 사전 인증 RCE 익스플로잇

Oracle E-Business Suite(버전 12.2.3~12.2.14)의 치명적인 사전 인증 원격 코드 실행(RCE) 취약점으로, 악의적인 HTTP 요청을 통해 공격자가 취약한 서버에 대한 완전한 제어권을 획득할 수 있습니다 — 현재 실제 공격에 활발히 악용되고 있습니다.


TL;DR

CVE-2025-61882는 **Oracle E-Business Suite(EBS)**의 치명적인 사전 인증 RCE 취약점으로, 갈취/데이터 탈취 캠페인에서 활발히 악용되고 있습니다. 영향을 받는 버전: 12.2.3 → 12.2.14. Oracle은 IOCs(IP, 셸 스테이저 명령, SHA-256 해시)가 포함된 긴급 권고를 발표했습니다. 노출된 시스템에 즉시 패치 또는 차단 조치를 적용하고, 제공된 탐지 규칙으로 헌팅을 수행하며, 아래의 안전한 Python 스크립트로 로그를 스캔하세요. 프로덕션 환경에서 공개 PoC를 실행하지 마세요 — 승인된 격리된 랩에서만 테스트하세요. 🛑🗿

Cover


이것이 중요한 이유

Oracle EBS는 핵심 비즈니스 기능(ERP, 급여, 재무, HR)을 실행합니다. 웹에 노출된 EBS 인스턴스의 사전 인증 RCE는 공격자가 애플리케이션 서버에서 임의의 명령을 실행하고, 민감한 데이터에 접근하고, 웹셸을 설치하고, 파일을 외부로 유출할 수 있게 합니다. 이 취약점은 실제 환경에서 무기화되어 갈취 캠페인과 연계되었습니다 — 이론적인 CVE가 아닌 실제 비즈니스 사고입니다. 🔥


기술 요약(간략)

  • 유형: 사전 인증 원격 코드 실행(RCE)
  • 제품: Oracle E-Business Suite(EBS)
  • 영향을 받는 버전: 12.2.3 → 12.2.14
  • 공격 표면: 웹 노출 구성 요소 — UiServlet, /OA_HTML/ 흐름 및 관련 엔드포인트
  • CVSS(대략): 9.8 — 치명적 수준으로 취급
  • 익스플로잇: 앱 서버에서 명령 실행으로 이어지는 조작된 HTTP 요청; 실제 환경에서 여러 익스플로잇 패턴이 관찰됨

타임라인(요약)

  • 2025년에 취약점이 발견되고 악용됨.
  • 공개적인 악용 보고 직후 Oracle이 긴급 권고와 패치를 발표.
  • 여러 벤더가 탐지 지침과 IOCs를 게시.
  • 공개 PoC가 유포됨 — 극도의 주의가 필요. ⚠️

관찰된 공격자 행동(TTPs)

  • EBS UI 및 버전 노출 정보 스캐닝.
  • RCE를 트리거하기 위해 UiServlet 및 /OA_HTML/에 조작된 POST/요청 전송.
  • 스테이저/웹셸 배포 및 리버스 셸 생성(예: /bin/bash -i >& /dev/tcp/...).
  • 민감한 파일 압축 및 외부 유출, 이후 갈취 및 데이터 유출 요구.
  • 알려진 갈취 그룹과 연계된 인프라 사용.

Oracle 제공 IOCs(즉시 사용)

Oracle은 이러한 IOCs가 여러 사고에 걸쳐 관찰된 활동임을 명시합니다(CVE-2025-61882에 국한되지 않음). 양성 매치가 발견되면 우선순위가 높은 것으로 취급하세요.

IP 주소

  • 200.107.207.26 — 잠재적 GET/POST 활동
  • 185.181.60.11 — 잠재적 GET/POST 활동

셸 스테이저 패턴

  • sh -c /bin/bash -i >& /dev/tcp// 0>&1 — 관찰된 아웃바운드 TCP 리버스 셸 스타일 명령

SHA-256 해시(익스플로잇 / PoC 아티팩트)

  • 76b6d36e04e367a2334c445b51e1ecce97e4c614e88dfb4f72b104ca0f31235d (oracle_ebs_nday_exploit_poc_scattered_lapsus_retard_cl0p_hunters.zip)
  • aa0d3859d6633b62bccfb69017d33a8979a3be1f3f0a5a4bf6960d6c73d41121 (.../exp.py)
  • 6fd538e4a8e3493dda6f9fcdc96e814bdd14f3e2ef8aa46f0143bff34b882c1b (.../server.py)

영향을 받는 버전(강조를 위해 반복)

  • Oracle E-Business Suite 12.2.3 — 12.2.14. 🔁

우선순위 높은 탐지 및 상관 관계 규칙(실용적인 시작점)

TL;DR GitHub 저장소에는 CVE-2025-61882(Oracle E-Business Suite 사전 인증 RCE)에 대한 수동적 탐지 아티팩트가 포함되어 있습니다. 이를 악용이 아닌 헌팅, 트리아지, 격리에 사용하세요. 🛑🗿

간략한 Description.md(미니 README)가 이미 detections/ 폴더 안에 추가되었습니다 — 전체 문서와 TL;DR은 해당 파일을 확인하세요. 이 최상위 README는 탐지 팩과 사용법만 요약하여 빠르게 가져와 실행할 수 있도록 합니다.

이 팩에 포함된 내용

  • detections/splunk/

    • oracle_cve61882_ioc_traffic.spl — Oracle 제공 IOC IP 주소로/로부터의 트래픽 탐지.
    • oracle_cve61882_uiservlet_post.spl — 외부 IP에서 UiServlet / /OA_HTML/로의 의심스러운 POST 탐지.
    • oracle_cve61882_reverse_shell.spl — 엔드포인트 로그에서 리버스 셸 스타일 프로세스 생성 탐지.
  • detections/elastic/

    • oracle_cve61882_uiservlet_post.kql — UiServlet/OA_HTML POST용 KQL.
    • oracle_cve61882_filehash_detection.kql — Oracle 제공 악성 SHA-256 해시 매칭용 KQL.
  • detections/scripts/

    • ebs_safe_hunt.py — 안전한 오프라인 Python 로그 파서(네트워크 호출 없음, 익스플로잇 실행 없음). 액세스 로그 사본에 대해 실행.
  • detections/Description.md

    • 추가한 미니 문서/TL;DR — 전체 컨텍스트, IOCs, 영향을 받는 버전 및 지침 포함.

빠른 시작

  1. 컨텍스트와 IOCs를 위해 detections/Description.md를 검토하세요. ✅

  2. Splunk .spl 쿼리를 Splunk 환경에 배포하세요(또는 저장된 검색/알림으로 가져오기).

  3. KQL 쿼리를 Kibana / Elastic 탐지 규칙에 붙여넣으세요.

  4. ebs_safe_hunt.py를 보관되었거나 편집된 로그에 대한 읽기 권한만 있는 호스트에 복사한 후 실행하세요:

    root@kitploit:~
    python3 ebs_safe_hunt.py /path/to/access.log
    

    플래그된 malicious_ips, servlet_posts, shell_stager, malicious_hash 출력을 검토하고 필요에 따라 에스컬레이션하세요. 🕵️‍♂️

안전 및 대응 규칙

  • 이러한 아티팩트는 수동적 탐지 도구일 뿐입니다. 프로덕션 또는 소유/승인되지 않은 시스템에 공개 PoC를 실행하지 마세요. ⚠️
  • 탐지 결과 확정된 침해(파일 해시 히트, 리버스 셸 증거 또는 웹셸)가 확인되면 호스트를 즉시 격리하고 포렌식 수집을 시작하세요.

스크립트 심층 분석:

원칙: 버전 노출 또는 UI 히트를 높은 신뢰도의 지표(악성 IP, UiServlet/OA_HTML에 대한 POST, 리버스 셸 프로세스 문자열, 파일 해시 매칭, 대용량 아웃바운드 업로드)와 결합하세요.

Splunk 예시 Oracle IOCs로의 트래픽 탐지:

root@kitploit:~
index=web_logs OR index=proxy_logs
| where clientip IN ("200.107.207.26","185.181.60.11") OR dest_ip IN ("200.107.207.26","185.181.60.11")
| stats count by clientip, dest_ip, uri, method, useragent, _time
| sort - count

외부 IP에서 UiServlet/OA_HTML POST 탐지:

root@kitploit:~
index=web_logs sourcetype=access_combined
| where (uri LIKE "%UiServlet%" OR uri LIKE "%/OA_HTML/%") AND method="POST"
| where NOT cidrmatch("10.0.0.0/8", clientip)  // adjust for your internal ranges
| stats count by clientip, uri, useragent, _time
| sort - count

리버스 셸 프로세스 생성 탐지(EDR):

root@kitploit:~
index=endpoint_events sourcetype=os_process
| where process_cmdline LIKE "%/bin/bash -i%/dev/tcp/%" OR process_cmdline LIKE "%/dev/tcp//%"
| table _time host user process_name process_cmdline parent_process

Elastic / KQL 예시 UiServlet 의심스러운 POST:

root@kitploit:~
http.request.method : "POST" and (http.request.uri : "*UiServlet*" or http.request.uri : "/OA_HTML/*") and not client.ip : ("10.0.0.0/8")

파일 해시 탐지:

root@kitploit:~
event.type: "file" and file.hash.sha256 : ("76b6d36e04e3...", "aa0d3859d66...", "6fd538e4a8e3...")

Sigma(이식 가능한 규칙 아이디어)

  • 규칙: 외부 IP에서 UiServlet//OA_HTML/로의 POST → 높은 우선순위
  • 규칙: /bin/bash -i >& /dev/tcp/가 포함된 프로세스 생성 → 치명적
  • 규칙: 세 개의 SHA-256 해시에 대한 파일 해시 매칭 → 확정된 침해

안전한 탐지 스크립트(Python) — 로그에 사용(익스플로잇 없음, 네트워크 호출 없음)

이 스크립트는 결합 형식의 웹 액세스 로그를 파싱하여 의심스러운 UiServlet/OA_HTML POST, Oracle 목록의 악성 IP에서의 요청, 셸 스테이저 패턴 및 제공된 SHA-256 해시의 발생을 플래그합니다. 네트워크 활동을 수행하거나 익스플로잇 코드를 실행하지 않습니다.

root@kitploit:~
#!/usr/bin/env python3
"""
ebs_safe_hunt.py — Safe log parser for CVE-2025-61882 indicators.

Usage:
    python3 ebs_safe_hunt.py /path/to/access.log

Notes:
 - Parses Apache/Nginx combined log lines.
 - Flags UiServlet/OA_HTML POSTs, malicious IPs from Oracle advisory,
   shell stager patterns, and observed SHA256 hashes.
 - Safe: no network / no exploit execution.
"""

import sys
import re
from collections import Counter, defaultdict

# Regex for common combined log format
LOG_PATTERN = re.compile(
    r'(?P<ip>\S+) \S+ \S+ \[(?P<time>.*?)\] "(?P<method>\S+) (?P<uri>\S+) \S+" (?P<status>\d{3}) (?P<size>\S+) "(?P<ref>[^"]*)" "(?P<ua>[^"]*)"'
)

# Oracle-provided IOCs
MALICIOUS_IPS = {"200.107.207.26", "185.181.60.11"}
MALICIOUS_HASHES = {
    "76b6d36e04e367a2334c445b51e1ecce97e4c614e88dfb4f72b104ca0f31235d",
    "aa0d3859d6633b62bccfb69017d33a8979a3be1f3f0a5a4bf6960d6c73d41121",
    "6fd538e4a8e3493dda6f9fcdc96e814bdd14f3e2ef8aa46f0143bff34b882c1b",
}
SHELL_PATTERN = "/bin/bash -i"  # we search for this substring (reverse shell style)
SUSPICIOUS_PATHS = ["UiServlet", "/OA_HTML/"]

# Optional: list of suspicious user-agents often used by scanners
SUSPICIOUS_UAS = ["curl", "wget", "python-requests", "nikto", "sqlmap", "masscan", "Nmap"]

def analyze_log(path):
    ip_counts = Counter()
    uri_counts = Counter()
    ua_counts = Counter()
    suspicious = defaultdict(list)

    with open(path, "r", errors="replace") as fh:
        for line_no, line in enumerate(fh, 1):
            m = LOG_PATTERN.search(line)
            if not m:
                # Optionally, still check for hashes or shell pattern in unstructured lines
                if any(h in line for h in MALICIOUS_HASHES):
                    suspicious["malicious_hash_lines"].append((line_no, line.strip()))
                if SHELL_PATTERN in line or "/dev/tcp/" in line:
                    suspicious["shell_pattern_lines"].append((line_no, line.strip()))
                continue

            ip = m.group("ip")
            method = m.group("method")
            uri = m.group("uri")
            ua = m.group("ua")
            size = m.group("size")

            ip_counts[ip] += 1
            uri_counts[uri] += 1
            ua_counts[ua] += 1

            # 1) Malicious IPs (Oracle)
            if ip in MALICIOUS_IPS:
                suspicious["malicious_ips"].append((line_no, ip, method, uri, ua))

            # 2) POSTs to suspicious EBS paths
            if method.upper() == "POST" and any(p in uri for p in SUSPICIOUS_PATHS):
                suspicious["servlet_posts"].append((line_no, ip, uri, ua))

            # 3) Suspicious user agents (scanners)
            if any(k.lower() in ua.lower() for k in SUSPICIOUS_UAS):
                suspicious["suspicious_ua"].append((line_no, ip, uri, ua))

            # 4) Very large responses (possible exfil) — tune threshold for your environment
            try:
                if size != "-" and int(size) > 5_000_000:  # >5MB
                    suspicious["large_responses"].append((line_no, ip, uri, size))
            except ValueError:
                pass

            # 5) Shell stager pattern or /dev/tcp patterns in the line
            if SHELL_PATTERN in line or "/dev/tcp/" in line:
                suspicious["shell_stager"].append((line_no, ip, uri, line.strip()))

            # 6) Known malicious file hashes present in logs (if available)
            for h in MALICIOUS_HASHES:
                if h in line:
                    suspicious["malicious_hash"].append((line_no, ip, uri, h))

    return {
        "ip_counts": ip_counts,
        "uri_counts": uri_counts,
        "ua_counts": ua_counts,
        "suspicious": suspicious
    }

def pretty_report(r, top=10):
    print("\n=== EBS HUNT REPORT ===\n")
    print("Top source IPs:")
    for ip, c in r["ip_counts"].most_common(top):
        print(f"  {ip}: {c}")
    print("\nTop URIs:")
    for uri, c in r["uri_counts"].most_common(top):
        print(f"  {uri}: {c}")
    print("\nTop User-Agents:")
    for ua, c in r["ua_counts"].most_common(top):
        print(f"  {ua}: {c}")

    print("\nSuspicious findings:")
    if not r["suspicious"]:
        print("  None found.")
        return

    for k, items in r["suspicious"].items():
        print(f"\n-- {k} ({len(items)} matches) --")
        for item in items[:100]:
            print("  " + " | ".join(map(str, item)))

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python3 ebs_safe_hunt.py /path/to/access.log")
        sys.exit(1)
    path = sys.argv[1]
    result = analyze_log(path)
    pretty_report(result)

사용 방법: ebs_safe_hunt.py를 보관되었거나 복사된 로그에 대한 읽기 권한이 있는 호스트에 복사하세요. 실행:

root@kitploit:~
python3 ebs_safe_hunt.py /path/to/access.log

플래그된 malicious_ips, servlet_posts, shell_stager, malicious_hash 결과를 검토하고 적절히 에스컬레이션하세요. 🕵️‍♂️


즉각적인 완화 및 격리 체크리스트(실용적)

  • 패치: 권고에 따라 EBS 12.2.3~12.2.14 설치본에 Oracle의 긴급 패치를 적용하세요. 필수 CPU 순서를 따르세요. ✅
  • 즉시 패치할 수 없는 경우: EBS UI에 대한 공개 접근을 차단하세요(방화벽, WAF, VPN/신뢰된 IP로 제한). 🔒
  • 경계에서 IOCs 차단: 200.107.207.26 및 185.181.60.11 및 기타 벤더 제공 IOC IP/도메인을 차단하세요.
  • 헌팅: 위의 Splunk/Elastic 헌팅과 안전한 Python 스크립트를 로그 전체에 실행하세요.
  • EDR/AV: 세 개의 SHA-256 해시와 웹셸 아티팩트를 검색하고, 발견 시 호스트를 격리하세요.
  • 포렌식: 의심되는 호스트의 메모리 및 디스크 이미지를 캡처하고 로그를 보존하세요.
  • 자격 증명: 격리 후 서비스/관리자 자격 증명을 교체하세요.
  • 법률/커뮤니케이션: 규제 대상 데이터가 유출된 경우 사고 통지를 준비하세요.

리더십 브리핑(원페이지 — 복사/붙여넣기)

제목: 긴급: CVE-2025-61882 — Oracle E-Business Suite — 즉각적인 조치 필요

내용: Oracle EBS(12.2.3~12.2.14)의 치명적인 사전 인증 RCE(CVE-2025-61882). 데이터 탈취/갈취 캠페인에서 악용됨.

즉각적인 요청(다음 24시간):

  • EBS 12.2.3~12.2.14 인스턴스가 존재하는지 확인.
  • 존재하는 경우: 지금 Oracle의 긴급 패치 적용 또는 해당 인스턴스에 대한 외부 접근 차단.
  • Oracle IOCs 차단 및 벤더 피드를 SOC 탐지에 통합.
  • SOC: 우선순위 헌팅 실행(UiServlet/OA_HTML POST, 악성 IP, 리버스 셸 패턴, 파일 해시 매칭).
  • IOC 히트가 있는 경우: 호스트 격리, 포렌식 수집, 법무 부서 통지.

위험: 높음 — 전체 애플리케이션 서버 침해, 데이터 유출, 규제 노출 가능성. 결론: 지금 패치하거나 차단하세요. — 🗿


최종 참고 사항 및 주의 사항

  • 공개 PoC가 존재하며 무기화 가능합니다. 서면 승인 없이 프로덕션 또는 제3자 시스템에서 실행하지 마세요. 격리된 랩에서만 사용하세요. ⚠️
  • Oracle의 IOCs는 여러 사고에 걸쳐 관찰된 활동을 나타냅니다 — 일부 지표는 관련 공격과 연관될 수 있습니다. 컨텍스트를 고려하여 히트를 조사하되, 양성 매치는 에스컬레이션하세요.
  • 버전 노출 정보는 노이즈가 많습니다 — 침해를 결론 내리기 전에 항상 버전 증거를 높은 신뢰도의 익스플로잇 지표와 상호 연관시키세요. 📌

마무리 메모

필요한 모든 것을 갖추었습니다: 개요, Oracle에서 직접 제공한 IOCs, 실용적인 헌팅, 그리고 트리아지를 시작할 안전한 스크립트. EBS 서버를 패치하거나 차단하고, SOC 전체에 IOC 헌팅을 실행하고, 의심스러운 것은 모두 격리하세요. 경계를 유지하고, 빠르게 패치하고, 사고 대응 역량을 발휘하세요. 🗿🔥


도구 다운로드