vide en ligne depuis 02.10.1998

Shodan HQ, en voila un moteur qu'il est bon !

Cela fait déjà un petit moment que je n'ai rien écris, alors, aujourd'hui nous allons rigoler un peu !

Je vais vous parler d'un moteur de recherche un peu particulier, Shodan, qui a la particularité de ne rechercher que les "objets" connectés !

Nous allons donc essayer aujourd'hui de prendre le contrôle des WebCams, imprimantes, téléphones, centrales nucléaires connectées sur la toile !

Il n'est pas question de mettre le bins dans ces objets en modifiant leurs configs ! Hein ? Comment ? C'est possible ça ?
Bien sur que c'est possible et c'est même très facile !

Cet article a pour but de vous montrer que même un neuneu est capable de "contrôler" des trucs connectés qui ne lui appartient pas au risque de déclencher la 3eme guerre mondiale et qui je l'espére, vous incitera fortement à protéger les vôtres.

Aller, trêve de bla-bla et entrons dans le vif du sujet...

Ouvrez votre butineur internet favori et saisissez l'URL suivante :

http://www.shodanhq.com

Pour commencer, nous allons nous amusez avec les imprimantes...
Dans le champ "Recherche" saisissez le mot "epson" puis cliquez sur le bouton "Search".
Immédiatement, une liste d'imprimantes est affichée !


Attardons nous sur l'adresse IP, si celle-ci est cliquable, cela veut dire que l'imprimante est en ligne... Alors cliquons !

ou encore celle-ci !


Vous remarquerez qu'il est possible de modifier ce que l'on veut et bien sur sans le moindre mot de passe !

Vous pouvez maintenant rechercher les routeurs, les systèmes SCADA, les téléphones portables... ou mieux, vos propres équipements afin de tester la solidité des protections mises en oeuvres !

Veuillez noter qu'en ce qui concerne les Webcams, inutile de nous embêter à les chercher puisque des sites existent !

insecam.org - Caméras du monde sans aucun mot de passe !
shodanhq.com - Caméras du monde connectées au NET

Choisissez un pays ou cliquez sur le bouton "Random" puis sur les vignettes pour visualiser les webcams.
Comme d'habitude, le bouton rouge nous informe que la webcam n'est pas connectée pour le moment, le bouton vert quant à lui, nous informe que vous pouvez visionner le flux vidéo...

Les webcams de chez Trendnet ont une faille de sécurité dans leur firmware et il est tout à fait possible de visionner le flux vidéo sans à avoir à taper un quelconque mot de passe !

Il suffit pour cela de saisir dans un navigateur :

http://xx.xx.xx.xx/anony/mjpg.cgi

En conclusion, nous nous sommes bien amusé mais vous l'avez deviné, ce n'était pas le but !
Le but est bien de vous faire prendre conscience que lorsque vous connectez quelque chose sur le NET, des programmes sont la pour essayer d'y pénétrer !

Le truc le plus dingue est que l'on trouve aussi des sites ou l'on peu se procurer tous les mots de passe par défaut de la majorité des matériels vendus à ce jour !

Par exemple, cette liste de 2007 référençant un nombre impressionnant de matériels...



Un bloc-note dans le navigateur

Ouvrez votre butineur préféré et copiez ceci dans la barre d'URLs:

data:text/html, <html contenteditable>

ou depuis la ligne de commande:

firefox data:text/html, <html contenteditable>

Si le fait d'avoir un bloc note directement sous votre butineur vous intéresse, il existe des modules supers sympas :

Firefox : https://addons.mozilla.org/fr/firefox/addon/quicknote/
Chrome : https://chrome.google.com/webstore/detail/z-bloc-note/kbekicmibgigndnoijdifikienigbpln?hl=fr



Fermer automatiquement le terminal

Il est tout à fait possible de fermer automatiquement le terminal ! Si par exemple, vous avez lancé un travail de longue haleine et que vous voulez que votre terminal se ferme après une période d'inactivité prédéfinie par vous, rien de plus simple !
Pour activer cette fonctionnalité, ouvrez un terminal et modifiez le fichier /etc/profile de la façon suivante :

