# Cheat Sheets

Ce livre contient l'ensemble de mes Cheat Sheet.

# Switchs & routeurs Cisco

## **<span style="text-decoration: underline;">Aide mémoire des commandes de commutateurs Cisco</span>**

##### 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
```

## **<span style="text-decoration: underline;">Aide mémoire des commandes de Routeurs Cisco</span>**

#### 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
```

<div id="bkmrk-"></div>#### 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
```

<div id="bkmrk--14"></div>

# TCP/IP

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

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) :

- 802.11 -&gt; WIFI
- 802.1q -&gt; VLAN
- 802.1p -&gt; QOS ( FAIBLE | 12034567 | ÉLEVÉE )
- 802.ad -&gt; Agrégation de liens

FLAGS :

SEW --&gt; Problème de flux FIREWALL a reconfig

# Windows serveur

## Afficher les rôles FSMO :

```Powershell
netdom query fsmo
```

## GPO : 

<table border="1" id="bkmrk-intitul%C3%A9-emplacement" style="border-collapse: collapse; width: 100%; height: 421px;"><tbody><tr style="height: 64px;"><td class="align-center" style="width: 50%; height: 64px;">##### **Intitulé**

</td><td class="align-center" style="width: 50%; height: 64px;">##### **Emplacement**

</td></tr><tr><td style="width: 50%;">Forcer le changement de mot de passe tous les X jours</td><td style="width: 50%;">Computer Configuration &gt; Policies &gt; Windows Settings &gt; Security Settings &gt; Local Policies &gt; Security Options</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Désactiver les ports USB</td><td style="width: 50%; height: 29px;">Configuration Ordinateur &gt; Stratégies &gt; Modèles d’Administration &gt; Système &gt; Accès au stockage amovible &gt; **Toutes les classes de stockage amovible : refuser tous les accès**</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Ajouter un lecteur réseau</td><td style="width: 50%; height: 29px;">Configuration Utilisateur &gt; Préférences &gt; Paramètres Windows &gt; **Mappages de lecteurs**</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Désactiver le CMD</td><td style="width: 50%; height: 29px;">Configuration Utilisateur &gt; Stratégies &gt; Modèles d'administration &gt; Système &gt; **Désactiver l'accès à l'invite de commandes**</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Désactiver le micro</td><td style="width: 50%; height: 29px;">Configuration Ordinateur &gt; Stratégies &gt; Modèles d’administration &gt; Composants Windows &gt; Confidentialité de l’application &gt; **Permettre aux applications Windows d’accéder au micro**

</td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Désactiver la caméra</td><td style="width: 50%; height: 29px;">Configuration Ordinateur &gt; Stratégies &gt; Modèles d’administration &gt; Composants Windows &gt; Confidentialité de l’application &gt; **Permettre aux applications Windows d’accéder à l’appareil photo** </td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Interdire REGEDIT</td><td style="width: 50%; height: 29px;">Configuration Utilisateur &gt; Stratégies &gt; Modèle d'administration &gt; Système &gt; **Empêche l'accès aux outils de modifications du Registre**

<div>  
</div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;">Interdire la modification du serveur Proxy du navigateur</td><td style="width: 50%; height: 29px;">Configuration Utilisateur &gt; Stratégies &gt; Modèle d'administration &gt; Composants Windows &gt; Internet Explorer &gt; **Empêcher la modification des paramètres de proxy**</td></tr><tr style="height: 28px;"><td style="width: 50%; height: 28px;">Profil Itinérant</td><td style="width: 50%; height: 28px;">Configuration Utilisateur &gt; Stratégies &gt; Paramètres Windows &gt; **Redirections de dossier**</td></tr><tr style="height: 63px;"><td style="width: 50%; height: 63px;">Suppression du menu exécuter dans le menu démarré</td><td style="width: 50%; height: 63px;">Configuration Utilisateur &gt; Modèles d'administration &gt; Menu démarrer et barre des tâches &gt; **Supprimer le menu exécuter du menu démarrer.**</td></tr><tr style="height: 63px;"><td style="width: 50%; height: 63px;">Empêcher l'accès au panneau de configuration </td><td style="width: 50%; height: 63px;">Configuration Utilisateur &gt; Modèles d'administration &gt; Panneau de configuration &gt; **Interdire l'accès au Panneau de configuration et l'application Paramètres du PC.**</td></tr><tr><td style="width: 50%;">Désactivation de la modification des paramètres de connexion</td><td style="width: 50%;">Configuration Utilisateur &gt; Modèles d'administration &gt; Réseau &gt; **Interdire la configuration avancée de TCP/IP**</td></tr></tbody></table>


##### 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](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1619989350190.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1619989350190.png)

Modifier l'utilisateur : (Onglet Profil)

[![image-1619990109292.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1619990109292.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1619990109292.png)

## WDS - Windows Deployment Services :

On doit ajouter une image d'installation ;

- dans le fichier iso chercher : sources/install.wim

[![image-1634493632812.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634493632812.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634493632812.png)

On doit ajouter une image de démarrage :

<div data-lang="Powershell" id="bkmrk-dans-le-fichier-iso--0"><div data-lang="Powershell"><div>- dans le fichier iso chercher : sources/boot.wim

</div></div></div>[![image-1634493649300.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634493649300.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634493649300.png)

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

[![image-1634494948348.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634494948348.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634494948348.png)

<p class="callout danger">Très important ! Le serveur ne fonctionnera pas tant que l'on aura pas démarré ! </p>

Le client :

[![image-1634494741804.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634494741804.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634494741804.png)

[![image-1634494754843.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634494754843.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634494754843.png)

<p class="callout success">Et voilà !</p>

## Serveur Multipoint :

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

- Service Broker pour les connexions Bureau à distance.
- Accès web des services Bureau à distance.
- Hôte de session Bureau à distance.

[![image-1634496326819.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634496326819.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634496326819.png)

[![image-1634497476638.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634497476638.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634497476638.png)

[![image-1634497608839.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634497608839.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634497608839.png)

Puis :

[![image-1634498883318.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634498883318.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634498883318.png)

[![image-1634498899993.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634498899993.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634498899993.png)

[![image-1634498913792.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634498913792.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634498913792.png)

On peut maintenant tenter d'accéder à :

<p class="callout info">**https://localhost/rdWeb**</p>

[![image-1634577588751.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634577588751.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634577588751.png)

## IIS : 

Installer la Web Platform Installer : [https://www.microsoft.com/web/downloads/platform.aspx](https://www.microsoft.com/web/downloads/platform.aspx)

[![image-1634675606893.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634675606893.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634675606893.png)

<p class="callout success">On va pouvoir maintenant installer PHP !</p>

[![image-1634675698204.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1634675698204.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1634675698204.png)

<p class="callout info">Après avoir cliqué sur "Ajouter" vous aurez PHP d'activé !</p>

## Gestion des services

<span style="text-decoration: underline;">**Trouver le PID d'un service :** </span>

```
sc queryex "nom_du_service"
```

<span style="text-decoration: underline;">**Stoper un PID :** </span>

```
PS C:\> Stop-Process -Id 3952
```

## Restauration d'un instantané d'une partition C

<p class="callout warning">Ne peut pas être réalisée à chaud</p>

```bash
- 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 
```

<div id="bkmrk-"></div>

# Powershell

## Généralités : 

##### Savoir le répertoire courant : 

```Powershell
Get-Location
```

##### Afficher le contenue d'un fichier : 

```Powershell
Get-ChildItem
```

##### Créer un répertoire : 

```Powershell
New-Item -Name "SUPERDOSSIER" -ItemType Directory
```

##### Créer un répertoire avec déclaration de chemin : 

```Powershell
New-Item -Path "C:\SUPERDOSSIER" -ItemType Directory
```

##### Créer un fichier : 

```Powershell
New-Item -Name "fichier.txt" -ItemType File
```

##### Créer un fichier avec des données à l'intérieur : 

```Powershell
New-Item -Name "utilisateurs.txt" -ItemType File -Value "Mon super Contenu !"
```

##### Copier un fichier vers un autre répertoire : 

```Powershell
Copy-Item -Path utilisateurs.txt -Destination COMPTA
```

##### Déplacer un fichier :

```Powershell
Move-Item -Path C:\Users\Administrateur\utilisateurs.txt -Destination C:\Users\Administrateur\COMPTA
```

##### Renommer un fichier : 

```Powershell
Rename-Item -Path C:\Users\Administrateur\COMPTA\utilisateurs.txt -NewName C:\Users\Administrateur\COMPTA\utilisateurs_save.txt
```

##### Supprimer un dossier :

```Powershell
Remove-Item C:\COMPTA\
```

##### Créer un partage SMB : 

```Powershell
New-SmbShare -Name Compta -Path C:\COMPTA -FullAccess Administrateurs
```

##### Définir des droits sur le partage : 

```Powershell
Grant-SmbShareAccess -Name Compta -AccountName "Tout le Monde" -AccessRight Read
```

Les différents types de droits :

- Full : Controle total
- Change : Modification
- Read : Lecture
- Custom : Personnalisé

##### Afficher les droits de partage : 

```Powershell
Get-SmbShareAccess -Name Compta
```

##### Afficher les droits de sécurité : 

```Powershell
Get-Acl C:\COMPTA | fl
```

##### Autorisation d'exécution d'un scripte PowerShell sur le système : 

<div id="bkmrk-savoir-quelle-est-l%27">Savoir quelle est l'autorisation actuelle : </div><div id="bkmrk-"></div>```Powershell
Get-ExecutionPolicy
```

##### Changer l'autorisation :

```Powershell
Set-ExecutionPolicy Unrestricted
```

##### Créer un objet : 

```Powershell
$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

