30 Sep 2013, 00:00

Modifier l'URL ouverte par le raccourci Internet présent dans le menu démarrer (XP)

En cas d’infection par des malwares publicitaires (Yontoo, Delta, Lyricspal, qvo6 etc), les paramètres du navigateur sont souvent modifiés pour remplacer les outils légitimes par ceux de la société derrière l’infection. Cela se manifeste par un moteur de recherche foireux, une page d’accueil du même acabit, et souvent des extensions du navigateur qui visent à ajouter des publicités à des pages n’en contenant pas. Il y a souvent un logiciel/service installé qui surveille les modification effectuées par l’utilisateur pour rétablir les paramètres dès leur modification. Se débarrasser de ces softs est la première étape vers la guérison.

Une fois les logiciels désinstallés, les effets sur le navigateur sont généralement encore visibles. On peut facilement rétablir la page d’accueil, le moteur de recherche par défaut et enlever les extensions, le tout directement au sein du navigateur.

Il peut cependant arriver que la page à l’ouverture du navigateur ne soit toujours pas celle désirée, bien que les paramètres soit corrects. Le procédé est dans ce cas différent : au lieu de paramétrer le navigateur pour changer sa page d’accueil, l’infection va lancer le navigateur en lui donnant une url en paramètre. Ainsi, malgré toutes les configuration possibles, le raccourci du menu donnera l’ordre de lancer le navigateur sur une page précise.

Pour corriger ceci, il faut ouvrir le menu démarre e l’utilisateur (ou de tous les utilisateurs si l’entrée du menu est commune) : par exemple pour Firefox C:\Documents and Settings\All Users\Menu Démarrer\Programmes\Mozilla Firefox
En faisant un clic droit -> Propriétés sur le raccourci Firefox présent dans ce répertoire, on peut voir que la valeur du raccourci est le chemin de l’exécutable, avec un url derrière, en paramètre. Il suffit de supprimer le paramètre pour que l’ouverture du navigateur redevienne normale.

La procédure est légèrement pour l’élément Internet du menu démarrer (tout en haut). Cet élément est un élément défini par le système, et n’est pas accessible directement dans le dossier du menu démarrer. Il faut passer par le registre pour modifier sa valeur. Lancer regedit et aller à la clé : HKLM\SOFTWARE\Clients\StartMenuInternet
Chacun des programmes pouvant être le navigateur par défaut (et donc figurer dans la liste) a sa clé ici. La manipulation suivante est à faire pour chacun des navigateurs (Firefox, Chrome, IE etc…) Aller à la clé HKLM\SOFTWARE\Clients\StartMenuInternet\NAVIGATEUR.EXE\shell\open\command On trouve ici la valeur (par défaut), qui donne le chemin de l’exécutable, ainsi qu’un éventuel paramètre. Il suffit de supprimer l’url en paramètre pour retrouver une ouverture normale du navigateur.

25 Sep 2013, 00:00

En cas d'impossibilité d'afficher les extensions

Il peut arriver que les extensions restent masquées, malgré le fait que la case dédiée dans les Options des dossiers soit décochée. Dans ce cas, aller voir dans la base de registre cette clé : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced et vérifier la valeurs de HideFileExt (qui doit être à 0). Pareil sur la clé propre à l’utilisateur : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

30 Aug 2013, 00:00

Création rapide d'une image live de Debian Wheezy avec le bureau Mate

Grâce au paquet live-build, on peut aisément construire une image personnalisée d’un système live Debian Wheezy. Ceci a été réalisé sous Wheezy en 64 bits, et je souhaitais obtenir une image i386 (pour la compatibilité avec le maximum d’ordinateurs à des fins de dépannage).

Première étape : installer le paquet :

sudo aptitude install live-build

créer un dossier dedié à la construction de l’image et aller dedans :

mkdir debian_live && cd debian_live

créer un dossier auto pour la conf, et y coller les exemples :