$ sudo nano /etc/profile

Ajoutez à la fin du fichier les lignes suivantes :

# Exit Terminal

TMOUT=900
export TMOUT

TMOUT=900 correspond à la durée souhaitée d'inactivité exprimée en secondes, soit 15 minutes dans cet exemple.
Pour que cette modif soit prise en compte, vous devez fermer et rouvrir votre session mais vous pouvez aussi entrer cette commande :

$ source /etc/profile



Annonymisation via Tor

Installons la dernière version de Tor :

$ sudo apt-get update
$ sudo apt-get remove --purge privoxy
$ sudo apt-get install tor polipo

Une fois Tor et Polipo installés, éditez le fichier /etc/polipo/config

$ sudo nano /etc/polipo/config

et faite les modif comme ci-dessous :

### Basic configuration
### *******************

# Uncomment one of these if you want to allow remote clients to
# connect:

# proxyAddress = "::0" # both IPv4 and IPv6
# proxyAddress = "0.0.0.0" # IPv4 only

proxyAddress = "127.0.0.1"
proxyPort = 8118

# If you do that, you'll want to restrict the set of hosts allowed to
# connect:

# allowedClients = "127.0.0.1, 134.157.168.57"
# allowedClients = "127.0.0.1, 134.157.168.0/24"

allowedClients = 127.0.0.1
allowedPorts = 1-65535

# Uncomment this if you want your Polipo to identify itself by
# something else than the host name:

proxyName = "localhost"

# Uncomment this if there's only one user using this instance of Polipo:

cacheIsShared = false

# Uncomment this if you want to use a parent proxy:

# parentProxy = "squid.example.org:3128"

# Uncomment this if you want to use a parent SOCKS proxy:

socksParentProxy = "localhost:9050"
socksProxyType = socks5

### Memory
### ******

# Uncomment this if you want Polipo to use a ridiculously small amount
# of memory (a hundred C-64 worth or so):

# chunkHighMark = 819200
# objectHighMark = 128

# Uncomment this if you've got plenty of memory:

# chunkHighMark = 50331648
# objectHighMark = 16384

chunkHighMark = 67108864

### On-disk data
### ************

# Uncomment this if you want to disable the on-disk cache:

diskCacheRoot = ""

# Uncomment this if you want to put the on-disk cache in a
# non-standard location:

# diskCacheRoot = "~/.polipo-cache/"

# Uncomment this if you want to disable the local web server:

localDocumentRoot = ""

# Uncomment this if you want to enable the pages under /polipo/index?
# and /polipo/servers?. This is a serious privacy leak if your proxy
# is shared.

# disableIndexing = false
# disableServersList = false

disableLocalInterface = true
disableConfiguration = true

### Domain Name System
### ******************

# Uncomment this if you want to contact IPv4 hosts only (and make DNS
# queries somewhat faster):
#
# dnsQueryIPv6 = no

# Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
# double-stack hosts:
#
# dnsQueryIPv6 = reluctantly

# Uncomment this to disable Polipo's DNS resolver and use the system's
# default resolver instead. If you do that, Polipo will freeze during
# every DNS query:

dnsUseGethostbyname = yes

### HTTP
### ****

# Uncomment this if you want to enable detection of proxy loops.
# This will cause your hostname (or whatever you put into proxyName
# above) to be included in every request:

disableVia = true

# Uncomment this if you want to slightly reduce the amount of
# information that you leak about yourself:

# censoredHeaders = from, accept-language
# censorReferer = maybe

censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe

# Uncomment this if you're paranoid. This will break a lot of sites,
# though:

# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
# censorReferer = true

# Uncomment this if you want to use Poor Man's Multiplexing; increase
# the sizes if you're on a fast line. They should each amount to a few
# seconds' worth of transfer; if pmmSize is small, you'll want
# pmmFirstSize to be larger.

# Note that PMM is somewhat unreliable.

