Cheat Sheets

Ce livre contient l'ensemble de mes Cheat Sheet.

Switchs & routeurs Cisco

Aide mémoire des commandes de commutateurs Cisco

Changer de mode :
switch> enable				# Commande pour passer du Mode 1 au Mode 2. 
switch# conf t				# Commande pour passer du Mode 2 au Mode 3.
switch(config)#             # Nous sommes désormais dans le mode 3
Afficher les VLANs : 
switch# show vlan
Configurer un port : 
switch(config)# interface fastEthernet 0/1
switch(config-if)# switchport access vlan 50
switch(config-if)# exit
switch(config)# 

Configurer une plage de port :
switch(config)# interface range fastEthernet 0/1-24
switch(config-if)# switchport access vlan 30
switch(config-if-range)# exit
switch(config)#  
Réinitialiser le switch :
switch# write erase
switch# reload
Configurer SSH : 
SW_POD4_BOT(config)#username pod4-user password P@ssw0rd
SW_POD4_BOT(config)#ip domain-name gsb.local
SW_POD4_BOT(config)#crypto key generate rsa general-keys modulus 1024
SW_POD4_BOT(config)# line vty 0 4
SW_POD4_BOT(config-line)# transport input ssh
SW_POD4_BOT(config-line)# login local
SW_POD4_BOT(config-line)# exit
SW_POD4_BOT(config)#enable secret P@ssw0rd

Configurer le routage : 
# VLAN SORTIE
switch(config)# interface vlan 400
switch(config-if)# ip address 172.31.192.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# exit
switch(config)# 

# VLAN GSB
switch(config)# interface vlan 300
switch(config-if)# ip address 172.31.64.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# exit
switch(config)# 

# VLAN SUPERVISION
switch(config)# interface vlan 200
switch(config-if)# ip address 172.31.128.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# exit
switch(config)# 

# Route par défaut
switch(config)#ip route 0.0.0.0 0.0.0.0 172.31.192.2
Relai DHCP : 
switch(config)# interface vlan 100
switch(config-if)# ip helper-address 172.31.64.10
switch(config-if)# ip helper-address 172.31.64.30

Activation du routage statique :
switch(config)#sdm prefer landbase-routing
switch(config-if)#switch#write
switch#reload

Activation du routage :
switch(config)#ip routing
Affichage du routage :
switch#show ip route

Activer le trunk : 

SW_POD4_BOT#configure terminal
SW_POD4_BOT(config)#interface gigabitEthernet 0/2
SW_POD4_BOT(config-if)#switchport mode trunk
W_POD4_BOT(config-if)#switchport trunk allowed vlan none
SW_POD4_BOT(config-if)#switchport trunk allowed vlan add 400
SW_POD4_BOT(config-if)#switchport trunk allowed vlan add 300
SW_POD4_BOT(config-if)#switchport trunk allowed vlan add 200
SW_POD4_BOT(config-if)#switchport trunk allowed vlan add 100

ACL : 

Ajouter : 

RT_POD4_TOP(config)#ip access-list standard LPortailCaptif
RT_POD4_TOP(config-std-nacl)#deny 172.31.0.255
RT_POD4_TOP(config-std-nacl)#permit any
RT_POD4_TOP(config-std-nacl)#Interface GigabitEthernet 0/1.200
RT_POD4_TOP(config-subif)#ip access-group LPortailCaptif in
RT_POD4_TOP(config-subif)#end



#Les flux de l'IP 172.31.0.255/32 sont bloqués vers le réseau 172.31.128.0/18

Supprimer :

Router#show access-list
Extended IP access list 125
    10 permit icmp 10.x.x.x 0.0.0.255 any
    20 permit icmp 20.x.x.x 0.0.0.255 any
    30 permit icmp 30.x.x.x 0.0.0.255 any
 
Router#conf t
Router(config)#ip access-list extended 125
Router(config-ext-nacl)#no permit icmp 10.x.x.x 0.0.0.255 any
Router#sh access-lists
Extended IP access list 125
    20 permit icmp 20.x.x.x 0.0.0.255 any
    30 permit icmp 30.x.x.x 0.0.0.255 any

Aide mémoire des commandes de Routeurs Cisco

QoS en fonction d'une interface source : 

Déclaration de classes de flux :

MonRouteur#configure terminal
MonRouteur(config)#class-map match-all prio-sur-interface
MonRouteur(config-cmap)#match input-interface fa1/0
MonRouteur(config-cmap)#exit
MonRouteur(config)#

Déclaration d'une politique de QoS : 

MonRouteur (config)#policy-map ma-politique-qos
MonRouteur (config-pmap)#class prio-sur-interface
MonRouteur (config-pmap-c)#set ip dscp cs7
MonRouteur (config-pmap-c)#exit
MonRouteur (config-pmap)#exit
MonRouteur (config)#

Application de la politique de QoS sur une interface :

MonRouteur(config)#interface fa0/1
MonRouteur(config-if)#service-policy output ma-politique-qos
MonRouteur(config-if)#exit
MonRouteur(config)#exit

QoS en fonction du protocole : 

