2018-02-20 09:31:03 +00:00
|
|
|
|
---
|
|
|
|
|
title: ADLIN
|
|
|
|
|
section: 6
|
|
|
|
|
header: ADvanced LINux administration
|
2022-02-27 11:06:56 +00:00
|
|
|
|
footer: EPITA SRS 2023
|
2018-02-20 09:31:03 +00:00
|
|
|
|
author: Écrit par Pierre-Olivier *nemunaire* Mercier <**nemunaire+adlin@nemunai.re**>
|
2022-02-27 11:06:56 +00:00
|
|
|
|
date: 2022-03-02
|
2018-02-20 09:31:03 +00:00
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
# NOM
|
|
|
|
|
|
|
|
|
|
ADLIN - Travaux pratiques d'ADministration système LINux avancée
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
|
|
2022-02-27 11:06:56 +00:00
|
|
|
|
Dans un environnement hostile, vous devez vous infiltrer au sein d'un système
|
2018-02-21 00:25:47 +00:00
|
|
|
|
et réussir à en reprendre le contrôle, alors qu’il n’y a plus d’infrastructure
|
|
|
|
|
réseau, ni de système d’automatisation à votre disposition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ENVIRONNEMENT
|
|
|
|
|
|
|
|
|
|
Mettez-vous à l'aise ! Vous risquez d'être bloqué dans ce TTY pour un moment,
|
|
|
|
|
alors prenez quelques minutes pour le mettre à votre goût : **loadkeys**(1),
|
|
|
|
|
**loadfonts**(1), ...
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# DESCRIPTION
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Pour chacune des étapes à suivre, vous devez envoyer un jeton à l'URL indiquée.
|
|
|
|
|
|
|
|
|
|
Le programme **adlin** peut vous aider à envoyer le jeton au bon format et à y
|
|
|
|
|
inclure les données demandées par le serveur de validation.
|
|
|
|
|
|
|
|
|
|
Il n'y a pas de limite sur le nombre de tentatives que vous pouvez effectuer ;
|
|
|
|
|
mais essayez tout de même de comprendre ce que vous faites !
|
|
|
|
|
|
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
## STAGE -1
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Afin de pouvoir accéder au TP, vous devez commencer par vous authentifier :
|
|
|
|
|
cela permet d'assurer le suivi de votre progression. Votre nom d'utilisateur et
|
|
|
|
|
votre mot de passe CRI vous seront nécessaire.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
Au moment de votre authentification, le système vous aura attribué une IP qui
|
|
|
|
|
vous est dédiée. Vous êtes libre d'utiliser n'importe quelle autre IP de la
|
|
|
|
|
plage qui ne serait pas attribuée.
|
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
## STAGE 0
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Outrepasser l'écran de connexion et devenir **root** sur le système.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## STAGE 1
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Au commencement, votre machine n'est pas connectée au réseau : vous allez
|
|
|
|
|
devoir le configurer manuellement.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Commencez par prendre connaissance de la topologie réseau.
|
|
|
|
|
|
|
|
|
|
Afin de ne pas créer de conflit d'IP sur le réseau, veuillez respecter les
|
|
|
|
|
plages qui vous sont attribuées. Si néanmoins des conflits se créent, vous
|
|
|
|
|
disposez du fabuleux **tcpdump**(1), pour vous sortir du pétrin !
|
|
|
|
|
|
|
|
|
|
Cette étape sera validée lorsque vous pourrez contacter le serveur de
|
|
|
|
|
validation :
|
|
|
|
|
|
|
|
|
|
**adlin token1 | curl -d @- http://172.23.0.1/iamalive**
|
|
|
|
|
|
|
|
|
|
Voir aussi : **modprobe**(8), **fbi**(1), **ip**(8), **ip-link**(8), **ip-address**(8)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## DON'T PANIC
|
|
|
|
|
|
|
|
|
|
Vous avez vu comment passer des arguments au noyau, via la ligne de commande
|
|
|
|
|
dans le *bootloader*. Certains paramètres peuvent également être changé pendant
|
|
|
|
|
que le noyau est lancé.
|
|
|
|
|
|
|
|
|
|
Par exemple, vous pouvez consulter à partir de quel numéro de port, il n'y a plus besoin de privilèges pour l'utiliser :
|
|
|
|
|
|
|
|
|
|
**cat /proc/sys/net/ipv4/ip_unprivileged_port_start**
|
|
|
|
|
|
|
|
|
|
Et vous pouvez le modifier, aussi simplement que cela :
|
|
|
|
|
|
2019-03-04 08:00:22 +00:00
|
|
|
|
**echo 142 > /proc/sys/net/ipv4/ip_unprivileged_port_start**
|
2019-02-27 01:41:37 +00:00
|
|
|
|
|
2020-02-24 08:59:35 +00:00
|
|
|
|
PS : c'est un exemple, ça ne sert à rien de modifier cette valeur, par contre d'autres ...
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
Voir aussi : **sysctl**(8), **proc**(5) (rechercher */proc/sys*, */proc/sys/kernel*)
|
|
|
|
|
|
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
## STAGE 2
|
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Une DMZ contenant différents services est à votre disposition. Commencez par
|
|
|
|
|
établir un lien avec le serveur de validation s'y trouvant :
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
**adlin token2 | curl -d @- http://172.23.200.1/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
Voir aussi : **ip-route**(8)
|
2018-02-21 00:25:47 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## BONUS 1
|
2018-02-21 00:25:47 +00:00
|
|
|
|
|
|
|
|
|
Souriez, vous êtes monitoré ! Mais n'y aurait-il pas un contenu caché ?
|
|
|
|
|
|
|
|
|
|
**adlin** *payload* **| curl -d @- http://172.23.200.1/echorequest**
|
|
|
|
|
|
|
|
|
|
Voir aussi : **tcpdump**(1)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
## STAGE 3
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
On passe en HTTPS ! Facile ?
|
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
**adlin token3 | curl -d @- https://172.23.200.1/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
Voir aussi: **ntpd**(1)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## BONUS 2
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2020-02-24 08:59:35 +00:00
|
|
|
|
Montez le disque attaché à votre machine pour y découvrir le fichier contenant
|
|
|
|
|
le *token* bonus.
|
2018-02-21 00:25:47 +00:00
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
**adlin $(cat bonus2) | curl -d @- https://172.23.200.1/testdisk**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-20 12:04:37 +00:00
|
|
|
|
Voir aussi: **mount**(8)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## STAGE 4
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2019-03-04 08:00:22 +00:00
|
|
|
|
Configurez le résolveur DNS de votre système, afin d'utiliser le serveur de
|
|
|
|
|
noms de la DMZ. Nous cherchons un token caché dans le domaine
|
|
|
|
|
**adlin.nemunai.re**.
|
2018-02-21 00:25:47 +00:00
|
|
|
|
|
2019-03-04 08:00:22 +00:00
|
|
|
|
**dig +short adlin.nemunai.re** *entry-type* **| adlin token4 | curl -d @- https://172.23.200.1/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
Voir aussi: **resolv.conf**(5), **dig**(1)
|
|
|
|
|
|
|
|
|
|
|
2021-02-18 03:13:05 +00:00
|
|
|
|
## BONUS 3
|
|
|
|
|
|
|
|
|
|
Parmi les services mis à disposition dans la DMZ, se trouve un serveur de
|
|
|
|
|
transport de courriels (MTA). Utilisez-le pour envoyer votre meilleure histoire
|
|
|
|
|
drôle : des points bonus faciles !
|
|
|
|
|
|
|
|
|
|
**sendmail** [*OPTIONS*] **adlin@nemunai.re**
|
|
|
|
|
|
|
|
|
|
Voir aussi : **sendmail**(1)
|
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## STAGE 5
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Vous pouvez résoudre des noms de domaines, mais vous n'avez pas encore accès à
|
2021-02-18 03:13:05 +00:00
|
|
|
|
internet ? Consultez la topologie pour vous ajouter une route vers votre
|
|
|
|
|
sauvetage !
|
2018-02-21 00:25:47 +00:00
|
|
|
|
|
2020-02-24 08:59:35 +00:00
|
|
|
|
Votre passerelle vers Internet est accessible via un tunnel Wireguard. Vous
|
|
|
|
|
devrez d'abord configurer ce tunnel en utilisant l'outil **wg-adlin** (appelé
|
|
|
|
|
sans argument, il fera le nécessaire pour vous générer une configuration
|
|
|
|
|
adaptée).
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
**adlin token5 | curl -d @- https://adlin.nemunai.re/challenge**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2020-02-24 08:59:35 +00:00
|
|
|
|
Voir aussi : **ip-link**(8), **wg**(8), **traceroute**(8), **tcpdump**(1), **sysctl**(8)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## STAGE 6
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Générez une clef SSH robuste puis soumettez-là :
|
|
|
|
|
|
|
|
|
|
**adlin $(cat ~/.ssh/***id_ssh.pub***) | curl -d @- https://adlin.nemunai.re/sshkeys**
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Voir aussi : **ssh-keygen**(1)
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
## STAGE 7
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2018-02-21 00:25:47 +00:00
|
|
|
|
Pouvez-vous vous connecter ?
|
|
|
|
|
|
2021-02-18 03:13:05 +00:00
|
|
|
|
**ssh ***login_x***@zion.adlin.nemunai.re**
|
2018-02-21 00:25:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# VALEUR RENVOYÉE
|
|
|
|
|
|
|
|
|
|
Votre niveau d'avancement dans ce premier TP permet d'établir la première note
|
2020-02-24 08:59:35 +00:00
|
|
|
|
de ce cours. Les autres notes seront établies sur vos réponses à des questions
|
|
|
|
|
de cours entre les sessions ainsi que sur les deux projets que l'on commencera
|
|
|
|
|
aux prochains TP.
|
2018-02-20 09:31:03 +00:00
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
# VOIR AUSSI
|
|
|
|
|
|
|
|
|
|
* <http://www.opsschool.org/> - Ops School Curriculum
|
|
|
|
|
* The Practice of System and Network Administration - T. Limoncelli, C. Hogan, S. Chalup
|
|
|
|
|
* Programmation système en C sous Linux - Christophe Blaess – Eyrolles
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# HISTORIQUE
|
|
|
|
|
|
2022-02-27 11:06:56 +00:00
|
|
|
|
2022 - Cinquième édition du cours à destination des SRS 2023.
|
|
|
|
|
|
|
|
|
|
Immersion encore plus grande dans le SI.
|
|
|
|
|
|
2021-02-13 17:20:12 +00:00
|
|
|
|
2021 - Quatrième édition du cours à destination des SRS 2022.
|
|
|
|
|
|
2021-02-18 03:13:05 +00:00
|
|
|
|
Introduction de références à Matrix.
|
|
|
|
|
|
2020-02-24 08:59:35 +00:00
|
|
|
|
2020 - Troisième édition du cours à destination des SRS 2021.
|
|
|
|
|
|
2021-02-18 03:13:05 +00:00
|
|
|
|
Des étudiants avec involontairement de bonnes idées d'exercices supplémentaires.
|
|
|
|
|
|
2019-02-27 01:41:37 +00:00
|
|
|
|
2019 - Deuxième édition du cours à destination des SRS 2020.
|
2019-03-04 08:00:22 +00:00
|
|
|
|
|
2021-02-18 03:13:05 +00:00
|
|
|
|
Le chaos s'est un peu trop invité.
|
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
2018 - Première édition du cours à destination des SRS 2019.
|
|
|
|
|
|
2021-02-18 03:13:05 +00:00
|
|
|
|
Oops la salle machine...
|
|
|
|
|
|
|
|
|
|
|
2018-02-20 09:31:03 +00:00
|
|
|
|
# CONFORMITÉ
|
|
|
|
|
|
|
|
|
|
Certifié non conforme.
|