Auteur Sujet: Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)  (Lu 38379 fois)

0 Membres et 2 Invités sur ce sujet

Hors ligne HWW

  • Membre régulier
  • **
  • Messages: 113
  • +5/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #15 le: 03 août 2016 à 11:55:27 »
pour le code je pensais tout simplement à faire x = z et on aurait alors \z... et ainsi l'anti virus ne capterait peut être plus que c'est de l'hexa non ?

M'enfin bon après je me dis que 3 anti virus seulement qui détectent ca passe :)

Hors ligne WarLocG

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 474
  • +67/-0
  • Spé Code Python Java Bash
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #16 le: 03 août 2016 à 12:18:23 »
Juste une petite remarque, pour gagner quelques lignes, vous savez qu'on peut utiliser un 'for' au lieu d'un 'while' ?
#define OPERATIONS 100000000 // juste une petite macro pour se simplifier la vie
int i=0;
while(i<OPERATIONS) //100000000 opérations
{
   i++;
}
et
int i;
for (i=0; i<OPERATIONS; i++);
se valent. En C++, on peut même mettre le int i directement dans le for aussi pour gagner encore une ligne.
for (int i=0; i<OPERATIONS; i++);

#include <stdio.h>

#define OPERATIONS 100

void main(){
  // test du while
  int i = 0;
  while(i < OPERATIONS){ i++; }
  printf("Nombre d'operations dans while: %d\n", i);

  // test du for
  for (i=0; i < OPERATIONS; i++);
  printf("Nombre d'operations dans for: %d\n", i);
}


Edit: J'avais pas affiché la bonne variable dans les printf. C'est corrigé.
« Modifié: 03 août 2016 à 12:33:08 par WarLocG »
A lire avant de poser vos questions : http://www.linux-france.org/article/these/smart-questions/smart-questions-fr.html
Pour les questions de base sous debian : https://debian-facile.org/index-df.php
Veuillez utiliser la fonction Rechercher avant de poster.

Hors ligne WK

  • Contributeur de Kali-linux.fr
  • Membre régulier
  • *****
  • Messages: 188
  • +19/-1
pour le code je pensais tout simplement à faire x = z et on aurait alors \z... et ainsi l'anti virus ne capterait peut être plus que c'est de l'hexa non ?

M'enfin bon après je me dis que 3 anti virus seulement qui détectent ca passe :)
Je viens de le faire, en plus de faire une sacrée cochonnerie dans les flags ca ne marche pas :'(

Juste une petite remarque, pour gagner quelques lignes, vous savez qu'on peut utiliser un 'for' au lieu d'un 'while' ?

Oui c'est vrai mais personnelement je trouve la syntaxe de while plus parlante dans les exemples.

Sinon je pensais créer un programme qui créerait des trojans de cette manière et qui en plus modifierait le shellcode en ajoutant/substituant des valeurs aux opcodes depuis une clé aléatoire venant du programme lui même rendant le shellcode inutile.
Le programme créerai le trojan avec le shellcode et mettrai dedans la même clé permettant de décrypter le shellcode si et seulement si nous ne sommes pas dans la sandbox, le tout pour créer un trojan totalement FUD.
Qu'en pensez-vous?

edit:ceci dit je n'ai aucune idée de comment modifier les opcodes en C ^^
« Modifié: 03 août 2016 à 12:49:25 par WK »

Hors ligne Checkfx

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 401
  • +28/-3
  • ! Bazinga
    • Kali Québec
Je me permet un petit commentaire !  :P

DIIIIEEU ENFIN DU BON CONTENU SUR CE SITE !


Ce que j'en ai marre des merdiques questions de aircrack !  ::)
Tu m'as devancé lol

Je savais a 100% que tu serais du même avis que moi la dessus cher coyote !  8)

Hors ligne WK

  • Contributeur de Kali-linux.fr
  • Membre régulier
  • *****
  • Messages: 188
  • +19/-1
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #19 le: 03 août 2016 à 14:54:23 »
Dernier retour :
Après avoir essayé de changer le shellcode de 1001 manière, j'en ai marre, et je compile exactement le même code mais sans le shellcode. Surprise, cela ne change absolument rien. Je me dis, c'est la ligne qui appelle le shellcode qui doit mettre la puce à l'oreille à l'antivirus : je l'enlève, je compile. Surprise : Rien ne change, toujours bloqué par avast et 360 Total machin truc.
Bref, je me réduis à compiler ce code
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>

int main(int argc, char * argv[])
{
                       
return 1;
}

Et Avast, 360 Total Security et en plus Avira détectent ca comme un malware  ;D
(testé sur machine virtuelle)
et je recois un 4/54 sur VirusTotal !


Je suppose que c'est la cross-compilation qui fait ca, donc j'essayerai de compiler mes trojans depuis une vrai machine Windows après le diner (j'ai faim'), si ca se trouve ils sont totalement FUD en fait  ;D