<div id="bkmrk--0"></div>##### Créer un utilisateur :

```Powershell
New-ADUser -Name "PICHARD Nicolas" -SamAccountName pichard -UserPrincipalName "pichard@mondomaine.fr" -AccountPassword (ConvertTo-SecureString -AsPlainText Pwd2019 -Force) -PasswordNeverExpires $true -CannotChangePassword $true
```

##### Activation du compte :

```Powershell
Enable-ADAccount pichard
```

##### Exemple d'un scripte permettant d'automatiser la création d'un utilisateur : 

```Powershell
$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
```

<p class="callout info">Source : Planifiez vos tâches avec des scripts PowerShell sur Windows Server par Open Classroom </p>

##### 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 :

```Powershell
$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."

}
```

<p class="callout info">Source : Planifiez vos tâches avec des scripts PowerShell sur Windows Server par Open Classroom </p>

##### Afficher les utilisateurs d'un groupe : 

```
Get-ADGroupMember COMPTA
```

<div id="bkmrk--1"></div>## Conversion de machine virtuelles : 

<div id="bkmrk--2"></div><div id="bkmrk--3"></div>```Powershell
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 

```bash
Add-WindowsCapability -Online -Name OpenSSH.Client*
```

<div id="bkmrk--4"></div><div id="bkmrk--5"></div><div id="bkmrk--6"></div><div id="bkmrk--7"></div><div id="bkmrk--8"></div><div id="bkmrk--9"></div><div id="bkmrk--10"></div><div id="bkmrk--11"></div><div id="bkmrk--12"></div><div id="bkmrk--13"></div><div id="bkmrk--14"></div><div id="bkmrk--15"></div><div id="bkmrk--16"></div><div id="bkmrk--17"></div>

# Pen Test - Test d'intrusion

## **<span style="text-decoration: underline;">Le Pen Test :</span>**

<span style="text-decoration: underline;">**Le test d'intrusion peut être employé pour différentes cibles :** </span>

- Une adresse IP
- Une application
- Un serveur Web
- Un réseau complet

<span style="text-decoration: underline;">**Les objectifs d'un test d'intrusion sont :**</span>

- Identifier les vulnérabilités de son système d'information ou de son application
- Évaluer le degré de risque de chaque faille identifiée
- Proposer des correctifs de manière priorisée

<span style="text-decoration: underline;">**Le test d'intrusion permet donc de qualifier :** </span>

- La sévérité de la vulnérabilité
- La complexité de la correction
- L'ordre de priorité qu’il faut donner aux corrections

<span style="text-decoration: underline;">**Quand faire un test d'intrusion :**</span>

- Durant la **conception** du projet
- Pendant la phase d'utilisation du composant ou du réseau (à intervalle régulier)
- Suite à une cyberattaque

<span style="text-decoration: underline;">**Deux type de test :** </span>

- Interne 
    - Test d'intrusion depuis le réseau local
- Externe 
    - Test d'intrusion depuis internet

<span style="text-decoration: underline;">**Il existe trois types de test :** </span>

- Le test en **boite noir**   
    
    - Le testeur n'as **aucune information sur le réseau** au début du test, il ne connait pas non-plus de mots de passes ou d'identifiants. Il va donc rechercher des informations sur l'entreprise en général pour l'aider à trouver des vulnérabilités.
- Le test en **boite grise**
    - Le testeur dispose uniquement d'un **couple identifiant/mot de passe** que l'entreprise cible lui a fourni avant de démarrer la phase de test.
    - L'objectif de ce test c'est de se mettre dans la peau d'un utilisateur "normal" au sein de l'entreprise cible.
- Le test en boite blanche 
    - Le testeur dispose de nombreuses informations comme des schémas d'infrastructure, le code source de l'application. La recherche de faille est donc très approfondie et très compète.

**<span style="text-decoration: underline;">Les systèmes d'exploitations pour le Pen Test :</span>**

- **Linux**
    - Kali Linux (regroupe l'ensemble des outils nécessaires pour procéder au test de sécurité d'un système d'information) 
        - Nmap (détecte les ports ouverts)
        - Wireshark (analyse les trames réseau)
        - Metasploit (fourni des informations sur les vulnérabilités des systèmes d'information et qui les exploites)
        - Burp suite (sécurisation ou test d'intrusion des applications web)
- **Windows**
    - De nombreux logiciels similaires à ceux évoqués ci-dessus sont disponible sur Windows.
- **Android**
    - Des outils très performants sont disponibles sur Android 
        - zANTI
        - FaceNiff
        - AndroRAT
        - cSploit

## **<span style="text-decoration: underline;">Préparer le Pen Test :</span>**

<span style="text-decoration: underline;">**Premièrement, il faut définir un périmètre de test :** </span>

- Un Serveur
- Une partie d'un réseau
- Une IP publique
- Plusieurs IP publiques
- L'ensemble du réseau Interne

<p class="callout danger">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"</p>

<span style="text-decoration: underline;">**Différentes attaques :** </span>

- DOS
- DDOS
- WEB 
    - <span style="text-decoration: underline;">**Utilisation de failles connues**</span>
    - <span style="text-decoration: underline;">**Technique de l'homme du milieu**</span>
        - L'utilisation de la technique de l'homme du milieu ou man-in-the-middle attack. Cette attaque consiste à se positionner au milieu dans la communication entre un client et un serveur pour intercepter et modifier les paquets échangés entre les deux machines. Le logiciel « Burp suite » permet de le faire.
    - <span style="text-decoration: underline;">**Forge de paquets HTTP**</span>
        - Cette technique consiste à écrire manuellement des requêtes HTTP, qui vont ensuite être envoyées au serveur. Ces requêtes seront non standards, avec des malformations qui peuvent générer des plantages sur le serveur Web. Le logiciel Wfetch intégré à Microsoft IIS permet de le faire.
    - <span style="text-decoration: underline;">**Intégration de paramètres**</span>
        - Ici, nous pouvons ajouter ou modifier des paramètres dans les chemins HTTP qui seront mal interprétés par le serveur et qui permettront de l'exploiter. Aucun logiciel n'est nécessaire car c'est faisable manuellement.
    - <span style="text-decoration: underline;">**Cross-site scripting ou XSS**</span>
        - Le cross-site scripting ou XSS. C’est un type de faille de sécurité de sites Web permettant d'injecter du contenu dans une page, provoquant ainsi des actions sur les navigateurs Web visitant la page. Par exemple, sur un serveur vulnérable, dans une zone où les utilisateurs peuvent poster un commentaire, si l'on rajoute la suite de caractères &lt;script&gt;alert("This Website has been hacked")&lt;/script&gt; au prochain affichage de la page, un script s’exécutera à la place d’afficher le commentaire.
    - <span style="text-decoration: underline;">**Injection SQL**</span>
        - Outil sur Kali : BSQL
- Ingénierie Sociale 
    - Création de site clone via Kali : social engineering toolkit

<span style="text-decoration: underline;">**Test des réseaux sans-fils :** </span>

- Scan : insider, wifi analyser, Lnissid.
- Injection de trafique : AiroDump, Rmon
- Écoute et enregistrement du trafique : WireShark
- Décryptage de clés : Cain&amp;abel, Aircrack-ng

<span style="text-decoration: underline;">**Équipements de protection :** </span>

- Pare-feu
- IDS
- IPS
- Honeypot = Simule des machines d'un réseau informatique (c'est un leurre) 
    - KFsensor
    - Snort

<span style="text-decoration: underline;">**Outils pour contourner ces protections :** </span>

- Nmap et Hping3 (gestion de fragmentation d'une attaque pour ne pas qu'elle soit identifiée)
- HTTP Host (côté serveur) et HTTP Port (côté client) = Établie un tunnel HTTP
- DNS2TCP = Établie un tunnel DNS
- Métasploit = Optenir et maintenir l'accès à distance sur une machine à l'intérieur d'un réseau cible

## **<span style="text-decoration: underline;">Partie Pratique :</span>**

**<span style="text-decoration: underline;">Utiliser NMAP pour scanner un réseau :</span>**

```
nmap -sn 10.0.2.0 /24
```

**<span style="text-decoration: underline;">Utiliser NESSUS pour scanner un réseau :</span>**

<div data-lang="" id="bkmrk-on-va-chercher-la-de"><div>On va chercher la dernière version de NESSUS : [https://www.tenable.com/downloads/nessus?loginAttempted=true](https://www.tenable.com/downloads/nessus?loginAttempted=true)</div></div><div id="bkmrk-"></div><div id="bkmrk-puis-on-va-installer"><span style="text-decoration: underline;">**Puis on va installer le packer :** </span></div><div id="bkmrk--0"></div>```
dpkg -i PAQUET.deb
```

<span style="text-decoration: underline;">**Puis nous démarrons le service :** </span>

```
/etc/init.d/nessusd start
```

<span style="text-decoration: underline;">**Définition du démarrage automatique :** </span>

```
update-rc.d nessusd enable
```

<span style="text-decoration: underline;">**Puis on met à jour metasploit :** </span>

```
msfconsole
aptupdate;aptinstallmetasploit-framework
```

<span style="text-decoration: underline;">**Puis, nous accédons au site [https://kali:8834](https://kali:8834) :** </span>

[![image-1635197207503.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635197207503.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635197207503.png)

<span style="text-decoration: underline;">**On constate, après le scan, que le système n'a pas trouvé de vulnérabilités :**</span>

[![image-1635197472869.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635197472869.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635197472869.png)

<p class="callout info">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é. </p>

**<span style="text-decoration: underline;">Utiliser The social engineering toolkit :</span>**

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

[![image-1635198035390.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198035390.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198035390.png)

<span style="text-decoration: underline;">**En suite, nous devons accepter les termes du contrat :**</span>

[![image-1635198088150.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198088150.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198088150.png)

<span style="text-decoration: underline;">**Puis nous allons sélectionner l'option une :**</span>

[![image-1635198163646.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198163646.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198163646.png)

<span style="text-decoration: underline;">**Et puis, l'option 2 :**</span>

[![image-1635198199454.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198199454.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198199454.png)

<span style="text-decoration: underline;">**Puis, l'option 3 :**</span>

[![image-1635198247646.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198247646.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198247646.png)

<span style="text-decoration: underline;">**Et enfin l'option 2 :** </span>

[![image-1635198272113.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198272113.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198272113.png)

<span style="text-decoration: underline;">**Et puis on spécifie l'url à cloner :** </span>

[![image-1635198921298.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198921298.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198921298.png)

<p class="callout success">Pour ne pas avoir de problème j'ai choisi un site qui m'appartient personnellement !</p>

<span style="text-decoration: underline;">**Résultat :** </span>

[![image-1635198933163.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635198933163.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635198933163.png)

<span style="text-decoration: underline;">**<u>Utiliser MSFConsole pour accéder au Shell via une vulnérabilité :</u>**</span>

```
service postgresql start
msfconsole
```

<span style="text-decoration: underline;">**On recherche un exploit :**</span>

```
search distcc
```

[![image-1635200830087.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635200830087.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635200830087.png)

<span style="text-decoration: underline;">**On utilise l'exploit :** </span>

[![image-1635200911086.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635200911086.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635200911086.png)

<span style="text-decoration: underline;">**On va ensuite lister les payloads :** </span>

```
show payloads
```

[![image-1635200962379.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635200962379.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635200962379.png)

<span style="text-decoration: underline;">**On choisie un payload :**</span>

[![image-1635201084576.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635201084576.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635201084576.png)

<span style="text-decoration: underline;">**On affiche les paramètres :** </span>

[![image-1635201122326.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635201122326.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635201122326.png)

<span style="text-decoration: underline;">**Je définie l'adresse cible :**</span>

[![image-1635201178280.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635201178280.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635201178280.png)

<p class="callout info">Dans cette exemple je me choisi moi-même !</p>

<span style="text-decoration: underline;">**Lancement de l'exploit :** </span>

```
exploit
```

## **<span style="text-decoration: underline;">Rapport de Pen Test :</span>**

<span style="text-decoration: underline;">**Critères d'évaluations :**</span>

- Sévérité 
    - Standard CVSS [![image-1635206278767.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1635206278767.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1635206278767.png)
- Complexité 
    - Facile
    - Modérée
    - Complexe
- Priorité 
    - Urgente
    - Standard
    - Basse

On peux chercher les détailles d'une faille[ via les numéros CVEC](https://www.cvedetails.com/cve/CVE-2018-4144/) (numéro attribué à chaque faille rendue publique).

<span style="text-decoration: underline;">**Le rapport du Pentest peut-être adressé au :** </span>

- DSI
- Responsable système et réseau
- Équipes d'informatiques
- Prestataires

<p class="callout info">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 !</p>

<span style="text-decoration: underline;">**Structure :** </span>

- Format = PDF 10 pages
- Document confidentiel
- Rédigé en français ou en anglais
- Sommaire
- Contexte et périmètre
- Conditions du test internet / externe
- Méthodologie de test
- Axes d'évaluations
- Résultats
- Synthèses

## **<span style="text-decoration: underline;">Présenté le travail réalisé :</span>**

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

<span style="text-decoration: underline;">**Définition :**</span>

**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.

<span style="text-decoration: underline;">**Un incident :** </span>

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

<span style="text-decoration: underline;">**Un problème :** </span>

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

<span style="text-decoration: underline;">**Les différents types de tickets :** </span>

- Tickets d'incident
- Tickets de problème
- Tickets de changement

<span style="text-decoration: underline;">**Selon ITIL :** </span>

- la valeur d’un service est fonction de : 
    - son utilité : le service est adapté aux besoins du client ;
    - sa garantie selon 4 axes : assurer la disponibilité, la performance, la sécurité de l’information et la continuité de service.
- Les bénéfices d’une approche orientée services sont multiples : 
    - la fourniture de services informatiques est plus orientée vers le client, sur les objectifs de l’entreprise, en soutien du business en augmentant la productivité ;
    - l’amélioration de l’efficacité du SI et la réduction des coûts associés ;
    - l’augmentation de la qualité de service et de la satisfaction des utilisateurs (employés et clients/partenaires) ;
    - l’amélioration des relations DSI – utilisateurs grâce aux accords relatifs à la qualité des services ;
    - la réduction de l’impact des incidents sur les activités métiers, augmentant ainsi leur performance.

<span style="text-decoration: underline;">**La gestion des niveaux de service :** </span>

- le **SLA (*Service Level Agreement*)** ou a*ccord de niveaux de service* : accord défini entre l’utilisateur (client du service) et la DSI sur le niveau de qualité de service offert ;
- le **OLA (*Operational Level Agreement*)** ou *accord sur les niveaux opérationnels* : accord passé entre les différents pôles de la DSI ;
- l'**UC (*Underpinning Contract*)** ou *contrat de sous-traitance* : contrat entre la DSI et un fournisseur externe.

<span style="text-decoration: underline;">**Le centre de services :**</span>

<aside class="hoveredCourseElement" data-claire-element-id="29939385" data-claire-semantic="information" id="bkmrk-le%C2%A0centre-de-service">Le **centre de services** (*Service Desk*) porte toute la relation entre le SI et les utilisateurs du SI. Il coordonne toute l'**activité support** du SI. Il est le **point de contact unique** (SPOC : *Single Point of Contact*) entre les utilisateurs et l’organisation informatique, pour l’ensemble des services proposés par la direction des systèmes d’information.

</aside>### **4 grandes missions** sont assurées par le centre de services :

#### 1. Prendre en compte toutes les sollicitations des utilisateurs :

- **accueillir, recevoir et enregistrer** l’ensemble des appels, requêtes, réclamations, demandes, incidents liés aux services fournis par la DSI ;
- **suivre de bout en bout** les demandes et incidents ;
- **tracer** et suivre toutes les interventions dans l'outil GLPI.

#### 2. Assurer le bon traitement des sollicitations :

- **résoudre les incidents** conformément aux SLA, en facilitant le retour à un service opérationnel normal en accord avec les conventions de niveau de service ;
- **dépanner** les utilisateurs soit en direct ou en différé, soit en escaladant vers d’autres équipes plus qualifiées, c’est-à-dire en leur confiant la résolution de l’incident ;
- **traiter les demandes ou les faire suivre** aux équipes qui gèrent les demandes.

#### 3. Prendre en charge la communication avec les utilisateurs :

- **informer** les utilisateurs sur l’état de leur sollicitation : donner de la **visibilité** sur le suivi de l’avancement du traitement de leur demande, de leur incident ;
- assurer l’interface entre les opérationnels et la DSI via une **communication apaisée, sereine et efficace** ;
- produire et diffuser des **métriques** de qualité de service : niveau d’activité (nombre de tickets sur une période…), satisfaction perçue, délais réels de résolution… ;
- permettre d’améliorer **l’image de la DSI** auprès des 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 :

- approche client : extension à toutes les demandes. Restreindre les missions du centre de services uniquement à la restauration du service normal aux utilisateurs dès que possible est trop limité ;
- point de vue de l’utilisateur et connaissance du métier ;
- communicant ;
- prend la hauteur de vue nécessaire pour lancer la résolution définitive des incidents récurrents.

<span style="text-decoration: underline;">**Un problème s’identifie par :**</span>

- un incident de **cause inconnue** : la cause définitive n'a pas été déterminée, donc l’incident est susceptible de se reproduire ;
- un incident **récurrent** dans le temps (répétitivité de l’incident) ;
- un incident qui **entraîne en cascade** d’autres incidents ;
- un incident qui a un **impact critique ou majeur** sur l’activité ;
- un **afflux** d’incidents présentant les mêmes symptômes ;
- un **défaut de l'infrastructure ou d'une application** dont un outil d’alerte (supervision) a créé automatiquement un incident ;
- **l’analyse *a posteriori* des incidents survenus**, dans le but de rechercher leur cause fondamentale et une solution définitive ;
- un incident qui a été corrigé mais **en dehors des délais de rétablissement des niveaux de services (SLA)**.

<p class="callout danger">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](https://openclassrooms.com/fr/courses/1730486-gerez-vos-incidents-avec-le-referentiel-itil-sur-glpi) </p>

# 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 :

<div data-lang="" id="bkmrk-alt-%2B-f3">```
ALT + F3
```

</div>

# Logiciels

WINDOWS :

<table border="1" id="bkmrk-logiciel-utilit%C3%A9-unl" style="border-collapse: collapse; width: 100%; height: 301.203px;"><tbody><tr style="height: 92.625px;"><td class="align-center" style="width: 50%; height: 92.625px;">### **Logiciel**

</td><td class="align-center" style="width: 50%; height: 92.625px;">### **Utilité**

</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Unlocker</td><td style="width: 50%; height: 29.7969px;">Supprime les fichiers récalcitrants</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Recuva</td><td style="width: 50%; height: 29.7969px;">Récupère des fichiers supprimés</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Win32 Disk Imager</td><td style="width: 50%; height: 29.7969px;">Rend Une clef USB Bootable</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Hasleo Disk Clone</td><td style="width: 50%; height: 29.7969px;">Clone un disque dur</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Crystal Disk Info</td><td style="width: 50%; height: 29.7969px;">Affiche la santé de vos disques durs</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Adw Cleaner</td><td style="width: 50%; height: 29.7969px;">Supprime les malwares</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;">Remmina</td><td style="width: 50%; height: 29.7969px;">RDP sur Linux</td></tr></tbody></table>

Linux

<table border="1" id="bkmrk-logiciel-utilit%C3%A9-nmt" style="border-collapse: collapse; width: 100%; height: 122.422px;"><tbody><tr style="height: 92.625px;"><td class="align-center" style="width: 50%; height: 92.625px;">### **Logiciel**

</td><td class="align-center" style="width: 50%; height: 92.625px;">### **Utilité**

</td></tr><tr style="height: 29.7969px;"><td style="width: 50%; height: 29.7969px;"><div class="codecolorer-container bash blackboard"><div class="bash codecolorer">nmtui</div></div></td><td style="width: 50%; height: 29.7969px;">Gestion des connexions WIFI et RJ</td></tr><tr><td style="width: 50%;"><div class="codecolorer-container bash blackboard"><div class="bash codecolorer">ddclient</div></div></td><td style="width: 50%;">Gestion des DDNS (type OVH)

</td></tr><tr><td style="width: 50%;"><div class="codecolorer-container bash blackboard"><div class="bash codecolorer">gpm</div></div></td><td style="width: 50%;">Affiche le pointeur de la sourie

</td></tr></tbody></table>

# 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 : 

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

# Jinja2

### Filtres : 

#### <span style="text-decoration: underline;">**first**</span>

{{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\"

```