mkdir auto && cp /usr/share/doc/live-build/examples/auto/* ./auto/

Préparer la configuration en éditant le fichier auto/config pour qu’il contienne ceci

#!/bin/sh

lb config noauto \
    --architectures 'i386' \
    --archive-areas 'main contrib non-free' \
    --bootappend-live 'boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr' \
    --binary-images 'iso-hybrid' \
    --distribution 'wheezy' \
    --linux-flavours '486 686-pae' \
    --source 'false' \
    --apt 'aptitude' \
    --apt-secure 'false' \
    "${@}"

le --apt-secure 'false' permet d’installer les paquets non-signés pour installer mate.

Puis on initie la configuration :

lb config

Les infos sont récuperées du fichier que l’on vient d’éditer.

Il faut ensuite ajouter les dépôts additionnels ; dans mon exemple celui de Mate, mais cela peut être n’importe quel dépôt. pour cela, créer le fichier

nano ./config/archives/mate.list.chroot

et copier dedans l’adresse du dépôt

deb http://packages.mate-desktop.org/repo/debian/ wheezy main

Ce(s) fichier(s) doit être de la forme xxxx.list.chroot pour être pris en compte automatiquement lors de la construction de l’image (à l’étape du chroot). Il est aussi possible de nommer un fichier xxx.list.binary si l’on souhaite que le dépôt se retrouve dans le sources.list du système live.

Nous spécifions ensuite la liste des paquets que nous souhaitons voir installés dans le système, grâce au fichier :

nano ./config/package-lists/packages.list.chroot

dans lequel nous collons la liste de tous les paquets souhaités. Par exemple :

vlc openoffice.org  openoffice.org-l10n-fr openjdk-7-jre mdadm  rdesktop conky nmap rcconf network-manager-gnome firmware-linux firmware-atheros firmware-b43-installer firmware-bnx2 firmware-bnx2x firmware-brcm80211 firmware-intelwimax firmware-ipw2x00 firmware-ivtv firmware-iwlwifi firmware-libertas firmware-myricom firmware-netxen firmware-qlogic firmware-ralink firmware-realtek gparted hfsprogs ntfs-3g hfsplus hfsutils dosfstools hplip system-config-printer xsane simple-scan lightdm mate-desktop-environment bash-completion chntpw caja-open-terminal clamav dcfldd bootlogd less mesa-utils numlockx ethtool grub2 mesa-utils ssh gdisk testdisk python-tk iftop nethogs pm-utils dmraid unrar

De la même manière, le format doit respecter la syntaxe xxx.list.chroot pour être pris en compte lors de la construction de l’image.

Puis on peut lancer la construction à proprement parler, en root :

sudo lb build

Qui amène à la création d’un fichier binary.hybrid.iso dans le dossier courant, prêt à être gravé sur cd ou dumpé sur clé usb avec la commande

dd if=./binary.hybrid.iso of=/dev/sdX

Pour plus d’infos, ne pas oublier de consulter les mans :

man live-build
man lb config

26 Aug 2013, 00:00

Dossier Program Files sous Windows 7

Sous win 7 (et vista ?), lorsqu’un programme lancé avec de simples droits utilisateurs cherche à écrire dans le dossier Program Files, il n’a pas les droits. Pour permettre la compatibilité avec toutes les applications ayant ce comportement, une surcouche a été mise en place : le dossier C:\Users\Username\AppData\Local\VirtualStore. Tous les fichiers devant être mis dans C:\Program Files iront dans Virtualstore, et overrideront le cas échéant ceux présent au niveau système.

13 Jul 2013, 00:00

<3 Debian

Sous Wheezy, tout notre bazar pour faire tourner python correctement se résume à :

sudo aptitude install bundler

Puis dans le répertoire racine du projet Ruby : bundle install

./generate

Content :)

22 May 2013, 00:00

Ports SMTP POP IMAP

Ci-dessous, les ports des différents protocoles :

HTTP

de base : 80
+ ssl   : 443

SMTP

de base : 25
+ auth  : 587
+ ssl   : 465

POP

de base : 110
+ ssl   : 995

IMAP

de base : 143
+ ssl   : 993

02 May 2013, 00:00

Chmod récursif sur dossiers uniquement

Il faut utiliser le paramètre X (x majuscule) à la commande chmod pour indiquer que le flag éxecutable ne doit être mis que sur les dossiers (ou les fichiers qui le possèdent déjà) :

chmod -R u=rwX,go=rX /my/path/*

11 Apr 2013, 00:00

serveur openvpn sous windows 7 x64

Prérequis : Notepad ++

  1. Installer le package OpenVPN en version 64 bits, penser à cocher les scripts RSA
  • Éditer C:\Program Files\OpenVPN\easy-rsa\vars.bat avec N++
  • ouvrir cmd en admin
  • cd “c:\program files\openvpn\easy-rsa”
  • init-config pour copier vars.bat.sample en vars.bat
  • exécuter vars
  • exécuter clean-all pour initialiser serial et index.txt
  • build-dh
  • lancer les commandes build-ca, build-key-server et build-client AVEC un argument ; bien que non repris dans les champs à remplir, ça sera le nom du fichier créé (sinon, nom vide)
  • ajouter la ligne crl-verify “C:\Program Files\OpenVPN\easy-rsa\crl.pem” dans la conf du serveur pour gérer les certificats révoqués (mais fait planter le serveur si crl.pem est absent ou vide => révoquer un certificat test pour initialiser le fichier)

démarrage du service en automatique

désactiver pare-feu sur réseaux publics

redirection routeur 1194

si plusieurs connexions (sur serveur ou client), adapter le nom de la carte réseau à la conf ovpn

15 Mar 2013, 00:00

cohabitation office 2003 2007

Le seul nom d’un executable (et non son chemin entier) est pris en compte par windows pour identifier un programme qui ouvrira une extension. Ex : .doc ouvert par Microsoft Office Word, alias WINWORD.EXE.

Ceci se voit à la clé registre HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.doc\OpenWithList\.

Office 2003 et 2007 ont le même nom d’executable pour Word, ce qui empêche les 2 d’être présents dans la liste « Ouvrir avec ».

Il faut donc renommer l’executable C:\Program Files\Microsoft Office\Office11\WINWORD.EXE en WINWORD2003.EXE

On peut ensuite associer les fichiers .doc au programme WINWORD2003.EXE qui sera différencié de WINWORD.EXE (word 2007, dont le nom d’executable ne peut être modifié, sous peine d’avoir un message d’erreur se rapportant à un problème de mémoire pour Outlook).

Si l’on veut ensuite personnaliser le nom du programme dans la liste « Ouvrir avec », pour que « Word 2003 » et « Word 2007 » soient différenciés, il faut modifier la valeurs de WINWORD.EXE et WINWORD2003.EXE dans la clé registre HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache\. (les valeurs sont le chemin de l’executable)

Ainsi, on peut aisément différencier les 2 versions de word et ouvrir à son gré celle que l’on préfère.

01 Dec 2012, 00:00

Réappropriation de dossiers et fichiers sous 7 Pro

Dans certains cas de migration de données d’un poste Windows à l’autre, il peut arriver qu’un dossier et tout ce qu’il contient n’ait plus aucun propriétaire. Il est possible de remettre un propriétaire graphiquement et récursivement, mais dans ce cas, cela n’affecte que les dossiers.

La solution est de tout réaffecter à l’administrateur, et alors seulement de redonner les droits à la bonne personne.

Pour ceci : ouvrir une invite de commandes en administrateur (rechercher cmd, puis clic droit et “ouvrir en tant qu’administrateur”) et taper


REM L’administrateur devient propriétaire de tous les dossiers, sous-dossiers et fichiers
REM Contrairement à icacls, ceci fonctionne même en l'absence de droits d'écriture/modification
takeown /f “C:\mon\chemin” /r /D o
REM avec /A, on peut donner l'appartenance au groupe "Administrateurs"

REM On peut donner des droits supplémentaires (ici accès complet) à tel utilisateur ou groupe
icacls "C:\mon\chemin" /grant user1:(OI)(CI)F /grant group2:(OI)(CI)F /C /Q
REM (OI) et (CI) mettent en place l'héritage des droits pour les sous-objets et conteneurs

REM Les droits de tous les sous-dossiers et sous-fichiers sont réinitialisés pour hériter de "mon\chemin"
REM Voir ici : https://serverfault.com/questions/475612/replace-permission-entries-on-all-child-objects-using-icacls
REM /q pour supprimer les messages de réussite ; /t pour la recursivité ; /c pour continuer en cas d'erreur sur un élément
icacls "c:\mon\chemin" /inheritancelevel:e /t /q /c
REM Sans cette étape, l'ajout de droits sur un fichier/conteneur qui a été sorti de l'héritage ne semble pas fonctionner

REM L’utilisateur choisi devient propriétaire de la racine et les fichiers/dossiers directement dedans
icacls “C:\mon\chemin” /setowner userProprio /T /L

Note : sous XP, cela devrait être à peu près similaire, mais avec la commande cacls au lieu de icacls.