# pmmFirstSize = 16384
# pmmSize = 8192

# Uncomment this if your user-agent does something reasonable with
# Warning headers (most don't):

# relaxTransparency = maybe

# Uncomment this if you never want to revalidate instances for which
# data is available (this is not a good idea):

# relaxTransparency = yes

# Uncomment this if you have no network:

# proxyOffline = yes

# Uncomment this if you want to avoid revalidating instances with a
# Vary header (this is not a good idea):

# mindlesslyCacheVary = true

# Suggestions from Incognito configuration
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535

et on relance polipo :

$ sudo /etc/init.d/polipo restart

Modifiez les paramètres Proxy de votre butineur favori avec :

Proxy HTTP = 127.0.0.1 Port = 8118
Proxy SSL = 127.0.0.1 Port = 8118
Hote SOCKS = 127.0.0.1 Port = 9050
SOCKS = V5
Pas de Proxy pour = 127.0.0.1

Voilà, normalement, vous êtes anonyme !

Aller faire un tour ici pour vérifier.



Images et vidéos sans serveur X

Lire des images et des vidéos dans un terminal TTY sans serveur X est possible ! Oui, oui, je ne parle pas de les afficher en ASCII-art, mais bien de les afficher "graphiquement" !

Cela est possible grâce à des programmes qui écrivent directement dans la mémoire vidéo (framebuffer).


Images

Pour afficher des images, il faut installer le paquet fbi (framebuffer imageviewer) :

$ sudo apt-get install fbi

Pour admirer le travail dans un terminal, exécuter simplement :

$ fbi monimage.jpg

ou bien, pour toutes les voire :

$ fbi *.jpg

ou ,PgUp et PgDown permettent de naviguer entre les images...

Ce logiciel est vraiment très rapide sauf pour le zoom mais on ne peut pas tout avoir...


Vidéos

Pour les vidéos, il nous faut installer MPlayer :

$ sudo apt-get install mplayer

De la même façon que pour afficher une image, lancer dans un terminal la commande :

$ mplayer mavideo.avi

MPlayer utilise le pilote fbdev. Nous pouvons aussi le choisir explicitement :

$ mplayer -vo fbdev mavideo.avi

La vidéo s'affiche à sa taille originale, alors que nous la voulons en plein écran. Il faut donc la mettre à l'échelle, grâce aux paramètres de mplayer.
Pour un écran 1280x1024 par exemple :

$ mplayer -fs -vf scale=1280:-3 mavideo.avi

Le paramètre "-3" permet de calculer la seconde composante à partir de la première et de l'aspect-ratio.

-0: largeur/hauteur dimensionnées a d_width/d_height
-1: largeur/hauteur originales
-2: Calcule l/h en utilisant l'autre dimension et le rapport hauteur/largeur redimensionne.
-3: Calcule l/h en utilisant l'autre dimension et le rapport hauteur/largeur original.
-(n+8): Comme -n ci-dessus, mais en arrondissant les dimensions au plus proche multiple de 16.

Pour améliorer les performances de lecture de MPlayer et éviter les éventuelles saccades, il est possible de changer l'algorithme de zoom logiciel, grâce à l'option -sws.

Par exemple, pour utiliser bilinéaire rapide au lieu de bicubique :

$ mplayer -fs -vf scale=1280:-3 -sws 0 mavideo.avi



Installation d'un scanner AGFA SnapScan e40 sur Linux

scanner


Récupérer sur le CD de drivers Windows du scanner le fichier "snape40.bin" et le copier dans /home/user

Ouvrir une console, passer en root puis créer le dossier "snapscan" dans /usr/share/sane

$ sudo mkdir /usr/share/sane/snapscan

puis copier le drivers

$ sudo cp snape40.bin /usr/share/sane/snapscan

Toujours dans une console avec la commande "lsusb" relever le numéro de bus usb ou est branché le scanner

Exemple :
Bus 004 Device 002: ID 06bd:2091 AGFA-Gevaert NV SnapScan e40

