{"id":228088,"date":"2017-05-16T11:40:49","date_gmt":"2017-05-16T09:40:49","guid":{"rendered":"http:\/\/securite.intrinsec.com\/?p=3057"},"modified":"2017-05-16T11:40:49","modified_gmt":"2017-05-16T09:40:49","slug":"exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec","status":"publish","type":"post","link":"https:\/\/www.intrinsec.com\/en\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/","title":{"rendered":"Malware: Deobfuscating encoded Javascript"},"content":{"rendered":"<h1>Introduction<\/h1>\n<p>Lors d&rsquo;une r\u00e9ponse \u00e0 incident, le CERT Intrinsec a \u00e9t\u00e9 confront\u00e9 \u00e0 un fichier JSE (Javascript Encoded) obfusqu\u00e9 et qui, apr\u00e8s une analyse de premier niveau, apparaissait comme malveillant. Lorsque l&rsquo;investigation a d\u00e9but\u00e9, ce fichier n&rsquo;\u00e9tait pas connu de VirusTotal et nous n&rsquo;avons trouv\u00e9 aucune information sur son comportement.<\/p>\n<p>Nous l&rsquo;avons donc analys\u00e9 en 4 phases :<\/p>\n<ul style=\"margin-left: .375in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;\" type=\"disc\">\n<li style=\"margin-top: 0pt; margin-bottom: 8pt; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">Le d\u00e9codage,<\/span><\/li>\n<li style=\"margin-top: 0pt; margin-bottom: 8pt; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">La d\u00e9sobfuscation,<\/span><\/li>\n<li style=\"margin-top: 0pt; margin-bottom: 8pt; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">l&rsquo;analyse comportementale,<\/span><\/li>\n<li style=\"margin-top: 0pt; margin-bottom: 8pt; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">l&rsquo;extraction d&rsquo;indicateurs de compromission (IOC).<\/span><\/li>\n<\/ul>\n<h1>D\u00e9codage<\/h1>\n<p>Le script \u00e9tant un fichier \u00ab\u00a0.jse\u00a0\u00bb, il est encod\u00e9 par une m\u00e9thode mise au point par Microsoft, mais dont les algorithmes d&rsquo;encodage et de d\u00e9codage ont \u00e9t\u00e9 d\u00e9couverts en 2013. Le code pr\u00e9sent sur le github suivant : \u00ab\u00a0<a href=\"https:\/\/gist.github.com\/bcse\/1834878\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/gist.github.com\/bcse\/1834878<\/a> \u00bb, nous a par exemple permis de le d\u00e9coder.<\/p>\n<h1>D\u00e9sobfuscation<\/h1>\n<p>Le script comprenait plus de 300\u00a0000 lignes de code. Un bref coup d\u2019\u0153il nous a permis de d\u00e9terminer qu\u2019il \u00e9tait obfusqu\u00e9 et que certaines lignes de codes \u00e9taient r\u00e9guli\u00e8rement r\u00e9p\u00e9t\u00e9es. Il devenait donc int\u00e9ressant de se concentrer sur celles-ci afin de r\u00e9duire la taille du script.<\/p>\n<p>Ainsi nous avons identifi\u00e9 8 parties du code diff\u00e9rentes qui pouvaient \u00eatre modifi\u00e9es afin d&rsquo;inverser l&rsquo;obfuscation.<\/p>\n<p>1.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-3060 size-full\" title=\"Exemple de la premi\u00e8re partie (les noms de variables \u00e9tant al\u00e9atoires)\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/1.png\" alt=\"\" width=\"326\" height=\"95\" \/><\/p>\n<p>Ces lignes de code apparaissent pr\u00e8s de 4\u00a0000 fois et sont en r\u00e9alit\u00e9 \u00e9quivalentes \u00e0 la premi\u00e8re lettre de la d\u00e9claration de fonction. Ici, le terme \u00ab\u00a0function(pika666)\u00a0\u00bb devient &lsquo;f&rsquo;.<\/p>\n<p>2.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-3061 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/2.png\" alt=\"\" width=\"355\" height=\"97\" \/>De m\u00eame, ces lignes retournent la lettre &lsquo;F&rsquo;, ici en majuscule gr\u00e2ce \u00e0 la fonction \u00ab\u00a0toUpperCase()\u00a0\u00bb.<\/p>\n<p>3.<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-3062 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/3.png\" alt=\"\" width=\"226\" height=\"169\" \/>Ces lignes de code apparaissent plus de 36 000 fois et retournent syst\u00e9matiquement la valeur de \u00ab\u00a0po9_0\u00a0\u00bb (i.e. &lsquo;i&rsquo;). Le nom des variables est al\u00e9atoire, ce qui rend plus difficile le remplacement automatique de ces lignes.<\/p>\n<p>4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3063 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/4.png\" alt=\"\" width=\"488\" height=\"61\" \/>La quatri\u00e8me partie \u00e9quivaut \u00e0 \u00ab\u00a0String[&lsquo;fromCharCode&rsquo;](114)\u00a0\u00bb, soit la lettre &lsquo;r&rsquo;.<\/p>\n<p>5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3064 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/5.png\" alt=\"\" width=\"513\" height=\"58\" \/><\/p>\n<p>Ici la lettre retourn\u00e9e est la lettre &lsquo;p&rsquo; (la 6\u00e8me lettre de la concat\u00e9nation de \u00ab\u00a0true\u00a0\u00bb et \u00ab\u00a0Ap\u00a0\u00bb) .<\/p>\n<p>6.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3065 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/6.png\" alt=\"\" width=\"515\" height=\"60\" \/><\/p>\n<p>Comme pour le cas pr\u00e9c\u00e8dent c&rsquo;est la 4\u00e8me lettre du terme \u00ab\u00a0false\u00a0\u00bb qui est retourn\u00e9e, soit &lsquo;s&rsquo;.<\/p>\n<p>7.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3066 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/7.png\" alt=\"\" width=\"465\" height=\"28\" \/><\/p>\n<p>Les noms de variable sont aussi obfusqu\u00e9s gr\u00e2ce \u00e0 l&rsquo;utilisation des caract\u00e8res Unicode. Par exemple, la variable \u00ab\u00a0hashhere\u00a0\u00bb vaudra la valeur suivante : \u00ab\u00a0\\u0068\\u0061\\u0073\\u0068\\u0068\\u0065\\u0072\\u0065\u00a0\u00bb.<\/p>\n<p>Pour conclure, le code d\u00e9sobfusqu\u00e9 comprend moins de 300 lignes et devient donc plus facilement analysable.<\/p>\n<h1>Analyse comportementale<\/h1>\n<p>L&rsquo;analyse du script d\u00e9sobfusqu\u00e9 montre rapidement que les 19 premi\u00e8res lignes sont des d\u00e9clarations de variables qui ne seront pas utilis\u00e9es.<\/p>\n<p>Parmi les autres variables int\u00e9ressantes on remarque principalement les suivantes :<\/p>\n<ul style=\"margin-left: .375in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;\" type=\"disc\">\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">&lsquo;zoUobail89&rsquo;, l&rsquo;URL qui sera utilis\u00e9e pour t\u00e9l\u00e9charger la charge active<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">&lsquo;zoUoriches24&rsquo;, le chemin absolu du script<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">&lsquo;ext789&rsquo;, la liste des extensions qui serviront plus tard dans le script<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">&lsquo;list87656&rsquo;, le fichier qui enregistrera les chemins absolus des fichiers dont l&rsquo;extension fait partie de la liste pr\u00e9c\u00e9dente<\/span><\/li>\n<\/ul>\n<p>Si le nom du script est diff\u00e9rent d&rsquo;\u00ab adobeupd.jse \u00bb et s&rsquo;il ne figure pas dans le dossier \u00ab\u00a0d\u00e9marrage\u00a0\u00bb de l&rsquo;utilisateur courant, le script affichera une <span style=\"font-style: italic;\">popup<\/span> affirmant que le script est endommag\u00e9 et ne peux pas \u00eatre r\u00e9par\u00e9.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3069 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/error.png\" alt=\"\" width=\"419\" height=\"172\" \/><\/p>\n<p>En effet, la variable \u00ab\u00a0zoUowhich43\u00a0\u00bb sert \u00e0 r\u00e9cup\u00e9rer le dossier &lsquo;d\u00e9marrage&rsquo; de l&rsquo;utilisateur courant comme nous l&rsquo;explique la documentation de Microsoft (cf. lien <a href=\"https:\/\/technet.microsoft.com\/fr-fr\/library\/bb774085.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">[2]<\/a>\u00a0et <a href=\"https:\/\/technet.microsoft.com\/fr-fr\/library\/bb774096.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">[3]<\/a> pour plus de pr\u00e9cisions).<\/p>\n<p>Apr\u00e8s remplacement des variables int\u00e9ressantes, le code devient le suivant :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3070 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/after.png\" alt=\"\" width=\"1200\" height=\"219\" \/><\/p>\n<p>La variable \u00ab\u00a0pills\u00a0\u00bb n&rsquo;existant pas, une exception sera lev\u00e9e et captur\u00e9e par le bloc \u00ab\u00a0catch\u00a0\u00bb. Le code du script est sauvegard\u00e9 dans une variable qui servira plus tard afin de tenter une propagation lat\u00e9rale.<\/p>\n<p>&nbsp;<\/p>\n<p>Le script bouclera ensuite 4 millions de fois avant de v\u00e9rifier la pr\u00e9sence ou non d&rsquo;une liste de processus ou de noms d&rsquo;utilisateur pr\u00e9sents sur le poste infect\u00e9.<\/p>\n<p>Cette liste est la suivante :<\/p>\n<ul style=\"margin-left: .375in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;\" type=\"disc\">\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">Wireshark<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">Temp\\iexplore.exe<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">ProcessHacker<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">vmtoolsd<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">VBoxService<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">python<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">Proxifier.exe<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">Johnson-PC<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">ImmunityDebugger.exe<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">lordPE.exe<\/span><\/li>\n<li style=\"margin-top: 0; margin-bottom: 0; vertical-align: middle;\"><span style=\"font-family: Calibri; font-size: 11.0pt;\">ctfmon.exe*JOHN-PC<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3071 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/process.png\" alt=\"\" width=\"687\" height=\"272\" \/><\/p>\n<p>Dans le cas o\u00f9 l&rsquo;une de ces entr\u00e9es est d\u00e9tect\u00e9e, le script fera appel \u00e0 une variable non d\u00e9finie, provoquant son arr\u00eat. Ce comportement a donc pour objectif de limiter les capacit\u00e9s des environnements d&rsquo;analyse.<\/p>\n<p>Une fois ces v\u00e9rifications effectu\u00e9es, le script se copiera dans le fichier &lsquo;adobeupd.jse&rsquo; du dossier &lsquo;d\u00e9marrage&rsquo; de l&rsquo;utilisateur, lui permettant d&rsquo;assurer sa persistance.<\/p>\n<p>Il r\u00e9cup\u00e9rera par la suite la charge active (ici un ex\u00e9cutable) depuis l&rsquo;URL \u00ab\u00a0hxxps:\/\/185.130.104[.]178:4444\u00a0\u00bb. On remarquera le port 4444 qui est, entre autre, le port du framework Metasploit, mais aussi de nombreux chevaux de Troie. La charge active est plac\u00e9e dans le dossier temporaire et a pour nom un nombre al\u00e9atoire suivi de l&rsquo;extension \u00ab\u00a0.exe\u00a0\u00bb. La charge active pourra aussi \u00eatre plac\u00e9e dans le m\u00eame dossier, avec l&rsquo;extension &lsquo;.ioi&rsquo; et encod\u00e9e en base64.<\/p>\n<p>Si la cr\u00e9ation du fichier \u00ab\u00a0.exe\u00a0\u00bb a \u00e9chou\u00e9, le script va tenter de se propager dans le but de trouver une machine vuln\u00e9rable. Pour ce faire, il va chercher les fichiers dont l&rsquo;extension fait partie de la liste contenue\u00a0dans la variable \u00ab\u00a0ext789\u00a0\u00bb et se trouvant sur\u00a0les lecteurs amovibles et les lecteurs r\u00e9seaux (\u00ab\u00a0DriveType\u00a0\u00bb 3 ou 1). Les extensions recherch\u00e9es sont les suivantes :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3084 aligncenter\" src=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2017\/05\/extensions.png\" alt=\"\" width=\"719\" height=\"58\" \/><\/p>\n<p>La liste compl\u00e8te des fichiers trouv\u00e9s sera enregistr\u00e9e dans le\u00a0fichier \u00ab\u00a0%TEMP%\\yaper.txt\u00a0\u00bb. Le script se r\u00e9pliquera ensuite en rempla\u00e7ant tous ces fichiers par le contenu du script et en rempla\u00e7ant l&rsquo;extension par\u00a0\u00ab\u00a0.jse\u00a0\u00bb. Il supprimera\u00a0ensuite \u00ab\u00a0yaper.txt\u00a0\u00bb.<\/p>\n<p>Finalement le script ex\u00e9cutera la charge active pr\u00e9c\u00e9demment t\u00e9l\u00e9charg\u00e9e et tentera de nettoyer ces traces en supprimant tous les fichiers du dossier temporaire et ayant pour extension \u00ab\u00a0.exe\u00a0\u00bb, \u00ab\u00a0.ioi\u00a0\u00bb et \u00ab\u00a0.txt\u00a0\u00bb.<\/p>\n<h1>Impact et mitigation<\/h1>\n<p>Une infection par ce programme pourrait entra\u00eener deux cons\u00e9quences : soit l&rsquo;infection par la charge active, que nous sommes en train d&rsquo;analyser, soit la suppression de tous les fichiers pr\u00e9sents sur les lecteurs r\u00e9seaux et amovibles accessibles depuis l&rsquo;ordinateur infect\u00e9.<\/p>\n<p>Une possibilit\u00e9 de mitigation est de surveiller le trafic sortant vers 185.130.104[.]178. Il est par ailleurs conseill\u00e9 de bloquer les communications sortantes vers le port 4444 de fa\u00e7on g\u00e9n\u00e9rale ainsi que de mettre son utilisation sous surveillance, ce port \u00e9tant tr\u00e8s r\u00e9guli\u00e8rement utilis\u00e9 pour des communications ill\u00e9gitimes.<\/p>\n<p>De plus il est possible de modifier le programme ex\u00e9cutant par d\u00e9faut les scripts \u00ab\u00a0jse\u00a0\u00bb pour le remplacer par le bloc-notes par exemple. Ainsi si un utilisateur double-clic sur un script \u00ab\u00a0jse\u00a0\u00bb malveillant il ne sera pas ex\u00e9cut\u00e9 mais ouvert dans le bloc-notes. Plus d&rsquo;informations sur cette m\u00e9thode dans notre guide de lutte contre les ransomwares <a href=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2015\/11\/Intrinsec-CERT-Handbook-Anti-Ransomware-v2.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">[ici]<\/a>.<\/p>\n<h1>Extraction des IOCs<\/h1>\n<ul>\n<li>185.130.104[.]178<\/li>\n<li>hxxps:\/\/185.130.104[.]178:4444\/C\/deerstalker[.]php<\/li>\n<li>C:\\Users\\username\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\adobeupd.jse<\/li>\n<li>%TEMP%\\yaper.txt<\/li>\n<li>%TEMP%\\RANDOM_NUMBER.exe<\/li>\n<li>%TEMP%\\RANDOM_NUMBER.ioi<\/li>\n<li>643b3605c64901771759c1ed0bf735bf8dc9dbd56e63f603c5689c951f0e8c98 (sha256 du fichier &lsquo;jse&rsquo;)<\/li>\n<li>2bcb14e7aafae7418dd7fa0ef26ec39af71b7094a84b6a4ba1c65a8abf287e31 (sha256 de la charge active)<\/li>\n<\/ul>\n<h1>Sources<\/h1>\n<p style=\"margin-top: 0pt; margin-bottom: 8pt; font-family: Calibri; font-size: 11.0pt;\">[1]\u00a0<a href=\"https:\/\/gist.github.com\/bcse\/1834878\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/gist.github.com\/bcse\/1834878<\/a><\/p>\n<p style=\"margin-top: 0pt; margin-bottom: 8pt; font-family: Calibri; font-size: 11.0pt;\">[2]\u00a0<a href=\"https:\/\/technet.microsoft.com\/fr-fr\/library\/bb774085.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/technet.microsoft.com\/fr-fr\/library\/bb774085.aspx<\/a><\/p>\n<p style=\"margin-top: 0pt; margin-bottom: 8pt; font-family: Calibri; font-size: 11.0pt;\">[3]\u00a0<a href=\"https:\/\/technet.microsoft.com\/fr-fr\/library\/bb774096.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/technet.microsoft.com\/fr-fr\/library\/bb774096.aspx<\/a><\/p>\n<p style=\"margin-top: 0pt; margin-bottom: 8pt; font-family: Calibri; font-size: 11.0pt;\">[4]\u00a0<a href=\"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2015\/11\/Intrinsec-CERT-Handbook-Anti-Ransomware-v2.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.intrinsec.com\/wp-content\/uploads\/2015\/11\/Intrinsec-CERT-Handbook-Anti-Ransomware-v2.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Lors d&rsquo;une r\u00e9ponse \u00e0 incident, le CERT Intrinsec a \u00e9t\u00e9 confront\u00e9 \u00e0 un fichier [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":3062,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,19,22],"tags":[],"class_list":["post-228088","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cert","category-soc-securite-operationnelle","category-veille-securite"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.0 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9 - INTRINSEC<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.intrinsec.com\/en\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9\" \/>\n<meta property=\"og:description\" content=\"Introduction Lors d&rsquo;une r\u00e9ponse \u00e0 incident, le CERT Intrinsec a \u00e9t\u00e9 confront\u00e9 \u00e0 un fichier [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.intrinsec.com\/en\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/\" \/>\n<meta property=\"og:site_name\" content=\"INTRINSEC\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-16T09:40:49+00:00\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Intrinsec\" \/>\n<meta name=\"twitter:site\" content=\"@Intrinsec\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/\"},\"author\":{\"name\":\"Admin\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/person\\\/5636e3e5276b952facbd0aadb12a858a\"},\"headline\":\"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9\",\"datePublished\":\"2017-05-16T09:40:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/\"},\"wordCount\":1249,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"articleSection\":[\"CERT\",\"SOC S\u00e9curit\u00e9 Op\u00e9rationnelle\",\"Veille S\u00e9curit\u00e9\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/\",\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/\",\"name\":\"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9 - INTRINSEC\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2017-05-16T09:40:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.intrinsec.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#website\",\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/\",\"name\":\"INTRINSEC\",\"description\":\"Notre m\u00e9tier , Prot\u00e9ger le v\u00f4tre\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.intrinsec.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#organization\",\"name\":\"INTRINSEC\",\"alternateName\":\"ISEC\",\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/libellule.png\",\"contentUrl\":\"https:\\\/\\\/www.intrinsec.com\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/libellule.png\",\"width\":1322,\"height\":1322,\"caption\":\"INTRINSEC\"},\"image\":{\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/Intrinsec\",\"https:\\\/\\\/fr.linkedin.com\\\/company\\\/intrinsec\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC0trUZAHNZOUbxYnNdecM4A\"],\"description\":\"soci\u00e9t\u00e9 de consulting, pure player cybers\u00e9curit\u00e9 fran\u00e7ais et europ\u00e9en depuis plus de 30ans, sp\u00e9cialiste dans la s\u00e9curit\u00e9 offensive & audit (pentest\\\/red team), GRC, et services IMSS comme le SOC, CTI et CERT Intrinsec est qualifi\u00e9 PASSI Elev\u00e9, PRIS Elev\u00e9 et PACS par l'ANSSI\",\"email\":\"contact@intrinsec.com\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.intrinsec.com\\\/#\\\/schema\\\/person\\\/5636e3e5276b952facbd0aadb12a858a\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/?s=96&d=retro&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\\\/\\\/www.intrinsec.com\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Malware: deobfuscation of an encoded Javascript - INTRINSEC","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.intrinsec.com\/en\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/","og_locale":"en_US","og_type":"article","og_title":"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9","og_description":"Introduction Lors d&rsquo;une r\u00e9ponse \u00e0 incident, le CERT Intrinsec a \u00e9t\u00e9 confront\u00e9 \u00e0 un fichier [&hellip;]","og_url":"https:\/\/www.intrinsec.com\/en\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/","og_site_name":"INTRINSEC","article_published_time":"2017-05-16T09:40:49+00:00","author":"Admin","twitter_card":"summary_large_image","twitter_creator":"@Intrinsec","twitter_site":"@Intrinsec","twitter_misc":{"Written by":"Admin","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#article","isPartOf":{"@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/"},"author":{"name":"Admin","@id":"https:\/\/www.intrinsec.com\/#\/schema\/person\/5636e3e5276b952facbd0aadb12a858a"},"headline":"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9","datePublished":"2017-05-16T09:40:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/"},"wordCount":1249,"commentCount":0,"publisher":{"@id":"https:\/\/www.intrinsec.com\/#organization"},"image":{"@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#primaryimage"},"thumbnailUrl":"","articleSection":["CERT","SOC S\u00e9curit\u00e9 Op\u00e9rationnelle","Veille S\u00e9curit\u00e9"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/","url":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/","name":"Malware: deobfuscation of an encoded Javascript - INTRINSEC","isPartOf":{"@id":"https:\/\/www.intrinsec.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#primaryimage"},"image":{"@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#primaryimage"},"thumbnailUrl":"","datePublished":"2017-05-16T09:40:49+00:00","breadcrumb":{"@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/www.intrinsec.com\/exercice-de-desobfuscation-dun-jse-par-le-cert-intrinsec\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.intrinsec.com\/"},{"@type":"ListItem","position":2,"name":"Malware : d\u00e9sobfuscation d&#039;un Javascript encod\u00e9"}]},{"@type":"WebSite","@id":"https:\/\/www.intrinsec.com\/#website","url":"https:\/\/www.intrinsec.com\/","name":"INTRINSEC","description":"Our job is to protect yours.","publisher":{"@id":"https:\/\/www.intrinsec.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.intrinsec.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.intrinsec.com\/#organization","name":"INTRINSEC","alternateName":"ISEC","url":"https:\/\/www.intrinsec.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.intrinsec.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2025\/02\/libellule.png","contentUrl":"https:\/\/www.intrinsec.com\/wp-content\/uploads\/2025\/02\/libellule.png","width":1322,"height":1322,"caption":"INTRINSEC"},"image":{"@id":"https:\/\/www.intrinsec.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/Intrinsec","https:\/\/fr.linkedin.com\/company\/intrinsec","https:\/\/www.youtube.com\/channel\/UC0trUZAHNZOUbxYnNdecM4A"],"description":"Intrinsec, a consulting firm and pure-play French and European cybersecurity provider for over 30 years, specializes in offensive security and auditing (penetration testing\/red teams), GRC, and IMSS services such as SOC, CTI, and CERT. Intrinsec is qualified at PASSI High, PRIS High, and PACS levels by ANSSI.","email":"contact@intrinsec.com"},{"@type":"Person","@id":"https:\/\/www.intrinsec.com\/#\/schema\/person\/5636e3e5276b952facbd0aadb12a858a","name":"Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=retro&r=g","caption":"Admin"},"url":"https:\/\/www.intrinsec.com\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/posts\/228088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/comments?post=228088"}],"version-history":[{"count":0,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/posts\/228088\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/media?parent=228088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/categories?post=228088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.intrinsec.com\/en\/wp-json\/wp\/v2\/tags?post=228088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}