<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://uname.pingveno.net/blog/index.php/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title># uname -a - Mot-clé - trojan</title>
    <link>https://uname.pingveno.net/blog/index.php/</link>
    <atom:link href="https://uname.pingveno.net/blog/index.php/feed/tag/trojan/rss2" rel="self" type="application/rss+xml" />
    <description>Le blog de uname.pingveno.net</description>
    <language>fr</language>
    <pubDate>Tue, 18 Aug 2026 13:46:21 +0200</pubDate>
    <copyright>Mathieu Pellegrin</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Cinq étapes pour créer un cheval de troie sous GNU/Linux</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2013/11/05/Cinq-%C3%A9tapes-pour-cr%C3%A9er-un-cheval-de-troie-sous-GNU/Linux</link>
        <guid isPermaLink="false">urn:md5:c96473c59ab8571ccfdcb5f9dc6e3ab4</guid>
        <pubDate>Tue, 05 Nov 2013 23:41:00 +0100</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Hacks</category>
                          <category>hack</category>
                  <category>linux</category>
                  <category>trojan</category>
                <description>          &lt;p&gt;Contrairement à ce qu'on dit, créer des logiciels malveillants sous Linux est d'une simplicité enfantine. La sécurité d'un système ne repose pas sur le nombre de barrière qu'il peut vous placer mais sur la capacité des utilisateurs à avoir du recul sur leur machine.&lt;/p&gt;

&lt;p&gt;Voici donc les cinq étapes pour créer un petit cheval de troie sur Linux. Rien d'exceptionnel, beaucoup d'autres l'ont fait avant moi, cet article est entièrement à but pédagogique.&lt;/p&gt;

&lt;h3&gt;1. Installation&lt;/h3&gt;

&lt;div style=&quot;float: right; margin: 0 0 1em 1em;&quot;&gt;&lt;img alt=&quot;xkcd_authorization.png&quot; src=&quot;https://uname.pingveno.net/blog/public/posts_thumb/xkcd_authorization.png&quot; title=&quot;xkcd_authorization.png, déc. 2013&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;&lt;a href=&quot;http://xkcd.com/1200/&quot;&gt;Source de l'image&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;C'est sans doute sur ce point que l'on pourrait imaginer les systèmes Linux plus fiables que les systèmes Windows : dans la plupart des cas les logiciels malveillant sous Linux sont installés par l'utilisateur, et non à son insu. Pas beaucoup de possibilités pour injecter dans des 0day présents sur des programmes Linux, ils sont rapidement patchés. Quoique.&lt;/p&gt;

&lt;p&gt;Non, l'installation viendra certainement de l'utilisateur. On l'aidera un peu ceci dit. Le type d'installation déterminera le champ d'action et la capacité de dissimulation du &lt;code&gt;trojan&lt;/code&gt;. Même si on ne peut pas vraiment parler de rootkit pour un programme lancé en zone utilisateur, on peut faire un excellent cheval de troie ou un &lt;code&gt;keylogger&lt;/code&gt; sympa avec de simples privilèges utilisateur.&lt;/p&gt;

&lt;p&gt;Que vous prêtiez votre session l'espace de dix minutes ou que vous cliquiez benoîtement sur un joli fichier-image-qui-en-est-pas-un, le résultat sera plus ou moins le même : le programme s'installera, première étape franchie.&lt;/p&gt;

&lt;p&gt;Où il s'installera ? Ça dépend. S'il est &lt;code&gt;root&lt;/code&gt;, le programme prendra ses aises dans les coin reculés de &lt;code&gt;/proc&lt;/code&gt; ou &lt;code&gt;/lib&lt;/code&gt;, là où vous n'irez pas le chercher. S'il est utilisateur, il se chargera quelque part dans un &lt;code&gt;.machinchose&lt;/code&gt;, les fichiers cachés présents dans votre dossier utilisateur.&lt;/p&gt;

&lt;h3&gt;2. Démarrage&lt;/h3&gt;

&lt;p&gt;Avoir un fichier malveillant sur son ordinateur (à des fins purement scientifiques), ça arrive à tout le monde. Mais que celui-ci devienne létal en se lançant avec votre session, ça c'est une autre affaire. Comme sous Windows, il n'y a aucune difficulté à lancer un programme avec la session ou dans les services.&lt;/p&gt;

