# SSH ## Fonctionnement Port : 22 ![](https://i.imgur.com/LsmNIX3.png) ## Installer serveur ssh ``` apt install openssh-server ``` ## Ajouter un user pour ssh ``` sudo useradd -m -d /home/bato -s /bin/bash bato sudo passwd bato ``` ## Activer le ssh pour root Editer `/etc/ssh/sshd_config` et ajouter ``` PermitRootLogin yes ``` Authentifactication par clé Depuis linux : ``` ssh-keygen ssh-copy-id root@ip-target ``` Depuis windows ``` type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@10.10.10.10 "cat >> .ssh/authorized_keys" ``` ## Tunnel ssh ### Local Forwarding - Forward un port sur la machine distante, en local. Par exemple pour accéder à une db accessible qu'en local sur la machine. ### Remote Forwarding - Forward un port sur la machine local vers la machine distante. Pour exposer un site web disponible sur la machine distante depuis la machine locale. ### Dynamic Port Forwarding - Forward dynamiquement des ports de la machine distante à l'aide d'un poroxy socks ### Jump - Permet une connection ssh à travers un bastion (une autre machine ssh) ## VNC #### Prérequis : - [ ] Serveur Debian 11, y compris un utilisateur non root avec accès privilégié. - [ ] un ordinateur local avec client VNC installé Windows : TightVNC, RealVNC, UltraVNC -> utilisé rdp recommandé macOS : RealVNC -> utiliser le programme de partage d'écran intégré Linux : vinagre, krdc, RealVNC, TightVNC ## Étape 1 - Installation de l'environnement de bureau et du serveur VNC #### Mettre à jour notre liste de paquets `sudo apt update` Xfce et TightVNC sont connus pour être légers et rapides, ce qui contribuera à garantir que la connexion VNC sera fluide et stable, même sur des connexions Internet plus lentes. Installez maintenant l'environnement de bureau Xfce, ainsi que le xfce4-goodiespackage, sur votre serveur : `sudo apt install xfce4 xfce4-goodies` Une fois l'installation terminée, installez le serveur TightVNC : `sudo apt install tightvncserver` Ensuite, installez la dbus-x11dépendance pour assurer une bonne connexion à votre serveur VNC : `sudo apt install dbus-x11` Pour terminer la configuration initiale du serveur VNC après l'installation, utilisez la vncservercommande pour définir un mot de passe sécurisé et créer les fichiers de configuration initiale : `vncserver` Ensuite, vous serez invité à entrer et à vérifier un mot de passe pour accéder à votre machine à distance : ``` Output You will require a password to access your desktops. Password: Verify: ``` Le processus crée ensuite les fichiers de configuration par défaut nécessaires et les informations de connexion pour le serveur : ``` Output Would you like to enter a view-only password (y/n)? n xauth: file /home/sammy/.Xauthority does not exist New 'X' desktop is your_hostname:1 Creating default startup script /home/sammy/.vnc/xstartup Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log ``` Ensuite, configurez-le pour lancer Xfce et donner accès au serveur via une interface graphique. ## Étape 2 - Configuration du serveur VNC port par default : **port 5901** Lorsque VNC est configuré pour la première fois, il lance une instance de serveur par défaut sur le port 5901. Ce port s'appelle un port d'affichage et est désigné par VNC comme :1. VNC peut lancer plusieurs instances sur d'autres ports d'affichage, comme :2, :3, etc. Étant donné que vous allez modifier la configuration du serveur VNC, arrêtez d'abord l'instance de serveur VNC qui s'exécute sur le port 5901 avec la commande suivante : ```vncserver -kill :1``` Voici la sortie avec un PID spécifique à votre environnement de serveur : ``` Output Killing Xtightvnc process ID 17648 ``` Avant de modifier le xstartupfichier, sauvegardez l'original : `mv ~/.vnc/xstartup ~/.vnc/xstartup.bak` Créez maintenant un nouveau xstartupfichier et ouvrez-le dans votre éditeur de texte préféré : `nano ~/.vnc/xstartup` Les commandes de ce fichier sont exécutées automatiquement chaque fois que vous démarrez ou redémarrez le serveur VNC. Vous avez besoin de VNC pour démarrer votre environnement de bureau s'il n'est pas déjà démarré. Ajoutez les commandes suivantes au fichier : Ajout de ses commande dans le fichier : ``` #!/bin/bash xrdb $HOME/.Xresources startxfce4 & ``` Pour vous assurer que le serveur VNC pourra utiliser correctement ce nouveau fichier de démarrage, vous devez le rendre exécutable : `sudo chmod +x ~/.vnc/xstartup` Maintenant, redémarrez le serveur VNC : `vncserver` La sortie ressemblera à ce qui suit : ``` Output New 'X' desktop is your_hostname:1 Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log ``` De base le canal ne sera pas chiffré, nous pourons créer un canal ssh sécurisé avec la commande suivante : Créez une connexion SSH sur votre ordinateur local qui transmet en toute sécurité à la localhostconnexion pour VNC. `ssh -L 5901:127.0.0.1:5901 vagrant 192.168.95.132` ![](https://i.imgur.com/MaJ72qX.png) App admin Windows Admin Center Port : 6516 Prérequis : - [ ] Windows Server 2016, 2019 ou 2022. Il peut également être installé avec Windows 10 ou plus récent. - [ ] Un domaine Windows avec un contrôleur de domaine. Le télécharger sur le lien ci-dessous : [https://www.microsoft.com/en-us/evalcenter/download-windows-admin-center] Windows Admin Center est un outil de gestion local basé sur un navigateur qui permet de gérer les serveurs Windows. Auparavant, cet outil s'appelait « Project Honolulu ». C'est léger, Windows Admin Center rend la gestion des plates-formes Windows Server plus claire et plus facile. C'est un complément aux plateformes de gestion existantes Azure security and management System Center RSAT Remote Desktop (inbox) Windows admin center va prendre des fonctionnalités de chacun de ses outils. La différence c'est que c'est basé sur une console WEB Architechture : ![](https://i.imgur.com/tnu44Gj.png) Fonctionnnement : On va installer la passerelle windows admin center sur la machine soit (windows 11) ou (windows server) On va ensuite se connecter a cette passerelle via un naviguateur internet et on pourra ensuite manager nos différentes machines depuis là. On peut se connecter en interne ou en externe mais pour cela il il faudra faire une publication dns, ouverture du firewall. Serveur manageur Port : 5985 (WinRM) Protocole : ![](https://i.imgur.com/YCKgdg5.png) RSAT Remote Server Administration Tools Pour activer les outils RSAT, cliquez sur `Démarrer`, `Paramètres`, `Applications`, puis cliquez sur `Fonctionnalités facultatives`. Sélectionnez ensuite le panneau Ajouter une fonctionnalité et saisissez `RSAT` dans la barre de recherche. # RDP ## Fonctionnement Port : 3389 Tcp chiffré de bout en bout Autorise un maximum de deux connections en même temps. ## Configuration Activer RDP avec powershell > En administrateur ```powershell Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0 ``` ```powershell Enable-NetFirewallRule -DisplayGroup "Remote Desktop" ``` Ajouter un user non administrateur ``` Add-LocalGroupMember -Group "Remote Desktop Users" -Member almir ``` # WINRM Port http : 5985 Port https : 5986 Peut être utiliser avec Ansible. ## Fonctionnement - Authentification avec Kerberos - Même en http, le trafic est chiffré de bout en bout. ## Configuration ```powershell Set-NetConnectionProfile -NetworkCategory Private Enable-PSRemoting ``` ## Utilisation ```powershell Enter-PSSession 192.168.100.5 -Credential domain\administrator ``` # WMI Windows Management Instrumentation ## Fonctionnement ![](https://i.imgur.com/F1ZM6J8.png) Peut être utilisé en powershell, c++, .net ## Configuration Pas besoin de configurer, le WMI est activé par défault. ## Utilisation Get-WmiObject ```powershell $PSCredential = Get-Credential "Hyperv\Administrator" Get-WmiObject Win32_OperatingSystem -ComputerName "WinCli" -Credential $PSCredential SystemDirectory : C:\Windows\system32 Organization : BuildNumber : 19045 RegisteredUser : User SerialNumber : 00330-80000-00000-AA811 Version : 10.0.19045 ``` ## CIM Common Information Model Une sorte de "wrapper" pour wmi en powershell ```powershell $cim = New-CimSession -ComputerName $server -Credential $credential Get-MpThreat -CimSession $cim ``` ![](https://hackmd.io/_uploads/BJ8h2usN3.png) ## Guacamole https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-install.sh ![](https://hackmd.io/_uploads/rkU8YuiVh.png)