[TECH] Détourner à son avantage les langages de script

ѠOOT
Geek à longue barbe
Geek à longue barbe
Messages : 1043
Inscription : 28 déc. 2011 19:39

[TECH] Détourner à son avantage les langages de script

Message par ѠOOT » 05 nov. 2013 23:58

Malekal Entertainment présente : l'imprononçable Tristes surprises sur scripts. Il y en a qui se réveillent en imaginant quel temps il fera... d'autres s'interrogent sur le cybermachin et ceux qui louchent sur leur chocapics en se demandant comment automatiser des traitements sur un volume illimité de fichiers scripts malveillants de type VBS. C'est ainsi que Malekal m'a laissé un message du genre, t'aurais pas une idée pour... puis m'a donné quelques échantillons avant de me taper virtuellement sur l'épaule - the force will be with you, always..

AVERTISSEMENT: Ce sujet s'adresse aux curieux souhaitant aller plus loin dans l'étude de codes malveillants : si ce n'est pas votre cas, peut être devriez vous dès à présent passer votre chemin. L'ensemble de nos âneries sont réalisées dans un environnement adapté à l'étude des codes malveillants sous VM, ne reproduisez jamais ces manipulations sur votre propre système d'exploitation.

Que ce soit des scripts vbs, js, php ... les vilains tentent généralement de cacher la misère, ils utilisent différentes méthodes, certains compressent, encodent, chiffrent, d'autres ajoutent pleins de choses superflues,.. ou encore baragouinent en leet speak.

Image

Que faire lorsque vous devez brasser ces contenus exotiques ? L'objectif est toujours à peu près le même à chaque fois : on s'adapte au langage de script afin de ré-écrire et prendre le contrôle. On laisse le "truc" travailler et au lieu d'exécuter, on lui indique d'afficher à l'écran.

Ci-dessous, deux exemples concrets:

Image

Image

Modifier Execute() ou ExecuteGlobal() avec MsgBox() bof, pas pratique...
Alors qu'avec un Wscript.Echo(), c'est déjà un peu mieux.

Image

Pour rediriger la sortie dans un fichier:
cscript Elena.vbs > Elena.vb

Ci-dessous, le rendu avec Notepad++

Image

Si on veux enchainer plusieurs traitements, rien de plus simple : un fichier "batch" ou bien si votre Windows est plus récent, un script PowerShell. Autre exemple, sans trop d'intérêt mais pour vous donner des idées : on pourrait tout aussi bien ré-écrire avec du FSO ( FileSystemObject ) pour s'auto-décoder. Si je remplace ExecuteGlobal(M) par:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("C:\"+Wscript.ScriptName+".vb")
objFile.WriteLine M
objFile.Close


nb: Avec M après objFile.WriteLine comme étant la variable repiquée sur ExecuteGlobal(M)

Finalement, il n'y a pas de limites... n'oubliez pas cependant que c'est aussi bien pour vous que pour eux.
Pour ma part, je suis allé plus loin encore puisque j'ai modifié la base de registre à cet endroit.

Code : Tout sélectionner

[HKEY_CLASSES_ROOT\CLSID\{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32]
@="C:\\monscript.dll"
"ThreadingModel"="Both"
Ainsi à chaque fois que la machine virtuelle sera lancée, Windows Script Host ( "cscript.exe" ) ira charger la librairie "monscript.dll" qui n'est autre que "vbscript.dll" un tantinet modifiée pour répondre à mes besoins. Pour automatiser les traitements, j'utilise Cuckoo. Il n'y a pas de packages d'analyses par défaut pour vbs alors j'ai adapté le squelette d'un package pour analyser des vbs. De toute façon partir de zéro n'est pas bien compliqué car créer ses packages d'analyse est facile, à condition d'avoir quelques notions de Python.

Avant d'être chargé depuis Cuckoo chaque script est épuré/modifié de ses fonctions "nuisibles" comme expliqué précédemment. Lorsque toutes les tâches à réaliser sont terminées, j'obtiens des scripts "lisibles" ( + des traces, grâce à ma librairie patchée ) exploitables en terme de collecte d'informations.

Comme je vous le disais plus tôt, cette approche est souvent la même, quel que soit le type de script. Souvenez-vous, dans le sujet Au pays des malvertising, sur les traces de la redirection perdue, il était question d'un JavaScript et je vous expliquais comment le décoder et l'embellir en ligne à l'aide de JsBeautifier.

Image

Il n'est pas rare d'avoir des méthodes d'obfuscations non standards ou dans le jargon : exotiques. Dans ces cas là, il m'arrive d'utiliser Ardoise. Sous Mozilla Firefox, je parcours le menu "Outils" → "Developpeur Web" → "Ardoise Javascript"

Prenons un exemple sans danger eval(5*5); si je fais un CTRL+R pour Exécuter depuis l'Ardoise, rien.
En revanche, si je remplace eval() par console.log() alors j'obtiens 25

Ci-dessous, en image... la deuxième ligne démontre que ça fonctionne aussi bien sur le packer Dean Edwards.

Image

En ce qui concerne les scripts php malveillants, les enjeux n'étant pas les mêmes, les attaquants sont encore plus créatifs / inventifs. Pour vous en rendre compte, je vous invite à parcourir l'excellent blog de sucuri.

A vous d'être le plus malin. Retrouvez d'autres sujets classés [TECH], le précédent...
Les rogues font de la résistance - Rétroingénierie & Anti-Virtualization


‮Vous aimez la sécurité informatique ? Dopez vos neurones, achetez MISCMAG !
...nuf rof tsuJ


Malekal_morte
Site Admin
Site Admin
Messages : 95745
Inscription : 10 sept. 2005 13:57
Contact :

Re: [TECH] Détourner à son avantage les langages de script

Message par Malekal_morte » 06 nov. 2013 12:14

Pour info, le malware évoqué sont des VBS Autoruns qui tapent dur depuis quelques semaines.
J'en parlais il y a quelques temps sur ce billet (qui sera surement mis à jour prochainement) : https://www.malekal.com/2013/07/09/rat-par-vbs/
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Tutoriels Logiciels - Tutoriel Windows - Windows 10

Stop publicités - popups intempestives
supprimer-trojan.com : guide de suppression de malwares

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus les articles qui vous plaisent.

Répondre

Revenir vers « Tech, Tips & Tricks »