• STATISTIQUES
  • Il y a eu un total de 0 membres et 37036 visiteurs sur le site dans les dernières 24h pour un total de 37 036 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking
    [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Jar Malware
25-08-2014, 18h27
Message : #1
Yttrium Hors ligne
Membre actif
*



Messages : 106
Sujets : 14
Points: 48
Inscription : Jul 2012
Reverse Jar Malware
Salut, j'aimerais connaitre votre avis a propos d'un malware reçu ce matin.

Je commence mon histoire en recevant un mail de 'Bitmine Tech' > billing@bitmaintech.com nommé 'Payment Invoice 142' et ayant pour text "Confirmation 142"
Ne comprenant pas du tout la raison de ce message, je me résous a analyser sur VM le fichier invoice_142.jar envoyé en pièce jointe, mais je suis vite bloqué.

Je ne m'y connais pas du tout en reverse de fichier java, et j'ai d'abord utilisé "jd-gui-0.3.6" qui ne me donnais que des fonctions totalement vide
J'ai ensuite essayé JAD158g qui a réussis a me donner plus d'info, mais que j'ai eu beaucoup de mal a comprendre.

Je post maintenant ça ici, en espérant que quelqu'un ai plus de chance et surtout de compétence dans ce domaine que moi Smile


Voici le lien sur lequel j'ai Upload : http://multiupload.biz/nl_cqmib52lo8hu
Si vous avez des problèmes avec ce lien, signalé le moi, je n'ai jamais utilisé ce service.

Merci !
BufferoverfloW

Всё минется, одна правда останется
+1 (0) -1 (0) Répondre
25-08-2014, 18h53
Message : #2
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: Reverse Jar Malware
Well, je regarde ça, et j'essaierai de poster un ptit rapport Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
25-08-2014, 19h47 (Modification du message : 25-08-2014, 20h24 par supersnail.)
Message : #3
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: Reverse Jar Malware
Bon, je poste ici le début de l'analyse (j'updaterai le thread au fur et à mesure des mes découvertes)