#### <span style="text-decoration: underline;">**lower**</span>

{{"MACHAINE" | lower}}

\--&gt; 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 :

```Powershell
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 &amp; Download.

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

```Powershell
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](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-11/scaled-1680-/image-1669111044141.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-11/image-1669111044141.png)

```
thisisunsafe
```

# git

#### <span style="text-decoration: underline;">**Afficher l'état de la branche en cours :** </span>

```
git status
```

#### <span style="text-decoration: underline;">**Ajouter des modifications à un commit :** </span>

```
git add <chemin vers mon fichier>
```

#### <span style="text-decoration: underline;">**Commit :** </span>

```
git commit -m "Mon message de commit"
```

#### <span style="text-decoration: underline;">**Envoie du commit :** </span>

```
git push
```

#### <span style="text-decoration: underline;">**Récupération des derniers commits distants :** </span>

```
git pull
```

#### <span style="text-decoration: underline;">**Supprimer le dernier commit :** </span>

```
git reset --hard HEAD~1
```

Options :

- hard 
    - supprime le commit et enlève tes changements en local
- mixed 
    - supprime le commit de la staging area mais les changements en local (retours à l'état nécessitant un `git add xxxx`).
- soft 
    - supprime le commit mais reste dans la staging area (après un `git add xxxx`), plus qu'à re- commit !

#### <span style="text-decoration: underline;">**Changer de branche :** </span>

```
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 :

<p class="callout info">Avance de stash, il faut avoir add ton code en faisant un git add /path/to/file</p>

```
git stash
```

Fait ton changement de branche :

```
git checkout ....
```

Applique ton code en mémoire tampon :

```
git statch pop
```

# MongoDb

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

<div id="bkmrk-mon_attributafficher">mon_attributAfficher les bases de données :</div>```
show dbs
```

<div id="bkmrk-utiliser-une-base-de">Utiliser une base de donnée : </div>```
use mabase
```

<div id="bkmrk-"></div><div id="bkmrk-afficher-les-collect">Afficher les collections de la base de donnée en cours : </div>```
show collections
```

<div id="bkmrk-lister-toutes-les-va">Lister toutes les valeurs dans la collection utilisateurs : </div>```
db.utilisateurs.find()
```

<div id="bkmrk-%C2%A0m%C3%AAme-chose-mais-pro"> Même chose mais proprement</div>```
db.utilisateurs.findOne().pretty()
```

<div id="bkmrk-lister-proprement-to">Lister proprement toutes les valeurs dans la collection utilisateur -&gt; Qui ont l'attribut "mon_attribut" égal à mavaleur :</div>```
db.utilisateurs.find({'mon_attribut':'mavaleur'}).pretty()
```

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

```mongo
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 :

```bash
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 : 

<span style="text-decoration: underline;">**Utilisation de la base de donnée "ma\_base" :** </span>

```
use ma_base
```

<span style="text-decoration: underline;">**Création d'une collection de test :** </span>

```
db.createCollection("collection_full")
```

<span style="text-decoration: underline;">**Installation des librairies necessaires :** </span>

```shell
pip install Faker
pip install mongoclient
```

<span style="text-decoration: underline;">**Fichier d'insertion de data :** </span>

```PHP
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)