N.B: c'est quand même dingue de voir se genre de Fauxs positifs..

Hors ligne HWW

  • Membre régulier
  • **
  • Messages: 113
  • +5/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #20 le: 03 août 2016 à 15:36:47 »
Peut être que de nombreux trojans utilisent ce morceau de code. Tu as testé de remplacer le return 1 par un printf ( ) ? Et voir le résultat.

Hors ligne WK

  • Contributeur de Kali-linux.fr
  • Membre régulier
  • *****
  • Messages: 188
  • +19/-1
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #21 le: 03 août 2016 à 16:15:48 »
Je ne comprend pas trop ce que tu veux dire, tout les programmes utilisent ce code ^^

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>

int main(int argc, char * argv[])
{
                       
return 1;
}

Hors ligne WarLocG

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 474
  • +67/-0
  • Spé Code Python Java Bash
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #22 le: 03 août 2016 à 16:17:46 »
Citer
Peut être que de nombreux trojans utilisent ce morceau de code. Tu as testé de remplacer le return 1 par un printf ( ) ? Et voir le résultat.

@HWW: main est de type int, donc le return <nombre entier> est necessaire, ou alors faut faire un void main dans ce cas là.
A lire avant de poser vos questions : http://www.linux-france.org/article/these/smart-questions/smart-questions-fr.html
Pour les questions de base sous debian : https://debian-facile.org/index-df.php
Veuillez utiliser la fonction Rechercher avant de poster.

Hors ligne HWW

  • Membre régulier
  • **
  • Messages: 113
  • +5/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #23 le: 04 août 2016 à 08:47:19 »
effectivement je n'avais pas fait attention à la syntaxe  :-[
Enfin ce que je souhaite dire c'est que l'AV doit se méfier des codes qui ne retournent rien. Peut être ajouter un petit calcul genre x = 1+1, print x. Et avec un break avant le print pour ne pas l'afficher.

Vous en pensez quoi ?

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3785
  • +263/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Afin de t'aider avec la détection du système Windows, un petit code pour connaitre la version. Si tu sais que tu es avec une version 5.1.2600 tu sais que c'est XP et du coup tu sais où chercher quels fichiers ;)

#include <stdio.h>
#include <windows.h>

void main(){
#if defined(_WIN32)
  DWORD dwVersion = GetVersion();

  // Get the Windows version.

  DWORD dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
  DWORD dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
  DWORD dwBuild = 0;

  // Get the build number.

  if (dwVersion < 0x80000000) dwBuild = (DWORD)(HIWORD(dwVersion));

  printf("Version: %d.%d (%d)",dwMajorVersion,dwMinorVersion,dwBuild);
#else
  puts("Systeme non Windows 32");
#endif
}


Référence : https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439%28v=vs.85%29.aspx
Le mode très fainéant reste:

system("ver");
Doc: https://en.wikipedia.org/wiki/Ver_(command)

Hors ligne WK

  • Contributeur de Kali-linux.fr
  • Membre régulier
  • *****
  • Messages: 188
  • +19/-1
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #25 le: 06 août 2016 à 01:25:49 »
DERNIER RETOUR :

Après avoir déduis que le compilateur MingW32 était la source du problème, je viens de compiler mon code avec le compilateur de visual studio.
Surprise : 0/54 sur VirusTotal !
Lors des tests sur mes machines virtuelles, AUCUN antivirus n'a trouvé le payload ! Il y avait Kasperksy, norton, AVG, Avast, 360 total security, avira, Windows Defneder,..

En bref, ces trojans sont totalment FUD ! Il suffit simplement d'utiliser le compilateur de Microsoft.

Je vais editer l'article en conséquence.
Merci pour les réactions positives à mon article :)


Hors ligne kcdtv

  • Contributeur de Kali-linux.fr
  • Membre VIP
  • *****
  • Messages: 633
  • +59/-3
    • crack-wifi.com
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #26 le: 06 août 2016 à 05:56:08 »
Ce thème est un délice  de bout en bout.
Merci  :)

Hors ligne HWW

  • Membre régulier
  • **
  • Messages: 113
  • +5/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #27 le: 08 août 2016 à 09:24:35 »
Bien joué !  :D 8) ;)

Hors ligne HWW

  • Membre régulier
  • **
  • Messages: 113
  • +5/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #28 le: 16 août 2016 à 11:22:16 »
En regardant ta commande pour msfvenom je viens de comprendre que WK veut dire White Koala  ;D
Pas trop gênant les poils dans le claviers et le ventilo ? :D

Hors ligne WK

  • Contributeur de Kali-linux.fr
  • Membre régulier
  • *****
  • Messages: 188
  • +19/-1
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #29 le: 16 août 2016 à 14:31:41 »
À vrai dire, au Royaume des Koalas, j'ai des scribes qui se chargent de se rôle ingrat. ^^