&lt;p&gt;Pour les services, un petit patch dans &lt;code&gt;/etc/rc.d/&lt;/code&gt; ou &lt;code&gt;/etc/rc.local&lt;/code&gt; et vous êtes partis pour la rigolade.&lt;/p&gt;

&lt;p&gt;Pour les programmes utilisateur, une petite retouche dans &lt;code&gt;.xsessionrc&lt;/code&gt;, le &lt;code&gt;.login&lt;/code&gt;, ou le fichier de démarrage de votre environnement (gnome, kde, etc) fera amplement l'affaire.&lt;/p&gt;

&lt;h3&gt;3. Dissimulation&lt;/h3&gt;

&lt;p&gt;Un trojan, si on le trouve&amp;nbsp; c'est pas drôle, alors il faut le cacher un peu. Les fichiers cachés c'est bien pour un utilisateur lambda, mais pour un administrateur système il faudra trouver mieux. Quoique.&lt;/p&gt;

&lt;p&gt;Les programmes qui se dissimulent le mieux sont des programmes qui se sont installés en root. Forcément, pour ce genre de programme, patcher le noyau pour se rendre invisible, modifier la commande &quot;top&quot; ou recompiler et installer ses propres paquets patchés est l'enfance de l'art, mais un programme utilisateur peut lui aussi installer sa petite mécanique secrète.&lt;/p&gt;

&lt;p&gt;Par exemple, il peut modifier le &lt;code&gt;PATH&lt;/code&gt; de l'utilisateur pour remplacer les programmes systèmes par les siens (genre ps, top, ou les outils de diagnostique réseau), trafiquant alors les sorties des programmes légitimes pour se rendre invisible.&lt;/p&gt;

&lt;h3&gt;4. Collecte d'informations&lt;/h3&gt;

&lt;p&gt;Là on pourrait penser que le système le plus sécurisé du monde empêche les application illégitimes de collecter des informations. En fait non.&lt;/p&gt;

&lt;p&gt;Si vous êtes root, vous avez de toute façon accès à toutes les entrées et sorties que vous voulez.&lt;/p&gt;

&lt;p&gt;Si vous êtes un programme utilisateur, vous avez accès aux informations que l'utilisateur soumet, ce qui et déjà largement suffisant pour lui voler ses mots de passe. Outre aller farfouiller dans les &lt;code&gt;.config&lt;/code&gt; et les &lt;code&gt;.mozilla,&lt;/code&gt; le gentil programme peut aussi profiter du mécanisme vieillissant fourni par le serveur graphique X, et capturer n'importe quelle frappe de touche en silence (&lt;a href=&quot;http://neosting.net/un-keylogger-en-natif-sous-linux-via-x11&quot; hreflang=&quot;fr&quot;&gt;si&lt;/a&gt;, &lt;a href=&quot;http://code.google.com/p/logkeys/&quot;&gt;si&lt;/a&gt;...).&lt;/p&gt;

&lt;h3&gt;5. Communication avec l'extérieur&lt;/h3&gt;

&lt;p&gt;Créer un tunnel réseau sous Linux est enfantin en utilisant un langage de haut niveau comme Python. Pour les autres, quelques &lt;code&gt;read&lt;/code&gt; avec des &lt;code&gt;socket&lt;/code&gt; fera amplement l'affaire. Le point délicat ici est le chiffrement. C'est toujours délicat d'implémenter une couche SSL sur les programmes. Une alternative est l'alternance entre un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Masque_jetable&quot;&gt;masque jetable&lt;/a&gt; et un décalage de bits, chacun d'une taille suffisante pour tromper le newbie qui snifferait des trames réseau à la recherche de ce qui fuite.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;La création de programmes malveillant sous GNU/Linux est accessible à un élève de seconde année de licence Informatique, c'est à dire pratiquement n'importe qui. N'oubliez pas que ce que vous pouvez faire sur votre ordinateur, n'importe quel programme qui s'exécute avec vos droits d’utilisateur peut lui aussi le faire (skype ?).&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
