Post Populaire



2. Pourquoi cette version ?



  • C'est le R.A.T (Remote Access Trojan) le plus stable qui ai été créé pour tous os Windows confondus.
  • IL est FWB, c est a dire que c est le server qui se connecte au client ,cela permet de créer une connection a
    travers un réseau.
  • Il as la particularité de Bypass firewall et routeurs.
  • Il a un un Rootkit Ring0 integré.


    Bizarre me direz-vous !. Comment un malware peut bypass firewall et routeur sans que le Nat du réseau sur lequel le PC infecté ne se trouve soit configuré ? Et bien, on fait de l'injection de code dans un processus qui a des droit de dialogue avec le web. L'injection est une méthode qui vas comme son nom l'indique injecter du code dans un emplacement libre a une application qui a des droits au niveau firewell genre le client web ou votre messenger préféré par exemple et utiliser sa connection pour pouvoir dialoguer avec le Client. L'injection ne contourne pas les defenses heuristiques des antivirus.

3. Les Etapes de l'indétectabilité


    Commençons avec les caractéristiques de notre server auprés des AV, pour cela , je vais utiliser comme test pour mes scan virustotal.com, c'est un scan en ligne d'une trentaine d'antivirus. Le Server que je vais créer et téster sur virustoal sera bientot détecté par les antivirus (le lendemain comme AVG) car Virustotal.com transmet les fichiers douteux aux compagnies d'antivirus. Des solutions alternatives existent comme le logiciel Mini AV's SCAN edité par Activespy.org.
    Voici le premier scan de notre server d'origine sur VirusTotal.


AntivirusVersionMise a jourRésultat
AhnLab-V32008.8.5.02008.08.05Win-Trojan/Midgare.32256
AntiVir7.8.1.152008.08.05TR/Spy.Banker.AAUT.14
Authentium5.1.0.42008.08.05W32/Backdoor2.CBJB
Avast4.8.1195.02008.08.05Win32:Crypt-CIK
AVG8.0.0.1562008.08.05BackDoor.Generic9.ASJE
BitDefender7.22008.08.05Trojan.Spy.Banker.AAUT
height="17"CAT-QuickHeal9.502008.08.04Trojan.Midgare.fvp
ClamAV0.93.12008.08.05Trojan.Bifrose-3265
DrWeb4.44.0.091702008.08.05Trojan.Inject.3631
eSafe7.0.17.02008.08.05Win32.Midgare.fcz
eTrust-Vet31.6.60092008.08.05Win32/VMalum.DCPV
Ewido4.02008.08.05Trojan.Midgare.fcz
F-Prot4.4.4.562008.08.04W32/Backdoor2.CBJB
F-Secure7.60.13501.02008.08.05Trojan.Win32.Midgare.fcz
Fortinet3.14.0.02008.08.05BDoor.CEP!tr.bdr
GData2.0.7306.10232008.08.05Trojan.Win32.Midgare.fcz
IkarusT3.1.1.34.02008.08.05Trojan.Win32.Midgare.eni
K7AntiVirus7.10.4042008.08.05Trojan.Win32.Midgare.fcz
Kaspersky7.0.0.1252008.08.05Trojan.Win32.Midgare.fcz
McAfee53532008.08.04BackDoor-CEP.gen.a
Microsoft1.38072008.08.05Trojan:Win32/Midgare.A
NOD32v233282008.08.05probably a variant of Win32/Agent
Norman5.80.022008.08.05W32/Smalldoor.BMLD
Panda9.0.0.42008.08.04Non détecté
PCTools4.4.2.02008.08.05Non détecté
Prevx1V22008.08.05System Back Door
Rising20.56.12.002008.08.05Non détecté
Sophos4.31.02008.08.05Mal/Generic-A
Sunbelt3.1.1537.12008.08.01Trojan.Win32.Midgare.fcz
Symantec102008.08.05Backdoor.Trojan
TheHacker6.2.96.3932008.08.04Trojan/Midgare.eni
TrendMicro8.700.0.10042008.08.05BKDR_AHZE.A
VBA323.12.8.22008.08.05Trojan.Win32.Midgare.hhn
ViRobot2008.8.5.13242008.08.05Trojan.Win32.Midgare.32256
VirusBuster4.5.11.02008.08.04Backdoor.Bifrose.GUF
Webwasher-Gateway6.6.22008.08.05Trojan.Spy.Banker.AAUT.14


    A ce point la , avec le Server d'origine , on peut deja voir que quelques antivirus ne sont déja pas a jours , pourtant se est déjà sur le net depuis plusieurs semaines, mais que font les Multinational comme Panda Security alias Panda software ?. Le Stub et le corps du server sur lequel nous allons greffer des donnée tel que l'adresse IP du client ou l'adresse no-ip pour router son ip , la méthode d'installation , etc .. bref , toutes les information que vous rentrer dans le builder quand vous créer votre server. La taille du Stub d'origine de Bifrost 1.2d est 32 256 octets.

