tag:linuxfr.org,2005:/tags/hack/publicLinuxFr.org : les contenus étiquetés avec « hack »2024-02-01T21:48:43+01:00/favicon.pngtag:linuxfr.org,2005:Diary/410452024-01-26T08:42:07+01:002024-01-26T08:42:07+01:00Panne de l'ordinateur interne d'un Surface Allen & Heath I-live T112Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour,</p>
<p>Dans l'église que je fréquente, nous utilisons une console de mixage Allen & Heath iLive, composée d'un iDR32 sur la scène (où se fait le mixage) et d'une surface de contrôle iLive T112 (une sorte de télécommande).</p>
<p>Un samedi matin, alors que j'accompagnais mon fils à une répétition de musique, un ami aux commandes de la console m'a informé que la surface ne démarrait plus. En réalité, elle démarrait, mais l'ordinateur intégré ne fonctionnait plus.</p>
<p>Après avoir aidé à configurer un preset son avec un ordinateur (avantageusement, on peut se passer de la surface et piloter l'iDR avec un iPad ou un ordinateur via un logiciel en Java, pratique pour dépanner mais moins ergonomique - l'iPad est utile, par exemple, pour les retours), nous avons décidé d'ouvrir la surface pour examiner le problème. Mon ami est automaticien, et quant à moi, je suis électronicien travaillant dans l'informatique. Nous avons identifié que le problème était thermique, lié à des condensateurs chimiques ayant séché avec le temps et perdant de leur capacité à basse température. Un coup de sèche-cheveux a permis de redémarrer l'ordinateur de la surface.</p>
<p>Nous avons constaté que le système d'exploitation et les réglages étaient stockés sur une carte Compact Flash de 2 Go. J'ai créé une image de la carte et l'ai copiée sur une autre Compact Flash de 2 Go, mais le problème persistait. Il était clair qu'il fallait remplacer l'ordinateur de bord (avec un délai de 5 semaines pour obtenir un nouveau). Pour ce week-end, nous avons décidé d'utiliser le sèche-cheveux comme moyen de démarrage.</p>
<p>Chez Allen & Heath, tout passe par le réseau, et ils fournissent une documentation détaillée sur le protocole. Il est possible de développer son propre logiciel de contrôle.</p>
<p>De mon côté, j'ai analysé le contenu de l'image, qui s'est révélé être une version d'Ubuntu 10.4. J'ai décidé de démarrer l'image dans Virt-Manager, et bien que le système ait démarré, le réseau ne fonctionnait pas. Je me suis souvenu qu'à l'époque, la première carte réseau était toujours eth0. Après quelques recherches sur internet et des conseils de ChatGPT, j'ai modifié le fichier /etc/udev/rules.d/70-persistent-net.rules, en commentant les lignes inutiles et en renommant eth2 en eth0.</p>
<p>Ayant réussi à connecter la machine virtuelle à l'iDR et à la surface, je me suis demandé s'il était possible de faire fonctionner l'application sur le PC Ubuntu voisin, qui contrôlait l'éclairage via un bus DMX. Après quelques investigations, j'ai trouvé les paramètres réseau dans /opt/bootlocal.sh et les adresses de l'iDR et de la surface dans /home/dsl/DL5000INIFile.xml.</p>
<p>J'ai copié le contenu de /home/dsl de l'image dans un sous-dossier du dossier de l'utilisateur sur le PC (/home/gcj/secoure dans mon cas). Puis, j'ai copié mon .xinitrc en start.sh, modifié les chemins et ajouté un shebang, ce qui a donné le script suivant :</p>
<pre><code class="bash"><span class="ch">#!/bin/bash</span>
<span class="c1"># AB V2 O/S Startup Script</span>
<span class="c1"># Ce bloc lance un serveur pour qu'un iPad ou un ordinateur externe puisse se connecter</span>
<span class="k">if</span> <span class="nb">test</span> -e /home/dsl/com/allenheath/rmiEngine/RMIEngine.class
<span class="k">then</span>
sudo java -classpath /home/dsl com.allenheath.rmiEngine.RMIEngine <span class="p">&</span>
<span class="k">else</span>
<span class="nb">echo</span> <span class="s2">"RMI Not Found"</span>
<span class="k">fi</span>
<span class="c1"># Copie de SysMan vers /home/dsl</span>
<span class="k">if</span> <span class="nb">test</span> -e /home/dsl/Current/DL5000SystemManager.jar
<span class="k">then</span>
sudo cp /home/dsl/Current/DL5000SystemManager.jar /home/dsl/DL5000SystemManager.jar
<span class="k">else</span>
<span class="nb">echo</span> <span class="s2">"No System Manager Found. Aborting"</span>
<span class="k">fi</span>
<span class="c1"># Ce bloc lance l'applicatif qui communique avec la surface et l'iDR</span>
<span class="c1"># Exécution de Sys Man</span>
<span class="k">if</span> <span class="nb">test</span> -e /home/dsl/DL5000SystemManager.jar
<span class="k">then</span>
sudo java -jar -Xms256m -Xmx580m /home/dsl/DL5000SystemManager.jar <span class="m">2</span>>> /home/dsl/ErrorLog
<span class="k">else</span>
<span class="nb">echo</span> <span class="s2">"Bad System Manager Copy. Aborting"</span>
<span class="k">fi</span></code></pre>
<p>Après un certain temps, l'application s'est connectée avec succès à la surface et à l'iDR. Mon ami a suggéré d'utiliser un Raspberry Pi au lieu d'un ordinateur cher, mais nous avons rencontré un autre problème lié à l'écran tactile interne.<br>
Le problème avec l'écran tactile réside dans le fait qu'il fonctionne avec une interface LVDS (Low-Voltage Differential Signaling) 24 bits et nécessite une tension de 3.5 volts, sans inversion.</p>
<p>En espérant que cette expérience puisse être utile à quelqu'un, car j'ai constaté que de nombreuses personnes rencontraient le même problème sur internet.</p>
<p>P.S Corrigé avec Mixtral et chatgpt</p>
<div><a href="https://linuxfr.org/users/jobpilot/journaux/panne-de-l-ordinateur-interne-d-un-surface-allen-heath-i-live-t112.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134731/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/jobpilot/journaux/panne-de-l-ordinateur-interne-d-un-surface-allen-heath-i-live-t112#comments">ouvrir dans le navigateur</a>
</p>
Ecran Plathttps://linuxfr.org/nodes/134731/comments.atomtag:linuxfr.org,2005:Bookmark/78172024-01-19T14:53:44+01:002024-01-19T14:53:44+01:00Après un BSOD de Windows, un driver permet de lancer un émulateur Linux sans redémarrage <a href="https://www.tomshardware.com/software/operating-systems/driver-hack-lets-you-run-linux-after-windows-bsods-no-reboot-required">https://www.tomshardware.com/software/operating-systems/driver-hack-lets-you-run-linux-after-windows-bsods-no-reboot-required</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134668/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/woffer/liens/apres-un-bsod-de-windows-un-driver-permet-de-lancer-un-emulateur-linux-sans-redemarrage#comments">ouvrir dans le navigateur</a>
</p>
woffer 🐧https://linuxfr.org/nodes/134668/comments.atomtag:linuxfr.org,2005:Bookmark/74432023-11-03T10:17:48+01:002023-11-03T10:17:48+01:00Cosmopolitan Third Edition<a href="https://justine.lol/cosmo3/">https://justine.lol/cosmo3/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133812/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/benoit_in/liens/cosmopolitan-third-edition#comments">ouvrir dans le navigateur</a>
</p>
Benoît Laurenthttps://linuxfr.org/nodes/133812/comments.atomtag:linuxfr.org,2005:Diary/408872023-09-28T11:35:10+02:002023-09-28T11:35:10+02:00CPU Ex0212 lost + found (septembre 2023)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p><strong>Dans cette <em>release</em> de CPU en mode <em>lost+found</em> :</strong> <a href="https://cpu.pm/0212">La suite de notre rentrée</a>, un dauphin cybernétique, un hypergloups et un filigrane gouvernemental. </p>
<p>Merci à nos amis du <a href="https://tetalab.org/"><em>hackerspace</em> Tetalab</a> et aux amis restés pour cette émission qui déborde.</p>
<p><strong>Écoute à la demande</strong> (gratuite, sans pub, ni profilage), liens, commentaires : <a href="https://cpu.pm/0212">https://cpu.pm/0212</a></p>
<p>Podcast disponible sur quasi toutes les plateformes (Eh, Spotify, on est une émission de radio, arrêtez de nous traiter de pirates, on a l'autorisation de passer nos disques)</p>
<p><strong>Chapitres :</strong></p>
<ul>
<li><a href="https://cpu.dascritch.net/post/2023/09/28/News-%28septembre-2023%29">News (septembre 2023)</a></li>
<li><a href="https://cpu.dascritch.net/post/2023/09/28/Feedback-%3A-Flipper-Zero-%28chroniqu%C3%A9-fa%C3%A7on-jeu-vid%C3%A9o%29">Feedback : Flipper Zero (chroniqué façon jeu vidéo)</a></li>
<li><a href="https://cpu.dascritch.net/post/2023/09/28/Plantage-%3A-Hyperloop-%C3%A9-pour-Tout-Toulouse">Plantage : Hyperloop-é pour Tout Toulouse</a></li>
<li><a href="https://cpu.dascritch.net/serie/Crie%20si%20tu%20sais%E2%80%A6">Tunnel de bande-annonces pour la série <em>Crie si tu sais…</em></a></li>
<li><a href="https://cpu.dascritch.net/post/2023/09/28/Feedback-%3A-Filigrane.beta.gouv.fr">Feedback : Filigrane.beta.gouv.fr</a></li>
</ul>
<p><strong>La semaine prochaine :</strong> Et si on expliquait les éléments constitutifs d'une URL. Ouais. À la radio.</p>
<p><strong>Événement à venir :</strong> <a href="https://cpu.dascritch.net/post/2023/09/21/Annonce-journ%C3%A9e-Jordan-Mechner-%C3%A0-Utopia-Borderouge-%2807/11/2023%29">rencontre publique avec Jordan Mechner à Utopia Toulouse Borderouge (07/11/2023)</a></p>
<div><a href="https://linuxfr.org/users/dascritch/journaux/cpu-ex0212-lost-found-septembre-2023.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133468/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/dascritch/journaux/cpu-ex0212-lost-found-septembre-2023#comments">ouvrir dans le navigateur</a>
</p>
Da Scritchhttps://linuxfr.org/nodes/133468/comments.atomtag:linuxfr.org,2005:Diary/408822023-09-24T21:51:11+02:002023-09-24T21:51:11+02:00Avoir l'alarme à l'oeilLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#toc-ville-dortoir-covid-et-s%C3%A9curit%C3%A9">Ville dortoir, Covid et sécurité</a></li>
<li><a href="#toc-se-sentir-plus-en-s%C3%A9curit%C3%A9-avec-une-alarme">Se sentir plus en sécurité avec une alarme</a></li>
<li><a href="#toc-la-curiosit%C3%A9-serait-un-vilain-d%C3%A9faut">La curiosité serait un vilain défaut ?</a></li>
<li><a href="#toc-la-d%C3%A9couverte-qui-fait-peur-">La découverte qui fait peur …</a></li>
<li><a href="#toc--tr%C3%A8s-peur-">… Très peur …</a></li>
<li><a href="#toc--trop-peur-allo-le-support">… Trop peur ! Allo le support ?</a></li>
<li><a href="#toc-prouver-lexploit-de-la-faille">Prouver l'exploit de la faille</a></li>
<li><a href="#toc-allo-la-s%C3%A9curit%C3%A9">Allo la Sécurité ?</a></li>
<li><a href="#toc-jy-pense-et-puis-joublie">J'y pense et puis j'oublie</a></li>
</ul>
<p>Avant-propos: Les personnages et sociétés citées dans ce récit sont fictives. L'auteur ne connait pas Martin Petit, ni la société d'assurances La Forestière, et non plus la société de télésurveillance Alarm&moi. Mais ils se pourrait, dans une réalité alternative, ou pas, que les faits se soient réellement déroulés comme raconté ici…</p>
<h2 id="toc-ville-dortoir-covid-et-sécurité">Ville dortoir, Covid et sécurité</h2>
<p>M. Martin Petit habite le centre-ville d’une ville moyenne de banlieue. C’est ce qu’on pourrait appeler une ville-dortoir. On y habite, il y a quelques commerces, des écoles, collèges et un lycée, des zones pavillonnaires, des maisons de ville, quelques ensembles de logements sociaux composés d’immeubles pas très jolis, le tout avec une population variée, des plus populaires jusqu’aux riches bourgeois, selon les quartiers. Le gros avantage de cette ville, c’est la présence de gares qui desservent la grand métropole proche, et des lignes de bus. Martin (appelons le par son prénom), habite ici depuis une vingtaine d’année. Il a vu cependant son quartier changer, loin de se gentrifier, il se paupérise lentement, progressivement, avec les problèmes qui vont avec. Une mairie dynamique, notamment son adjoint à la sécurité, travaille très honorablement, mais les moyens, comme c’est le cas de beaucoup de villes, sont réduits.</p>
<p>Lors des confinements liés au covid, les gens étaient chez eux : les travailleurs qui le pouvaient télétravaillaient, ceux qui ne pouvaient pas tremblaient dans le train, le métro et leur lieu de travail avec leurs masques s’ils en trouvaient, les élèves et étudiants apprenaient en distanciel. Personne dans les rues, presque pas de voitures, pas d’avions. Jamais la ville n’a été aussi calme, jamais elle n’a été aussi sûre.</p>
<p>Puis, le Covid semblant moins dangereux, par de meilleures prises en charge, et l’arrivée des premiers vaccins, les gens sont ressortis : travail, loisirs, écoles. Les maisons habitées en permanence, sont pour certaines redevenues vides en soirée. Un certain type de travailleurs clandestins de l’ombre, frustrés durant des mois de n’avoir pu vaquer à leurs tâches habituelles, en ont profité pour tenter de rattraper le temps perdu : les voleurs. </p>
<p>En l’espace de quelques semaines, certaines rues ont été ratissées par ces indésirables peu scrupuleux. En plein jour, quel que soit le jour, des portes étaient fracturées, des maisons et appartements se faisaient dépouiller. Ce fut le cas de la rue de Martin. C’est pourtant une rue assez passante, tout au moins en heure de pointe. C’est telle voisine qui s’est fait cambrioler deux fois en six mois, c’est tel autre voisin dont tous les bijoux ont été volés. Martin s’en veut d’ailleurs un peu, il avait bien entendu cet après-midi là comme un claquement dans la rue, mais il avait pensé à un caillou expédié par une roue de voiture alors que quelqu'un brisait le canon d'une serrure. Et après coup il se rappelle avoir vu des personnes inconnues se « reposer » à quelques endroits tranquilles de la rue. Martin est encore en télétravail, mais lui aussi va devoir revenir de temps en temps sur son lieu de travail, c’est déjà le cas de son épouse, et les enfants sont retournés à l’école. Martin est inquiet : la maison sera vide. Et s’il se faisait cambrioler, lui aussi ?</p>
<h2 id="toc-se-sentir-plus-en-sécurité-avec-une-alarme">Se sentir plus en sécurité avec une alarme</h2>
<p>Comme beaucoup tout le monde, Martin a vu les réclames publicitaires vantant les mérites de systèmes d’alarmes et de télésurveillance. Des connaissances et membres de sa famille sont déjà équipés de divers systèmes. Martin se renseigne. La télésurveillance, oui, c’est mieux. Après tout, si l’alarme se déclenche et que personne ne peut intervenir, ou l’entendre, certes c’est dissuasif, mais ça lui ferait une belle jambe… Martin contacte la société en charge de son contrat d’assurance habitation, et il est rassuré : <strong>la Forestière</strong>, appelons là ainsi, s’est associée avec plusieurs autres groupes pour proposer une solution d’alarme et de télésurveillance, et des avantages associés, comme le remboursement de la franchise en cas de vol si l’alarme était activée. Martin les contacte. Une semaine après, la société de télésurveillance <strong>Alarm&moi</strong> installe les divers boitiers (centrale, capteurs, clavier, sirène, etc.), moyennement un abonnement mensuel de cinquante euros. Le prix de la tranquillité, pense Martin. Les essais sont concluants, et les étiquettes collées sur la porte : c’est généralement dissuasif. Martin se sent rassuré.</p>
<p>L’alarme est pilotée par une <strong>centrale</strong>, disposant de deux moyens de communication pour la télésurveillance : dans tous les cas c’est Internet, via une liaison entre la centrale et le switch d’un routeur ou d’une box reliée à <strong>Internet</strong>, ou un réseau mobile <strong>GPRS</strong> de type 2G. La communication avec le reste des éléments dans la maison se fait par ondes radio. On lui a expliqué que la centrale pouvait détecter les tentatives de brouillages et que l’alarme se déclencherait. En cas de perte d’Internet la liaison mobile prendrait le relais, en cas de panne de liaison mobile c’est Internet qui fonctionne. Il y a donc de la redondance. </p>
<p>Le temps passe. Quelques mois.</p>
<h2 id="toc-la-curiosité-serait-un-vilain-défaut">La curiosité serait un vilain défaut ?</h2>
<p>Martin est curieux. Il se demande comment la centrale de l’alarme communique avec l’extérieur. Après tout, ça fonctionne, puisque lors des déclenchements intempestifs accidentels, il a bien été appelé quasiment immédiatement par un opérateur de Alarm&moi. C’est qu’il manque encore une information dans ce récit. Martin est informaticien, et mieux, c’est un vrai SysOps, passionné de Linux. Depuis quelques temps Martin travaille dans la cybersécurité, et sa formation l’a rendu quelque peu méfiant. On dit même que ce métier peut même rendre paranoïaque. Alors un jour, Martin prend ses outils, et se met à regarder ce qui se passe. </p>
<p>Martin dispose d’un ordinateur fonctionnant sur Linux. Certes, ce qu’il fait est aussi possible sous Windows et MacOS, mais bon, on ne travaille bien qu’avec les bons outils. La première chose qu’il fait, c’est de trouver l’adresse IP de la centrale. Son ordinateur est connecté au même routeur et il est probable que la centrale récupère son IP en DHCP. Il faut d’abord trouver son adresse. Il y a plusieurs moyens, le plus simple étant de se connecter sur le routeur et de lister les baux DHCP jusqu’à trouver le bon. Martin aime quand c’est plus compliqué : il se met à la place d’un éventuel hacker ou voleur qui ne pourrait pas se connecter au routeur. C’est aussi un bon moyen de s’entrainer avec les outils à disposition sur son système d’exploitation préféré. Si la centrale répond au ping, alors il va la trouver. Il utilise la commande <strong>fping</strong> qui va envoyer un paquet ICMP à toutes les adresses du sous-réseau fourni :</p>
<pre><code># fping -a -A -q -g -i 1 -r 0 10.0.0.0/24
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.5
</code></pre>
<p>Martin reconnait les 1, 3 et 5, ce sont celles de son routeur, de son PC et de sa machine virtuelle linux. Il reste la 10.0.0.2, celle-là il ne la connait pas. C’est sûrement la centrale de l’alarme. Il utilise une autre commande qui permet de faire à peu près la même chose mais en récupérant les adresses MAC, autrement dit l’adresse physique des adaptateurs Ethernet associés. L’avantage est que les trois premiers octets permettent de déterminer le constructeur. Il y a même un site où on peut <a href="https://mac-address.alldatafeeds.com/mac-address-lookup">vérifier soi-même</a>. Il met d’abord à jour la base des identifiants avec <strong>get-oui</strong>, puis lance la commande <strong>arp-scan</strong> :</p>
<pre><code>$ sudo get-oui -u https://standards-oui.ieee.org/oui/oui.txt
$ sudo cp ieee-oui.txt /usr/share/arp-scan/
$ sudo arp-scan --interface=eth0 10.0.0.0/24
Interface: eth0, type: EN10MB, MAC: …, IPv4: 10.0.0.5
Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan)
10.0.0.1 6c:cd:d6:xx:yy:zz NETGEAR
10.0.0.2 00:1d:94:xx:yy:zz Climax Technology Co., Ltd
10.0.0.3 d8:5e:d3:xx:yy:zz GIGA-BYTE TECHNOLOGY CO.,LTD.`
</code></pre>
<p>Ça confirme que 10.0.0.2 est bien l’inconnue, Martin a un routeur Netgear, et une carte mère Gigabyte. Reste donc le Climax Technology. Il va maintenant tenter d’obtenir des détails sur ce qui se cache derrière cette adresse. Pour ça, il utilise un outil bien connu appelé <strong>nmap</strong>. C’est très puissant nmap, un véritable couteau suisse pour l’analyse des adresses, ports et tout ce qui se cache derrière. Martin décide de tester tous les ports de 1 à 65535, et il trouve des choses intéressantes, les ports 80 et 55023 sont ouverts :</p>
<pre><code>$ sudo nmap -p 1-65535 10.0.0.2
PORT STATE SERVICE
80/tcp open http
55023/tcp open unknown
</code></pre>
<p>Un port qui finit par 23, c’est suspect, 23 c’est un port telnet. Martin va maintenant chercher ce qui se cache derrière ces ports, avec un navigateur web et toujours avec nmap. Le paramètre <strong>sV</strong> permet de tester un port ouvert pour tenter de déterminer le service qui s’y cache, et sa version. Le port 80 ne permet pas de déterminer le type de serveur. Il suffit de tenter de se connecter avec un navigateur. On arrive sur une page d’accueil reprenant le nom de la société de télésurveillance, un bouton de connexion, mais sans les identifiants. C'est une authentification HTTP de type <strong>Basic Auth</strong>, Martin est coincé.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7a7570696d616765732e6e65742f75702f32332f33382f723131642e706e67/r11d.png" alt="Authentification Basic Auth" title="Source : https://zupimages.net/up/23/38/r11d.png"></p>
<p>Mais le port <strong>55023</strong> lui est bien plus intéressant :</p>
<pre><code>$ sudo nmap -sV -p 55023 10.0.0.2
55023/tcp open telnet BusyBox telnetd
Service Info: Host: HPGW-NET6
</code></pre>
<p>Ainsi donc la centrale fonctionne avec <strong>busybox</strong>, un lot de commandes Unix de taille réduite qu’on installe généralement sur des systèmes embarqués. Souvent, il y a un Linux derrière. Mais ce qui surprend surtout Martin, c’est l’information sur le nom d’hôte. Ainsi donc, on a un nom de constructeur, Climax Technology, et un possible nom d'hôte qui ressemble à une référence de modèle. D’ailleurs, une tentative de connexion avec <strong>telnet</strong> retourne :</p>
<pre><code>$ telnet 10.0.0.2 55023
Trying 10.0.0.2...
Connected to 10.0.0.2.
Escape character is '^]'.
HPGW-NET6 login:
</code></pre>
<p>Que ce soit les ports 80 ou 55023, ce sont des protocoles qui ne sont pas sécurisés. Toutes les communications transitent en clair, un simple <strong>tcpdump</strong> sur la console, ou <strong>wireshark</strong> sur une interface graphique, permet de récupérer le trafic en direct. Mais pour attraper les connexions en clair, il faudrait que quelqu’un, un technicien, se connecte depuis le réseau privé de Martin. Hors, pas de technicien à l’horizon. Martin va faire ce que tout le monde ferait dans ce cas, il va chercher sur un moteur de recherche, ici Google. Un constructeur, un modèle, la bonne recherche et la surprise est de taille. La société <strong>Climax Technology</strong> existe, avec un <a href="https://www.climax.com.tw/">site web</a> exhaustif, et il y trouve son modèle. En cherchant sur d’autres sources il trouve aussi le mode d’emploi, avec les mots de passe par défaut. Et si les mots de passes étaient ceux par défaut ? Martin tente. Mais non, la centrale a été reconfigurée.</p>
<h2 id="toc-la-découverte-qui-fait-peur-">La découverte qui fait peur …</h2>
<p>Il continue à dérouler les résultats. Et là, il tombe sur un lien pointant sur une page au contenu plus qu’exhaustif, c’est la <a href="https://wiki.elvis.science/index.php?title=Examination_of_LUPUS-Electronics_devices">caverne d’Ali Baba</a> ! Un revendeur appelé <strong>Lupus propose la même alarme</strong> et quelqu'un a tout décortiqué.</p>
<p>Martin est épaté. Ce modèle conçu par Climax Tech est distribué et adapté par e nombreuses sociétés de télésurveillance et d’alarmes. Le lien parle de LUPUS, mais Alarm&moi utilise un même modèle au firmware adapté pour leurs besoin (probablement, d’ailleurs, juste un changement de logo). Toute la conception et le fonctionnement du système d’alarme sont décortiqués. De manière étonnante la page est assez élogieuse sur le produit, et les tests semblent le confirmer. En lisant plus bas, il trouve que la centrale fournit des informations sans même avoir à s’y connecter via une API REST et de nombreux endpoints. Il tente avec un simple <strong>curl</strong>.</p>
<pre><code>$ curl http://10.0.0.2/action/welcomeGet
{
"updates" : {
"version" : "HPGW-G6 <version firmware>",
"em_ver" : "<version firmware>",
…
"publicip" : "a.b.c.d",
"ip" : "10.0.0.2",
"mac" : "00:1D:94:xx:xx:xx"
}
}
</code></pre>
<p>Donc toutes ces infos sont accessibles, comme les versions des firmwares. C’est embêtant, car la suite de la page explique clairement comment exploiter une faille découverte début 2019. Les firmwares étant téléchargeables et étant des images de système de fichier, il a été possible d’extraire diverses informations, notamment le service principal, et de trouver la méthode de génération du mot de passe root. Elle est prédictive, elle est basée sur l’adresse MAC. Martin se dit que ça a peut-être été réparé. Après tout, son alarme a été installée en 2021, deux ans après la découverte de la faille. Il essaie en modifiant le programme <strong>Python</strong> pour l’adapter en version 3. Puis il l’exécute avec l’adresse MAC de la centrale.</p>
<pre><code>$ python.exe ./root.py
<< mot de passe root en clair>>
</code></pre>
<p>Il n’y a plus qu’à essayer avec telnet :</p>
<pre><code>$ telnet 10.0.0.2 55023
Trying 10.0.0.2...
Connected to 10.0.0.2.
Escape character is '^]'.
HPGW-NET6 login: root
Password: <<mot de passe fourni ci-dessus>>
Welcome to
____ __ __ __
/ ___\ / //_/ __ / /
/ / / /__ _ __ __ __ __ _/ / ___ ___ / /_
/ / / // // \ / \ \ \/ / / _// _ \ / __\ / __ \
/ /___ / // // / / // / \ > < / / / ___// /__ / / / /
\____//_//_//_/_/_/ \__/\//_/\_\ \_/ \___/ \___//_/ /_/
For further information check:
http://www.climax.com.tw/
[root@HPGW-NET6]#
</code></pre>
<h2 id="toc--très-peur-">… Très peur …</h2>
<p>D’après ce que Martin lit, tout ceci est censé être corrigé depuis mars 2019. Mais on est fin 2021 et ça fonctionne encore. Cette alarme ayant été adaptée pour Alarm&moi, le correctif n’a pas suivi et cette faille n’est pas corrigée. Martin est maintenant root, administrateur de son alarme. D’autres pourraient trouver ça normal, mais non. Il ne faudrait pas, surtout pas. Si Martin le peut, d’autres le peuvent ! Mais alors, il peut prendre la main sur le reste, non ? Voyons voir cette interface web. Le mot de passe est codé en Base64 avec table de correspondance. Le fichier de configuration est dans <strong>config/config.json</strong>, on peut le décoder :</p>
<pre><code>[root@HPGW-NET6]# grep Web config/config.json
…
"Web_Admin_Name":"SAT",
"Web_Admin_Passwd":"NGxxxxxxxxxxxxxxxx",
…
# echo "NGxxxxxxxxxxx" | base64 -d
4xxxxxxxxxxxxxxx
</code></pre>
<h2 id="toc--trop-peur-allo-le-support">… Trop peur ! Allo le support ?</h2>
<p>La fameuse page décrivant la faille fournit la table de correspondance. Elle a été extraite, toujours, du firmware de la centrale. Un caractère en définit un autre. Martin décode avec un petit programme en <strong>Python</strong> et dispose maintenant d’une chaine de caractères qui serait le mot de passe administrateur de l’interface de configuration du système d’alarme. Mais peut-être que la table de correspondance a changé, non ? Alors il essaie.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f7a7570696d616765732e6e65742f75702f32332f33382f7467386e2e706e67/tg8n.png" alt="La console web de l'alarme" title="Source : https://zupimages.net/up/23/38/tg8n.png"></p>
<p>Là, Martin commence à paniquer. Il repense à sa formation, son métier. Certains s’amuseraient à diffuser l’information, ou à la marchander, à l’ouvrir sur Twitter (« <em>Hey la société Alarm&moi, c’est quoi votre alarme en carton que j’ai hacké en script kiddy en trois minutes ?</em> »). Mais pas Martin. Martin prend la décision la plus intelligente : il contacte par mail le support de Alarm&moi, leur demandant s'il pouvait être rappelé par un responsable de la sécurité : il a trouvé une faille publique non corrigée permettant d’accéder à l’alarme une fois entré dans un domicile. Il poste, un soir de semaine, et attend la réponse.</p>
<h2 id="toc-prouver-lexploit-de-la-faille">Prouver l'exploit de la faille</h2>
<p>En attendant, Martin se demande comment un voleur pourrait exploiter la faille rapidement une fois entré dans la maison. Le voleur aurait 30 secondes pour déconnecter l’alarme avant qu’elle se déclenche. Il ne suffit pas de trouver la centrale : essayer de la détruire déclencherait un appel immédiat (ou alors d’un coup avec une très grosse masse). Il faudrait donc que le voleur :</p>
<ol>
<li>sache de quel modèle dispose l’habitant. C’est facile, c’est écrit sur l’étiquette collée sur la porte,</li>
<li>trouve la box ou le routeur. C’est facile, c’est généralement à côté de la prise fibre ou téléphonique, du téléphone ou du téléviseur, bien visible.</li>
<li>se connecte sur un port Ethernet libre, et joue l’ensemble de la séquence.</li>
</ol>
<p>La moitié du travail est fait. Il suffit de scripter l’ensemble (shell, python) et de trouver l’appel qui va bien : il suffit de regarder ce que fait le clic sur le bouton de l’interface web. Il écrit un script shell qui lance les diverses commandes, shell ou Python : trouver l’IP associée à une adresse MAC Climax, calculer le mot de passe root, se connecter et récupérer le fichier de configuration avec un netcat, recalculer le mot de passe admin du service Web, se connecter et déconnecter l’alarme via des méthodes HTTP GET et POST. Et ça fonctionne. Durée totale : <strong>environ 15 secondes</strong>. Pour un voleur, c’est jouable.</p>
<h2 id="toc-allo-la-sécurité">Allo la Sécurité ?</h2>
<p>Le lendemain matin, Martin reçoit un appel du support de la société Alarm&moi. Ils sont sceptiques. Martin leur explique qu’il peut prendre la main sur l’alarme et l’éteindre, sans passer par le boitier à code ou NFC, ni par l’application mobile. La réaction est intelligente, le technicien dit qu’il informe ses supérieurs. L’après-midi, Martin est en ligne avec un responsable sécurité. Il explique à nouveau. Le responsable lui demande de partager la procédure, Martin lui envoie. Le lendemain, le responsable l’appelle. Oui, la faille est là, on ne devrait pas accéder à la console et récupérer les mots de passes d’administration. Ils vont travailler sur un correctif. En attendant, Alarm&moi a désactivé le port telnet. Il le remercie, et lui demande de ne pas ébruiter. Martin tiendra sa parole, mais il prend cependant une mesure additionnelle : il déplace la centrale à un autre endroit plus compliqué à trouver, derrière un autre routeur totalement invisible, sur un autre sous-réseau non routé depuis la box internet. Même si un voleur trouve la box, il ne trouvera pas l’adresse de la centrale d’alarme.</p>
<h2 id="toc-jy-pense-et-puis-joublie">J'y pense et puis j'oublie</h2>
<p>Martin repense à cette histoire régulièrement. Le port telnet est désactivé, donc le risque est faible. Mais si… Mais si la centrale reboote ? De temps en temps, il teste, le port reste désactivé. Le mot de passe administrateur de l’interface web a été changé aussi. Après quelques mois, il n’y pense plus. L’exploit serait bien plus compliqué.</p>
<p>Deux ans plus tard, septembre 2023…</p>
<p>Ça fait un an et demi que Martin n’a pas vérifié quoi que ce soit. Un beau soir, il ressaie. Un seul port reste ouvert, le 80. Bon, toujours pas de TLS, mais bon… Le port telnet est absent. Aucun autre port TCP n’est présent. Il tente les appels aux API ouvertes. Seule un répond encore, le firmware a été mis à jour :</p>
<pre><code>$ curl http://10.0.0.2/action/welcomeGET
{
"updates" : {
…
"em_ver" : "<version firmware n+4>",
…
}
}
</code></pre>
<p>Mais ce qui est étonnant, c’est que si Martin appelle le même endpoint après une tentative de connexion sur l’interface web, il obtient un résultat différent. Quelque chose a changé, mais ce n’est pas encore parfait :</p>
<pre><code>Accès refusé: nom d'utilisateur.
</code></pre>
<p>Martin peut un peu mieux dormir, les principales failles ont été corrigées. Si le risque n’est pas nul et qu’on pourrait mieux faire (du HTTPS, un certificat, une authentification forte, etc.), il est devenu bien plus faible, pour lui et pour tous les clients de cette société de télésurveillance. Et tout ça, c’est un peu grâce à lui. Si Alarm&moi l’a remercié, il n’a pas même pas eu le droit à une réduction, ça aurait été sympa, mais bon, il n’a pas fait ça pour ça. Il n’a pas été cambriolé. Pendant ce temps-là, d’autres voisins ont malheureusement été victimes d’indélicats. Le dernier pas plus tard que la semaine dernière. Martin se dit qu’il devrait peut-être aller leur parler de tout ça, un jour…</p>
<p>Ah, au fait, comment Alarm&moi peut contrôler à distance l’alarme ? Et bien déjà c’est possible via la liaison GPRS et Martin n’a pas les moyens techniques d’analyser ça. Mais les scans des ports UDP ont révélé quelques informations intéressantes, et le fichier de configuration parle aussi de uPnP. Un jour, peut-être, Martin fera quelques tests en direct, toujours avec l’outil magique nmap.</p>
<div><a href="https://linuxfr.org/users/usawa/journaux/avoir-l-alarme-a-l-oeil.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133421/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/usawa/journaux/avoir-l-alarme-a-l-oeil#comments">ouvrir dans le navigateur</a>
</p>
Sébastien Rohauthttps://linuxfr.org/nodes/133421/comments.atomtag:linuxfr.org,2005:Bookmark/60302023-03-05T22:09:05+01:002023-03-05T22:09:05+01:00la politique, les lois et normes analysées comme des systèmes de sécurité<a href="https://pluralistic.net/2023/02/06/trickster-makes-the-world/">https://pluralistic.net/2023/02/06/trickster-makes-the-world/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130495/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/krunch/liens/la-politique-les-lois-et-normes-analysees-comme-des-systemes-de-securite#comments">ouvrir dans le navigateur</a>
</p>
Krunchhttps://linuxfr.org/nodes/130495/comments.atomtag:linuxfr.org,2005:Bookmark/59562023-02-20T20:19:27+01:002023-02-20T20:19:52+01:00 Hacker sa liseuse KOBO pour l’utiliser sans compte (semble facile)<a href="https://tutox.fr/2023/02/18/hacker-sa-liseuse-kobo-pour-lutiliser-sans-compte/">https://tutox.fr/2023/02/18/hacker-sa-liseuse-kobo-pour-lutiliser-sans-compte/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/130369/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/ysabeau/liens/hacker-sa-liseuse-kobo-pour-l-utiliser-sans-compte-semble-facile#comments">ouvrir dans le navigateur</a>
</p>
Ysabeau 🧶 🧦https://linuxfr.org/nodes/130369/comments.atomtag:linuxfr.org,2005:Bookmark/50932022-08-31T16:59:48+02:002022-08-31T16:59:48+02:00Cosmopolitan : la libc pour faire des exécutables multi OS (et même sans OS)<a href="https://justine.lol/cosmopolitan/">https://justine.lol/cosmopolitan/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128627/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/devnewton/liens/cosmopolitan-la-libc-pour-faire-des-executables-multi-os-et-meme-sans-os#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺https://linuxfr.org/nodes/128627/comments.atomtag:linuxfr.org,2005:Post/431042022-08-28T17:46:28+02:002022-08-28T17:46:28+02:00Est-il possible de modifier les options d'une commande, une fois la commande passée ?<p>Prenons l'exemple suivant :</p>
<p>En utilisant bash (debian étable),</p>
<p>:~$ jobs<br>
[1]+ Stopped rsync -a /media/a/0152-ABF0/DCIM/Camera/20220* /media/a/srv_atilde/photo/dcim/Camera/2022/</p>
<p>peut-on ajouter l'option --verbose à la commande lancée, sans terminer la commande ?</p>
<p>afin d'obtenir ceci dans le résultat de #jobs<br>
:~$ bg<br>
[1]+ rsync -av /media/a/0152-ABF0/DCIM/Camera/20220* /media/a/srv_atilde/photo/dcim/Camera/2022/ &</p>
<p>rsync -v devient rsync -av</p>
<p>Est-il possible ensuite de rediriger &1 et &2 vers des logs ?</p>
<div><a href="https://linuxfr.org/forums/programmationautre/posts/est-il-possible-de-modifier-les-options-d-une-commande-une-fois-la-commande-passee.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128610/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmationautre/posts/est-il-possible-de-modifier-les-options-d-une-commande-une-fois-la-commande-passee#comments">ouvrir dans le navigateur</a>
</p>
Patrick Trauquesègueshttps://linuxfr.org/nodes/128610/comments.atomtag:linuxfr.org,2005:Bookmark/47632022-06-11T10:31:59+02:002022-06-11T10:31:59+02:00L'astuce logicielle de la NASA pour faire redécoller son hélicoptère martien Ingenuity <a href="https://www.zdnet.fr/actualites/l-astuce-logicielle-de-la-nasa-pour-faire-redecoller-son-helicoptere-martien-ingenuity-39943168.htm">https://www.zdnet.fr/actualites/l-astuce-logicielle-de-la-nasa-pour-faire-redecoller-son-helicoptere-martien-ingenuity-39943168.htm</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/127970/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vmagnin/liens/l-astuce-logicielle-de-la-nasa-pour-faire-redecoller-son-helicoptere-martien-ingenuity#comments">ouvrir dans le navigateur</a>
</p>
vmagninhttps://linuxfr.org/nodes/127970/comments.atomtag:linuxfr.org,2005:Bookmark/31322021-05-30T17:24:04+02:002021-05-30T17:24:04+02:00Faille de sécu Rowhammer<a href="https://www.zdnet.fr/actualites/cette-etrange-vulnerabilite-des-puces-memoire-est-encore-pire-que-prevu-39923579.htm">https://www.zdnet.fr/actualites/cette-etrange-vulnerabilite-des-puces-memoire-est-encore-pire-que-prevu-39923579.htm</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/124433/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/abriotde/liens/faille-de-secu-rowhammer#comments">ouvrir dans le navigateur</a>
</p>
abriotdehttps://linuxfr.org/nodes/124433/comments.atomtag:linuxfr.org,2005:Bookmark/28412021-03-23T17:56:53+01:002021-03-23T17:56:53+01:00Woop Woop ah ça c'est de la police<a href="https://www.coderelay.io/fontemon.html">https://www.coderelay.io/fontemon.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/123671/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/devnewton/liens/woop-woop-ah-ca-c-est-de-la-police#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺https://linuxfr.org/nodes/123671/comments.atomtag:linuxfr.org,2005:Bookmark/27492021-03-04T14:13:33+01:002021-03-04T14:13:33+01:00Comment faire un unique exécutable pour Linux, Windows et Mac<a href="https://justine.lol/cosmopolitan/index.html">https://justine.lol/cosmopolitan/index.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/123468/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/devnewton/liens/comment-faire-un-unique-executable-pour-linux-windows-et-mac#comments">ouvrir dans le navigateur</a>
</p>
devnewton 🍺https://linuxfr.org/nodes/123468/comments.atomtag:linuxfr.org,2005:Post/417482021-01-05T18:31:25+01:002021-01-05T18:31:25+01:00Serveur hacké<p>Après 6 ans sans problème, j'ai un serveur dédié qui est hacké et bloqué chez OVH. Ce serveur utilise proxmox (basé sur debian) avec des containers LXC (dont 2 qui sont très vieillot)<br>
J'avais une utilisation de plus de 15000 ipV6 identifié par la mac sur le serveur hôte en même temps et OVH a coupé mon service.<br>
J'ai téléphoné à l'assistance et on m'a expliqué que l'on me donnera un accès rescue pour diagnostiquer et que je pourrais relancer mon serveur mais que si cela devait se reproduire, le contrat pouvait être rompu.</p>
<p>J'ai déjà un accès FTP (fourni par OVH) qui m'a permis de télécharger les log. Je ne trouve à première vue rien de suspect, notamment aucun accès SSH n'avait réussi (à part les miens) mais je ne remonte qu'au mois dernier.</p>
<p>Je lance donc une bouée de secours :</p>
<ul>
<li><p>pouvez-vous m'indiquer des log/fichiers particuliers à consulter qui pourrait me mettre sur la piste (sachant que je n'ai consulté que ceux qui avait été modifié aujourd'hui) ?</p></li>
<li><p>que me conseillez-vous ? Essayez de relancer quand je pourrais (mais je risque une rupture de contrat) ou récupérer tous mes containers et refaire une installation ?</p></li>
</ul>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/serveur-hacke-6b30bcf0-a6d7-4fc6-999f-a28ebdf7e555.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/122832/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/serveur-hacke-6b30bcf0-a6d7-4fc6-999f-a28ebdf7e555#comments">ouvrir dans le navigateur</a>
</p>
mattelihttps://linuxfr.org/nodes/122832/comments.atomtag:linuxfr.org,2005:Bookmark/15572020-05-20T08:03:15+02:002020-05-20T08:03:15+02:00journée porte ouverte pour Easyjet.<a href="https://www.zdnet.fr/actualites/easyjet-pirate-9-millions-de-clients-affectes-et-2-000-cartes-de-credit-exposees-39903943.htm">https://www.zdnet.fr/actualites/easyjet-pirate-9-millions-de-clients-affectes-et-2-000-cartes-de-credit-exposees-39903943.htm</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/120491/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/quinton/liens/journee-porte-ouverte-pour-easyjet#comments">ouvrir dans le navigateur</a>
</p>
Marc Quintonhttps://linuxfr.org/nodes/120491/comments.atom