[C] RunPE
|
22-05-2014, 02h12
(Modification du message : 24-05-2014, 14h51 par Ekroz.)
Message : #1
|
|
Ekroz
Membre actif Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
[C] RunPE
|
|
22-05-2014, 06h32
Message : #2
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [C] RunPE
sauf erreur il en manque un bout là , au minimum un include et/ou un main, quelques explications -même succintes- peut-être aussi pour un sujet qui commence à devenir un peu touchy
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
22-05-2014, 09h38
Message : #3
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,614 Sujets : 72 Points: 466 Inscription : Jan 2012 |
RE: [C] RunPE
@Ekroz: sinon j'avais aussi écrit un tool qui permet de dump sans trop se casser la tête un RunPE (et qui fonctionne même avec un bin .NET, c'est d'ailleurs pour ça que j'ai codé ce truc :þ) dont la source est dispo ici (le machin est pas maintenu et le code est dégueulasse, mais y'a des tricks sympas dans le code).
Bref globalement mon tool injecte une DLL avant le chargement du processus, DLL qui va hooker WriteProcessMemory pour lui faire écrire le contenu de la zone mémoire dans un fichier (et ainsi récup les binaires sans se fatiguer). Sinon gruik, les explications sont dans le "spoiler"
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
22-05-2014, 13h12
Message : #4
|
|
Ekroz
Membre actif Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
RE: [C] RunPE
Je pouvais pas trop poster le reste du code, je sais pas ce que certains en auraient pu en faire, je peux toujours envoyer en MP si ça intéresse.
Sinon merci supersnail pour ta réponse, je regarderai ça d'un peu plus près ça ma l'air intéressant comme technique mais tu dis que le contenu de la zone mémoire est écrit dans un fichier ? Dans ce cas là ça laisse quelques traces sur le disque dur... |
|
22-05-2014, 13h48
Message : #5
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,614 Sujets : 72 Points: 466 Inscription : Jan 2012 |
RE: [C] RunPE
Nan mon prog c'est justement pour dumper un RunPE sans se fatiguer à sortir OllyDBG (et ça permet d'extraire le malware packé avec un gain de temps non négligeable face à un "crypter" codé en .NET ou en AutoIT)
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
22-05-2014, 13h51
Message : #6
|
|
Ekroz
Membre actif Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
RE: [C] RunPE
Oui la technique est relativement simple pour les RE, quand je vois certains softwares qui émulent leur code dans une VM je me dis que je peux aller me coucher, d'autant plus qu'il y a très peu de documentation à ce sujet, les anti-RE tricks sur le Net restent très basiques à moins de maîtriser parfaitement l'ASM, le format PE, la mémoire, les processus et la crypto...
|
|
22-05-2014, 15h06
Message : #7
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [C] RunPE
(22-05-2014, 09h38)supersnail a écrit : Sinon gruik, les explications sont dans le "spoiler" j'avais bien compris, mais tu dis ça parce-que tu connais déjà le principe et que les explications dans le spoiler te sont suffisantes (22-05-2014, 13h12)Ekroz a écrit : Je pouvais pas trop poster le reste du code, je sais pas ce que certains en auraient pu en faire ben c'est tout le propos, à quoi (ou à qui) ça sert de poster ça ? soit on considère que c'est un simili-tuto, et auquel cas il faut considérer également à qui on s'adresse, qui va le lire et qui ça va intéresser, auquel cas le but est de décortiquer le principe et le rendre facilement compréhensible, si on est déjà rodé à l'API win et qu'on a pas besoin de beaucoup d'explications, c'est probablement qu'on tourne autour d'un sujet qu'on connait déjà et de fait c'est plus tellement un tuto puisqu'on y apprend rien de plus qu'on savait pas déjà avant soit on considère que ça n'a pas une vocation de tuto et qu'on se contente de livrer le code, auquel cas il faut quand même s'efforcer de livrer un code qui compile en l'état vous croyez pas ? c'est une des conditions qui fera que le post trouvera une utilité, intéressera un plus grand nombre de membres etc. pour le reste on admet que si on fait des tutos sur comment pirater à l'aide de SQLi on peut bien donner le code d'un RunPE, sans parler du fait que ce qui est posté a une vocation pédagogique et qu'on ne saurait être tenus responsables de l'utilisation qui en est faite, un peu comme sur la plupart des forums... bref no offense hein, évidement, mais je pense qu'au delà du sujet posté (plus ou moins intéressant par nature) il convient de s'interroger sur le public visé, sans quoi ben pour comprendre à quoi sert/comment fonctionne RunPE, autant que j'aille regarder ailleurs que sur npn, cqfd
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
Utilisateur(s) parcourant ce sujet : 4 visiteur(s)