Ici le BUS est 004

éditer le fichier snapscan.conf qui se trouve dans /etc/sane.d

$ sudo nano /etc/sane.d/snapscan.conf

Modifier la ligne :

# For USB scanners also specify bus=usb, e.g
# /dev/usb/scanner0 bus=usb

en

# For USB scanners also specify bus=usb, e.g.
/dev/usb/scanner0 bus=004 <= ici le numéro de BUS USB

Et la ligne :

# firmware upload is needed by the scanner
firmware /usr/share/sane/snapscan/your-firmware.bin

en

# firmware upload is needed by the scanner
firmware /usr/share/sane/snapscan/snape40.bin

Il ne reste plus qu'à ajouter l'utilisateur dans le groupe "scanner" et à redémarrer la machine.




Utilisation de l'OCR


Il faut tout d'abord installer le paquet gocr.

Pour configurer Xsane, ouvrir Xsane et dans Préférence / Configuration / OCR il faut, dans la commande OCR, remplacer gocr par :

gocr -f UTF8

Il y aura ainsi reconnaissance des caractères accentués.
dans XSane : Applications / Images / Scanneur d'images XSane ;
dans la zone à droite de la cible, sélectionner "Enregistrer" ;
dans "Type", sélectionner "TEXT" ;
dans le sélecteur couleur ou N/B, sélectionner "Gris" ou "Noir et Blanc" (à tester selon le document à scanner).
Résolution 300 DPI.



Musique 8 Bits en ligne de commande

Voici quelque chose de completement inutile mais que les utilisateurs de Windaube du monde entier nous envies !
C'est sur, vous ne deviendrez jamais Mozart ou Datf Punk mais sait-on jamais...

$ echo "main(i){for(i=0;;i++)putchar(((i*(i>>8|i>>9)&46&i>>8))^(i&i>>13|i>>6));}" | gcc -x c - && ./a.out | aplay

Vous pouvez modifier les chiffres dans la partie (i*(i>>8|i>>9)&46&i>>8))^(i&i>>13|i>>6) pour créer de nouveaux morceaux.



La radio dans un terminal

Ecouter ses stations de radio préférée dans un terminal de votre distribution Linux, c'est possible ! Il suffit d'installer MPlayer et de connaître l'adresse de la webradio désirée.

Comme d'habitude, on installe MPlayer en ligne de commande :

sudo apt-get install mplayer

Pour récupérer la liste des Webradios, rendez-vous ici puis entrez la commande suivante :

mplayer adresse_de_votre_radio

Par exemple, pour écouter Addict Rock, la commande sera :

mplayer http://stream1.addictradio.net/addictrock.mp3



Corriger l'erreur piix4_smbus Error sur VirtualBox

piix4

Si vous uilisez VirtualBox comme solution de virtualisation, vous avez déjà du rencontrer ce message d'erreur en virtualisant des systèmes d'exploitation Linux

piix4_smbus 0000.00.07.0: SMBus base address uninitialized - upgrade bios or use force_addr=0xaddr

Cette erreur est du au fait que les machines virtuelles VirtualBox ne possèdent pas de bus SMB mais le systèmes d'exploitation essaye tout de même de charger le module.

L'affichage du message d'erreur est juste ennuyant et n'aura aucun impact sur le système.

Comme nous avons les moyens de corriger cette anomalie, voici la solution à ce problème !

Afin de s'assurer que le module n'est pas déjà charger par le noyaux, tapez dans un terminal :

$ lsmod | grep i2c_piix4

Il ne reste plus qu'a blacklister le module.

Pour cela éditez le fichier /etc/modprobe.d/blacklist.conf et ajouter la ligne suivante à la fin du fichier.

blacklist i2c_piix4

Il faut maintenant mettre à jour initramfs pour que cela soit pris en compte au prochain démarrage.

$ sudo update-initramfs -u -k all

Normalement après ces petites manipulations le message d'erreur n'apparaîtra plus, ce qui est très bien ainsi !



Piwik, une solution Web Analytics Open Source