Déclaration d'une nouvelle classe de flux :

MonRouteur (config)#class-map match-all prio-sur-ftp
MonRouteur (config-cmap)#match protocol ftp
MonRouteur (config-cmap)#exit
MonRouteur (config)#

Élargissement de la politique de QoS :

MonRouteur (config)#policy-map ma-politique-qos
MonRouteur (config-pmap)#class prio-sur-ftp
MonRouteur(config-pmap-c)#bandwidth percent 10       // On réserve 10% de la bande passante pour ce flux
MonRouteur (config-pmap-c)#set ip dscp cs1
MonRouteur (config-pmap-c)#exit
MonRouteur (config-pmap)#exit
MonRouteur (config)#

Routage sur un routeur 

# VLAN SORTIE
switch(config)# Interface GigabitEthernet 0/1.400
switch(config-if)# encapsulation dot1q 400
switch(config-if)# ip address 172.31.192.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# exit
switch(config)#

# VLAN SERVEURS
switch(config)# Interface GigabitEthernet 0/1.300
switch(config-if)# encapsulation dot1q 300
switch(config-if)# ip address 172.31.64.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# exit
switch(config)#

# VLAN SUPERVISION
switch(config)# Interface GigabitEthernet 0/1.200
switch(config-if)# encapsulation dot1q 200
switch(config-if)# ip address 172.31.128.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# exit
switch(config)#

# VLAN SERVICES UTILISATEURS
switch(config)# Interface GigabitEthernet 0/1.100
switch(config-if)# encapsulation dot1q 100
switch(config-if)# ip address 172.31.0.1 255.255.192.0
switch(config-if)# no shutdown
switch(config-if)# ip helper-address 172.31.64.10
switch(config-if)# ip helper-address 172.31.64.30
switch(config-if)# exit
switch(config)#

# Route par défaut

interface GigabitEthernet 0/1
switch(config)#ip route 0.0.0.0 0.0.0.0 172.31.192.2
switch(config)#no shutdown

Routage groupé (redondance de routeurs) :

J'ai deux routeurs : 
RT 1 - 192.168.0.1 
RT 2 - 192.168.0.2

Et nous allons créé une interface virtuelle qui permettra la redondance : 

SW 1 : 

// Activation de RIP
SW-1(config)#router rip
SW-1(config-router)#version 2

// Définition de tous les réseaux auquel le routeur est connectés 
SW-1(config-router)#network 192.168.0.0
SW-1(config-router)#network 172.16.0.0

// Maximum de Sauts autorisés (n)
SW-1(config-router)default-metric n

// Réglage des conteurs de retenue
// timers basic update invalid holddown flush 
// update = envoie en seconde des mises à jours de routage ;  
// invalid = temps pour être invalide ; 
// holddown = l'intervalle pendant lequel les informations de routage sur les meilleurs chemins sont supprimées ; 
// flush = le délai écoulé avant que la route ne soit retirée de la table de routage.
//
// 
SW-1(config-router)#timers basic 30 180 180 260

// Propagation de la route par défaut
SW-1(config-router)#default-information originate

// Désactivation de l'auto agrégation
SW-1(config-router)#no auto-summary

// Luter contre les boucles réseau
SW-1(config-router)#ip split-horizon

// Route par défaut
SW-1(config-router)#ip default-network W.X.Y.Z


// Mise en oeuvre du HSRP 
// Où 1 est le numéro du groupe HSRP et l'ip est l'adresse réseau virtuelle du groupe 
SW-1(config-router)#standby 1 ip 192.168.0.254

SW 2 : 

// Activation de RIP
SW-2(config)#router rip
SW-2(config-router)#version 2

// Définition de tous les réseaux auquel le routeur est connectés 
SW-2(config-router)#network 192.168.0.0
SW-2(config-router)#network 172.16.0.0

// Maximum de Sauts autorisés (n)
SW-2(config-router)default-metric n

// Réglage des conteurs de retenue
// timers basic update invalid holddown flush 
// update = envoie en seconde des mises à jours de routage ;  
// invalid = temps pour être invalide ; 
// holddown = l'intervalle pendant lequel les informations de routage sur les meilleurs chemins sont supprimées ; 
// flush = le délai écoulé avant que la route ne soit retirée de la table de routage.
//
// 
SW-2(config-router)#timers basic 30 180 180 260

// Propagation de la route par défaut
SW-2(config-router)#default-information originate

// Désactivation de l'auto agrégation
SW-2(config-router)#no auto-summary

// Luter contre les boucles réseau
SW-2(config-router)#ip split-horizon

// Route par défaut
SW-2(config-router)#ip default-network W.X.Y.Z


// Mise en oeuvre du HSRP 
// Où 1 est le numéro du groupe HSRP et l'ip est l'adresse réseau virtuelle du groupe 
SW-2(config-router)#standby 1 ip 192.168.0.254
SW-2(config-router)#standby 1 priority 120
SW-2(config-router)#standby 1 preempt

La tolérance de panne a bien été installée !

NTP Maitre :

SW-2(config-router)#ntp master 1

NTP Esclaves :