4. Les différentes étapes


  • Modification du point d'entrée
  • Détection et modification d'une signature virale

Modifier le point d'entrée


Logiciel RequisDescriptionTélécharger
Ollydbg 2.0Permet de desassembler une application et de mofiier son code ASM.
PE Editor 1.7Editeur de ressource PE, il permet de replacé le point d'entrée modifier.
PE Editor 1.7Editeur de ressource PE , il permet de replacé le point d'entrée modifier.


    Le principe de cette méthode est de déplacer le point d'entrée dans une zone vide du code. Lancons Ollydbg et analysons notre server. Quand vous ouvrez votre server ,Il vous demande si vous le décompresser, vous fais oui. Nous voici en plein dans l'interface de Ollydbg avec le server désassemblé :




    Le point d'entrée se trouve au niveau de la ligne 00407C89 qui est grisée. Nous allons surligner les lignes qui nous interressent.




    Puis clic droit dessus > Binary > Binary copy Cherchons maintenant un endroit libre ou je puisse recopier mon point d'entrée. Plus bas dans le server, vous trouverez de la place vide, elle se represente de cette facon :




    Recopions maintenant notre point d'entrée dans cette zone libre. Surlignez au moins une trentaine de lignes vides et clic droit > Binary > Binary paste. Vous obtenez ceci :




    Nous allons rajouter plusieurs instructions a la suite. Il est important de decocher la case " Fill with NOP's " pour la suite des operations ! Double cliquez sur la colone de l'instruction de la ligne 00407EF3 pour mon cas.




    Rentrez PUSH 1 et cliquer sur Assembe, vous devez obtenir ceci :




    Positionnez vous maintenant a la ligne 00407F06 et rentrez ses instructions à la suite :


Ligne a modifierInstruction a rajouterExplication
00407F06JMP 00407C9ERenvoie a la ligne 00407C9E
00407F07PUSH 2Repositionne dans la pile
00407F08PUSH 2Repositionne dans la pile
00407F09NOPNe fait rien
00407F09NOPNe fait rien


    Le JMP renvoie a la ligne 00407C9E comme si dessous qui est le debut de la pile.




    Vous devez obtenir ceci au final :




    Modifions maintenant le de notre server Pour retourne au point d'entrée, faite Clic droit > Go to > Origin Cela nous ramene a notre point d'entrée orignal , de la meme façon, nous allons modifier les instructions. Pour cela ,on vas déja ajouter 12 NOP a la suite en commançant par la ligne du point d'entrée qui est 0040789. Vous devez obtenir ceci :






    Retournez à la premiere ligne qui est 00407C89 et mofidiez l'instruction NOP par MOV EAX,321 puis finissez par une serie de PUSH EBP. Vous devez obtenir ceci :




    Pour enregistrer les modfications : Clic droit > Cooy to executable > All Modifications et Copy all. Pour enregistrer Votre server mofidié : Clic droit > Save File Voila, notre modification asm avec Ollydbg est termineée, il est indispensable de fermer ollydbg pour la suite des opérations Nous allons maintenant renomer le point d'entrée avec PE Editor 1.7. Lancer le et charger votre server dedans.





    Le point d'entrée d'origine se trouve en haut a gauche 00007C89 ,c est ici que nous mettons notre nouveau point d'entrée. En asm nous avions comme ligne de notre nouveau point d'entrée 00407EF3 Pour notre Nouveau point d'entrée sous PE Editor , il faut changer le 4 par 0 ce qui devient 00007EF3 Rentrez se nouveau point d'entree a la place de l autre et puis cliqué sur Apply Change




    La premiere modification du server est terminé et il fonctionne trés bien



Voyons maintenant se que ca donne auprés de virus total