Vous désirez en savoir plus sur les visiteurs de votre site web tout en évitant de confier ces données à Google ?

Piwik est une solution Web Analytics comme Google Analytics, mais Open Source. Les données concernant le trafic des sites Web analysés peuvent donc être hébergées directement sur son serveur PHP/MySQL.

Un bout de code JavaScript, inséré à la fin de chaque page web, permet l'analyse de l'audience d'un ou plusieurs sites web.
Les statistiques peuvent être soit consultées en temps réel depuis le navigateur, soit envoyées par mail sous forme de rapports pdf ou html.

Installation de MySql

$ sudo apt-get install mysql-server php5-mysql php5-gd

Création de la base de données de Piwik

$ mysql -u root -p

create database piwik character set utf8;
create user 'piwik'@'localhost' identified by 'VotreMotDePasse';
grant all privileges on piwik.* to 'piwik'@'localhost';
exit

Téléchargement de Piwik

$ cd /var/www
$ wget http://builds.piwik.org/latest.zip
$ sudo unzip latest.zip

Il ne reste plus qu'à ce connectez avec un navigateur web et de dérouler les écrans d'installation. Piwik vous demandera d'indiquer le nom de la base de données ainsi que l'utilisateur et son mot de passe. Les identifiants que vous avez saisis lors de la création de la base de données.

A la fin de l'installation, Piwik vous affichera le code à ajouter au thème de votre site qui lui permettra de remonter les statistiques. Ajoutez simplement ce code par copier/coller entre les balises < body> ... < /body> de votre thème.

Il est possible d'optimiser le système pour les sites à trafics moyens ou élevés, par exemple, si vous avez plus de 100 visites/jours, il est conseillé de désactiver l'archivage automatique des données à l'ouverture du tableau de bord de Piwik. Ceci permet de ne pas surcharger les ressources du serveur.

Pour ce faire connectez-vous à Piwik, et aller dans Paramètres. Cliquer sur Paramètre généraux et choisissez Non pour la première option (Autoriser l'archivage...) puis indiquer 3600 secondes pour l'option suivante (Rapports du jour...).

Il nous faut maintenant créer une tâche cron pour lancer le script d'archivage automatiquement une fois par jour à 2h du matin. Comme ceci, chaque jours, vous aurez les statistiques de la veille.

$ sudo crontab -e

et ajouter la ligne ci-dessous

00 02 * * * /var/www/piwik/misc/cron/archive.sh > /dev/null

Configuration de PHP

Si votre site a un trafic supérieur à 100 visites par jour, augmentez la taille maximale de RAM dédiée à PHP à au moins 128Mo.
Normalement, ceci est déjà implémenté dans les versions récentes de Piwik.

$ sudo nano /etc/php5/fpm/php.ini

Modifier la ligne ci-dessous

memory_limit = 128M

Si au lancement de l'IHM de Piwik vous n'avez que le menu principal et aucun moyen de voir quoi que ce soit d'autre comme ci-dessous, regarder le fichier log d'Apache et rechercher une éventuelle erreur !


Pour ma part, j'ai eu droit à une erreur 500 !

::1 - - [12/Jan/2017:15:21:15 +0100] "OPTIONS * HTTP/1.0" 200 128 "-" "Apache/2.4.10 (Raspbian) (internal dummy connection)" 86.216.8.49 - - [12/Jan/2017:15:20:49 +0100] "GET /piwik/index.php?module=Proxy&action=getCoreJs&cb=21c97fc6e4c794faeb464957c9603f60 HTTP/1.1" 500 5411 "http://xxx.xxx.xxx.xxx/piwik/index.php?module=MultiSites&action=index&idSite=1&period=day&date=today" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 ASW/1.48.2066.101" ::1 - - [12/Jan/2017:15:21:21 +0100] "OPTIONS * HTTP/1.0" 200 128 "-" "Apache/2.4.10 (Raspbian) (internal dummy connection)"

La solution à ce problème conciste à modifier le fichier php.ini et à passer le max_execution_time de 30 à 600.



Lister les composants de votre machine

Similaire à CPU-Z, I-nex affiche en clair sur une interface graphique tous les composants installés sur votre PC sous Linux !

I-Nex peut afficher des informations pour les composants suivants: CPU, GPU, carte mère, son, disques durs, RAM, réseau et USB ainsi que quelques informations de système comme le nom d'hôte, la distribution Linux et la version Xorg, GCC, versions GLX et Linux infos du noyau.


En plus d'être en mesure d'afficher des informations sur le matériel, I-Nex peut également générer un rapport avancé pour lequel vous pouvez sélectionner ce qu'il faut inclure et éventuellement envoyer le rapport à un service tel que Pastebin (et d'autres). Il dispose également d'une option pour prendre une capture d'écran de la fenêtre I-Nex directement depuis l'application.

