<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rémi Escourrou, Auteur</title>
	<atom:link href="https://www.riskinsight-wavestone.com/author/remi-escourrou/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.riskinsight-wavestone.com/author/remi-escourrou/</link>
	<description>Le blog cybersécurité des consultants Wavestone</description>
	<lastBuildDate>Mon, 12 Jul 2021 08:54:17 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.riskinsight-wavestone.com/wp-content/uploads/2024/02/Blogs-2024_RI-39x39.png</url>
	<title>Rémi Escourrou, Auteur</title>
	<link>https://www.riskinsight-wavestone.com/author/remi-escourrou/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Comment tirer parti d&#8217;une opération Red Team ?</title>
		<link>https://www.riskinsight-wavestone.com/2020/08/comment-tirer-parti-dune-operation-red-team/</link>
		
		<dc:creator><![CDATA[Rémi Escourrou]]></dc:creator>
		<pubDate>Tue, 25 Aug 2020 12:03:25 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[Ethical Hacking & Incident Response]]></category>
		<category><![CDATA[attaque]]></category>
		<category><![CDATA[blue team]]></category>
		<category><![CDATA[CISO]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[red team]]></category>
		<category><![CDATA[stratégie de défense]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=14059</guid>

					<description><![CDATA[<p>Sur les 40 incidents majeurs gérés par le CERT-Wavestone l’année dernière, seulement 26% des incidents de sécurité ont été identifiés par le service de détection cyber de l’organisation (le SOC dans la plupart des cas). C’est donc assez logiquement que l’ANSSI évoquait une faiblesse collective...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2020/08/comment-tirer-parti-dune-operation-red-team/">Comment tirer parti d&rsquo;une opération Red Team ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Sur les <a href="https://www.wavestone.com/app/uploads/2019/10/2019-Security-incident-response-benchmark-Wavestone.pdf" target="_blank" rel="nofollow noopener noreferrer">40 incidents majeurs gérés</a> par le <a href="https://fr.wavestone.com/fr/offre/cybersecurite-confiance-numerique/cert-w/" target="_blank" rel="nofollow noopener noreferrer">CERT-Wavestone</a> l’année dernière, seulement 26% des incidents de sécurité ont été identifiés par le service de détection cyber de l’organisation (le SOC dans la plupart des cas). C’est donc assez logiquement que l’ANSSI évoquait <strong>une faiblesse collective sur la détection</strong> aux dernières Assises de la Sécurité.</p>
<p>&nbsp;</p>
<div class="slate-resizable-image-embed slate-image-embed__resize-full-width">
<figure id="post-14724 media-14724" class="align-none"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-14724 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/1595335008859.png" alt="" width="866" height="542" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/1595335008859.png 866w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/1595335008859-305x191.png 305w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/1595335008859-62x39.png 62w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/1595335008859-768x481.png 768w" sizes="(max-width: 866px) 100vw, 866px" /></figure>
</div>
<div>
<p style="text-align: justify;">Mais comment <strong>renforcer la détection</strong> d’une intrusion dans son entreprise ? Les tests d’intrusion permettent d’évaluer le niveau de protection/durcissement sur un périmètre précis et encadré, qui ne représentent pas forcement la réalité vécue lors de nos réponses à incidents. Les exercices de gestion de crise permettent quant à eux d’améliorer la réaction… L’opération Red Team peut être un bon élément de réponse, permettant ainsi d’évaluer (et donc d’améliorer) de bout en bout le système d’informations ainsi que les <strong>capacités de détection</strong>.</p>
<p style="text-align: justify;">Qu’est-ce qu’une opération Red Team ? C’est <strong>tout simplement une attaque réaliste mais sans les effets négatifs</strong>. L’objectif est de déterminer, aujourd’hui, quelles sont les actions malveillantes qu’un groupe d’attaquants peut réaliser sur mon entreprise et à quel moment suis-je capable de les détecter ?</p>
<p style="text-align: justify;">Dans cet article, nous verrons quelles sont les étapes clefs d’une telle opération et comment s’assurer d’en récolter les fruits.</p>
<p>&nbsp;</p>
<h2>ETAPE 1 : DEFINIR L’EQUIPE CŒUR ET IDENTIFIER LE TROPHEE</h2>
<p>Définir une équipe de contrôle restreinte est primordiale pour limiter la fuite d’informations vers la Blue Team (équipe de détection, i.e. SOC), fluidifier les communications et faciliter la prise de décision par le client. L’équipe de contrôle devra donc être séparée clairement de la Blue Team. <strong>Souvent le choix se porte vers le CISO ou un représentant du COMEX</strong>, avec qui il faudra fixer les limites du périmètre et du mode opératoire (les plus larges possibles), pour éviter tout incident malencontreux !</p>
<blockquote><p><em>« That’s out of scope » &#8211; Said no attacker ever</em></p></blockquote>
<p style="text-align: justify;">Ensuite, une particularité d’une opération Red Team est de définir un « trophée », c’est la cible de l’opération. En effet, un attaquant est souvent <strong>motivé par un objectif </strong>(gain, destruction, espionnage, …) et il convient de calquer les objectifs de la Red Team dessus. La Red Team a en général déjà quelques bonnes idées mais les meilleurs trophées (i.e l’impact le plus fort lors de la restitution) sont étroitement liées aux <strong>enjeux business</strong> de l’entreprise ainsi que son <strong>actualité</strong>.</p>
<p style="text-align: justify;">La cible doit être les scénarios qui font le plus froid dans le dos des dirigeants : une prise de contrôle à distance de l’infrastructure SWIFT ? Une compromission des terminaux de paiement ? La fuite de la liste des clients VIP ? Les positions prises ces derniers mois à l’étranger ? Les idées peuvent être nombreuses, mais il est nécessaire de <strong>se restreindre à une cible ou deux</strong> pour garder en visibilité ce qui est le plus critique. Il sera toujours possible d’identifier un autre trophée pour la prochaine opération : il est même conseillé de modifier les trophées d’une année sur l’autre afin de tester des pans de système d’information différents.</p>
<p style="text-align: justify;">Lors de nos dernières interventions, des COMEX portent leur choix sur <strong>des scénarios ayant déjà eu lieu lors de réelles cyberattaques</strong> qu’ils avaient subies. Cela leur permet aussi d’évaluer l’efficacité des nouveaux moyens de sécurité mis en œuvre.</p>
<p>&nbsp;</p>
<h2>ETAPE 2 : PREPARER ET LANCER L’ASSAUT EN MELANT EFFICACITE ET FURTIVITE</h2>
<p style="text-align: justify;">La crédibilité de l’attaque est un des facteurs clef du succès de l’opération, notamment pour la phase de restitution. Une fois le trophée arrêté : nous construisons <strong>une démarche basée sur les techniques utilisées par les groupes d’attaquants</strong>.</p>
<p style="text-align: justify;">C’est à ce moment que les retours terrains sont particulièrement utiles ! Chez Wavestone, nous nous appuyons fortement sur notre équipe de réponse à incident (CERT-W) et sa <strong>capacité de Threat Intelligence </strong>pour identifier les dernières tendances, sur le <strong>savoir-faire technique</strong> de notre équipe d’audit ainsi que la <strong>créativité</strong> de notre équipe CTF (Capture The Flag).</p>
<p style="text-align: justify;">Ainsi, la Red Team utilisera <strong>l’ensemble des moyens possibles et nécessaires</strong> afin de pénétrer sur le SI (campagne de phishing, phishing téléphonique, intrusion physique, compromission de composants exposés sur internet…) et ensuite rebondir vers le trophée. Cette phase est la plus <strong>créative</strong> et passionnante pour les auditeurs (comme pour les attaquants), et peut potentiellement durer plusieurs semaines, à l’image des cyberattaques les plus médiatisées.</p>
<p style="text-align: justify;">Toutefois, le maître-mot doit rester : « furtivité » ! En effet, la moindre détection par la Blue Team peut totalement faire échouer ou reculer l’opération. Une attention particulière doit être portée sur des <strong>outils et infrastructures d’attaque sur mesure</strong> pour <strong>ne pas affoler les systèmes de détection</strong>. Pour le premier point, nous avons développé en interne l’<a href="https://github.com/wavestone-cdt/abaddon" target="_blank" rel="nofollow noopener noreferrer">outil Abaddon</a>, désormais open-source, et permettant de construire et déployer en quelques clics les infrastructures nécessaires.</p>
<p>&nbsp;</p>
<div class="slate-resizable-image-embed slate-image-embed__resize-full-width" style="text-align: justify;">
<figure id="post-14727 media-14727" class="align-none"><img decoding="async" class="aligncenter wp-image-14727 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-8-1.png" alt="" width="1272" height="709" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-8-1.png 1272w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-8-1-343x191.png 343w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-8-1-71x39.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-8-1-768x428.png 768w" sizes="(max-width: 1272px) 100vw, 1272px" /></figure>
</div>
</div>
<div>
<p style="text-align: justify;"><strong>Deux questions </strong>reviennent systématiquement concernant le déroulement d’une opération Red Team.</p>
<p style="text-align: justify;">La première « Que faire <strong>en cas de détection</strong> ? ». Qu’une action se fasse détecter peut arriver au cours d’une opération Red Team : une bonne règle de corrélation du SIEM, un utilisateur averti qui partage un comportement anormal, etc.. Tout d’abord, dans l’organisation de base <strong>l’équipe de contrôle doit superviser les incidents</strong> au sein du SOC afin d’éviter une « sur-escalade » en crise d’un incident en relation avec le Red Team. La cellule de contrôle pourra ainsi demander un <strong>rapport à la Blue Team</strong> (résumé, comportement détecté, timeline des actions, actions de remédiation, …) et définir ensuite le <strong>scénario de reprise</strong> avec la Red Team : ne pas tenir compte de la détection car elle est trop ancienne, repartir de l’avant dernier asset compromis qui n’a pas été détecté, etc. De plus, le travail deviendra plus compliqué pour la Red Team qui devra par exemple changer totalement son infrastructure C2 et dorénavant réussir à tromper une Blue Team en alerte.</p>
<p style="text-align: justify;">La seconde « Si les <strong>le(s) trophée(s) sont obtenues très rapidement</strong>, que faire ?». Imaginons le pire des scénarios : l’administrateur applicatif du trophée se fait piégé par un mail de phishing et nous permet de prendre le contrôle complet de l’application dès le début de l’opération (Tout le monde peut faire une erreur). Le point sera <strong>partagé avec l’équipe de contrôle</strong> et la marche à suivre sera définie conjointement : ajouter des trophées pour tester la robustesse d’un autre périmètre, repartir de zéro et identifier un autre chemin de compromission, … Cet exemple un peu caricatural est là pour rappeler que l’objectif d’une opération Red Team est <strong>d’améliorer durablement le niveau de sécurité</strong> via l’entrainement de la Blue Team et non juste l’obtention d’un trophée.</p>
<p>&nbsp;</p>
<h2>ETAPE 3 : RESTITUER UNE REPONSE CLAIRE SUR UN RISQUE METIER CRITIQUE</h2>
<p style="text-align: justify;">L’objectif reste d’apporter aux commanditaires une <strong>vision claire</strong> sur l’état de sécurité réel de leur SI, sur les scénarios d’attaque permettant d’accéder à leurs ressources critiques (identifiées comme « trophées » de l’opération), ainsi que sur leurs capacités de détection. Tout simplement, l’opération Red Team doit permettre de répondre à la question « Le trophée est-il accessible et avec quel niveau d’expertise ? ». Il faut cependant retenir que l’opération Red Team va mettre en <strong>valeur un chemin exploitable</strong> qui ne sera peut-être pas le seul, ni le plus simple.</p>
<p style="text-align: justify;">Dès lors, nous restituons aux parties prenantes (CISO, SOC, COMEX…) avec une synthèse haut-niveau afin de présenter les conclusions de l’opération Red Team, le scénario d’attaque suivi et les chantiers les plus prioritaires. Les résultats sont généralement comparés à des <strong>profils type d’attaquants</strong> (Maze, REvil/Sodinoki…) sur le référentiel <a href="https://attack.mitre.org/" target="_blank" rel="nofollow noopener noreferrer">MITRE ATT&amp;CK</a> pour être plus parlants.</p>
<p>&nbsp;</p>
<div class="slate-resizable-image-embed slate-image-embed__resize-full-width">
<figure id="post-14729 media-14729" class="align-none"><img decoding="async" class="aligncenter wp-image-14729 size-full" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-9.png" alt="" width="1170" height="229" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-9.png 1170w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-9-437x86.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-9-71x14.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2020/08/0-9-768x150.png 768w" sizes="(max-width: 1170px) 100vw, 1170px" /></figure>
</div>
<p style="text-align: justify;">Dans un second temps, il faudra évidemment <strong>restituer en détails à la Blue Team</strong> les étapes techniques de l’opération, en vue de définir des axes de progrès sur la détection.</p>
<blockquote><p><em>“If we win, we lose » Said a good red teamer</em></p></blockquote>
</div>
<div id="ember1736" class="ember-view" style="text-align: justify;">
<div class="reader-article-content" dir="ltr">
<p>Cette seconde phase est fondamentale pour que l’opération ait la plus-value escomptée : <strong>pédagogie</strong> et <strong>clarté</strong> sont de mises pour faire passer les bons messages ! N’hésitons pas à faire <strong>des ateliers complémentaires</strong> pour expliquer les problèmes soulevés par l’opération et trouver ensemble des solutions pour y remédier. Une <strong>interprétation conjointe des constats</strong> entre la Blue Team et la Red Team permet de prendre du recul sur les vulnérabilités et identifier des <strong>actions d’amélioration concrètes.</strong></p>
</div>
</div>
<div id="ember1736" class="ember-view">
<div class="reader-article-content" dir="ltr">
<p style="text-align: justify;">L’opération Red Team ne doit pas se réduire à corriger quelques vulnérabilités sur le SI mais permettre d’obtenir le <strong>niveau de sécurité effectif</strong> (et cela même s’il n’est pas exhaustif, car un Red Team ne sera jamais un audit).</p>
<p style="text-align: justify;">En quelques mots, une opération Red Team permet de <strong>tester à grande échelle sa stratégie de défense</strong> et <strong>d’entrainer</strong> (améliorer) son <strong>équipe de défense</strong>. Le caractère très concret des trophées permet une <strong>compréhension</strong> et une prise de conscience du risque cyber des <strong>décideurs</strong>.</p>
</div>
</div>
<div class="reader-flag-content__wrapper mb4 clear-both" data-ember-action="" data-ember-action-1737="1737"></div>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2020/08/comment-tirer-parti-dune-operation-red-team/">Comment tirer parti d&rsquo;une opération Red Team ?</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BEEMKA &#8211; Electron Post-Exploitation When The Land Is Dry</title>
		<link>https://www.riskinsight-wavestone.com/2019/08/beemka-electron-post-exploitation-when-the-land-is-dry/</link>
		
		<dc:creator><![CDATA[Rémi Escourrou]]></dc:creator>
		<pubDate>Thu, 29 Aug 2019 16:15:54 +0000</pubDate>
				<category><![CDATA[Challenges]]></category>
		<category><![CDATA[Cybersecurity & Digital Trust]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[beemka]]></category>
		<category><![CDATA[compte rendu]]></category>
		<category><![CDATA[détection]]></category>
		<category><![CDATA[discord]]></category>
		<category><![CDATA[electron]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[Slack]]></category>
		<category><![CDATA[vulnerability management]]></category>
		<guid isPermaLink="false">https://www.riskinsight-wavestone.com/?p=15574</guid>

					<description><![CDATA[<p>Lors de les BSides Las Vegas 2019, Pavel « @ sadreck » Tsakalidis a présenté un nouveau framework de post-exploitation qui repose sur l’utilisation d’Electron par des « applications desktop ». Sa présentation démontre que l’utilisation massive d’Electron ces dernières...</p>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2019/08/beemka-electron-post-exploitation-when-the-land-is-dry/">BEEMKA &#8211; Electron Post-Exploitation When The Land Is Dry</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a style="margin-left: 1em; margin-right: 1em; text-align: center;" href="https://1.bp.blogspot.com/--k9GnoyEsSA/XWeNvLIgHmI/AAAAAAAAArc/MZmZ_YLU1tIfDG85RMpZVTRT_tYOvItFACLcBGAs/s1600/header.png"><img loading="lazy" decoding="async" src="https://1.bp.blogspot.com/--k9GnoyEsSA/XWeNvLIgHmI/AAAAAAAAArc/MZmZ_YLU1tIfDG85RMpZVTRT_tYOvItFACLcBGAs/s640/header.png" width="640" height="240" border="0" data-original-height="350" data-original-width="927" /></a></p>
<div style="text-align: justify;">
<div>Lors de les BSides Las Vegas 2019, Pavel « @ sadreck » Tsakalidis a présenté un nouveau framework de post-exploitation qui repose sur l’utilisation d’Electron par des « applications desktop ». Sa présentation démontre que l’utilisation massive d’Electron ces dernières années peut être utilisée pour injecter du code malveillant dans des applications légitimes.</div>
<div>Le projet peut être retrouvé sur le dépôt GitHub suivant : <a href="https://github.com/ctxis/beemka">https://github.com/ctxis/beemka</a>.</div>
</div>
<div style="text-align: justify;"></div>
<h3 style="text-align: justify;">Introduction</h3>
<div style="text-align: justify;">Electron est un framework permettant de développer des applications multiplateformes avec des technologies web (Javascript, HTLM et CSS).</div>
<div style="text-align: justify;">Son fonctionnement est assez simple, Electron utilise « node.js » en backend et « Chromium » en frontend :</div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">
<figure id="post-15898 media-15898" class="align-none"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-15898" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/2-BEEMKA-437x165.png" alt="" width="437" height="165" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/2-BEEMKA-437x165.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/2-BEEMKA-71x27.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/2-BEEMKA-768x290.png 768w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/2-BEEMKA.png 927w" sizes="auto, (max-width: 437px) 100vw, 437px" /></figure>
<div style="text-align: center;"><span style="font-size: x-small;"><i>Components of Electron </i></span></div>
<div style="text-align: center;"><span style="font-size: x-small;"><i><a href="https://www.wildnettechnologies.com/build-cross-platform-desktop-apps-with-electron/">https://www.wildnettechnologies.com/build-cross-platform-desktop-apps-with-electron/</a></i></span></div>
<div></div>
</div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">Electron a notamment permis de développer des applications aujourd’hui incontournables en entreprise :</div>
<div style="text-align: justify;"></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="https://1.bp.blogspot.com/-tnbHTpC5ffw/XWeNuKPtguI/AAAAAAAAAro/jl-POTPMvlAqpnWfA56w1MVllExfB5BBgCEwYBhgL/s1600/2.png"><img loading="lazy" decoding="async" src="https://1.bp.blogspot.com/-tnbHTpC5ffw/XWeNuKPtguI/AAAAAAAAAro/jl-POTPMvlAqpnWfA56w1MVllExfB5BBgCEwYBhgL/s640/2.png" width="640" height="208" border="0" data-original-height="394" data-original-width="1201" /></a></div>
<div style="text-align: justify;"></div>
<div style="text-align: center;"><i><span style="font-size: x-small;">Applications Electron</span></i></div>
<div style="text-align: justify;"></div>
<h3 style="text-align: justify;">Principe de l’attaque</h3>
<div style="text-align: justify;">Les applications Slack, GitHub ou encore Microsoft Teams utilisent le dossier « App Data » lors de l’installation. Il est donc possible pour l’utilisateur d’accéder en écriture au répertoire d’installation.</div>
<div style="text-align: justify;">Toutes les applications Electron possèdent un dossier « resources » dans leur répertoire d&rsquo;installation :</div>
<div style="text-align: justify;"></div>
<div class="separator" style="clear: both; text-align: center;"></div>
<div><img decoding="async" class="aligncenter" src="https://1.bp.blogspot.com/-xw6deGNkoZI/XWeNuBTgTyI/AAAAAAAAArg/8Gm4R6E1tA0Ox8jFgFR6Fca7U5HkKcfkwCEwYBhgL/s1600/3.png" /></div>
<div style="text-align: center;"><i><span style="font-size: x-small;">Illustration avec GitHubDesktop</span></i></div>
<div style="text-align: center;"><i> </i></div>
<div style="text-align: justify;">Ce dossier contient généralement :</div>
<ul>
<li>Le dossier « app » qui contient l’application ;</li>
<li>Le fichier « electron.asar » qui prépare l’environnement Chronium au lancement de l’application.</li>
</ul>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">Le fichier « electron.asar » peut être considéré comme une archive qui contient des scripts « *.js » :</div>
<div style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16154" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beemka-js-437x37.png" alt="" width="437" height="37" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beemka-js-437x37.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beemka-js-71x6.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beemka-js.png 712w" sizes="auto, (max-width: 437px) 100vw, 437px" /></div>
<div></div>
<div></div>
<div class="separator" style="clear: both; text-align: center;"><img decoding="async" src="https://1.bp.blogspot.com/-G0TPjCyHF3c/XWeNuDmYBII/AAAAAAAAAro/OQ7CY0443e8i6GXHJwk_Z-_RAVK686RwgCEwYBhgL/s1600/4.png" /></div>
<div style="text-align: center;"><i><span style="font-size: x-small;">Conteneur « electron.asar »</span></i></div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">Le fichier « chrome-extension.js » permet la gestion de l’environnement Chronium :</div>
<figure id="post-16156 media-16156" class="align-none"><img loading="lazy" decoding="async" class="size-medium wp-image-16156 alignleft" src="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beem-ka-2-437x23.png" alt="" width="437" height="23" srcset="https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beem-ka-2-437x23.png 437w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beem-ka-2-71x4.png 71w, https://www.riskinsight-wavestone.com/wp-content/uploads/2019/08/code-beem-ka-2.png 714w" sizes="auto, (max-width: 437px) 100vw, 437px" /></figure>
<p>&nbsp;</p>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">Pavel propose ainsi d’injecter directement dans ce fichier du code javascript, permettant de lancer une action malveillante lors d’un évènement spécifique :</div>
<p><span class="w-code"><span class="w-root">app</span>.on(&lsquo;<span class="w-server">browser-window-focus</span>&lsquo;, function (event, bWindow) { <span class="w-root">bWindow</span>.webContents.<span class="w-grepped">executeJavaScript</span>(« <span class="w-server">alert(Hello Github !!&rsquo;);</span>« ) }) </span></p>
<p>&nbsp;</p>
<div style="text-align: justify;">Lors de l’ouverture de l’application (après avoir packé le fichier « electron.asar » et redéposé dans le répertoire « resource »), un pop-up (XSS style) va s’ouvrir dans l’application GitHub Desktop :</div>
<div style="text-align: justify;"></div>
<div><img loading="lazy" decoding="async" class="aligncenter" src="https://1.bp.blogspot.com/-AvxSdvn3kMg/XWeNu780hcI/AAAAAAAAArk/_psRbes4m7YyzYT5icMD_mYD7xRT2YeXQCEwYBhgL/s1600/5.png" width="314" height="177" /></div>
<div style="text-align: justify;"></div>
<div style="text-align: center;"><i><span style="font-size: x-small;">Illustration avec GitHub Desktop</span></i></div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">Le code est donc correctement exécuté.</div>
<div style="text-align: justify;"></div>
<h3 style="text-align: justify;">Démonstration</h3>
<div style="text-align: justify;">La vidéo suivante présente une démonstration du module « rshell_cmd » dans GitHub Desktop, permettant d’ouvrir un reverse shell vers notre listener :</div>
<div style="text-align: center;"><iframe loading="lazy" src="https://bit.ly/2PBBGb1" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">
<div>La commande utilisée est la suivante :</div>
<p><span class="w-code">$ <span class="w-cli">python3</span> ./beemka/beemka.py &#8212;<span class="w-cli">inject </span>&#8212;<span class="w-cli">module </span>rshell_cmd &#8212;<span class="w-cli">asar</span> ./electron_safe.asar &#8212;<span class="w-cli">output </span>./electron.asar</span></p>
</div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">De plus, l’exécutable de l’application « GitHub Desktop » n’est jamais modifié durant la modification du fichier « asar ». Cette technique peut donc permettre de contourner une politique de filtrage présente sur le poste.</div>
<div style="text-align: justify;"></div>
<h3 style="text-align: justify;">Conclusion</h3>
<div style="text-align: justify;">Le framework présenté par Pavel est très intéressant pour compléter ses techniques de persistance. En effet, il se base sur le fonctionnement intrinsèque d’Electron et ne nécessite pas d’exploiter une vulnérabilité présente dans les applications.</div>
<div style="text-align: justify;">Le framework permet aussi d’aller plus loin en accédant aux données des applications mais aussi de réaliser d’autres opérations comme déposer un keylogger, prendre un Screenshot, …</div>
<div style="text-align: justify;">A ce jour, aucune solution n’était proposée par Electron pour mieux vérifier l’intégrité des fichiers des applications. Le plus simple est d’installer les applications dans « Programmes files » avec les privilèges administrateurs pour ne pas permettre à un utilisateur standard d’éditer le fichier « electron.asar ».</div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">Ps : BloodHound est aussi une application Electron, une bonne « blague » à faire aux équipes Red/Blue Team :</div>
<div style="text-align: center;"><iframe loading="lazy" src="https://bit.ly/2L30Yuk" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">
<div style="text-align: right;"></div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">
<h4>Références</h4>
</div>
<div style="text-align: justify;"><a href="https://www.contextis.com/en/blog/basic-electron-framework-exploitation">https://www.contextis.com/en/blog/basic-electron-framework-exploitation</a></div>
<div style="text-align: justify;"><a href="https://github.com/ctxis/beemka">https://github.com/ctxis/beemka</a></div>
<div style="text-align: justify;"><a href="https://electronjs.org/docs/tutorial/application-architecture">https://electronjs.org/docs/tutorial/application-architecture</a></div>
<div style="text-align: justify;"><a href="https://www.wildnettechnologies.com/build-cross-platform-desktop-apps-with-electron/">https://www.wildnettechnologies.com/build-cross-platform-desktop-apps-with-electron/</a></div>
<div style="text-align: justify;"></div>
</div>
<p>Cet article <a href="https://www.riskinsight-wavestone.com/2019/08/beemka-electron-post-exploitation-when-the-land-is-dry/">BEEMKA &#8211; Electron Post-Exploitation When The Land Is Dry</a> est apparu en premier sur <a href="https://www.riskinsight-wavestone.com">RiskInsight</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
