GNU/Linux >> Tutoriels Linux >  >> Linux

Ma distribution Kali Linux personnalisée

Nous aimons quand les membres de la communauté proposent de nouvelles idées ou des constructions intéressantes, et celle-ci a retenu notre attention. Jacek Kowalczyk nous a lancé sur Twitter une histoire vraiment intéressante. Son approche pour peaufiner Kali afin qu'il soit spécifique à ses besoins est exactement la raison pour laquelle cette fonctionnalité est si importante pour nous et nous voulions partager son histoire plus largement.

La recette de construction en direct de Jacek consistait en une version allégée de Kali utilisant ses environnements de bureau préférés, y compris de belles configurations de bureau. Nous avons pensé qu'il serait préférable de laisser Jacek partager son processus avec vous étape par étape, dans ses propres mots :

L'histoire de Jacek

J'ai passé beaucoup de temps à rechercher une distribution Linux la mieux adaptée à mes besoins. Je voulais un système très léger et j'ai testé une tonne de variantes (Manjaro, Debian, Ubuntu, Sparky, MX Linux, Antix, Arch, Anarchy, Antergos, Archlabs, Bunsen Labs, et bien d'autres). J'ai également testé différents environnements de bureau en essayant de trouver ma bonne solution (Xfce, LXDE, Mate, LXqt, i3, openbox, fluxbox, jwm et IceWM). Malgré ces tests exhaustifs, je n'étais toujours pas satisfait.

Il a commencé à devenir clair que pour mes besoins, j'avais besoin d'une version progressive de Linux qui soit non seulement légère, mais qui bénéficie également d'un bon support de la part d'une entreprise ou d'une communauté. J'ai fait une longue liste de mes distributions Linux préférées, mais je n'arrivais toujours pas à me décider.

J'ai toujours voulu participer à un projet Open-source et faire un peu de développement. Il m'est venu à l'esprit que ma solution pourrait être de simplement créer ma propre configuration - je pourrais prendre une distribution Linux, installer un système d'exploitation de base et le personnaliser. Au début, cela semblait être une excellente option. Mais que se passerait-il si je devais réinstaller ? Je ne voulais pas avoir à recommencer la personnalisation de mon système installé.

Je savais que je voulais créer une ISO que je pourrais utiliser pour installer mon système n'importe quand, n'importe où. Il serait parfaitement adapté à mes besoins tout juste sortis de l'installation. Pour cette raison, j'ai commencé à chercher des moyens de personnaliser Debian, Arch ou Manjaro. Cela m'a conduit aux scripts de configuration live-build de Kali Linux. À ce stade, je savais que j'avais trouvé ma solution.

Kali Linux est une distribution continue basée sur Debian et bénéficie d'un excellent soutien de la part de l'équipe Offensive Security ainsi que d'une communauté active. J'ai également trouvé des scripts existants pour i3wm fournis par l'équipe Kali. C'était mon point de départ. J'ai commencé à jouer avec la liste des packages personnalisés et plus tard avec certains fichiers chroot à inclure dans l'ISO. Au cours de ce processus, j'ai généré plus de 20 images ISO jusqu'à ce que j'en ai une qui me satisfasse. Même maintenant, je continue à m'améliorer.

Laissez-moi vous expliquer comment j'ai créé deux variantes de Kali linux, l'une avec i3wm et l'autre avec le gestionnaire de fenêtres Openbox.

Kali Linux personnalisé avec i3wm ou Openbox

J'ai fait ma première configuration basée sur la documentation officielle de Kali pour live-build-config. Ce processus était :

  1. Installez Kali Linux. Utilisez n'importe quelle image officielle de Kali.
  2. Installer des packages supplémentaires.
  3. Commencez à pirater les variantes i3wm/Openbox. Je les ai initialement traités comme deux versions distinctes, pour garder les choses plus propres pour moi. Je faisais le double du travail, mais c'était plus facile à suivre.
[email protected]:~# apt install curl git live-build cdebootstrap
[email protected]:~# git clone git://gitlab.com/kalilinux/build-scripts/live-build-config.git
...
[email protected]:~# cd live-build-config/kali-config
[email protected]:~/live-build-config/kali-config# ls
common variant-e17 variant-i3wm variant-light variant-mate
variant-default variant-gnome variant-kde variant-lxde variant-xfce

Pour i3, j'ai commencé par apporter mes modifications dans la variante-i3wm existante dossier. Pour Openbox, j'ai copié la variante-i3wm répertoire vers variant-openbox et j'y ai ajouté mes modifications

[email protected]:~/live-build-config/kali-config# cp -r variant-i3wm variant-openbox

Avec cela en place, l'étape suivante consistait à éditer le fichier kali-config//package-lists/kali.list.chroot pour ajouter les packages requis que je voulais. Ma liste de packages pour i3wm peut être trouvée ici, et Openbox ici. Tous les fichiers de configuration du livecd doivent être copiés dans kali-config/common/includes.chroot/root/ . Ce répertoire est utilisé car l'environnement livecd s'exécute en tant qu'utilisateur root.

Tous les fichiers de configuration du système de fichiers installé doivent être copiés dans kali-config/common/includes.chroot/etc/skel/ . Le /etc/skel Le répertoire est couramment utilisé comme modèle pour créer des répertoires personnels d'utilisateurs, de sorte que chaque nouvel utilisateur aura par défaut les fichiers qui se trouvent dans ce répertoire.

L'azote est une application utilisée pour configurer le papier peint. Le fichier .config/nitrogen/bg-saved.cfg définit le fond d'écran défini. Le deuxième fichier .config/nitrogen/nitrogen.cfg est le fichier de configuration principal pour l'azote et définit les répertoires où se trouvent les images de fond d'écran. J'ai modifié chacun d'entre eux en fonction de mes préférences. Une fois cela en place, j'ai également modifié l'applet du gestionnaire d'alimentation en configurant .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml .

De plus, j'ai fait une gamme d'autres personnalisations pour personnaliser un peu plus le système. Sans entrer dans trop de détails, ils étaient :

  • Pour i3wm

    • kali-config/common/includes.chroot/root/.i3wm_conkyrc - Configuration pour l'outil conky. Ce fichier conkyrc est basé sur la configuration conky de Sparky Linux

    • kali-config/common/includes.chroot/root/.config/i3/config - Le fichier de configuration pour i3wm a été généré pour moi lors de la première connexion à la session i3wm, et j'ai ajouté quelques modifications pour démarrer automatiquement d'autres outils tels que :azote, clipit, contrôle du volume, et défini mes raccourcis clavier pour mes outils et actions (mise hors tension et redémarrer).

  • Pour Openbox

    • kali-config/common/includes.chroot/root/.openbox_conkyrc - configuration pour conky. L'openbox conkyrc est différent de celui d'i3wm. Celui-ci est basé sur le fichier conkyrc de CrunchBang++.

    • kali-config/common/includes.chroot/root/.config/openbox/autostart - Le fichier de démarrage automatique Openbox définit quels outils et applications doivent être démarrés automatiquement avec la session openbox :(nitrogen, clipit, volume vontrol, power manager, conky). Je l'ai également basé sur le fichier de CrunchBang++.

    • kali-config/common/includes.chroot/root/.config/openbox/menu.xml - Il s'agit de la configuration du menu Openbox, contrôlant ce qui se passe lorsque vous cliquez avec le bouton droit sur le bureau. Openbox est vraiment unique en ce que ce fichier est entièrement contrôlé par l'utilisateur et vous pouvez y exécuter des scripts et faire d'autres choses comme démarrer des applications ou même afficher l'état de l'application du lecteur multimédia dans le menu dynamique du tuyau. Openbox est vraiment puissant.

    • kali-config/common/includes.chroot/root/.config/openbox/rc.xml - Thèmes et raccourcis clavier du gestionnaire de fenêtres Openbox. C'est assez courant, mais j'y ai ajouté mes raccourcis clavier pour mes outils et actions préférés comme la mise hors tension et le redémarrage.

    • kali-config/common/includes.chroot/root/.config/tint2/tint2rc - Paramètres et lanceurs du panneau Tint2. Ici, j'ai ajouté mes outils les plus couramment utilisés :terminal, éditeurs, navigateurs web. Pour éditer ce fichier, j'ai utilisé l'application graphique tint2conf. Cette application permet de définir facilement les thèmes du panneau tint2 et d'ajouter des lanceurs et autres éléments du panneau.

Tous les changements pour i3wm peuvent être trouvés ici et Openbox peut être trouvé ici.

J'ai également ajouté le navigateur Firefox Developer Edition en téléchargeant le package d'installation et en le décompressant dans kali-config/common/includes.chroot/opt/firefox/ puis ajouté le client toxic tox à kali-config/common/includes.chroot/opt/toxic . Pour démarrer Firefox, j'ai également ajouté le script shell kali-config/common/includes.chroot/usr/bin/firefox.sh .

#!/bin/bash
echo "Starting firefox developer edition"
/opt/firefox/firefox
  1. Créer les ISO

Avec toute cette configuration à l'écart, il était temps de passer à la partie amusante, la construction des ISO !

[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant i3wm --verbose
[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant openbox --verbose

Avec ceux en cours d'exécution, je n'avais plus qu'à attendre que le travail soit terminé. Dans mon cas, il a fallu environ 3 heures. Les fichiers ISO qu'il a générés ont été enregistrés dans les images sous-dossier.

Version finale

Dans la version finale des configurations, j'ai décidé de porter mon installation i3wm sur ma version Openbox. De cette façon, lors de la construction de la configuration Openbox, j'obtiens les deux gestionnaires de fenêtres, Openbox et i3. Sur l'écran de connexion, je peux sélectionner la session que je veux. De toute évidence, il est beaucoup plus facile d'avoir un ISO "parfait" que de devoir choisir entre les deux au moment de l'installation.

Conclusion

Nous avons adoré l'approche de Jacek consistant à identifier ses besoins, puis à ne pas avoir peur de simplement intervenir et d'apporter les changements. Comme beaucoup de choses sur Linux, faire une installation personnalisée peut être intimidant et ressembler à un processus très complexe. Mais une fois que vous êtes entré et que vous avez commencé le processus, c'est vraiment assez simple et la quantité de travail que cela peut vous faire économiser est incroyable.

Merci à Jacek pour tout son travail acharné et sa volonté de le partager avec la communauté. Vous pouvez voir ce que Jacek fait d'autre sur sa page sur sa page GitLab.


Linux
  1. Améliorations de l'accessibilité de Kali Linux

  2. Conséquences de la sortie de Kali Linux

  3. Version Kali Linux 1.0.7

  4. Métapaquets Kali Linux

  5. Version Kali Linux 1.0.6

Durcissement de Kali Linux

Comment installer Kali Linux

Téléchargement Kali Linux

Configuration système requise pour Kali Linux

Kali Linux contre Parrot

Installez Nessus sur Kali et améliorez la distribution Linux