SW-2(config-router)#ntp server 192.168.1.1

NAT :

// Création d'une ACL
routeur1(config)#ip access-list standard NAT_INTERNET_VLAN2
routeur1(config-std-nacl)#permit 192.168.2.0 0.0.0.255
routeur1(config-std-nacl)#exit

// NAT Sortant 
routeur1(config)#int gi0/1
routeur1(config-if)#ip nat outside
routeur1(config-if)#exit

// NAT Entrant
routeur1(config)#int gigabitEthernet 0/0.2
routeur1(config-subif)#ip nat inside
routeur1(config-if)#exit

// Affectation 
routeur1(config)#ip nat inside source list NAT_INTERNET_VLAN2 interface GigabitEthernet0/1 overload

// Porte de sortie 
routeur1(config)#ip nat inside source static 192.168.2.1 223.0.0.1

// Redirection de port
routeur1(config)#ip nat inside source static tcp 192.168.2.1 80 223.0.0.1 80

TCP/IP

CIDR Adresses Machines Masques
/30 4 2 255.255.255.252
/29 8 6 255.255.255.248
/28 16 14 255.255.255.240
/27 32 30 255.255.255.224
/26 64 62 255.255.255.192
/25 128 126 255.255.255.128
/24 256 254 255.255.255.0
/23 512 510 255.255.254.0
/22 1 024 1 022 255.255.252.0
/21 2 048 2 046 255.255.248.0
/20 4 096 4 094 255.255.240.0
/19 8 192 8 190 255.255.224.0
/18 16 384 16 382 255.255.192.0
/17 32 768 32 766 255.255.128.0
/16 65 536 65 534 255.255.0.0
/15 131 072 131 070 255.254.0.0
/14 262 144 262 142 255.252.0.0
/13 524 288 524 286 255.248.0.0
/12 1 048 576 1 048 574 255.240.0.0
/11 2 097 152 2 097 150 255.224.0.0
/10 4 194 304 4 194 302 255.192.0.0
/9 8 388 608 8 388 606 255.128.0.0
/8 16 777 216 16 777 214 255.0.0.0
/7 33 554 432 33 554 430 254.0.0.0
/6 67 108 864 67 108 862 252.0.0.0
/5 134 217 728 134 217 726 248.0.0.0
/4 268 435 456 268 435 454 240.0.0.0
/3 536 870 912 536 870 910 224.0.0.0
/2 1 073 741 824 1 073 741 822 192.0.0.0
/1 2 147 483 648 2 147 483 646 128.0.0.0
/0 4 294 967 296 4 294 967 294 0.0.0.0

IEEE 802 est un comité de l'IEEE (Institute of Electrical and Electronics Engineers) qui décrit une famille de normes relatives aux réseaux locaux (LAN) : 

FLAGS :

SEW --> Problème de flux FIREWALL a reconfig

Windows serveur

Afficher les rôles FSMO :

netdom query fsmo

GPO : 

Intitulé
Emplacement
Forcer le changement de mot de passe tous les X jours Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
Désactiver les ports USB Configuration Ordinateur > Stratégies > Modèles d’Administration > Système > Accès au stockage amovible > Toutes les classes de stockage amovible : refuser tous les accès
Ajouter un lecteur réseau Configuration Utilisateur > Préférences > Paramètres Windows > Mappages de lecteurs
Désactiver le CMD Configuration Utilisateur > Stratégies > Modèles d'administration > Système > Désactiver l'accès à l'invite de commandes
Désactiver le micro

Configuration Ordinateur > Stratégies > Modèles d’administration > Composants Windows > Confidentialité de l’application > Permettre aux applications Windows d’accéder au micro

Désactiver la caméra Configuration Ordinateur > Stratégies > Modèles d’administration > Composants Windows > Confidentialité de l’application > Permettre aux applications Windows d’accéder à l’appareil photo
Interdire REGEDIT

Configuration Utilisateur > Stratégies > Modèle d'administration > Système > Empêche l'accès aux outils de modifications du Registre


Interdire la modification du serveur Proxy du navigateur Configuration Utilisateur > Stratégies > Modèle d'administration > Composants Windows > Internet Explorer > Empêcher la modification des paramètres de proxy
Profil Itinérant Configuration Utilisateur > Stratégies > Paramètres Windows > Redirections  de dossier
Suppression du menu exécuter dans le menu démarré Configuration Utilisateur > Modèles d'administration > Menu démarrer et barre des tâches > Supprimer le menu exécuter du menu démarrer.
Empêcher l'accès au panneau de configuration  Configuration Utilisateur > Modèles d'administration > Panneau de configuration > Interdire l'accès au Panneau de configuration et l'application Paramètres du PC.
Désactivation de la modification des paramètres de connexion Configuration Utilisateur > Modèles d'administration > Réseau > Interdire la configuration avancée de TCP/IP
Profil itinérant : 

Créer un partage de fichier  : \\SERVER\home$

Créer la GPO "Profil Itinérant", et rediriger par exemple le dossier "Documents" des utilisateurs : 

image-1619989350190.png

Modifier l'utilisateur : (Onglet Profil)

image-1619990109292.png

WDS - Windows Deployment Services :

On doit ajouter une image d'installation ; 

image-1634493632812.png

On doit ajouter une image de démarrage : 

  • dans le fichier iso chercher : sources/boot.wim

image-1634493649300.png

Sur le serveur DHCP, on doit activé l'option d'étendue 060 PXECLIENT : 

image-1634494948348.png

Très important ! Le serveur ne fonctionnera pas tant que l'on aura pas démarré ! 

Le client : 

image-1634494741804.png

image-1634494754843.png

Et voilà !

Serveur Multipoint :

Les rôles et services de rôle suivants seront installés sur votre serveur :

image-1634496326819.png

image-1634497476638.png

image-1634497608839.png

Puis : 

image-1634498883318.png

image-1634498899993.png

image-1634498913792.png

On peut maintenant tenter d'accéder à :

https://localhost/rdWeb

image-1634577588751.png

IIS : 

Installer la Web Platform Installer : https://www.microsoft.com/web/downloads/platform.aspx

image-1634675606893.png

On va pouvoir maintenant installer PHP !

image-1634675698204.png

Après avoir cliqué sur "Ajouter" vous aurez PHP d'activé !

Gestion des services

Trouver le PID d'un service : 

sc queryex "nom_du_service"

Stoper un PID : 

PS C:\> Stop-Process -Id 3952

 

 

Restauration d'un instantané d'une partition C

Ne peut pas être réalisée à chaud

 

- Redémarrer en mode rescue puis lancer l'invite de commande ;
- Lister les clichés instantanés disponibles : vssadmin list shadows ;
- Monter le cliché sur le disque (bien faire attention a avoir le "\" à la fin) : ex. mklink /d c:\shadowrestore \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1744\
- Sauvegarder le contenu actuel du C: sur le D: : robocopy C:\ D:\windows.old\ /mir /copyall /dcopy:T ;
- Sauvegarder le contenu du cliché sur le D: : robocopy C:\shadowrestore D:\windows.snap\ /mir /copyall /dcopy:T ;
- Démonter le cliché : rmdir c:\shadowrestore ;
- Restaurer les fichiers depuis le cliché : robocopy D:\windows.snap\ C:\ /mir /copyall /dcopy:T

Voici le lien vers le post que nous avons utilisé en partie : https://www.reddit.com/r/sysadmin/comments/w7fwgp/restore_shadow_copies_from_cli/

PhP

Changer le nombre de Mo max pour l'upload : 

Editer le fichier php.ini

nano /etc/php/7.4/apache2/php.ini

Et changer les valeurs suivantes : 

post_max_size = 3000M
upload_max_filesize = 3000M

Puis redémarrer apache :

service apache2 restart 

 

 

 

 

 

Powershell

Généralités : 

Savoir le répertoire courant : 
Get-Location
Afficher le contenue d'un fichier : 
Get-ChildItem
Créer un répertoire : 
New-Item -Name "SUPERDOSSIER" -ItemType Directory
Créer un répertoire avec déclaration de chemin : 
New-Item -Path "C:\SUPERDOSSIER" -ItemType Directory
Créer un fichier : 
New-Item -Name "fichier.txt" -ItemType File
Créer un fichier avec des données à l'intérieur : 
New-Item -Name "utilisateurs.txt" -ItemType File -Value "Mon super Contenu !"
Copier un fichier vers un autre répertoire : 
Copy-Item -Path utilisateurs.txt -Destination COMPTA
Déplacer un fichier :
Move-Item -Path C:\Users\Administrateur\utilisateurs.txt -Destination C:\Users\Administrateur\COMPTA
Renommer un fichier : 
Rename-Item -Path C:\Users\Administrateur\COMPTA\utilisateurs.txt -NewName C:\Users\Administrateur\COMPTA\utilisateurs_save.txt
Supprimer un dossier :
Remove-Item C:\COMPTA\
Créer un partage SMB : 
New-SmbShare -Name Compta -Path C:\COMPTA -FullAccess Administrateurs
Définir des droits sur le partage : 
Grant-SmbShareAccess -Name Compta -AccountName "Tout le Monde" -AccessRight Read

Les différents types de droits : 

Afficher les droits de partage  : 
Get-SmbShareAccess -Name Compta
Afficher les droits de sécurité  : 
Get-Acl C:\COMPTA | fl
Autorisation d'exécution d'un scripte PowerShell sur le système : 
Savoir quelle est l'autorisation actuelle : 
Get-ExecutionPolicy
Changer l'autorisation :
Set-ExecutionPolicy Unrestricted
Créer un objet : 
$vm_list=@( @{
                Name = "VM1"
                snapshot_fresh = 'VM1-fresh'
                snapshot_v10 = 'VM1-v10'
                snapshot_v11 = 'VM1-v11'
            },
            @{
                Name = "VM2"
                snapshot_fresh = 'VM2-fresh'
                snapshot_v10 = 'VM2-v10'
                snapshot_v11 = 'VM2-v11'
            },
            @{
                Name = "VM3"
                snapshot_fresh = 'VM3-fresh'
                snapshot_v10 = 'VM3-v10'
                snapshot_v11 = 'VM3-v11'
            },
            @{
                Name = "VM4"
                snapshot_fresh = 'VM4-fresh'
                snapshot_v10 = 'VM4-v10'
                snapshot_v11 = 'VM4-v11'
            },
)

foreach ($vm in $vm_list)
{
    Write-Host $vm.Name
    Write-Host $vm.snapshot_v11
}

PowerShell Pour Active Directory

Créer un utilisateur :
New-ADUser -Name "PICHARD Nicolas" -SamAccountName pichard -UserPrincipalName "pichard@mondomaine.fr" -AccountPassword (ConvertTo-SecureString -AsPlainText Pwd2019 -Force) -PasswordNeverExpires $true -CannotChangePassword $true
Activation du compte :
Enable-ADAccount pichard
Exemple d'un scripte permettant d'automatiser la création d'un utilisateur : 
$nom = Read-Host "Merci de Rentrer le Nom et le Prénom de l’Utilisateur à Créer"

$login = Read-Host "Merci de Rentrer le Login de l’Utilisateur à Créer"

$mdp = Read-Host "Merci de Rentrer le Mot de Passe de l’Utilisateur à Créer"

New-ADUser -Name $nom -SamAccountName $login -UserPrincipalName $login@lavachette.com -AccountPassword (ConvertTo-SecureString -AsPlainText $mdp -Force) -PasswordNeverExpires $true -CannotChangePassword $true -Enabled $true

Source : Planifiez vos tâches avec des scripts PowerShell sur Windows Server par Open Classroom 

Afficher les utilisateurs créés :
Get-ADUser -Filter * | select Name, samAccountName, UserPrincipalName
Scripte permettant d'automatiser la création d'un groupe et de ses utilisateurs :
$groupe = Read-Host "Merci de Rentrer le Nom du Groupe à Créer"

New-ADGroup $groupe -GroupScope Global

[int] $nombre = Read-Host "Merci de Rentrer le Nombre d’Utilisateurs à Insérer dans le Groupe"

for ($i=1; $i -le $nombre; $i++)
{

    $nom = Read-Host "Merci de Rentrer le Nom de l’Utilisateur à Insérer dans le Groupe $groupe"
    Add-ADGroupMember -identity $groupe -Members $nom
    Write-Host "L’Utilisateur $nom a Bien Eté Inséré dans le Groupe $groupe."

}

Source : Planifiez vos tâches avec des scripts PowerShell sur Windows Server par Open Classroom 

Afficher les utilisateurs d'un groupe : 
Get-ADGroupMember COMPTA

Conversion de machine virtuelles : 

PS C:\WINDOWS\system32> Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1'
PS C:\WINDOWS\system32> ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath E:\VM\Metasploitable2-Linux\Metasploitable.vmdk -VhdType DynamicHardDisk -VhdFormat vhdx -destination  E:\VM\Metasploitable2-Linux\

 

 

Installer des applications :

Openssh 
Add-WindowsCapability -Online -Name OpenSSH.Client*

 

Pen Test - Test d'intrusion

Le Pen Test :

Le test d'intrusion peut être employé pour différentes cibles : 

Les objectifs d'un test d'intrusion sont :

Le test d'intrusion permet donc de qualifier : 

Quand faire un test d'intrusion  :

Deux type de test : 

Il existe trois types de test : 

Les systèmes d'exploitations pour le Pen Test :

Préparer le Pen Test :

Premièrement, il faut définir un périmètre de test : 

Avant de faire quoi que ce soit, il faut s'assurer de contracter avec l'entreprise cible pour ne pas avoir de problèmes juridiques ! Le document se nomme "mandat d'autorisation de test de pénétration"

 

Différentes attaques : 

 

Test des réseaux sans-fils : 

 

Équipements  de protection : 

 

Outils pour contourner ces protections : 

 

Partie Pratique :

Utiliser NMAP pour scanner un réseau :

nmap -sn 10.0.2.0 /24

 

Utiliser NESSUS pour scanner un réseau :

On va chercher la dernière version de NESSUS : https://www.tenable.com/downloads/nessus?loginAttempted=true
Puis on va installer le packer : 
dpkg -i PAQUET.deb

Puis nous démarrons le service : 

/etc/init.d/nessusd start

Définition du démarrage automatique : 

update-rc.d nessusd enable

Puis on met à jour metasploit : 

msfconsole
aptupdate;aptinstallmetasploit-framework

Puis, nous accédons au site https://kali:8834

image-1635197207503.png

On constate, après le scan, que le système n'a pas trouvé de vulnérabilités :

image-1635197472869.png

Si il y avait eu des vulnérabilités, on aurait été informés sur la façon de résoudre les problèmes de sécurité. 

 

Utiliser The social engineering toolkit :

Pour lancer cette applications nous allons dans l'outils recherche, 13 - Social Enginering Tools. 

image-1635198035390.png

En suite, nous devons accepter les termes du contrat :

image-1635198088150.png

Puis nous allons sélectionner l'option une :

image-1635198163646.png

Et puis, l'option 2 :

image-1635198199454.png

Puis, l'option 3 :

image-1635198247646.png

Et enfin l'option 2 : 

image-1635198272113.png

Et puis on spécifie l'url à cloner : 

image-1635198921298.png

Pour ne pas avoir de problème j'ai choisi un site qui m'appartient personnellement !

Résultat : 

image-1635198933163.png

Utiliser MSFConsole pour accéder au Shell via une vulnérabilité :

service postgresql start
msfconsole

On recherche un exploit :

search distcc

image-1635200830087.png

On utilise l'exploit : 

image-1635200911086.png

On va ensuite lister les payloads : 

show payloads

image-1635200962379.png

On choisie un payload :

image-1635201084576.png

On affiche les paramètres : 

image-1635201122326.png

Je définie l'adresse cible :

image-1635201178280.png

Dans cette exemple je me choisi moi-même !

Lancement de l'exploit : 

exploit

 

Rapport de Pen Test :

Critères d'évaluations :

On peux chercher les détailles d'une faille via les numéros CVEC (numéro attribué à chaque faille rendue publique).

 

Le rapport du Pentest peut-être adressé au : 

Le rapport doit donc être rédigé de telle façon à ce qu'une personne ne possédant pas de capacité techniques poussée comprenne son contenu !

 

Structure : 

 

Présenté le travail réalisé :

Il est préférable de faire une réunion avec le client pour revoir avec lui le rapport et les vulnérabilités trouvées. Il faut faire attention à la forme de la présentation. Il est important que le client comprenne vos travaux pour apporter une correction adéquate. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ITIL - Information Technology Infrastructure Library

Définition :

ITIL signifie Information Technology Infrastructure Library. En français, on traduirait par bibliothèque pour l'infrastructure des technologies de l'information. C'est un ensemble de bonnes pratiques permettant d'assurer une bonne gestion du SI d'une entreprise.

 

Un incident : 

Un incident est isolé et ne nécessite pas la résolution d'un problème plus global. La gestion des incidents permet de restaurer le fonctionnement normal du service, souvent par un contournement, pas toujours par une résolution définitive.

Incident = Situation bloquante pour l'utilisateur

 

Un problème : 

Lorsqu'un incident se répète, ou lorsque plusieurs incidents résultent de la même cause supposée, il s'agit d'un problème. La gestion des problèmes, elle, vise à traiter la cause de l’incident pour que celui-ci ne se reproduise plus. 

Problème = Cause inconnue d'un incident significatif ou la répétition d'un incident

 

Les différents types de tickets : 

 

Selon ITIL : 

 

La gestion des niveaux de service : 

 

Le centre de services  :

 

4 grandes missions sont assurées par le centre de services :

1. Prendre en compte toutes les sollicitations des utilisateurs :

2. Assurer le bon traitement des sollicitations :

3. Prendre en charge la communication avec les utilisateurs :

 

Le centre d’appels (call center) : compétences techniques limitées et compétences métiers inexistantes. S’en tient à la prise d’appels, à l’enregistrement et à l’affectation des demandes aux personnes compétentes (délai de traitement long !).

Le centre de support (help desk) : ne traite (gestion, coordination et résolution) que les incidents, avec un niveau technique peu approfondi, généralement peu communicant, peu proche des métiers. Traite inlassablement le même dysfonctionnement qui se reproduit sans cesse.

Le centre de services (service desk) englobe plus de missions que le help desk ou le call center :

 

Un problème s’identifie par :

 

 

 

Interdiction de copier sans préciser  ! (Quelques modifications ont été réalisés)

Source : Openclassroom https://openclassrooms.com/fr/courses/1730486-gerez-vos-incidents-avec-le-referentiel-itil-sur-glpi 

 

 

 

 

Sublime Text

Créer plusieurs curseur par rapport à la sélection : 

Ctrl + Shift + L 

 

Sélectionner une chaine de char :

Ctrl + Shift + Espace

 

Mettre un curseur sur tous les mots identiques à la sélection :

ALT + F3

 

 

 

Logiciels

WINDOWS :

Logiciel

Utilité

Unlocker Supprime les fichiers récalcitrants
Recuva Récupère des fichiers supprimés
Win32 Disk Imager Rend Une clef USB Bootable
Hasleo Disk Clone Clone un disque dur
Crystal Disk Info Affiche la santé de vos disques durs
Adw Cleaner Supprime les malwares
Remmina RDP sur Linux

Linux

Logiciel

Utilité

nmtui
Gestion des connexions WIFI et RJ
ddclient

Gestion des DDNS (type OVH)


gpm

Affiche le pointeur de la sourie

Screen

Créer un Screen nommé : 

screen -S toto

Se détacher du Screen

ctrl + ad 

Créer un screen dans un screen : 

Ctrl + a + c

Lister les screen enfants d'un screen : 

Ctrl + a + "

Se déplacer dans les screens enfants : 

# Next
Ctrl + a + n
# Previous
Ctrl + a + p

 

 

 

 

 

 

 

Jinja2

Filtres : 

first

{{maliste | first}}

maliste:
   - atribut1
    sous_atribut1 = "xxxx" 
    sous_atribut2 = "xxxx" 
    ...
  - atribut2
    sous_atribut1 = "xxxx" 
    sous_atribut2 = "xxxx" 
    ...
    
{{maliste}}

--> 
  atribut1 sous_atribut1 = \"xxxx\" sous_atribut2 = \"xxxx\",
  atribut2 sous_atribut1 = \"xxxx\" sous_atribut2 = \"xxxx\"
  

{{maliste |first}}

--> atribut1 sous_atribut1 = \"xxxx\" sous_atribut2 = \"xxxx\"

 

lower

{{"MACHAINE" | lower}}

--> machaine

 

Windows

Débugger Windows Update

Il m'est arrivé de constater que windows update m'informait qu'il fallait mettre à jour mon système d'exploitation. Pour autant, quand je lui confirmer vouloire, il ne procéder à aucun téléchargement et à aucune mise à jour.  

 

Étape N°1 : Éteindre le service de windows update

Lancer une fenetre powershell est exécuter : 

net stop wuauserv

 

Étape N°2 : Supprimer les fichiers de WU

Puis, se rendre dans le dossier "C:\Windows\SoftwareDistribution". Et supprimer les dossier DataStore & Download.

 

Étape N°3 : Démarrer le service de windows update

net start wuauserv

 

Étape N°4 : Relancer la découverte de mises à jours

Comme dit dans le titre, il vous faut relancer la recherche de mise à jour sur l'utilitaire windows update. 

Web

 

Accéder à un site sécurisé sans bouton pour accepter le risque : 

image-1669111044141.png

thisisunsafe

git

Afficher l'état de la branche en cours : 

git status

Ajouter des modifications à un commit : 

git add <chemin vers mon fichier>

Commit : 

git commit -m "Mon message de commit"

Envoie du commit : 

git push

Récupération des derniers commits distants : 

git pull

Supprimer le dernier commit : 

git reset --hard HEAD~1

Options : 

Changer de branche : 

git checkout <nom de ma branche>

Astuces : 

Tu t'es trompé de branches et tu veux pas perdre ton code ? 

Sauvegarder ton code dans un tampon : 

Avance de stash, il faut avoir add ton code en faisant un git add /path/to/file

git stash

Fait ton changement de branche :

git checkout ....

Applique ton code en mémoire tampon : 

git statch pop

 

MongoDb

db.getCollectionInfos().forEach(function (c) { var stats = db.getCollection(c.name).stats(); print(c.name + ": " + (stats.size / 1024 / 1024).toFixed(2) + " MB"); });
mon_attributAfficher les bases de données :
show dbs
Utiliser une base de donnée : 
use mabase
Afficher les collections de la base de donnée en cours : 
show collections
Lister toutes les valeurs dans la collection utilisateurs : 
db.utilisateurs.find()
 Même chose mais proprement
db.utilisateurs.findOne().pretty()
Lister proprement toutes les valeurs dans la collection utilisateur -> Qui ont l'attribut "mon_attribut" égal à mavaleur :
db.utilisateurs.find({'mon_attribut':'mavaleur'}).pretty()

Afficher uniquement certainnes collones (de la requêtte précédente) :

db.utilisateurs.find({'mon_attribut':'mavaleur'},{_id:1,'mon_attribut':1,created_at:1})

Remplacer les valeurs d'une collone dans toutes les lignes : 

db.ma_collone.find().forEach(function (document) {

    var query = { "_id": document["_id"] }, /* query predicate */
        update = { /* update document */
            "$set": { "attribut_a_changer": "valleur_a_definir" }
        },
        options = { "upsert": true };
    db.ma_collone.updateOne(query, update, options);
    
});

Calculer la taille des collections : 

db.getCollectionInfos().forEach(function (c) { var stats = db.getCollection(c.name).stats(); print(c.name + ": " + (stats.size / 1024 / 1024).toFixed(2) + " MB"); });

 

 

 

 

Inserrer des valeurs de tests : 

Utilisation de la base de donnée "ma_base" : 

use ma_base

Création d'une collection de test : 

db.createCollection("collection_full")

Installation des librairies necessaires : 

pip install Faker
pip install mongoclient

Fichier d'insertion de data  : 

from faker import Faker
from pymongo import MongoClient

fake = Faker()

client = MongoClient()
db = client.ma_base
collection = db.collection_full

for i in range(100000):
    utilisateur = {
        "nom": fake.name(),
        "adresse": fake.address(),
        "email": fake.email(),
        "telephone": fake.phone_number()
    }
    print(i)
    collection.insert_one(utilisateur)

Nous lançons le script pour générer les 100 000 utilisateurs

Comtage du nombre d'utilisateurs insérés : 

db.collection_full.find().count()

--> 100 000 utilisateurs présent.

Exemple d'un utilisateur inséré  : 

{
	"_id" : ObjectId("642f2d1e0171695384ffda56"),
	"nom" : "Jason Tucker",
	"adresse" : "74817 Johnson Wall\nPort Karen, WI 81831",
	"email" : "robertsalexis@example.org",
	"telephone" : "+1-814-184-2896"
}

Python

Afficher un objet au complet :

from pprint import pprint
pprint(vars(your_object))

Afficher date + heure + milisecondes : 

now = datetime.now()
current_time = now.strftime("%d-%m-%Y %H:%M:%S.%f")

VMware.PowerCLI - Dialoguer avec Vsphere via Powershell

Lancer un conteneur avec Powershell : 

docker run -it mcr.microsoft.com/powershell

Installer le module VMware.PowerCLI : 

Install-Module -Name VMware.PowerCLI -Confirm:$false

Accepter les certificats SSL invalides : 

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore  -Confirm:$false

Etablir une conexion au VCENTER : 

Connect-VIServer -Server "vsphere.mon-entreprise.fr" -User "utilisateur" -Password "mot-de-passe"

Récupérer la liste des VM : 

$vm = Get-VM

Récupérer une VM précise : 

$vm = Get-VM -Name "srv-web-01"

Eteindre la VM : 

Stop-VM -VM "$vm" -Confirm:$false

Démarrer la VM :

Start-VM -VM "$vm" -Confirm:$false

Créer une snapshot :

New-Snapshot -VM "$vm" -Name "Snapshot_1" -Description "Avant MAJ OS"

Récupérer les snapshots d'une VM : 

$snapshots = Get-Snapshot -VM $vm

Récupérer une snapshots d'une VM : 

$snapshot = Get-Snapshot -VM "$vm" -Name "ma-snapshot"

Appliquer une snapshot d'une vm :

Set-VM -VM 'ma-vm' -Snapshot (Get-Snapshot -VM 'ma-vm' -Name 'ma-snapshot') -Confirm:$false

Déconnecter le disque  CD d'une vm :

$cd = Get-CDDrive -VM $vm
Set-CDDrive -CD $cd -Connected:$false

Blocs de code intéréssant :

Créer une snapshot sur toutes les vm : 

foreach ($vm in Get-VM)
{
New-Snapshot -VM "$vm" -Name "$vm-before" -Description "Before update"
}

Stop / Start toutes les vm : 

foreach ($vm in Get-VM)
{
    Stop-VM -VM "$vm" -Confirm:$false
}

foreach ($vm in Get-VM)
{
    Start-VM -VM "$vm" -Confirm:$false
}

Appliquer une snapshot à toutes les vm : 

foreach ($vm in Get-VM)
{
    Set-VM -VM "$vm" -Snapshot (Get-Snapshot -VM "$vm" -Name "$vm-fresh") -Confirm:$false
}

Détacher tous les CD des lecteurs CD virtuels de toutes les vm : 

foreach ($vm in Get-VM)
{
    $cd = Get-CDDrive -VM $vm 
    Set-CDDrive -CD $cd -Connected:$false
}

Afficher toutes les snapshots de toutes les vm : 

foreach ($vm in Get-VM)
{
    Write-Host "[$vm] :"
    $snapshots = Get-Snapshot -VM "$vm" 
    foreach ($snapshot in $snapshots)
    {
        Write-Host "$snapshot"
    }
}

Réseau

Réseau

Proxy VS Reverse Proxy

Proxy

Rôle : Filtre les accès des clients via authentification 

Direction : LAN vers WAN

image-1684833941639.png

Reverse Proxy

Rôle : Redirige les requêtes vers le bon service

Direction : WAN vers LAN

 

image-1684833812771.png

 

VIM


Supprimer une ligne : 

dd

UNDO : 

u

REDO : 

ctrl + R

Couper - Coller 11 lignes : 

11 dd
p

Supprimer 11 lignes : 

11 dd

Copier : 

11 yy 
p

Faire une tabulation sur un block de texte : 

CTRL + V # On sélectionne le block voulu
SHIFT + I
TAB
Echap

Rechercher Remplacer : 

:%s/toto/tata/g

Supprimer toutes les lignes qui contient "toto" : 

:%g/toto/d

hardware

image.png

 

Processeurs : 

Critère AMD (x86-64) ARM (RISC)
⚙️ Architecture CISC (Complex Instruction Set Computer) — instructions puissantes mais plus complexes RISC (Reduced Instruction Set Computer) — instructions simples, optimisées pour l’efficacité
🔋 Consommation énergétique Plus élevée, dégage plus de chaleur, nécessite un refroidissement actif Très faible, idéal pour appareils mobiles, embarqués ou serveurs écoénergétiques
🧠 Performances et usages Excellente performance brute (PC, gaming, serveurs haute charge) Efficience et scalabilité (mobiles, Raspberry Pi, serveurs ARM comme AWS Graviton)
🧩 Compatibilité logicielle Support universel (Windows, Linux, applications x86) Support croissant, mais parfois besoin d’émulation ou de recompilation
💰 Coût et production Coût de production plus élevé, moins économe en énergie Production moins coûteuse, meilleure autonomie et densité de calcul
🌐 Exemples concrets AMD Ryzen, EPYC Apple M1/M2/M3, Snapdragon, Raspberry Pi

(généré par chatgpt)