```

<p class="callout success">Nous lançons le script pour générer les 100 000 utilisateurs</p>

<span style="text-decoration: underline;">**Comtage du nombre d'utilisateurs insérés :** </span>

```mongo
db.collection_full.find().count()
```

\--&gt; 100 000 utilisateurs présent.

<span style="text-decoration: underline;">**Exemple d'un utilisateur inséré :** </span>

```
{
	"_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 :

```Python
from pprint import pprint
pprint(vars(your_object))
```

#### Afficher date + heure + milisecondes : 

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

# VMware.PowerCLI - Dialoguer avec Vsphere via Powershell

<span style="text-decoration: underline;">**Lancer un conteneur avec Powershell :** </span>

```bash
docker run -it mcr.microsoft.com/powershell
```

<span style="text-decoration: underline;">**Installer le module VMware.PowerCLI :** </span>

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

<span style="text-decoration: underline;">**Accepter les certificats SSL invalides :** </span>

```Powershell
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore  -Confirm:$false
```

<span style="text-decoration: underline;">**Etablir une conexion au VCENTER :** </span>

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

<span style="text-decoration: underline;">**Récupérer la liste des VM :** </span>

```Powershell
$vm = Get-VM
```

<span style="text-decoration: underline;">**Récupérer une VM précise :** </span>

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

<span style="text-decoration: underline;">**Eteindre la VM :** </span>

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

<span style="text-decoration: underline;">**Démarrer la VM :**</span>

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

<span style="text-decoration: underline;">**Créer une snapshot :**</span>

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

<span style="text-decoration: underline;">**Récupérer les snapshots d'une VM :** </span>

```Powershell
$snapshots = Get-Snapshot -VM $vm
```

<span style="text-decoration: underline;">**Récupérer une snapshots d'une VM :** </span>

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

<span style="text-decoration: underline;">**Appliquer une snapshot d'une vm :**</span>

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

<span style="text-decoration: underline;">**Déconnecter le disque CD d'une vm :**</span>

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

<span style="text-decoration: underline;">**Blocs de code intéréssant :**</span>

**Créer une snapshot sur toutes les vm :**

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

**Stop / Start toutes les vm :**

```Powershell
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 :**

```Powershell
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 :**

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

**Afficher toutes les snapshots de toutes les vm :**

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

# Réseau

# Proxy VS Reverse Proxy

### Proxy

<span style="text-decoration: underline;">**Rôle**</span> : Filtre les accès des clients via authentification

**<span style="text-decoration: underline;">Direction</span>** : LAN vers WAN

[![image-1684833941639.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2023-05/scaled-1680-/image-1684833941639.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2023-05/image-1684833941639.png)

### Reverse Proxy

<span style="text-decoration: underline;">**Rôle**</span> : Redirige les requêtes vers le bon service

**<span style="text-decoration: underline;">Direction</span>** : WAN vers LAN

[![image-1684833812771.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2023-05/scaled-1680-/image-1684833812771.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2023-05/image-1684833812771.png)

# VIM

####   


#### Supprimer une ligne : 

```bash
dd
```

#### UNDO : 

```bash
u
```

#### REDO : 

```bash
ctrl + R
```




#### Couper - Coller 11 lignes : 

```bash
11 dd
p
```

#### Supprimer 11 lignes : 

```bash
11 dd
```

#### Copier : 

```bash
11 yy 
p
```





#### Faire une tabulation sur un block de texte : 

```bash
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

- Serveurs Micro Blade 
    - Chassis physique qui accueille des noeuds physique, serveur très bruillant

[![image.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2025-10/scaled-1680-/image.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2025-10/image.png)

### Processeurs : 

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

(généré par chatgpt)