On a affaire ici à un .jar (donc on peut suspecter une appli codée en java). Le premier réflexe ici est de sortir jd-gui qui... ne fonctionne pas (c'est ballot). On va donc extraire l'archive (étant donné qu'un .jar n'est en pratique qu'un vulgaire fichier zip), ce qui nous donne une arborescence ressemblant à ceci:

Code :
.
|- META-INF
|    |- MANIFEST.MF
|- plugins
|    |- Server.class
|- stub
|    |- EcryptedWrapper.class
|    |- EncryptedLoader.class  
|    |- EncryptedLoaderOld.class
|    |- stub.dll

On peut apercevoir un "stub.dll", qui ressemble à un module qui va être chargé, sauf que un "file" dessus montre qu'il est visiblement chiffré (aucun header exploitable dedans). On va donc devoir se farcir de l'IL java, et pour cela on va utiliser notre ami Radare2 (je vous sens enthousisastes d'un seul coup :þ).
Plûtot que de prendre un fichier au hasard, on va plûtot repérer la classe principale (il suffit pour cela de lire le MANIFEST.MF) et la désassembler avec radare2.

On se retrouve donc ce code qui ressemble à ceci:
Code :
/ (fcn) sym.stub_EcryptedWrapper.main 35
|          0x0000080e    b20004       getstatic java/lang/System/out Ljava/io/PrintStream;
|          0x00000811    1261         ldc "gekvxgigir|ekztvx~pywdjcmblu{97R\tzekn`gicmr|s}@NLku{djdjq\x7ffhywu{}sztgi`naovx:4Q_wyfhmcdj`nq\x7fp~CMeBv{djdjq\x7ffkzwv{}sytgi`mbou{94R\tyekmcgicnq\x7fp~CMfk_xdjdjq\x7ffkytux}szwgi`malvx94Q\wzfkm`djcnq\x7fp~CMfhvQgjdjq\x7ffhztv{~sztdi`nblux:7Q_tyehn`dj`mq\x7fp~CMfhuxNidjq\x7ffhytux}pywgjcmalv{:4R_wzekm`di`mr|p~CMfhu{g@gjq\x7ffhywu{}sztgi`naovx:4Q_wyfhmcdj`nq\x7fp~CMfhu{diNiq\x10$.,$6:):5:g+9n��#:9n{\x03\x16w\x16$.80'+4!#\x7f&kM]f\x0c\x10\x16\x0bjg@r\x7ffhywu{}sztgi`naovx:4Q_wyfhmcdj`nq\x7fp~CMfhu{dj
|          0x00000813    b80058       invokestatic stub/EncryptedLoader/ALLATORIxDEMOxasdqwbymmgfghfghgrertwer23rfe(Ljava/lang/String;)Ljava/lang/String;
|             0x00000000(0x0, 0x0)
|          0x00000816    b60005       invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
|             0x00000000()
|          0x00000819    bb0014       new stub/EcryptedWrapper
|          0x0000081c    59           dup
|          0x0000081d    b70015       invokespecial stub/EcryptedWrapper/<init>()V
|             0x00000000()
|          0x00000820    59           dup
|          0x00000821    4c           astore_1
|          0x00000822    b60016       invokevirtual stub/EcryptedWrapper/load()V
|             0x00000000(0x0)
|          0x00000825    bb0017       new java/lang/Thread
|          0x00000828    59           dup
|          0x00000829    2b           aload_1
|          0x0000082a    b70018       invokespecial java/lang/Thread/<init>(Ljava/lang/Runnable;)V
|             0x00000000(0x0)
|          0x0000082d    b60019       invokevirtual java/lang/Thread/start()V
|             0x00000000()
\          0x00000830    b1           return
On peut donc voir ici ce qui ressemble vraisemblablement au chargement de ce qui va être la clé pour déchiffrer le stub.dll, qui va être passé en argument à la fonction stub/EncryptedLoader/ALLATORIxDEMOxasdqwbymmgfghfghgrertwer23rfe(Ljava/lang/StringWinkLjava/lang/String (comprenez String stub.EncryptedLoader.ALLATORIxDEMOxasdqwbymmgfghfghgrertwer23rfe (String whatever)).
On va donc fermer notre classe actuelle pour aller inspecter cette mystérieuse méthode ALLATORIxDEMOxasdqwbymmgfghfghgrertwer23rfe.
On lance donc une analyse de notre classe via "af" puis on se positionne sur notre fonction avec "s sym.stub_EncryptedLoaderOld.ALLATORIxDEMOxasdqwbymmgfghfghgrertwer23rfe" puis on passe en "visual mode" avec "V" parce que ce sera beaucoup plus pratique pour nous pour debugguer (à noter que radare2 affiche des warnings, ce qui laisse supposer des tricks anti-désassembleurs qui font échouer jd-gui Wink).

Je reposterai donc quand j'aurai (ou si quelqu'un d'autre de plus familier avec l'"assembleur" Jasmin qui traduit le bytecode java) reversé la routine de déchiffrement du bouzin Wink

Edit: cette portion de code ne semble pas décoder la DLL, mais visiblement ça a l'air essentiel pour pouvoir drop la DLL
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (4) -1 (0) Répondre
25-08-2014, 20h20
Message : #4
Yttrium Hors ligne
Membre actif
*



Messages : 106
Sujets : 14
Points: 48
Inscription : Jul 2012
RE: Reverse Jar Malware
Petite questin, il n'existe pas de "debugger" Java ? On pourrais laisser le programme tournée pour qu'il nous déchiffre directement la dll, et le bloqué avant qu'il ne lance le reste ?
BufferoverfloW

Всё минется, одна правда останется
+1 (0) -1 (0) Répondre
27-08-2014, 16h57 (Modification du message : 27-08-2014, 16h57 par supersnail.)
Message : #5
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: Reverse Jar Malware
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (7) -1 (0) Répondre
07-09-2014, 17h07
Message : #6
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: Reverse Jar Malware
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (8) -1 (0) Répondre
24-02-2016, 10h20
Message : #7
ZeR0-@bSoLu Hors ligne
Angel Of Byte
*



Messages : 43
Sujets : 2
Points: 4
Inscription : Feb 2016
RE: Reverse Jar Malware
je poste juste ici pour dire que c'était intéréssant à lire Smile
+1 (1) -1 (1) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Infection, Fonctionnement, Contrôle et Détection de Malware InstinctHack 13 738 08-05-2019, 22h07
Dernier message: Di0Sasm
  [Malz] - Malware dans .doc notfound 0 125 24-03-2015, 11h38
Dernier message: notfound
  Mes Analyses de Malware Yttrium 6 316 05-02-2015, 16h15
Dernier message: sakiir
  [.NET] Wobot Reverse Yttrium 0 113 28-08-2014, 04h59
Dernier message: Yttrium
  Malware uKash Swissky 21 1,210 19-11-2012, 12h05
Dernier message: InstinctHack

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut