> Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé ;-)
> Maître AMcD® svp ?
Lol. Et après, d'aucuns vont trouver que j'ai la grosse tête :-).
Bon, assez rigolé.
En fait, on peut tout faire concernant les divers problèmes évoqués dans vos
posts. Inutile de saliver d'avance, je ne vais pas tout vous dire non plus,
ça va, j'en ai marre de recevoir des mails du genre "t'es fou, faut pas
détailler ça !". En gros voici. Je parle de Win2K/XP hein.
A) Exécuter un programme depuis la mémoire
Oui, c'est faisable, sans passer par des fichiers temporaires.
B) Charger et mapper des DLLs depuis la mémoire
Oui, c'est faisable, là aussi sans fichier temporaraire.
A) et bien plus simple que B). B) c'est assez pénible, il faut reconstruire
l'IAT, mapper correctement les sections (c'est pas toujours facile, il y a
le problème des relocations), etc. Pour B), faut faire joujou avec
VirtualAlloc(). Pour A) il faut s'amuser en plus avec VirtualProtect() et
Write/ReadProcessMemory().
C) Self-Modifying code
Là aussi c'est possible. Et c'est pas dur. Il y a plusieurs types de
modification, au runtime, par maj, etc.
Notons que pour A), B) et C) il risque parfois d'y avoir des problèmes de
privilège. Un hacker correct saura comment obtenir les droits qu'il faut...
En fait, c'est un peu là que réside le problème. Il faut hacker pas mal et
si on divulgue un peu trop les techniques, il y aura toujours un neuneu qui
va s'en servir pour faire des bêtises. Et vu que les lois ont changées
depuis quelques années, je reste donc "évasif"...
Beaucoup de techniques sont issues du monde des malwares. Par exemple, quand
on écrit un cheval de Troie, il faut bien faire attention au problèmes de
détection, aux pare-feu, etc. La détection, c'est, par exemple, lors de
l'injection d'un processus. Un soft prudent pourra toujours scanner les DLLs
de son espace mémoire et deceler facilement une nouvelle DLL. Je ne
conseille d'ailleurs pas cette méthode d'injection. Plus rusé était
d'injecter un processus via CreateRemoteThread() et WriteProcessMemory(),
mais, là aussi, ça se detecte.
Le top, c'est quand même de tout faire en mémoire. Peu de softs scannent
leur mémoire en temps réel :-). Et puis, ce sont des techniques qui trompent
facilement les outils de detection. Je ne vais pas donner de mauvaises idées
ici, mais, par exemple, supposons un malware qui doit se mettre à jour de
temps en temps. Il n'est pas envisageable, pour un codeur sérieux,
d'utiliser des fichiers temporaires (ça, c'est du niveau des journaux de
hack français, c'est à dire que ça fait rire tous les pros...), ni même de
DLL (pas discret, il suffit de scanner les adresses de mapp de DLL, etc).
Une des techniques, parmi tant d'autres, est de modifier le code du malware
direct en mémoire. C'est vraiment furtif. Rien n'apparaît de nouveau dans
l'espace mémoire, pas de DLL, pas d'augmentation de taille (si si, on peut
:-) ), rien. Et il y a bien pire...
Sinon, si ça intéresse quelqu'un je peux poster un exemple de code
self-modifying. Simple hein.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick 'Zener' Brunet
Bonjour.
Je réponds à AMcD® qui a écrit :
Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé ;-) Maître AMcD® svp ?
Lol. Et après, d'aucuns vont trouver que j'ai la grosse tête :-).
Bon, assez rigolé.
En fait, on peut tout faire concernant les divers problèmes évoqués dans vos posts. Inutile de saliver d'avance, je ne vais pas tout vous dire non plus, ça va, j'en ai marre de recevoir des mails du genre "t'es fou, faut pas détailler ça !". En gros voici. Je parle de Win2K/XP hein.
Faut attendre encore un peu, j'ai pas fini de développer mon super système alternatif ;-)
[Techniques survolées]
(si si, on peut :-) ), rien. Et il y a bien pire...
Je n'en doute pas ;-)
D'ailleurs je me suis toujours demandé par quelle perversion une primitive telle que CreateRemoteThread() avait pu se retrouver disponible dans l'API standard ! J'essaie d'imaginer à quoi ça peut servir en dehors de l'écriture de debuggers - ce qui dépasse de loin le standard - et la mise en oeuvre facilitée de pacatolikwares divers...
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Bonjour.
Je réponds à AMcD® <arnold.mcdonald@free.fr> qui a écrit :
Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé
;-) Maître AMcD® svp ?
Lol. Et après, d'aucuns vont trouver que j'ai la grosse tête :-).
Bon, assez rigolé.
En fait, on peut tout faire concernant les divers problèmes évoqués
dans vos posts. Inutile de saliver d'avance, je ne vais pas tout vous
dire non plus, ça va, j'en ai marre de recevoir des mails du genre
"t'es fou, faut pas détailler ça !". En gros voici. Je parle de
Win2K/XP hein.
Faut attendre encore un peu, j'ai pas fini de développer mon super système
alternatif ;-)
[Techniques survolées]
(si si, on peut :-) ), rien. Et il y a bien pire...
Je n'en doute pas ;-)
D'ailleurs je me suis toujours demandé par quelle perversion une primitive
telle que CreateRemoteThread() avait pu se retrouver disponible dans l'API
standard !
J'essaie d'imaginer à quoi ça peut servir en dehors de l'écriture de
debuggers - ce qui dépasse de loin le standard - et la mise en oeuvre
facilitée de pacatolikwares divers...
Cordialement,
--
/***************************************
* Patrick BRUNET
* E-mail: lien sur http://zener131.free.fr/ContactMe
***************************************/
Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé ;-) Maître AMcD® svp ?
Lol. Et après, d'aucuns vont trouver que j'ai la grosse tête :-).
Bon, assez rigolé.
En fait, on peut tout faire concernant les divers problèmes évoqués dans vos posts. Inutile de saliver d'avance, je ne vais pas tout vous dire non plus, ça va, j'en ai marre de recevoir des mails du genre "t'es fou, faut pas détailler ça !". En gros voici. Je parle de Win2K/XP hein.
Faut attendre encore un peu, j'ai pas fini de développer mon super système alternatif ;-)
[Techniques survolées]
(si si, on peut :-) ), rien. Et il y a bien pire...
Je n'en doute pas ;-)
D'ailleurs je me suis toujours demandé par quelle perversion une primitive telle que CreateRemoteThread() avait pu se retrouver disponible dans l'API standard ! J'essaie d'imaginer à quoi ça peut servir en dehors de l'écriture de debuggers - ce qui dépasse de loin le standard - et la mise en oeuvre facilitée de pacatolikwares divers...
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Pierre Maurette
Patrick 'Zener' Brunet, le 25/06/2005, a écrit : [...]
Faut attendre encore un peu, j'ai pas fini de développer mon super système alternatif ;-)
Le Coran (alternatif) ?
-- Pour répondre directement: enlever une lettre sur deux wwaannaaddoooo -> wanadoo
Pierre Maurette
Patrick 'Zener' Brunet, le 25/06/2005, a écrit :
[...]
Faut attendre encore un peu, j'ai pas fini de développer mon super système
alternatif ;-)
Le Coran (alternatif) ?
--
Pour répondre directement: enlever une lettre sur deux
wwaannaaddoooo -> wanadoo
Patrick 'Zener' Brunet, le 25/06/2005, a écrit : [...]
Faut attendre encore un peu, j'ai pas fini de développer mon super système alternatif ;-)
Le Coran (alternatif) ?
Vous cherchez à susciter des tensions...
Il faut décoder l'actualité et chercher à sortir de la Matrice. C'est peut-être devenu ringard, mais ça reste très sérieux...
Mais la partie intéressante de mon post portait sur CreateRemoteThread().
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Vincent Burel
"AMcD®" wrote in message news:42bd58f9$0$7699$
> Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé ;-)
En fait, on peut tout faire concernant les divers problèmes évoqués dans
vos
posts. Inutile de saliver d'avance, je ne vais pas tout vous dire non
plus,
ça va, j'en ai marre de recevoir des mails du genre "t'es fou, faut pas détailler ça !". En gros voici. Je parle de Win2K/XP hein.
Ben il faut dire que tu sais même pas a qui tu parle ! pour ma part, y'a des infos que je donne uniquement si je sais à qui je parle... et y'en a d'autre que je donne uniquement si je suis en contrat...
Bref, je pense que ca a du sens de faire un peu attention...
A+ VB
"AMcD®" <arnold.mcdonald@free.fr> wrote in message
news:42bd58f9$0$7699$636a15ce@news.free.fr...
> Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé ;-)
En fait, on peut tout faire concernant les divers problèmes évoqués dans
vos
posts. Inutile de saliver d'avance, je ne vais pas tout vous dire non
plus,
ça va, j'en ai marre de recevoir des mails du genre "t'es fou, faut pas
détailler ça !". En gros voici. Je parle de Win2K/XP hein.
Ben il faut dire que tu sais même pas a qui tu parle !
pour ma part, y'a des infos que je donne uniquement si je sais à qui je
parle...
et y'en a d'autre que je donne uniquement si je suis en contrat...
Bref, je pense que ca a du sens de faire un peu attention...
> Si quelqu'un a du nouveau sur ce thème, je suis toujours intéressé ;-)
En fait, on peut tout faire concernant les divers problèmes évoqués dans
vos
posts. Inutile de saliver d'avance, je ne vais pas tout vous dire non
plus,
ça va, j'en ai marre de recevoir des mails du genre "t'es fou, faut pas détailler ça !". En gros voici. Je parle de Win2K/XP hein.
Ben il faut dire que tu sais même pas a qui tu parle ! pour ma part, y'a des infos que je donne uniquement si je sais à qui je parle... et y'en a d'autre que je donne uniquement si je suis en contrat...
Bref, je pense que ca a du sens de faire un peu attention...
A+ VB
Thierry
Bonjour,
AMcD® a écrit :
Le top, c'est quand même de tout faire en mémoire. Peu de softs scannent leur mémoire en temps réel :-). Et puis, ce sont des techniques qui trompent facilement les outils de detection. Je ne vais pas donner de mauvaises idées ici, mais, par exemple, supposons un malware qui doit se mettre à jour de temps en temps. Il n'est pas envisageable, pour un codeur sérieux, d'utiliser des fichiers temporaires (ça, c'est du niveau des journaux de hack français, c'est à dire que ça fait rire tous les pros...), ni même de DLL (pas discret, il suffit de scanner les adresses de mapp de DLL, etc). Une des techniques, parmi tant d'autres, est de modifier le code du malware direct en mémoire.
Mais justement il me semble qu'on s'achemine vers des processeurs gerant les segments de code en read only, pour justement contrer les malwares, mais mets a mal toute tentative d'obfuscation. Non ?
Sinon, si ça intéresse quelqu'un je peux poster un exemple de code self-modifying. Simple hein.
OK.
-- « Le travail est probablement ce qu'il y a sur cette terre de plus bas et de plus ignoble. Il n'est pas possible de regarder un travailleur sans maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager, dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. » Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<
Bonjour,
AMcD® a écrit :
Le top, c'est quand même de tout faire en mémoire. Peu de softs
scannent leur mémoire en temps réel :-). Et puis, ce sont des
techniques qui trompent facilement les outils de detection. Je ne vais
pas donner de mauvaises idées ici, mais, par exemple, supposons un
malware qui doit se mettre à jour de temps en temps. Il n'est pas
envisageable, pour un codeur sérieux, d'utiliser des fichiers
temporaires (ça, c'est du niveau des journaux de hack français, c'est
à dire que ça fait rire tous les pros...), ni même de DLL (pas
discret, il suffit de scanner les adresses de mapp de DLL, etc). Une
des techniques, parmi tant d'autres, est de modifier le code du
malware direct en mémoire.
Mais justement il me semble qu'on s'achemine vers des processeurs gerant
les segments de code en read only, pour justement contrer les malwares,
mais mets a mal toute tentative d'obfuscation.
Non ?
Sinon, si ça intéresse quelqu'un je peux poster un exemple de code
self-modifying. Simple hein.
OK.
--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<
Le top, c'est quand même de tout faire en mémoire. Peu de softs scannent leur mémoire en temps réel :-). Et puis, ce sont des techniques qui trompent facilement les outils de detection. Je ne vais pas donner de mauvaises idées ici, mais, par exemple, supposons un malware qui doit se mettre à jour de temps en temps. Il n'est pas envisageable, pour un codeur sérieux, d'utiliser des fichiers temporaires (ça, c'est du niveau des journaux de hack français, c'est à dire que ça fait rire tous les pros...), ni même de DLL (pas discret, il suffit de scanner les adresses de mapp de DLL, etc). Une des techniques, parmi tant d'autres, est de modifier le code du malware direct en mémoire.
Mais justement il me semble qu'on s'achemine vers des processeurs gerant les segments de code en read only, pour justement contrer les malwares, mais mets a mal toute tentative d'obfuscation. Non ?
Sinon, si ça intéresse quelqu'un je peux poster un exemple de code self-modifying. Simple hein.
OK.
-- « Le travail est probablement ce qu'il y a sur cette terre de plus bas et de plus ignoble. Il n'est pas possible de regarder un travailleur sans maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager, dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. » Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<