AntivirusVersionmise à jourRésultat
AhnLab-V32008.8.6.02008.08.05Non détesté
AntiVir7.8.1.152008.08.05TR/Crypt.XDR.Gen
Authentium5.1.0.42008.08.05Non détesté
Avast4.8.1195.02008.08.05Win32:Crypt-CIK
AVG8.0.0.1562008.08.05BackDoor.Bifrose.DF
BitDefender7.22008.08.05Trojan.Dropper.SAG
CAT-QuickHeal9.502008.08.05Non détesté
ClamAV0.93.12008.08.05Non détesté
DrWeb4.44.0.091702008.08.05Trojan.Inject.3631
eSafe7.0.17.02008.08.05Suspicious File
eTrust-Vet31.6.60112008.08.05Non détesté
Ewido4.02008.08.05Non détesté
F-Prot4.4.4.562008.08.05Non détesté
F-Secure7.60.13501.02008.08.05Packed.Win32.PePatch.dk
Fortinet3.14.0.02008.08.05Non détesté
GData2.0.7306.10232008.08.05Win32:-CIK
IkarusT3.1.1.34.02008.08.05Trojan-Dropper.SAG
K7AntiVirus7.10.4042008.08.05Non détesté
Kaspersky7.0.0.1252008.08.05Packed.Win32.PePatch.dk
McAfee53542008.08.05BackDoor-CEP.gen.a
Microsoft1.38072008.08.05Trojan:Win32/Midgare.A
NOD32v233302008.08.05Non détesté
Norman5.80.022008.08.05Non détesté
Panda9.0.0.42008.08.05Non détesté
PCTools4.4.2.02008.08.05Non détesté
Prevx1V22008.08.05Non détesté
Rising20.56.12.002008.08.05Non détesté
Sophos4.31.02008.08.05Non détesté
Sunbelt3.1.1537.12008.08.01Non détesté
Symantec102008.08.05Non détesté
TheHacker6.2.96.3932008.08.04Non détesté
TrendMicro8.700.0.10042008.08.05Non détesté
VBA323.12.8.22008.08.05Non détesté
ViRobot2008.8.5.13242008.08.05Non détesté
VirusBuster4.5.11.02008.08.05Backdoor.Bifrose.GUF
Webwasher-Gateway6.6.22008.08.05Trojan.Crypt.XDR.Gen


    Plus de la moitié des antivirus ont déjà été vaincus, mais une bonne partie résiste encore quand même , continuons donc notre investigation dans l'indétection.


Détection et modification d'une signature virale


Logiciel RequisDescriptionTélécharger
Avast 4.8 ProfAntivirus
SignatureZeroEditeur Haxadecimal appliquant la methode du Split.
Hex workShop 5.1.3Editeur Hexadecimal


    La plus grande partie des antivirus détectent un malvare grâce a une signature Hexadécimal, cette signature varie d'un antivirus a l'autre. Quelques exemples flagrants pour commencer Éditer votre server avec Hex Workshop et regardez au début du code , nous pouvons voir une phrase très distincte qui signifie que le PE a été modifié :


    Effectuez quelques petits changements



    Avec cette modification , vous venez de Bypass Kaspersky qui ne le détécterat plus. Continuons et occupons nous d'AVG maintenant qui utilise aussi la détéction de signature.



    Remplacez Rich par ce que vous voulez




    Vous venez aussi de Bypass AVG :] Vérifions tous ca sur notre site preferé virustotal.com


AntivirusVersionmise à jourRésultat
AhnLab-V32008.8.6.02008.08.05Non détesté
AntiVir7.8.1.152008.08.05TR/Crypt.XDR.Gen
Authentium5.1.0.42008.08.05Non détesté
Avast4.8.1195.02008.08.05Win32:Crypt-CIK
AVG8.0.0.1562008.08.05Non détecté
BitDefender7.22008.08.05Trojan.Dropper.SAG
CAT-QuickHeal9.502008.08.05Non détesté
ClamAV0.93.12008.08.05Non détesté
DrWeb4.44.0.091702008.08.05Trojan.Inject.3631
eSafe7.0.17.02008.08.05Suspicious File
eTrust-Vet31.6.60112008.08.05Non détesté
Ewido4.02008.08.05Non détesté
F-Prot4.4.4.562008.08.05Non détesté
F-Secure7.60.13501.02008.08.05Non détecté
Fortinet3.14.0.02008.08.05Non détesté
GData2.0.7306.10232008.08.05Win32:-CIK
IkarusT3.1.1.34.02008.08.05Trojan-Dropper.SAG
K7AntiVirus7.10.4042008.08.05Non détesté
Kaspersky7.0.0.1252008.08.05Non détecté
McAfee53542008.08.05BackDoor-CEP.gen.a
Microsoft1.38072008.08.05Trojan:Win32/Midgare.A
NOD32v233302008.08.05Non détesté
Norman5.80.022008.08.05Non détesté
Panda9.0.0.42008.08.05Non détesté
PCTools4.4.2.02008.08.05Non détesté
Prevx1V22008.08.05Non détesté
Rising20.56.12.002008.08.05Non détesté
Sophos4.31.02008.08.05Non détesté
Sunbelt3.1.1537.12008.08.01Non détesté
Symantec102008.08.05Non détesté
TheHacker6.2.96.3932008.08.04Non détesté
TrendMicro8.700.0.10042008.08.05Non détesté
VBA323.12.8.22008.08.05Non détesté
ViRobot2008.8.5.13242008.08.05Non détesté
VirusBuster4.5.11.02008.08.05Backdoor.Bifrose.GUF
Webwasher-Gateway6.6.22008.08.05Trojan.Crypt.XDR.Gen




L'explication avec Avast
    La méthode du split consiste à retrouver la signature que Avast détécte. Supposons que le code de notre server soit ca et que la signature d'Avast soit 6B8E B5A4




    Pour retrouver cette signature, nous allons déja passer toute la moitiée basse des offset a zero et téster l'exe auprés de notre antivirus Avast. Si il geulle, c est que l'on as pas éffacé la signature , si il geulle pas, c est qu'on la éffacée.




    Enregistrer le resultat dans un endroit du PC qui n'as pas d'exclusion au niveau de l'Av. Avast vas s'emballer et nous trouver le malware ce qui est normal car la signature est toujours visible. Remétez les octets originaux et recommencez en mettant les octets du haut a zero et ainsi de suite jusqu a tant que vous tombiez sur les octets incriminés qui sont 6B8E B5A4 ,le but est de degrossir jusqu a trouver la signature. Je trouve cette méthode un peut fastidieuse à mon gout et en fouinant sur le net , j ai trouver un petit tool qui remplie tres bien cette fonction.




    1. Charger le server 2. Mettre les offest a Zero 3. Enregistrer le server terminé 4. Remettre la Valeur d'avant des offset 5. Test le server auprés de l'Av

    Le reste n'as pas d'utilité. C est le meme principe que la méthode expliquer avant, les curseurs nous servent à nous positionner dans le code. Vous paramétrez déja Avast avec comme exclusion SignatureZero.exe et votre server.exe Pour le paramétrage de SignatureZero, cochez Hexadecimal et séléctionnez le répertoire qui vat être utilisé pour tester le server, dans mon ca , le Bureau.




    Bougez les curseurs pour que le changement est lieu au niveau de l'affichage. Je viens de charger le server dans SignatureZero avec Abrir archivo et je clic sur Probar pour un test de la détéction.




    vous délimitez une zone avec les curseurs , puis vous cliquer sur Rellenar Con 0's , la partie entre les curseur est devenue rouge se qui signifie que toute cette partie a les offset à zero , puis cliquez sur Probar pour tester.




Possibilitées de resultat

    Indétécté: La signature se trouve dans les offest mis a zero se trouvant entre les deux curseurs. Déctécté : La signature se trouve en dehors des offset mis a zero entre les deux curseurs.


    Pour mon test , la signature se trouve dans ma zone en rouge , je clic sur Deshacer Cambios pour remettre le offset à leur valeur d'origine.Vous pouvez cliguer plusieurs fois de suite sur Rellenar con 0' , le tool garde un historique des modifications.Il faut vraiment dégrossir le plus possible, au final, vous trouverez le bout de code incriminé.


    Pour finaliser, utilisez les fléches montantes et descendantes pour sélectionner les offsets.




    Nous venons d'identifier presisement la signature et l'effacer, j'enregistre le resultat en cliquand sur Guardar archivo, qu on vas renonner "Server Bifrost UD Avast.exe" par exemple.


    Comparons maintenant notre nouveau server avec l'ancien et voyons se que ca donne sous Hex Workshop.

    SignatureZero vient de modifier le code hexadecimal de l'offset 00004F60 en les mettant à zero ,cette solution marche , le tout est de trouver une equivalence convenable si 00 ne marche pas en remplacement.
 source:http://tr00ps.blogspot.com/2008_11_01_archive.html


Télécharger Bifrost

- sebdelkil 2009-2015 - Aucun droit réservé -