Sécurité Linux
Rappel: J'utilise une distribution Bullseye.
Les informations de cette page peuvent s'avérer inexactes pour d'autres distributions."
Bidouillages de base⚓︎
Exécuter une commande déjà utilisée
!numéro
Affichage d'un fichier zippé
On peut utiliser zdcat
!
Redirection de la sortie
On peut rediriger la sortie d'un programme vers l'entrée d'un autre en utilisant |
.
Par exemple: cat fichier | grep recherche
redirige la sortie de cat
vers grep
.
Outils de recherche⚓︎
- Awk permet de chercher des chaines grâce à un langage presque aussi puissant que le C.
- Utilisation `awk -F "séparateur" -v variable
Outils de recherche
awk
find
grep
Commandes sur les fichiers
- Compter:
wc
- Comparaison:
diff
- Intégrité:
md5sum
- Tri:
sort
etunikq
Exemples
Outils de conversion
Tr
Sed
(regex) permet de remplacer du texte$[]; $(())
(calcul)
Outils d'archive et de compression
- Archive
zip
tar
- Compression
gzip
bzip2
Liens
- Lien physique:
ln document lien
- Lien symbolique:
ln -s document lien
Shells
- Vérification des shells:
/etc/shells
/bin/*sh
- Vérification du shell utilisé
ps
$0
$SHELL
Vérification de la distrib
- Red-Hat:
/etc/lsb-release
/etc/redhat-release
- Debian:
/etc/issue
/etc/debian_version/bin/*sh
Commandes:
Permissions
useradd
usermod
passwd
userdel
groupadd
groupmod
groupdel
gpasswd
groups
newgrp
chmod
chown
chgrp
unmask
PAM⚓︎
Cette section est une prise de notes.
Pluguable Auth Module
apt install libpam-google-autghenticator
vim /etc/pam.d/common-auth
auth required pam_google_authenticator.so
google-authenticator
- stdin1 = clavier
- stdout1 = ecran
- stdout2 = erreur, écran
On peut mettre 1 ou 2 devant ">" pour rediriger la sortie vers quelque part (/dev/null ou un fichier par exemple)
- ecraser fichier
>
- ajouter au fichier
>>
- Mettre en entrée
<
- stdout
2>
- stdout + stderr
&>
- stderr sur stdput
2>&1
- Combinaisons possibles.
tee
permet de lire stdin et écrire dans plusieures sorties
programme daemon processus thread script fonction service application
top
pour voir les processus
top -U tim
Gestion des processus⚓︎
- arriere plan:
&
.Nohup
pour pas que la commande crève avec le bash - mettre en pause:
ctfr Z
- passer en background:
bg
- frontground:
fg
jobs
ps
pstree
free
top
fuser
sdparm
hdparm
lsof
sar
iostat
mpstat
pidstat
vmstat
- recharger conf:
sighup
- arret brutal
sigkill
- créer zombie:
(sleep 1 & exec /bin/sleep 100)&
priorité d'accès au processeur: nice pour lancer avec une prio custom et renice pour redéfinir plus tard 0 par défaut, -20 est très méchant et 19 est très gentil
exec
permet de remplacer le bash par le processus qu'on lance
Exécution⚓︎
||
exécuter la commande 2 si la 1 est morte&&
exécuter la commande 2 si la 1 est morte
Variables d'environnement⚓︎
HOME
: répertoire utilisateurPWD
: répertoire courantPATH
: chemins d'accès aux exécutablesSHELL
: shell utilis" pour la connexion
Matériel⚓︎
- processeur:
- /proc/cpuinfo
lscpu
- Ram:
- /proc/meminfo
free
- stockage:
- /dev/sd[a-z][1-9]
- /dev/fd[0, 1]
- /dev/hd* et /dev/sr0
- /dev/
Partitions et systèmes de fichier⚓︎
Pas de getion de droit d'accès chez Windows
Ajout d'un disque⚓︎
lsblk
fdisk /dev/sdb
n
p
1
enter enter
w
mkfs -t ext4 /dev/sdb1
mount -t ext4 /dev/sdb1 /home/tim/test
lsblk -fe 7
dans /etc/fstab: UUID=eabce7c2-7ad9-42f9-a6cf-2a0bc99e1bbe /home/tim/test ext4 defaults 0 2
umount /dev/sdb1
sudo shred -v -n 1 /dev/sdb
apt install cryptsetup
cryptsetup luksFormat /dev/sdb
cryptsetup --type luks open /dev/sdb victor
mkfs -t ext4 /dev/mapper/victor
cryptsetup luksDump /dev/sdb
mount -v /dev/mapper/victor /home/victor/TEST
cryptsetup status victor
cryptsetup close victor
cryptsetup --type luks open /dev/sdb victor
Séquence d'amorcage bas niveau⚓︎
- BIOS:
- Post
- detection matos
- recherche sectgeur amorcage
- Chargeur d'amorcage:
- mbr
- grub stage 2
- Kernel:
- Initrd
- ramfs
- détection matos
- montaged /
Maintenir la touche Shift enfoncé au démarrage de la machine
Presser « e »
You need to modify it or change it from “read-only” mode to “read-write” mode. Find the line beginning with “Linux.” Look for ro and change it to rw. Add init=/bin/bash at the end of the line, attention au clavier anglaise éhhé
F10
démarrer
Mount –n – o remount,rw /
Monter le systéme defichier de la racine
Passwd root
Reinitialize de root
Passwd victor
Réinitialise le password de l’utilisateur Victor
Exec /sbin/init
Sort du shell et reboot
grub: /etc/default/grub
Scripting bash⚓︎
#!/bin/bash
echo "premiere var " $1
echo "commande passe " $0
echo "all var " $@
echo "nombre d'argument " $#
$0 : nom de la commande
$n : argument n
$# : nombre d’arguments
$* : valeur des arguments
$@ : tableau
$? : code retour
$$ : pid shell
variable=$(commande)