La différence entre I-Nex et les autres outils d'information matérielle GUI disponibles pour Linux, c'est que l'information est mieux organisée et s'affiche plus rapidement (que lshw-gtk par exemple).


Le seul inconvénient est que I-Nex utilise une très récente version de Gambas3 pour l'interface utilisateur de sorte que vous devez ajouter un PPA !

$ sudo add-apt-repository ppa:nemh/gambas3
$ sudo add-apt-repository ppa:i-nex-development-team/stable
$ sudo apt-get update
$ sudo apt-get install i-nex



Synchonisation facile des freeplugs et autres boitiers CPL

freeplugs

Oui, je sais, c'est fastoche de synchroniser ces machins mais lorsque les freeplugs se désynchronisent d'un coup alors que tu regardes le super dernier film à la mode et que tu ne veux pas rater la fin (et que ta femme et tes enfants hurlent...) c'est pas le moment de galérer et de sortir la doc...

Donc, quand ça fait 4 ans que tu as synchronisé tes plugs pour la première fois et que tu ne te rappelles plus qu’il faut d’abord les réinitialiser, tu cherches un moment pour trouver un bon tuto...

Voila donc LE tuto qui marche à tous les coups que tu ais seulement les freeplugs ou que tu ais un réso de ouf rien qu'en CPL !

Il faut brancher une multiprise sur le secteur, on s'en serait douté mais je le dis quand même, ont ne sais jamais, et connecter le freeplugs de la box dessus. J'insiste sur le fait qu'il faut utiliser une multiprise et que tous les plugs devront être connectés sur celle-ci.

Attendre que la lumière verte ou rouge se stabilise. Peut importe la couleur puisque l'on va réinitialiser ces bestioles.
On appui plus de 10 secondes sur le voyant qui se trouve aussi être un bouton du freeplug qui est reliée à la freebox (pas le boîtier télé). La lumière orange doit clignoter quand vous relâchez le bouton.
Connecter le plug du boîtier télé et faites de même tout en laissant le plug de la box branché. A ce stade, les 2 freeplugs sont remis à zéro et ne se voient plus. On va donc les synchroniser de nouveau.

Appuyer 2 secondes sur le bouton du premier freeplug. Le voyant doit clignoter.
Faites immédiatement de même avec le second freeplug et patienter...
Les lumières oranges vont clignoter pendant une à DEUX minutes. Puis elles seront de couleur VERTE fixes. Les freeplugs sont synchronisés.

Vous pouvez débrancher le deuxième freeplug (celui de la téloche) et le rebrancher où vous voulez. Il se resynchronisera tout seul sans rien faire.

Si vous voulez ajouter d’autres boîtiers CPL, synchronisez les un par un !

Brancher le nouveau boîtier CPL (un Devolo 200 AV dans mon cas) sur la même multiprise du freeplug qui alimente la freebox.
Appuyer 2 secondes seulement sur le bouton de CHACUN des boîtiers. Laissez les se synchroniser.

Vous pouvez débrancher le Devolo et le brancher où vous voulez et passer au suivant...

Ci-dessous une capture d'écran de la config des plugs sur une Freebox Révolution !

freeplugs